第5章
CHAPTER 5


开发与仿真工具








本章主要介绍单片机开发环境Keil μVision、虚拟仿真软件Proteus 7 Professional、烧录软件STCISP的使用。

通过流水灯的案例,介绍如何在Keil μVision中建立工程、编码实现、调试、运行流水灯代码; 如何在Proteus 7 Professional中通过绘制电路原理图、加载源代码文件,仿真模拟流水灯LED亮灭的过程; 如何在STCISP中将源程序代码加载到开发板上,查看真实的流水灯效果。

5.1Keil C51开发环境介绍

本教材选用Keil μVision作为C51程序开发的集成环境,下面介绍如何使用Keil μVision4进行C51源程序的设计、调试、开发。

5.1.1Keil C51的简介

Keil C51是Keil Software公司出品的51系列兼容单片机C语言软件开发系统,为C51语言编程与调试提供全新的开发环境,是8051单片机开发编程所必须掌握的软件工具。Keil提供了包括C编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision )将这些部分组合在一起。

Keil不仅支持C语言编程,也支持用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会达到事半功倍的效果,因此Keil μVision是目前最优秀的单片机应用开发工具之一。

5.1.2建立工程
1. 安装与启动

根据提示安装Keil μVision4,安装完成后,会在桌面看到其快捷图标。双击该快捷图标,即可启动该软件,进入如图51的Keil μVision4界面,图中标出了各部分的名称。



图51Keil μVision4界面


2. 创建工程

Keil μVision4通过工程管理的方法把程序设计中需要用到的、互相关联的程序链接在同一个工程中,要进行程序开发需要先创建工程然后编写新的应用程序,这样在打开工程时,所需要的关联程序就会全部进入调试窗口,从而方便对工程中各个程序进行编辑、调试和存储。由于用户可能会开发多个工程,每个工程用到的程序文件和库文件可能相同也可能不相同。因此通过工程管理的方法,有效区分出不同工程中所用到的程序文件和库文件。

在使用Keil μVision4对程序进行编辑、调试与编译之前,先创建一个新的工程,具体创建过程步骤如下: 

(1) 单击菜单栏上的Project→New μVision Project命令,如图52所示。



图52新建工程


(2) 弹出Create New Project对话框,如图53所示。在“文件名”框中输入一个工程名称,保存后的文件扩展名为“.uvproj”,即工程文件的扩展名,以后直接单击此文件就可以打开先前建立的工程。



图53Create New Project对话框


(3) 单击“保存”按钮,弹出如图54所示的Select Device for Target ‘Target1’对话框,按照提示选择所使用的单片机。例如,选择STC目录下的STC89C58RD+Series。



图54Select Device for Target对话框



需要注意的是,Keil软件中没有STC芯片相关库,需要另外添加,具体操作方式如下: 

(1) 登录STC官网http://www.stcisp.com/,下载最新的STCISP软件。

(2) 打开STCISP软件,单击“Keil仿真设置”标签,单击添加STC仿真器驱动到Keil软件,添加型号和头文件到Keil软件中,如图55所示。



图55添加驱动


(3) 选择Keil的安装目录(如C:\Keil),如图56所示。

(4) 单击“确定”按钮,弹出“STC MCU型号添加成功!”的提示,单击“确定”按钮完成。如图57所示。




图56选择路径




图57添加型号成功






图58STC MCU Database选择


(5) 打开Keil软件,新建一个工程文件,通过下三角按钮选择STC MCU Database,如图58所示。确定后就可以选择对应的单片机型号了,如图59所示。




图59STC单片机选择


(6) 单击OK按钮,弹出如图510所示的提示框。如果需要复制启动代码到新建工程中,则单击“是”按钮,出现如图511所示窗口; 如果单击“否”按钮,则图511中的启动代码项“SARTUP.A51”不会出现。此时,新工程创建完毕。



图510提示框




图511新工程


注意: 每次建立工程,都需要单独建立一个文件夹存放,因为里面文件格式太多,容易混淆。

5.1.3添加用户源程序文件

新工程创建完成后,需要将用户源程序文件添加到此工程中,添加方式有两种: 一种是新建文件,另一种是添加已创建的文件。下面详细介绍这两种方式。

1. 新建文件

(1) 单击快捷工具栏中的“新建”按钮(或选择菜单命令File→New),出现如图512所示的空白文件编辑窗口,可在此处编辑源程序代码。



图512新建文件


(2) 单击快捷工具栏中的“保存”按钮(或选择菜单命令File→Save As),保存用户源程序文件,此时弹出如图513所示的资源管理器界面。



图513Save As对话框


(3) 在上方的文件路径栏中选择保存新文件的文件夹,建议将这个新文件与刚才建立的工程文件保存在同一个文件夹下。然后在“文件名”框中输入文件的名字,如果使用C51编程,则文件扩展名为“.c”,本章节选用流水灯案例教学,因此文件名为“流水灯.c”; 完成上述步骤后单击“保存”按钮,流水灯新文件创建完成。

需要将此新文件添加到刚才创建的工程中,操作与下面介绍的“添加已创建的文件”相同。

2. 添加已创建的文件

(1) 在图51界面左侧的工程窗口中,右击Source Group 1项,在弹出的快捷菜单中选择“Add Files to Group ‘Source Group 1’”命令,如图514所示。



图514添加文件


(2) 弹出如图515所示的“Add Files to Group ‘Source Group 1’”对话框,选择要添加的文件,文件夹中只有刚创建好的“流水灯.c”文件。选择文件后,单击Add按钮,再单击Close按钮,流水灯文件添加完成,此时工程窗口如图516所示,用户源程序文件“流水灯.c”已经出现在Source Group 1项下。




图515“Add Files to Group ‘Source Group 1’”对话框



图516文件已添加到工程中


5.1.4编译、调试程序

文件“流水灯.c”已经创建完成且已经添加到工程中,下面对“流水灯.c”文件进行编译与调试,最终生成可执行的.hex文件。

1. 程序编译

以“流水灯.c”文件为例,单击快捷工具栏中的“编译”按钮,对当前文件进行编译,在如图517所示的输出窗口中会出现提示信息。



图517文件编译信息


查看输出窗口中的提示信息,发现程序中存在两个错误。检查程序,找到错误并修改,再次单击按钮重新进行编译,直到提示信息没有错误为止,如图518所示。



图518提示信息显示没有错误


2. 程序调试

程序编译通过后,进入调试与仿真环节。单击快捷工具栏中的“开始/停止调试”按钮(或在主界面单击Debug菜单中的Start/Stop Debug Session选项),进入程序调试状态,如图519所示。



图519程序调试界面


工程窗口中给出了常用寄存器R0~R7及A、B、SP、DPTR、PC、PSW等特殊功能寄存器的值,这些值会随着程序的执行发生相应的变化。

在存储区窗口的地址栏中输入0000H后按回车键,可以查看单片机内部程序存储区的内容,单元地址前的“C:”表示为程序存储区。在存储区窗口的地址栏中输入“D:00H”后按回车键,可以查看单片机内部数据存储区的内容。单元地址前的“D:”表示为数据存储区。

在图519中出现了新的快捷工具栏,其中增加了调试状态下的按钮,如图520所示。



图520新的快捷工具


原来快捷工具栏中还有几个用于调试的按钮,如图521所示。



图521原来快捷工具栏中用于

调试的按钮


调试状态下,可采用单步、跟踪、断点、全速运行等调试按钮进行调试; 也可观察单片机资源的状态,例如,程序存储区、数据存储区、特殊功能寄存器、变量寄存器及I/O口的状态。这些调试按钮大多数与Debug菜单中的命令一一对应,使用起来更加方便快捷。

图520和图521中常用的调试按钮的功能说明如下: 

(1) 调试窗口按钮。

以下按钮控制程序调试界面中各个窗口的开/关。

: 工程窗口的开/关。

: 存储区窗口的开/关。

: 特殊功能寄存器窗口的开/关。

: 变量寄存器窗口的开关。

(2) 调试功能按钮。

: 调试状态的进入/退出。

: 复位CPU。在不改变程序的前提下,单击该按钮可使程序重新开始运行。执行此命令后,程序指针返回0000H地址单元。另外,一些内部特殊功能寄存器在复位期间也将重新被赋值。例如,A变为00H,SP变为07H,DPTR变为0000H,P3~P0口变为FFH。

: 全速运行。单击该按钮,实现程序的全速运行。如果程序中设置了断点,当程序运行到断点处时,等待调试指令。在全速运行期间,不允许查看任何资源,也不接受其他命令。

: 单步跟踪。每执行一次该命令,程序将运行一条语句。当前指令用黄色箭头标出,每运行一步,箭头都会跟着移动,已运行过的语句呈绿色。可以单步跟踪程序。

: 单步运行。该命令实现单步运行程序,把函数和函数调用当作一个实体来看待,因此单步运行是以语句(该语句不管是单一命令行还是函数调用)为基本运行单元的。

: 运行返回。在用单步跟踪命令跟踪到子函数或子程序内部时,使用该按钮,可将程序的PC指针返回调用此子程序或函数的下一条语句。

: 运行到光标所在行。

: 停止程序运行。

程序调试时,灵活运用上述功能可大大提高查找差错的效率。

(3) 断点操作按钮。

为了提高程序编写的效率,经常在程序调试中设置断点,一旦运行到该程序行即停止运行,可在断点处观察有关变量的值,从而确定问题所在。图521中断点操作按钮的功能说明如下: 

: 插入/清除断点。

: 清除所有的断点设置。

: 使能/禁止断点,即开启或暂停光标所在行的断点功能。

: 禁止所有断点,即暂停所有断点。

此外,插入或清除断点最简单的方法是: 将鼠标指针移至需要插入或清除断点的行首处双击。

上述4个按钮也可从Debug菜单中找到相应的命令。

5.1.5设置工程参数

工程创建后,按照需求需要对工程进行设置,如图522所示。右击工程窗口中的Target 1项,在快捷菜单中选择“Options for Target ‘Target 1’”命令,出现工程设置对话框,如图523所示。在该对话框中有很多选项页面可以设置,一般需要设置Target页面参数和Output页面参数,其余保持默认设置即可。



图522快捷菜单





图523工程设置对话框


1. Target页面

(1) Xtal(MHz): 设置晶振频率。默认值是所选目标CPU的最高可用频率,也可根据需要重新设置该值。该设置不影响最终产生的目标代码,仅用于软件模拟调试时显示程序运行的时间。如果不需要了解程序的运行时间,则不需要设置; 否则可将其设置成与目标样机所用的相同的频率,来使显示时间与实际时间一致。

(2) Memory Model: 设置RAM的存储模式,有3个选项。Small——所有变量都在单片机内部RAM中; Compact——可以使用1页外部RAM; Large——可以使用全部外部的扩展RAM。

(3) Code Rom Size: 设置ROM的使用模式,有3个选项。Small——程序只使用低于2KB的空间; Compact——单个函数的代码量不超过2KB,整个程序可以使用64KB的空间; Large——程序可以使用全部64KB的空间。

(4) Operating system: 操作系统选项。Keil支持两种操作系统: Rtx tiny和Rtx full。一般不选择,保持默认项None即可。

(5) Use Onchip ROM: 是否仅使用内部ROM选项。注意,选择该项不会影响到最终目标代码量的生成。

(6) Offchip Code memory: 用来确定系统扩展的程序存储区的地址范围。

(7) Offchip Xdata memory: 用来确定系统扩展的数据存储区的地址范围。

上述(5)、(6)、(7)项的参数设置必须根据硬件来决定,其他选项保持默认设置即可。如果是最小应用系统,则不需要任何扩展。

2. Output页面

单击“Options for Target ‘Target 1’”对话框中的Output标签,就会出现Output页面,如图524所示。



图524Output页面


(1) Select Folder for Objects: 选择目标文件所在文件夹,默认与工程文件在同一个文件夹中。

(2) Name of Executable: 指定最终生成的目标文件的名字,默认与工程文件相同。

(3) Debug Information: 产生调试信息。如果需要对程序进行调试,则应选中该项。

(4) Create HEX File: 生成可执行的目标代码文件。选择此项后即可生成单片机可运行的二进制文件,文件扩展名为.hex。

其他选项保持默认设置即可。

完成上述设置后,就可以在程序编译时,单击快捷工具栏中的按钮,此时会产生如图525所示的提示信息。该信息说明,程序占用内部RAM共11B,外部RAM共0B; 占用程序存储区共89B。最后生成的文件名为“流水灯.hex”。至此,整个程序编译过程完成,生成的.hex文件可加载到Proteus虚拟仿真环境中,装入单片机运行并查看效果。



图525.hex文件生成的提示信息


现对用于编译的3个按钮简要说明如下。

: 编译正在操作的文件。

: 编译修改过的文件,并生成相应的目标程序(.hex文件),供单片机直接下载。

: 重新编译当前工程中的所有文件,并生成相应的目标程序(.hex文件),供单片机直接下载。当工程文件有改动时,需要全部重建整个工程。因为一个工程中可能有多个文件,可用该命令进行编译。

注意: 用C51语言编写的源程序不能直接使用,一定要将源程序进行编译,最终生成可执行的.hex文件,并加载到Proteus环境下的虚拟单片机中,才能进行虚拟仿真。

5.2集成开发工具Proteus 7 Professional简介

Proteus是英国Lab Center Electronics公司1989年出版的EDA工具软件。不仅具有其他EDA工具软件的仿真功能,还能仿真单片机及外围器件,是完全使用软件手段对单片机应用系统进行虚拟仿真的软件工具。在国内受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。

Proteus是世界上著名的EDA工具,从原理图布图、代码调试到单片机与外围电路协同仿真,再到一键切换到PCB设计,真正实现了从概念到产品的完整设计,是世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/PIC12/PIC16/PIC18/PIC24/PIC30/DSPIC33、AVR、ARM、8086和MSP430等各主流系列单片机,2010年又增加了Cortex和DSP系列处理器,此外,它还支持ARM7、ARM9等型号的嵌入式微处理器的仿真。在编译方面,它也支持IAR、Keil和MATLAB等多种编译器。为各种单片机系统的设计、开发提供了功能强大的虚拟仿真功能。

下面首先介绍Proteus的基本功能。

5.2.1Proteus基本功能

在Proteus的虚拟仿真平台上,用户不需要硬件样机,就可直接在计算机上对51系列、AVR、PIC、ARM等常用主流单片机系统进行虚拟仿真,还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,将系统的功能及运行过程直观化,可以像焊接好的电路板一样看到单片机系统运行后的输入/输出效果。

1. 智能原理图设计

(1) 丰富的器件库: 超过27000种器件,创建新器件更方便。

(2) 智能的器件搜索: 通过模糊搜索快速定位所需要的器件。

(3) 智能化的连线功能: 自动连线功能使连接导线简单快捷,大大缩短绘图时间。

(4) 支持总线结构: 使用总线器件和总线布线使电路设计简明清晰。

(5) 可输出高质量图纸: 通过个性化设置生成印刷质量的BMP图纸,可方便地用于Word、PowerPoint等多种文档。

2. 完善的电路仿真功能

(1) ProSPICE混合仿真: 基于工业标准SPICE3F5,实现数字/模拟电路的混合仿真。

(2) 超过27000种仿真器件: 通过内部原型或使用厂家的SPICE文件自行设计仿真器件,Labcenter不断发布新的仿真器件,还可导入第三方发布的仿真器件。

(3) 多样的激励源: 包括直流、正弦、脉冲、分段线性脉冲、音频(使用.wav文件)、指数信号、单频FM、数字时钟和码流,还支持文件形式的信号输入。

(4) 丰富的虚拟仪器: 13种虚拟仪器,面板操作逼真,如示波器、逻辑分析仪、信号发生器、直流电压/电流表、交流电压/电流表、数字图案发生器、频率计/计数器、逻辑探头、虚拟终端、SPI调试器、I2C调试器等。

(5) 生动的仿真显示: 用色点显示引脚的数字电平,导线以不同颜色表示其对地电压大小,结合动态器件(如电机、显示器件、按钮)的使用可以使仿真结果更加直观、生动。

(6) 高级图形仿真功能(ASF): 基于图标的分析可精确展示电路的多项指标,包括工作点、瞬态特性、频率特性、传输特性、噪声、失真等,还可以进行一致性分析。

3. 单片机协同仿真功能

(1) 支持主流的CPU类型: 如ARM7、8051/8052、AVR、PIC10、PIC12、PIC16、PIC18、PIC24、dsPIC33、HC11、BasicStamp、8086、MSP430等,CPU类型随着版本升级还在继续增加,如即将支持Cortex、DSP处理器。

(2) 支持通用外设模型: 如字符LCD模块、图形LCD模块、LED点阵、LED七段显示模块、键盘/按键、直流/步进/伺服电机、RS232虚拟终端、电子温度计等等,其COMPIM(COM口物理接口模型)还可以使仿真电路通过PC串口和外部电路实现双向异步串行通信。

(3) 实时仿真: 支持UART/USART/EUSART仿真、中断仿真、SPI/I2C仿真、MSSP仿真、PSP仿真、RTC仿真、ADC仿真、CCP/ECCP仿真。

(4) 编译及调试: 支持单片机汇编语言的编辑/编译/源码级仿真,内带8051、AVR、PIC的汇编编译器,也可以与第三方集成编译环境(如IAR、Keil和Hitech)结合,进行高级语言的源码级仿真和调试。

4. 实用的PCB设计平台

(1) 原理图到PCB的快速通道: 原理图设计完成后,一键便可进入ARES的PCB设计环境,实现从概念到产品的完整设计。

(2) 先进的自动布局/布线功能: 支持器件的自动/人工布局; 支持无网格自动布线或人工布线; 支持引脚交换/门交换功能使PCB设计更为合理。

(3) 完整的PCB设计功能: 最多可设计16个铜箔层,2个丝印层,4个机械层(含板边),灵活的布线策略供用户设置,自动设计规则检查,3D可视化预览。

(4) 多种输出格式的支持: 可以输出多种格式文件,包括Gerber文件的导入或导出,便于与其他PCB设计工具的互转(如Protel)以及PCB板的设计和加工。

5. Proteus软件提供的资源丰富

(1) Proteus可提供的仿真元器件资源: 仿真数字和模拟、交流和直流等数千种元器件,有30多个元器件库。

(2) Proteus可提供的仿真仪表资源: 示波器、逻辑分析仪、虚拟终端、SPI调试器、I2C调试器、信号发生器、模式发生器、交直流电压表、交直流电流表。理论上同一种仪器可以在一个电路中随意的调用。

(3) 除了现实存在的仪器外,Proteus还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似,但功能更多。这些虚拟仪器仪表具有理想的参数指标,例如,极高的输入阻抗、极低的输出阻抗,这些都尽可能减少了仪器对测量结果的影响。

(4) Proteus可提供的调试手段: Proteus提供了比较丰富的测试信号用于电路的测试,这些测试信号包括模拟信号和数字信号。

尽管Proteus具有开发效率高,不需要附加硬件开发成本的优点,但是它不能进行用户样机的诊断。所以在单片机系统的设计、开发中,一般先在Proteus环境下绘出系统的硬件电路原理图,在Keil μVision4环境下输入并编译程序,然后在Proteus环境下进行仿真调试。依照仿真结果来完成实际的硬件设计,并把仿真调试通过的程序代码通过写入器或在线烧录到单片机的程序存储器中,然后运行程序观察用户样机的运行结果。如果有问题,再连接硬件仿真器或直接在线修改程序进行分析、调试。

5.2.2Proteus基本用法

按照要求安装Proteus软件后,双击桌面上的图标,进入Proteus界面,如图526所示。



图526Proteus ISIS主界面


整个ISIS界面分为若干区域,由原理图编辑窗口、预览窗口、对象选择器窗口、主菜单栏、主工具栏、工具箱等组成。

1. 原理图编辑窗口

原理图编辑窗口(见图526)用来绘制电路原理图。

在原理图编辑窗口中,鼠标按键的操作方式为: 滚轮用于放大或缩小原理图; 左键用于放置元件; 右键用于选择元件; 按两次右键删除元件; 按一次右键出现快捷菜单后可编辑元件的属性; 先按右键后按左键可拖动元件; 连线用左键,删除用右键。

原理图编辑窗口中没有滚动条,要改变原理图的可视范围,需要通过以下方式实现: 

(1) 在预览窗口中直接单击需要显示的位置,在原理图编辑窗口中将显示以单击位置为中心的原理图内容。

(2) 在原理图编辑窗口中按住鼠标右键不放,拖动鼠标,可使显示的内容平移。拨动鼠标滚轮可使原理图缩小或放大,原理图编辑窗口会以鼠标指针位置为中心重新显示原理图内容。

下面介绍主工具栏中与原理图编辑窗口有关的几个功能按钮。

(1) “放大”按钮或“缩小”按钮。使用这两个按钮都会使原理图编辑窗口以当前鼠标指针位置为中心重新显示。单击主工具栏中的“显示全部”按钮可把整张原理图缩放到完全显示出来。即使在滚动或拖动对象时也是如此。

(2) “网格开关”按钮。原理图是否显示点状网格,可由这个按钮来控制。

 捕捉到网格。当鼠标指针在原理图编辑窗口内移动时,坐标值是以固定的步长增长的,初始设定值是100。这种功能称为捕捉(Snap),能够把元件按照网格对齐。捕捉的格点间距使用“查看”菜单中命令设置,如图527所示。

 实时捕捉。当鼠标指针指向引脚末端或者导线时,鼠标指针将会捕捉到这些物体。这种功能称为实时捕捉。该功能可以使用户方便地实现导线和引脚的连接。


2. 预览窗口

预览窗口可显示两种内容: 一种是显示选中元器件的预览图; 另一种是当鼠标焦点落在原理图编辑窗口时(即放置元器件到原理图编辑窗口后或在原理图编辑窗口中单击鼠标后),会显示整张原理图的缩略图,并会显示一个绿色的方框,绿色方框里面的内容就是当前原理图窗口中显示的内容。因此,可用鼠标在其上面单击来改变绿色方框的位置,从而改变原理图的可视范围。

3. 对象选择窗口

对象选择窗口用来选择元件、终端、仪表等对象。该窗口的列表区用来表明当前所处模式及其中的对象列表,如图523所示。该窗口中还有两个按钮: 器件选择按钮、库管理按钮。在图528中可以看到已经选择的单片机、电容电阻、晶振、发光二极管等各种元件列表。




图527“查看”菜单




图528对象选择窗口




4. 主菜单栏

1) “文件”(File)菜单

“文件”菜单中包含工程的新建设计、打开设计、打印等命令,如图529所示,Proteus ISIS中的文件主要是设计文件(Design Files)。设计文件中包含一个单片机系统的原理图及其所有信息,用于虚拟仿真,文件扩展名为.DSN。



图529“文件”菜单

下面介绍“文件”菜单中的几个主要命令。

(1) 新建设计。选择菜单命令“文件”→“新建设计”(或单击主工具栏中的按钮),将清除原有的所有设计数据,出现一个空白的A4页面。新设计的默认名为UNTITLED.DSN。该命令会把此设计以上述名字存入文件中,文件的其他选项也会使用它作为默认名。

给设计命名也可通过菜单命令“文件”→“保存设计”(或单击主工具栏中的按钮),输入新文件名后保存即可。

(2) 打开设计。用来装载一个已有的设计(也可单击主工具栏中的按钮)。

(3) 保存设计。在退出Proteus ISIS 时需要保存设计。设计会被保存到设计文件中,旧的.DSN文件会在其名字前加前缀Back of。

(4) 另存为。把设计保存到另一个文件中。

(5) 导入区域/导出区域。“导出区域”命令将当前选中的对象生成一个局部文件。这个局部文件可以使用“导入区域”命令导入另一个设计中。局部文件的导入与导出类似于“块复制”。

(6) 退出。退出Proteus ISIS。若文件修改过,系统会出现提示框,询问是否保存文件。

2) “查看”(View)菜单

“查看”菜单中提供了原理图编辑窗口中的定位、调整网格及缩放图形等常用子菜单命令,如图527所示。




图530“工具”菜单

3) “编辑”(Edit)菜单

“编辑”菜单实现各种编辑功能,其中提供了剪切、复制、粘贴、置于下层、置于上层、清理、撤销、重做、查找并编辑元件等命令。

4) “工具”(Tools)菜单

“工具”菜单如图530所示。

在绘制原理图时,单击“自动连线”命令,使其前面的快捷图标呈按下状态(),即可进入原理图的自动连线状态。

使用“电气规则检查”命令,可检查绘制完成的原理图是否符合电气规则。

5) “设计”(Design)菜单

“设计”菜单如图531所示。其中提供了编辑设计属性、编辑页面属性、设定电源范围、新建页面、删除页面、上一页、下一页等命令。

6) “绘图”(Graph)菜单

“绘图”菜单如图532所示,其中提供了编辑图表、添加图线、仿真图表、查看日志、导出数据、清除数据、一致性分析(所有图表)、批模式一致性分析等命令。

7) “源代码”(Source)菜单

“源代码”菜单如图533所示,其中提供了添加/删除源文件、设定代码生成工具、设置外部文本编辑器、全部编译等命令。




图531“设计”菜单




图532“绘图”菜单




图533“源代码”菜单




8) “调试”(Debug)菜单

“调试”菜单如图534所示,主要用于实现单步运行、断点设置等功能。

9) “库”(Library)菜单

“库”菜单如图535所示,其中提供了拾取元件/符号、制作元件、制作符号、封装工具、分解、编译到库中、自动放置库文件、校验封装、库管理器等命令。

10) “模板”(Template)菜单

“模板”菜单如图536所示,主要用于实现模板的各种设置功能,如图形、颜色、字体、连线等。




图534“调试”菜单




图535“库”菜单




图536“模板”菜单




11) “系统”(System)菜单

“系统”菜单如图537所示,其中提供了系统信息、文本视图、设置环境、设置路径等命令。

12) “帮助”(H)菜单

“帮助”菜单如图538所示,提供帮助文档,每个元件的属性均可在帮助(H)菜单下的相应选项。




图537“系统”菜单




图538“帮助”菜单




5. 主工具栏

主工具栏位于主菜单栏下面,其中有38个按钮,以图标形式给出: 



每个按钮都对应一个具体的菜单命令。下面把38个按钮分为4组,简要介绍各组按钮的命令功能。

第1组按钮功能说明如下。

: 新建一个设计文件。

: 打开一个已存在的设计文件。

: 保存当前的设计。

: 将一个局部文件导入ISIS中。

: 将当前选中的对象导出为一个局部文件。

: 打印当前设计文件。

: 选择打印的区域。

第2组按钮功能说明如下。

: 刷新显示。

: 控制原理图是否显示网格。

: 放置连线点。

: 以鼠标光标所在点为中心居中。

: 放大。

: 缩小。

: 查看整张图。

: 查看局部图。

第3组按钮功能说明如下。

: 撒销上一步的操作。

: 恢复上一步的操作。

: 剪切选中的对象。

: 复制选中的对象至剪贴板中。

: 从剪贴板中粘贴。

: 复制选中的块对象。

: 移动选中的块对象。

: 旋转选中的块对象。

: 删除选中的块对象。

: 从库中选取元件。

: 创建元件。

: 封装工具。

: 释放元件。

第4组按钮功能说明如下。

: 自动连线。

: 查找并链接。

: 属性分配工具。

: 设计浏览器。

: 新建图纸。

: 移动页面/删除页面。

: 返回到父页面。

: 生成元件列表。

: 生成电气规则检查报告。

: 生成网表并传输到ARES中。

6. 工具箱

图526中最左侧为工具箱。选择工具箱中的按钮,系统将提供不同的操作工具。在对象选择窗口中,将根据选择的工具箱按钮决定当前显示的内容。显示对象的类型包括元件、终端、引脚、图形符号、标注和图表等。

下面介绍工具箱中各按钮的功能。

1) 主要模型工具

(1) : 用于即时编辑元件参数(先单击该图标再单击要修改的元件)。

(2) : 选择元件(Components)(默认选择的),根据需要从丰富的元件库中选择元件,并添加元件到元件列表中。单击此按钮可在元件列表中选择元件,同时在预览窗口中列出元件的外形及引脚。

(3) : 放置电路连接点。在不用连线工具的条件下,可方便地在节点之间或节点到电路中任意点或线之间进行连线。

(4) : 放置标签(绘制总线时用到),标注线标或网络标号。在绘制原理图时,可使连线简单化。例如,从8051单片机的P1.7引脚和二极管的阳极各画出一根短线,并标注网络标号为1,就说明P1.7引脚和二极管的阳极已经在电路上连接在一起了,而不用真的画条线把它们连起来。

(5) : 放置文本。在绘制的原理图上添加说明文本。

(6) : 用于绘制总线。总线在原理图上是一根粗线,它代表一组总线。当某根线连接到总线上时,要注意标好网络标号。

(7) : 用于放置子电路。

(8) : 选择端子。单击此按钮,在对象选择窗口中列出可供选择的各种常用端子: 

 DEFAULT——默认的无定义端子。

 POWER——电源端子。

 INPUT——输入端子。

 GROUND——接地端子。

 OUTPU——输出端子。

 BUS——总线端子。

 BIDIR——双向端子。

2) 配件(Gadgets)

(1) 终端接口(Terminals): 有VCC、地、输出、输入等接口。

(2) 元件引脚: 用于绘制各种引脚。

(3) 仿真图表(Graph): 在对象选择窗口中列出可供选择的各种仿真分析所需图表(如模拟图表、数字图表、混合图表和噪声图表等),如Noise Analysis。

(4) 录音机: 当需要对电路进行分割仿真时,采用此模式。

(5) 信号发生器(Generators): 在对象选择窗口中列出可供选择的各种信号源(如正弦、脉冲和FILE信号源等)。

(6) 电压探针: 在原理图中添加电压探针。电路仿真时,可显示探针处的电压值。

(7) 电流探针: 在原理图中添加电流探针。电路仿真时,可显示探针处的电流值。

(8) 虚拟仪表: 在对象选择窗口中列出可供选择的各种虚拟仪器,如示波器等。

3) 2D图形(2D Graphics)

: 画线。单击按钮,在右侧的窗口中提供如下各种专用的画线工具: 

 COMPONENT——元件连线。

 TERMINAL——端子连线。

 PIN——引脚连线。

 SUBCIRCUIT——支电路连线。

 PORT——端口连线。

 2D GRAPHIC——二维图连线。

 MARKER——标记连线。

 WIRE DOT——线连接点连线。

 ACTUATOR——激励源连线。

 WIRE——线连接。

 INDICATOR——指示器连线。

 BUS WIRE——总线连线。

 VPROBE——电压探针连线。

 BORDER——边界连线。

 IPROBE——电流探针连线。

 TEMPLATE——模板连线。

 GENERATOR——信号发生器连线。

: 画一个方框。

: 画一个圆。

: 画一段弧线。

: 图形弧线模式。

: 图形文本模式。

: 图形符号植式。

4) 元件列表(The Object Selector)

用于挑选元件(Components)、终端接口(Terminals)、信号发生器(Generators)、仿真图表(Graph)等。例如,选择“元件(Components)”,单击P按钮打开Pick Devices对话框,在“关键字”框中输入要检索的元件的关键字,例如,输入80C51,在中间的“结果”栏中可看到搜索到的元件结果。在对话框的右侧,还能够看到选择的元件的仿真模型及PCB参数,如图539所示。选择80C51元件后,单击可以看到元器件模型,双击选择了一个元件后(即单击OK按钮后),该元件会在元件列表中显示,以后要用到该元件时,只需在元件列表中选择即可。



图539选取元件


5) 方向工具栏(Orientation Toolbar )

(1) 旋转: 元件顺时针方向旋转,旋转角度只能是90"的整数倍。

(2) 旋转: 元件逆时针方向旋转,旋转角度只能是90"的整数倍。

(3) 翻转: 使元件水平翻转。

(4) 翻转: 使元件垂直翻转。

使用方法: 先右击元件,再单击相应的旋转图标。

6) 仿真工具栏

(1) 运行程序。

(2) 单步运行程序。

(3) 暂停程序的运行。

(4) 停止运行程序。

7) 操作简介

(1) 绘制原理图。绘制原理图要在编辑窗口中的蓝色方框内完成。按住左键拖动并放置元件; 单击选择元件; 双击右键删除元件; 单击选中画框,选中部分变红,再用左键拖动选多个元件; 双击编辑元件属性; 选择即可按住左键拖动元件; 连线用左键,删除用右键; 改连接线: 先右击连线,再左键拖动; 滚动可缩放,单击可移动视图。

(2) 定制自己的元件。有两个实现途径: 一是用Proteus VSM SDK开发仿真模型制作元件; 二是在已有的元件基础上进行改造。

(3) SubCircuits应用。用一个子电路可以把部分电路封装起来,从而节省原理图窗口的空间。

5.2.3Proteus ISIS的编辑环境设置

绘制原理图首先要选择模板,模板主要用于控制原理图的外观信息,如图形格式、文本格式、设计颜色、线条连接点大小和图形等; 然后需要设置图纸,如纸张的型号、标注的字体等。另外,设置网格将为放置元件、连接线路带来很多方便。

1. 选择模板

“模板”菜单如图536所示,其中的命令功能说明如下: 

(1) 设置设计默认值——编辑设计的默认选项。

(2) 设置图形颜色——编辑图形的颜色。

(3) 设置图形风格——编辑图形的全局风格。

(4) 设置文本风格——编辑全局文本风格。

(5) 设置图形文本——编辑图形的字体格式。

(6) 设置连接点——弹出编辑节点对话框。

注意: 模板的改变只影响当前运行的Proteus ISIS环境,但这些模板也有可能在保存后被别的设计所调用。

2. 选择图纸

选择菜单命令“系统”→“设置图纸大小”,弹出如图540所示的对话框,在其中可选择图纸的大小或自定义图纸的大小。一般选择A4图纸大小即可。

3. 设置文本编辑选项

选择菜单命令“系统”→“设置文本编辑选项”,出现如图541所示的对话框。在该对话框中可以对文本的字体、字形、大小、效果和颜色等进行设置。




图540设置图纸大小




图541设置文本格式




4. 设置网格开关与格点间距

(1) 网格的显示或隐藏。单击工具栏中的按钮(或选择菜单命令“查看”→“网格”),可以控制网格的显示与隐藏。

(2) 设置格点的间距。在“查看”菜单中,可以使用Snap 10th、Snap 50th、Snap 0.1in、Snap 0.5in命令,设置格点之间的间距(默认值为0.1in)。

5.2.4Proteus ISIS的系统运行环境设置

在Proteus ISIS界面中选择菜单命令“系统”→“设置环境”,打开如图542所示的“环境设置”对话框。



图542“环境设置”对话框

该对话框包括如下设置项: 

(1) 自动保存时间(分钟)——设置系统自动保存设计文件的时间间隔。

(2) 撒销的步数——设置可撤销的操作的步数。

(3) 工具注释延迟时间(毫秒)——设置工具提示延时,单位为毫秒。

(4) 文件菜单下最近打开的文件数目——设置“文件”菜单中显示的最近打开的文件名的数量。

(5) 和ARES自动同步/保存——在保存设计文件时,设置是否自动同步/保存ARES。

(6) 在设计文件中保存/加载ISIS状态——设置是否在设计文件中保存/加载ISIS状态。

5.2.5单片机系统的电路设计与虚拟仿真

前面介绍了Proteus ISIS的基本功能和用法。本节通过一个“流水灯”案例的电路设计,介绍在Proteus中实现单片机系统的电路设计与虚拟仿真。

Proteus虚拟仿真可以在一定程度上反映单片机系统的运行情况。在Proteus开发环境下,一个单片机系统的设计与虚拟仿真分为如下3个步骤: 

(1) Proteus电路设计。首先在Proteus ISIS中完成一个单片机应用系统的原理图设计,包括选择各种元件、外围接口芯片等,实现电路连接以及电气检测等。

(2) 设计源程序与生成目标代码文件。在Keil μVision4中进行源程序的输入、编译与调试,并最终生成目标代码文件(*.hex文件)。

(3) Proteus调试与仿真。在Proteus ISIS中将目标代码文件(*.hex文件)加载到单片机中,并对系统进行虚拟仿真,这是本节要介绍的重点内容。在调试时也可使用Proteus ISIS与Keil μVision4进行联合仿真调试。

单片机应用系统的电路设计与虚拟仿真整体流程如图543中间部分所示。



图543单片机系统的电路设计与虚拟仿真流程


“Proteus仿真”在Proteus ISIS的VSM模式下进行,其中包含各种调试工具的使用。

由图543右侧可以看到用Proteus ISIS对单片机系统进行原理图设计的各个步骤。下面以“流水灯”案例的电路设计与虚拟仿真为例,详细说明具体操作。


1. 新建或打开一个设计文件

1) 新建设计文件

选择菜单命令“文件”→“新建设计”,新建一个设计文件,弹出如图544所示的“新建设计”对话框,其中提供了多种模板,单击要使用的模板,再单击“确定”按钮,即建立一个该模板的空白文件,系统默认为DEFAULT模板。如果单击主工具栏中的按钮来新建设计文件,则不会出现如图544所示的对话框,而是直接选择系统默认的模板。



图544“新建设计”对话框


2) 保存设计文件

按照上面的操作,为本案例建立了一个新设计文件,在第一次保存该文件时,选择菜单命令“文件”→“另存为”,弹出如图545所示的“保存ISIS设计文件”对话框,在其中选择文件的保存路径并输入文件名“流水灯”后,单击“保存”按钮,完成设计文件的保存。这样就在“流水灯”文件夹下新建了一个名为“流水灯”的设计文件。



图545“保存ISIS设计文件”对话框


如果不是第一次保存,则可以选择菜单命令“文件”→“保存设计”,或直接单击主工具栏中的按钮。

3) 打开已保存的设计文件

选择菜单命令“文件”→“打开设计”,或直接单击主工具栏中的按钮,弹出如图546所示的“加载ISIS设计文件”对话框。单击需要打开的文件名,再单击“打开”按钮即可。



图546“加载ISIS设计文件”对话框


2. 选择需要的元件到元件列表中

在电路设计前,应先列出“流水灯”原理图中需要的元件,见表51。然后根据表51将元件添加到元件列表中。观察图526,左侧的元件列表中没有一个元件。单击工具箱中的按钮,再单击对象选择窗口中的按钮,就会出现Pick Devices对话框。在“关键字”框中输入80C51,此时在“结果”栏中出现元件搜索结果列表,并在右侧出现“元件预览”和“元件PCB预览”窗口,如图547所示。在元件搜索结果列表中双击所需要的元件80C51,这时在对象选择窗口的元件列表中就会出现该元件。用同样的方法可将表51中所需选择的其他元件也添加到元件列表中。


表51“流水灯”电路原理图中需要的元件列表




元 件 名 称型号数量Proteus中的关键字

单片机AT89C511AT89C51
晶振12MHz1CRYSTAL
二极管蓝色8LEDBLUE
二极管绿色8LEDGREEN
二极管红色8LEDRED
二极管黄色8LEDYELLOW
电容24pF4CAP
电解电容10μF1CAPELEC
电阻240Ω10RES
电阻10kΩ1RES
复位按钮—1BUTTON





图547Pick Devices对话框


所有元件选取完毕,单击对话框右下方的“确定”按钮,即可关闭Pick Devices对话框,回到主界面进行原理图的绘制。此时的元件列表如图548所示。



图548元件列表

3. 放置元件并连接电路

1) 元件的放置、调整与参数设置

(1) 元件的放置。

单击元件列表中需要的元件,然后将鼠标指针移至原理图编辑窗口中单击,此时就会在鼠标指针处出现一个粉红色的元件,移动鼠标指针至合适的位置,单击,此时该元件就被放置在原理图编辑窗口中了。例如,选择放置单片机80C51到原理图编辑窗口中,具体步骤如图549所示。

要删除已放置的元件,则单击该元件,然后按Delete键即可删除该元件。如果进行了误删除操作,可以单击主工具栏中的按钮恢复。



图549元件放置的操作步骤


一个单片机系统原理图的设计,除需要元件外,还需要各种终端,如电源、地等。单击工具箱中的按钮,就会出现各种终端列表,单击其中的某项,上方的预览窗口中就会出现该终端的符号,如图550(a)所示。此时可选择合适的终端放置到原理图编辑窗口中,放置的方法与元件放置相同。如图550(b)所示为图550(a)终端列表中各项对应的终端符号。当再次单击工具箱中的按钮时,即可切换到用户自己选择的元件列表,如图548所示。将所有的元件及终端放置到原理图编辑窗口中。

(2) 元件位置的调整。

① 改变元件在原理图中的位置。单击需调整位置的元件,该元件显示为红色,按住左键不放,将其拖动到合适的位置,再释放左键即可。

② 调整元件的角度。右击需要调整角度的元件,出现如图551所示的快捷菜单,选择其中的元件角度调整命令即可。




图550终端列表及终端符号




图551元件角度调整命令




(3) 元件参数的设置。

双击需要设置参数的元件,将出现“编辑元件”对话框。

下面以单片机80C51为例介绍元件参数的设置方法。双击80C51,出现如图552所示的“编辑元件”对话框。



图552“编辑元件”对话框


其中的部分设置说明如下。

① 元件参考: U1。可选中“隐藏”复选框。

② 元件值: 80C51。可选中“隐藏”复选框。

③ Clock Frequency: 单片机的晶振频率,设置为12MHz。

该对话框中某些选项可以在后面的下拉列表中设置其隐藏/显示。

根据设计的需要,完成原理图中各元件的参数设置。

2) 元件的连接

(1) 在两个元件间绘制导线。

使用工具箱中的按钮(按下按钮),在两个元件之间绘制导线的方法是: 先单击第一个元件的连接点,然后移动鼠标,此时会从连接点引出一根导线,若想要自动绘出直线路径,只需单击另一个连接点即可。如果设计者想自己决定走线路径,可以在希望的拐点处单击。

注意: 拐点处导线的走线只能是直角。在按钮松开(未按下)时,导线可按任意角度走线,此时在希望的拐点处单击,然后把鼠标指针拖向目标连接点,这样拐点处导线的走向将只取决于鼠标指针的施动方向。

(2) 添加连接导线的连接点。

单击工具箱中按钮,将在两根导线连接处或交叉处添加一个圆点,表示它们已连接。

(3) 导线位置的调整。

对已绘制的导线,要想进行位置的调整,可单击该导线,在其两端各出现一个小黑方块,右击,出现快捷菜单,如图553所示。选择“拖曳对象”命令,然后拖动导线到指定的位置,也可进行旋转操作,然后单击导线,就完成了导线位置的调整。


图553快捷菜单




(4) 绘制总线与总线分支。

① 绘制总线。单击工具箱中的接钮,移动鼠标指针到绘制总线的起始位置,单击,便可绘制出一根总线。若想要总线出现非90°的转折,此时应当松开按钮,使总线可按任意角度走线。在总线的终点处双击,即结束总线的绘制。

② 绘制总线分支。总线绘制完成后,有时还需要绘制总线分支。为了使原理图更加专业和美观,通常把总线分支画成与总线有45°夹角的相互平行的斜线。

注意: 此时一定要松开按钮,让总线分支的走向只取决于鼠标指针的拖动方向。

总线分支的绘制方法是: 在80C51的P0口右侧先画总线,然后再画总线分支。单击工具箱中的按钮(按钮松开),使导线可按任意角度走线。

先单击第一个元件的连接点,移动鼠标指针,在希望的拐点处单击,然后向上拖动鼠标指针,在与总线相交(45°夹角)时单击确认,这样就完成了总线分支的绘制。

而其他总线分支的绘制只需在其他总线的起始点处双击,不断复制即可完成。

例如,绘制P0.1引脚至总线的分支,只要把鼠标指针放置在P0.1引脚处,出现一个红色小方框,双击,将自动完成从P0.1引脚到总线的连线,这样可依次完成所有总线分支的绘制。在绘制多根平行线时也可采用这种画法。

(5) 放置线标。

与总线相连的导线上都有线标D0,D1,…,D7。放置线标的方法: 单击工具箱中的按钮,在需要放置线标的导线上单击,即出现如图554所示的Edit Wire Label对话框,将线标填入“标号”框中(例如,填写D0等),单击“确定”按钮即可。与总线相连的导线必须要放置线标,这样连接相同线标的导线才能够导通。


图554Edit Wire Label对话框


对于Edit Wire Label对话框中的其他选项,可根据需要选择使用。

经过上述步骤的操作,最终画出的“流水灯”原理图如图555所示。



图555“流水灯”原理图


(6) 添加文字。

在原理图中某个位置添加文字,可采用如下方法。例如,在图555中的石英晶振X1上方添加“石英晶振”4个字,可先单击工具箱中的按钮,然后在原理图中要添加文字的位置单击,此时出现如图556所示的“编辑2D图形文本”对话框。在“字符串”框中,输入文字“石英晶振”,然后对字符的“位置”“字体属性”等进行相应的设置。单击“确定”按钮后,在原理图中将会出现添加的文字“石英晶振”,如图557所示。



图556“编辑2D图形文本”对话框





图557在原理图中添加的文字



5.2.6加载目标代码文件、设置时钟频率及仿真运行
1. 加载目标代码文件、设置时钟频率

原理图绘制完成后,把Keil μVision4下生成的.hex文件加载到原理图中的单片机内即可进行仿真。加载步骤如下: 在Proteus ISIS中双击原理图中的单片机,出现如图558所示的“编辑元件”对话框。在Program File框中输入文件名。如果该文件与.DSN文件在同一个目录下,直接输入文件名“流水灯”即可,否则要写出完整的路径。也可单击主工具栏中的按钮,选取文件。然后,在Clock Frequency框中设置12MHz,该虚拟系统将以12MHz的时钟频率运行。此时,回到原理图编辑窗口进行仿真。



图558“编辑元件”对话框


在加载目标代码文件时需要特别注意,系统运行的时钟频率以单片机属性设置中的时钟频率(Clock Frequency)为准。

特别地,在Proteus ISIS中绘制原理图时,8051单片机最小系统所需的时钟振荡电路、复位电路以及EA引脚与+5V电源的连接均可省略,因为这些已经在Proteus ISIS中默认设置好了,不会影响仿真结果。所以本书在介绍“流水灯”案例硬件原理图时,为使原理图简洁、清晰,省略了时钟振荡电路、复位电路以及EA引脚与+5V电源的连接。

2. 仿真运行

完成上述所有操作后,只需单击仿真工具栏中的按钮(见图526左下角)即可运行程序。

以上就是利用单片机最小系统来控制LED亮灭的仿真过程。

5.3STCISP软件简介

STCISP是一款常用的单片机下载编程烧录软件,是针对STC系列单片机而设计的,可下载STC89系列、12C2052系列和12C5410等系列的STC单片机。STCISP下载软件需要冷启动,即先点击下载然后开启电源,使用简便,操作稳定,现已被广泛使用。本节主要讲解如何使用STCISP软件。

5.3.1CH340驱动安装

STC89C51单片机是通过串行口往单片机中烧录程序,现在计算机一般只有USB通信口,需要将USB电平转换成单片机适用的TTL电平,CH340芯片就是一款USB总线的转接芯片。通过CH340芯片实现USB转串口,将USB电平转换成TTL电平,在计算机上安装好驱动后,那么下载软件就可以通过这个串口和单片机进行通信了。

在安装烧录软件STCISP前,需要安装USB转串口CH340驱动。大多数计算机系统通过USB线连接计算机和开发板的USB接口后会自动检测安装CH340驱动,如果计算机没有自动安装CH340驱动,那么可以手动安装,双击SETUP.EXE应用程序,出现如图559所示的界面,单击“安装”按钮即可。

一段时间后,如果安装成功会显示如图560所示的界面(前提: 必须使用USB线将计算机USB口和开发板USB接口连接)。




图559安装驱动界面




图560驱动安装成功





安装不成功的原因有很多,可发帖到论坛咨询。

驱动安装成功后可以打开STCISP.exe软件,查看串口号是否显示有CH340字样的串口,如果有,则证明驱动安装成功,否则失败。

5.3.2STCISP安装

(1) 选择单片机型号。
打开STCISP,在单片机型号选项下选择对应的单片机(根据硬件芯片选择),如选择STC89C516RD+,如图561所示。



图561选择单片机型号界面



注意: 此时默认已经安装好了CH340的驱动程序,可以看到对应的串口号,显示的是“USBSERIAL CH340(COM4)”,不同计算机的串口也会有所不同; 也可通过单击“设备管理器”,打开“端口”(COM和LPT)来确定串口号,如图562所示。

(2) 波特率选项保持默认设置,最低2400,最高115200。

(3) 选择下载文件。先确认硬件连接正确,按图561中的标注3单击“打开程序文件”并在对话框内选择要下载的.hex文件。

(4) 确保实验盒上的电源开关关闭的情况下,单击图561左下角标注4处的“下载/编程”按键,开始下载程序,完成后会在图563右下方的显示框中显示操作成功的提示信息。



图562查看串口号




图563程序下载成功



5.3.3常见问题

不能下载程序的常见原因如下: 

(1) 电压不足。板子用电量大时需采用外部直流电源供电。

(2) 下载线(串口线)接口接触不良或计算机串口损坏。

(3) 单片机芯片插反、损坏。

(4) 尝试使用较低的波特率进行下载。

系统提示“串口已被其他程序占用或该串口不存在”的常见原因如下: 

(1) 是否其他软件占用了串口。

(2) 当前软件使用串口号和实际使用的计算机的串口是否相同,如果不同,需调整相同。

一直处于“检测单片机”状态的常见原因如下: 

(1) TXD引脚和RXD引脚接反了。

(2) 晶振没插或者松了。

(3) 单片机型号选错了。

(4) 需要冷启动,即给单片机断电并重新启动一下。