1、第1章 单片机及其应用系统设计概述 1.1 单片机基本知识 1.2 单片机应用系统开发入门 1.3 本书的内容组织 1.1 单片机基本知识1.1.1 单片机概述 1.1.2 单片机应用系统概述 1.1.3 单片机的分类1.1.4 单片机常用术语 1.1.1 单片机概述 单片机是单片微型计算机的简称,有时称为微控制器,是将计单片机是单片微型计算机的简称,有时称为微控制器,是将计算机的主要功能单元集成在一个芯片中而构成的器件。由于单片机算机的主要功能单元集成在一个芯片中而构成的器件。由于单片机在一个芯片上集成诸多功能,因此就单项功能而言,通常都没有普在一个芯片上集成诸多功能,因此就单项功能而言,通
2、常都没有普通计算机强大,比如计算速度不够快、字长较短、外部可扩展接口通计算机强大,比如计算速度不够快、字长较短、外部可扩展接口的数量少且规模小等。但是,单片机具有体积小、价格便宜和技术的数量少且规模小等。但是,单片机具有体积小、价格便宜和技术成熟等优点,是各种电子产品的重要组成部分,在国民经济的各个成熟等优点,是各种电子产品的重要组成部分,在国民经济的各个领域发挥着重要作用。领域发挥着重要作用。1.1.1 单片机概述单片机通常由以下几部分组成:单片机通常由以下几部分组成:CPUCPU:CPUCPU是中央处理器的简称,是进行运算和控制的重要单元。是中央处理器的简称,是进行运算和控制的重要单元。存
3、储器:存储器:单片机的存储器通常由单片机的存储器通常由ROMROM和和RAMRAM组成,组成,ROMROM常用于存放单片常用于存放单片机的程序,而机的程序,而RAMRAM用于存放数据。用于存放数据。输入输入/输出接口:输出接口:用于连接外围设备,实现与外围设备进行数据交换。用于连接外围设备,实现与外围设备进行数据交换。其他:其他:有些单片机还集成有其它部件,如各种异步和同步串行接口、有些单片机还集成有其它部件,如各种异步和同步串行接口、A/DA/D和和D/AD/A转换器、转换器、CANCAN通信控制器等。通信控制器等。1.1.1 单片机概述单片机的特点:单片机的特点:价格便宜价格便宜:通常仅为
4、几元到几十元人民币。通常仅为几元到几十元人民币。体积小体积小:目前最小的单片机只有目前最小的单片机只有6 6个引脚,十几到二十多个引个引脚,十几到二十多个引脚的单片机也很多,体积很小。即便脚的单片机也很多,体积很小。即便4040、5252、6868甚至更多引脚甚至更多引脚功能强大的单片机,在采用表面贴片封装后,其体积并不大。功能强大的单片机,在采用表面贴片封装后,其体积并不大。技术成熟,应用广泛。技术成熟,应用广泛。1.1.2 单片机应用系统概述 工业自动化控制:工业自动化控制:单片机广泛地用于各种实时的工业过程控制系统单片机广泛地用于各种实时的工业过程控制系统中,进行实时数据处理和控制。中,
5、进行实时数据处理和控制。机电一体化:机电一体化:单片机在机电一体化领域的应用,促进了机电一体化单片机在机电一体化领域的应用,促进了机电一体化技术的飞速发展。技术的飞速发展。智能仪表:智能仪表:在各类仪器仪表中引入单片机,可以提高测试的自动化在各类仪器仪表中引入单片机,可以提高测试的自动化程度和精度,简化仪器仪表的硬件结构,提高性价比。程度和精度,简化仪器仪表的硬件结构,提高性价比。智能化通信产品:智能化通信产品:单片机应用在程控电话和手机等通信设备中。单片机应用在程控电话和手机等通信设备中。1.1.2 单片机应用系统概述 办公自动化设备:办公自动化设备:现代办公自动化设备多数嵌入了单片机,如打
6、现代办公自动化设备多数嵌入了单片机,如打印机、复印机、传真机、绘图机、考勤机等。印机、复印机、传真机、绘图机、考勤机等。汽车电子产品:汽车电子产品:现代汽车的集中显示系统、动力监测控制系统、现代汽车的集中显示系统、动力监测控制系统、自动驾驶系统、通信系统和运行监视器等都离不开单片机。自动驾驶系统、通信系统和运行监视器等都离不开单片机。智能家用电器:智能家用电器:各种家用电器中普遍采用了单片机进行智能控制。各种家用电器中普遍采用了单片机进行智能控制。商业营销设备:商业营销设备:在商业营销系统中广泛使用的电子秤、收款机、在商业营销系统中广泛使用的电子秤、收款机、条形码阅读器、条形码阅读器、ICIC
7、卡刷卡机等都采用了单片机控制。卡刷卡机等都采用了单片机控制。航空航天、国防军事及尖端武器等领域。航空航天、国防军事及尖端武器等领域。1.1.3 单片机的分类l 专用型:专用型:指用途比较专一,出厂时程序已经一次性固化好、不能指用途比较专一,出厂时程序已经一次性固化好、不能再修改的单片机。专用型单片机通常是大批量生产,成本很低,再修改的单片机。专用型单片机通常是大批量生产,成本很低,如果达不到足够的批量,成本反而会高。如果达不到足够的批量,成本反而会高。l 通用型:通用型:指可由开发人员设定其功能的单片机。这种单片机应用指可由开发人员设定其功能的单片机。这种单片机应用于不同的接口电路或编写不同的
8、应用程序就可实现不同的功能,于不同的接口电路或编写不同的应用程序就可实现不同的功能,其应用十分广泛。一般所说的单片机都是指通用型单片机。其应用十分广泛。一般所说的单片机都是指通用型单片机。1.1.3 单片机的分类单片机厂家:单片机厂家:Intel (MCS-51Intel (MCS-51系列,系列,MCS-96MCS-96系列系列)Atmel (AT89 Atmel (AT89、AT90AT90系列,系列,MCS-51MCS-51内核内核)Microchip (PIC Microchip (PIC系列系列)Philips (87 Philips (87、8989系列,系列,LPC700LPC7
9、00、900900、20002000系列等,系列等,ARMARM内核,或内核,或MCS-51MCS-51内核内核)AD (ADuC AD (ADuC系列系列)Motorola (68HCXX Motorola (68HCXX系列系列)Zilog (Z86 Zilog (Z86系列系列)Siemens (SAB80 Siemens (SAB80系列,系列,MCS-51MCS-51内核内核)NEC (78 NEC (78系列系列)1.1.4 系统设计的常用术语:总线 单片机应用系统以单片机为核心,采用总线与其它器件协调单片机应用系统以单片机为核心,采用总线与其它器件协调工作。比如,所有器件的工作。
10、比如,所有器件的8 8根数据线全部接到根数据线全部接到8 8根公用线上,即相根公用线上,即相当于各个器件并联,这些公用的数据线就称为数据总线。如果有当于各个器件并联,这些公用的数据线就称为数据总线。如果有两个器件同时向数据总线发送数据,一个为两个器件同时向数据总线发送数据,一个为0 0,另一个为,另一个为1 1,那么,那么数据总线就会发生冲突,这需要通过另外的控制线来解决,从而数据总线就会发生冲突,这需要通过另外的控制线来解决,从而使器件分时工作,即在一条总线上任何时刻最多只能有一个器件使器件分时工作,即在一条总线上任何时刻最多只能有一个器件发送数据,但有时可以有多个器件同时接收数据。发送数据
11、,但有时可以有多个器件同时接收数据。1.1.4 系统设计的常用术语:总线 器件之间用来交换数据的总线称为数据总线,器件所有器件之间用来交换数据的总线称为数据总线,器件所有的控制线称为控制总线,用来设定不同器件及存储单元的位的控制线称为控制总线,用来设定不同器件及存储单元的位置分配的信号线称为地址总线。因此,计算机系统中有数据置分配的信号线称为地址总线。因此,计算机系统中有数据总线、控制总线、地址总线三大总线。总线、控制总线、地址总线三大总线。总线还可以用来进行系统扩展,将更多的器件通过总线总线还可以用来进行系统扩展,将更多的器件通过总线连接到单片机系统中。总线扩展首先要保证逻辑功能的正确连接到
12、单片机系统中。总线扩展首先要保证逻辑功能的正确性,此外还要注意时序的匹配以及总线的驱动能力。性,此外还要注意时序的匹配以及总线的驱动能力。1.1.4 系统设计的常用术语:指令、地址、数据 指令、地址和数据的本质都是数字,即由一串指令、地址和数据的本质都是数字,即由一串“0 0”和和“1 1”组组成的序列,但它们有其各自的内涵。成的序列,但它们有其各自的内涵。指令:指令:与常用的指令助记符有着严格的一一对应关系。开发与常用的指令助记符有着严格的一一对应关系。开发人员通过编程来控制单片机进行特定的操作。人员通过编程来控制单片机进行特定的操作。地址:地址:是寻找单片机的片内和片外存储单元的依据。是寻
13、找单片机的片内和片外存储单元的依据。数据:数据:通常特指被单片机处理的对象。通常特指被单片机处理的对象。1.1.4 系统设计的常用术语:指令、地址、数据常用数据类型:常用数据类型:常数:常数:如指令如指令MOV TH0MOV TH0,#10H#10H中,中,10H10H是定时用的常数,是定时用的常数,H H表示十六进制表示十六进制数,数,10H10H即十进制的即十进制的1616。该指令的作用是将常数。该指令的作用是将常数10H10H送入存储单元送入存储单元TH0TH0。方式字或控制字:方式字或控制字:如指令如指令MOV TMODMOV TMOD,#3#3中,数值中,数值3 3是控制字。该指令的
14、是控制字。该指令的作用是将数值作用是将数值3 3送入存储单元送入存储单元TMODTMOD,以设置定时器的工作模式。,以设置定时器的工作模式。地址数据:地址数据:如指令如指令MOV DPTRMOV DPTR,#1000H#1000H中,中,1000H1000H就是地址数据。该指令就是地址数据。该指令的作用是将地址的作用是将地址1000H1000H送入数据地址指针寄存器送入数据地址指针寄存器DPTRDPTR。实际输出值:实际输出值:如果在某设计中,如果在某设计中,P1P1口接彩灯,要灯全亮,执行指令口接彩灯,要灯全亮,执行指令MOV MOV P1P1,#0FFH#0FFH;要灯全暗,则执行指令;要
15、灯全暗,则执行指令MOV P1MOV P1,#00H#00H。这里。这里0FFH0FFH和和00H00H都都是实际输出值。是实际输出值。1.1.4 系统设计的常用术语:指令、地址、数据指令和数据存储常用的概念:指令和数据存储常用的概念:数据宽度:数据宽度:指数据存储器的比特宽度或数据总线的根数。指数据存储器的比特宽度或数据总线的根数。指令长度:指令长度:也称指令宽度,指一条指令的比特数。也称指令宽度,指一条指令的比特数。指令存储器宽度:指令存储器宽度:指用于存放指令的存储器的比特宽度。指用于存放指令的存储器的比特宽度。单字指令与多字指令:单字指令与多字指令:如果指令长度和指令存储器宽度相等,那
16、么如果指令长度和指令存储器宽度相等,那么一个存储器单元正好存储一条指令,这种系统称为单字指令系统;一个存储器单元正好存储一条指令,这种系统称为单字指令系统;如果指令长度大于指令存储器宽度,则一条指令要用多个指令存储如果指令长度大于指令存储器宽度,则一条指令要用多个指令存储器单元来存储,这种系统称为多字指令系统。器单元来存储,这种系统称为多字指令系统。1.1.4 系统设计的常用术语:复位与时钟 所有单片机在启动运行时都需要复位。单片机都具有一个复位引所有单片机在启动运行时都需要复位。单片机都具有一个复位引脚,当它保持约定的电平达到一定时间后,单片机完成复位。脚,当它保持约定的电平达到一定时间后,
17、单片机完成复位。单片机系统出现故障时,可以通过手动复位按钮或自动复位电路单片机系统出现故障时,可以通过手动复位按钮或自动复位电路实现复位。看门狗是一种常用的自动复位电路。实现复位。看门狗是一种常用的自动复位电路。所有的单片机都需要时钟电路,时钟电路用于控制单片机工作的所有的单片机都需要时钟电路,时钟电路用于控制单片机工作的时序。采用汇编语言编程时,通过控制指令代码就可以严格控制单片时序。采用汇编语言编程时,通过控制指令代码就可以严格控制单片机执行任务的时间,实现精确控制。机执行任务的时间,实现精确控制。1.1.4 系统设计的常用术语:堆栈 单片机常采用堆栈来保护现场和传递数据,以实现子程序调用
18、和中单片机常采用堆栈来保护现场和传递数据,以实现子程序调用和中断服务。堆栈是单片机的一种重要的数据存储单元,它存取数据的方式断服务。堆栈是单片机的一种重要的数据存储单元,它存取数据的方式是先进后出、后进先出,许多单片机设置有专门的堆栈操作指令。是先进后出、后进先出,许多单片机设置有专门的堆栈操作指令。对于对于MCS-51MCS-51单片机,堆栈的数据传送指令是单片机,堆栈的数据传送指令是PUSHPUSH和和POPPOP。堆栈指针。堆栈指针SPSP是一个特殊功能寄存器,每执行一次是一个特殊功能寄存器,每执行一次PUSHPUSH指令时,指令时,SPSP就自动加就自动加1 1,每执行,每执行一次一次
19、POPPOP指令,指令,SPSP就自动减就自动减1 1。SPSP的值可以用指令加以改变。的值可以用指令加以改变。1.2 单片机应用系统开发入门 1.2.1 单片机应用系统的开发方法概述 1.2.2 单片机的集成开发环境 1.2.3 仿真与仿真器1.2.4 单片机应用程序开发快速入门 1.2.1 单片机应用系统的开发方法概述 尽管单片机种类众多,但其基本结构和功能都较相似,选择尽管单片机种类众多,但其基本结构和功能都较相似,选择MCS-51MCS-51进行学习可不失一般性。进行学习可不失一般性。单片机应用系统的开发包括硬件开发和软件开发。硬件开发又包括单片机应用系统的开发包括硬件开发和软件开发。
20、硬件开发又包括功能单元设计、原理图设计、印刷电路板设计和电路调试等工作。软件功能单元设计、原理图设计、印刷电路板设计和电路调试等工作。软件开发通常先设计主流程图,再分层次逐步细化到程序代码。开发通常先设计主流程图,再分层次逐步细化到程序代码。采用汇编语言编程可以提高代码效率。而基于采用汇编语言编程可以提高代码效率。而基于C C语言的程序设计具语言的程序设计具有很好的移植性和继承性,并且容易上手。单片机开发系统往往同时提有很好的移植性和继承性,并且容易上手。单片机开发系统往往同时提供汇编语言和供汇编语言和C C语言开发环境。语言开发环境。1.2.1 单片机应用系统的开发方法概述 编辑:编辑:编辑
21、是指用汇编语言或编辑是指用汇编语言或C C语言编写文本文件,也可称该文本文语言编写文本文件,也可称该文本文件为源文件或源程序。下面是一个用汇编语言编写的源文件:件为源文件或源程序。下面是一个用汇编语言编写的源文件:ORG 0000HORG 0000H LJMP START LJMP START ORG 0040H ORG 0040H START:MOV SP,#5FH ;START:MOV SP,#5FH ;设置堆栈指针设置堆栈指针 LOOP:CPL P1.0 ;LOOP:CPL P1.0 ;将引脚将引脚P1.0P1.0的电平翻转的电平翻转 LJMP LOOP ;LJMP LOOP ;循环循环
22、 END ;END ;结束结束1.2.1 单片机应用系统的开发方法概述 汇编或编译:汇编或编译:汇编或编译是指将源文件转换成机器代码。机器代码汇编或编译是指将源文件转换成机器代码。机器代码要符合一定的标准,以便被标准的烧录程序使用。常用的机器代码要符合一定的标准,以便被标准的烧录程序使用。常用的机器代码有有BinaryBinary、IntelIntel、MotorolaMotorola等标准格式。例如,对上述源文件汇编等标准格式。例如,对上述源文件汇编以后,得到的以后,得到的IntelIntel格式的机器代码如下(文件后缀为格式的机器代码如下(文件后缀为HEXHEX):)::030000000
23、20040BB:03000000020040BB :0800400075815FB290020043DC :0800400075815FB290020043DC1.2.1 单片机应用系统的开发方法概述 烧录或下载:烧录或下载:烧录是指利用烧录器将机器代码烧录到单片机内部或烧录是指利用烧录器将机器代码烧录到单片机内部或外部的外部的EPROM/EEPROMEPROM/EEPROM中。烧录或下载时,可以看到上述机器代码中。烧录或下载时,可以看到上述机器代码在存储器中的存放格式为:在存储器中的存放格式为:02 00 40 FF FF FF FF FF FF FF FF FF FF FF FF FF F
24、F FF 02 00 40 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF F
25、F FF 75 81 5F B2 90 02 00 43 FF FF FF FF FF FF FF FF FF FF 75 81 5F B2 90 02 00 43 1.2.2 单片机的集成开发环境 单片机的编程过程包含编辑、汇编或编译、调试、烧录或下载等单片机的编程过程包含编辑、汇编或编译、调试、烧录或下载等步骤,在步骤,在WindowsWindows操作系统下,这些步骤通常在集成开发环境(简称操作系统下,这些步骤通常在集成开发环境(简称IDEIDE)下完成。常用的集成开发环境有)下完成。常用的集成开发环境有WAVEWAVE、KeilKeil等。各种集成开发等。各种集成开发环境的使用方法大同
26、小异,本节以环境的使用方法大同小异,本节以WAVE6000WAVE6000的集成开发环境为例进行的集成开发环境为例进行说明。说明。WAVE6000WAVE6000是南京伟福实业有限公司开发的用于是南京伟福实业有限公司开发的用于MCS-51MCS-51、MCS-196MCS-196等系列单片机的集成开发环境,其主窗口如图等系列单片机的集成开发环境,其主窗口如图1-11-1所示。所示。1.2.2 单片机的集成开发环境图图1-1 WAVE60001-1 WAVE6000的集成开发环境的集成开发环境1.2.2 单片机的集成开发环境菜单命令描述:菜单命令描述:文件:文件:通过文件菜单,可以新建、打开、保
27、存文件,还可调入目通过文件菜单,可以新建、打开、保存文件,还可调入目标文件进行反汇编操作。标文件进行反汇编操作。编辑:编辑:可以执行复制、剪切、粘贴、全选、撤消键入、重新键入可以执行复制、剪切、粘贴、全选、撤消键入、重新键入等命令。等命令。搜索:搜索:用于在文件中查找或替换特定的字符串。用于在文件中查找或替换特定的字符串。项目:项目:用于在项目中添加模块或包含文件,可以编译当前程序或用于在项目中添加模块或包含文件,可以编译当前程序或当前项目中的模块,也可直接装入已编译好的文件进行调试。当前项目中的模块,也可直接装入已编译好的文件进行调试。执行:执行:可以选择单步执行、全速执行、执行到光标处或从
28、光标处可以选择单步执行、全速执行、执行到光标处或从光标处开始执行等多种方式,还可设置或取消断点和观察项等。开始执行等多种方式,还可设置或取消断点和观察项等。1.2.2 单片机的集成开发环境菜单命令描述(续):菜单命令描述(续):窗口:窗口:可以打开和关闭各种窗口。可以打开和关闭各种窗口。外设:外设:可以设置或观察当前的端口(可以设置或观察当前的端口(P0P0、P1P1、P2P2、P3P3)、定时器)、定时器/计数器(计数器(T0T0、T1T1、T2T2)、串口、中断源等。)、串口、中断源等。仿真器:仿真器:可以进行仿真器设置和汇编符号预定义等。仿真器设置可以进行仿真器设置和汇编符号预定义等。仿
29、真器设置用于选择编译器、控制目标文件的生成情况、设置仿真头、设置仿用于选择编译器、控制目标文件的生成情况、设置仿真头、设置仿真器和真器和PCPC机的通信口等,见图机的通信口等,见图1-21-2。1.2.2 单片机的集成开发环境图图1-21-2(A A)设置编译器)设置编译器图图1-21-2(B B)设置目标文件)设置目标文件 1.2.2 单片机的集成开发环境图图1-21-2(C C)设置仿真器和仿真头)设置仿真器和仿真头图图1-21-2(D D)设置和)设置和PCPC机的通信机的通信1.2.3 仿真与仿真器 单片机应用系统的电路板通称为目标板,它一般包括单片机单片机应用系统的电路板通称为目标板
30、,它一般包括单片机部分以及为达到应用目的而设计的应用电路部分。在进行单片机部分以及为达到应用目的而设计的应用电路部分。在进行单片机应用系统开发时,通常要用到软件仿真和硬件仿真。应用系统开发时,通常要用到软件仿真和硬件仿真。1.2.3 仿真与仿真器 软件仿真:是指用程序在软件仿真:是指用程序在PCPC机上运行来模拟在单片机内的运行情况,机上运行来模拟在单片机内的运行情况,也就是用也就是用PCPC机软件来模拟单片机执行程序的效果。软件仿真不需要额外机软件来模拟单片机执行程序的效果。软件仿真不需要额外的电路和开发器,同时又可对程序执行的过程进行单步跟踪和测试,因的电路和开发器,同时又可对程序执行的过
31、程进行单步跟踪和测试,因此,它在单片机的软件调试过程中具有重要作用。此,它在单片机的软件调试过程中具有重要作用。1.2.3 仿真与仿真器 硬件仿真:就是利用一个称为仿真器的电子设备代替单片机,硬件仿真:就是利用一个称为仿真器的电子设备代替单片机,让本应在单片机中运行的程序运行于仿真器中,从而达到对硬件电让本应在单片机中运行的程序运行于仿真器中,从而达到对硬件电路和软件进行测试的目的。硬件仿真又分为路和软件进行测试的目的。硬件仿真又分为CPUCPU仿真和仿真和ROMROM仿真两仿真两种方式。种方式。1.2.3 仿真与仿真器 CPUCPU仿真:仿真:是指用仿真器代替目标板的单片机,由仿真器向目标板
32、是指用仿真器代替目标板的单片机,由仿真器向目标板的应用电路部分提供信号和数据所进行的调试。的应用电路部分提供信号和数据所进行的调试。ROMROM仿真:仿真:是指用仿真器代替目标板的是指用仿真器代替目标板的ROMROM,工作时目标板的单片,工作时目标板的单片机会从仿真器中读取程序来执行。机会从仿真器中读取程序来执行。1.2.3 仿真与仿真器伟福伟福H51H51系列仿真器介绍:系列仿真器介绍:伟福仿真器可仿真伟福仿真器可仿真MCS-51MCS-51、MCS-196MCS-196,Microchip PICMicrochip PIC等多系列单片机。等多系列单片机。伟福伟福H51H51系列仿真器是系列
33、仿真器是MCS-51MCS-51单片机的专用仿真器,它采用单片机的专用仿真器,它采用HOOKSHOOKS仿真技术,仿真技术,全面支持全面支持5151系列单片机。系列单片机。HOOKSHOOKS技术是一种基于技术是一种基于I/OI/O复用的仿真技术。单片机进入复用的仿真技术。单片机进入HOOKSHOOKS仿真状态仿真状态后,后,P0P0、P2P2口将分时输出口将分时输出/输入仿真总线和输入仿真总线和P0P0、P2P2口的值,仿真器中的硬件口的值,仿真器中的硬件电路又将复用的电路又将复用的P0P0、P2P2口扩展为独立的仿真总线及用户口扩展为独立的仿真总线及用户P0P0、P2P2口。口。1.2.3
34、 仿真与仿真器 单片机的单片机的CPUCPU型号不同时,需选择不同的仿真器来进行硬件仿真。伟福型号不同时,需选择不同的仿真器来进行硬件仿真。伟福H51H51系列仿真器采取仿真主机仿真头(简称系列仿真器采取仿真主机仿真头(简称PODPOD)的组合模式。仿真主机和)的组合模式。仿真主机和仿真头相连;仿真头通过仿真头相连;仿真头通过CPUCPU插头与目标板上的插头与目标板上的CPUCPU连接;根据型号不同,仿连接;根据型号不同,仿真主机可通过串口、并口或真主机可通过串口、并口或USBUSB口与口与PCPC机相连接。通过更换仿真头,伟福机相连接。通过更换仿真头,伟福H51H51系列仿真器能够对多种系列
35、仿真器能够对多种CPUCPU进行仿真。进行仿真。伟福的仿真主机的外形示意图见图伟福的仿真主机的外形示意图见图1-31-3。其中,。其中,9 9芯串口插座用于与芯串口插座用于与PCPC机机的串口进行通信,的串口进行通信,J1J1是是3434芯仿真电缆插座;芯仿真电缆插座;J2J2是是2020芯仿真电缆插座,部分型芯仿真电缆插座,部分型号没有该插座;号没有该插座;J3J3和和J4J4是逻辑测试钩插座,根据型号不同可能只有一个。是逻辑测试钩插座,根据型号不同可能只有一个。1.2.3 仿真与仿真器图图1-3 1-3 伟福仿真器主机示意图伟福仿真器主机示意图1.2.3 仿真与仿真器几种常用的仿真头:几种
36、常用的仿真头:POD8X5XPPOD8X5XP仿真头:仿真头:主要用于仿真主要用于仿真5151系列及兼容单片机系列及兼容单片机,可仿真的可仿真的CPU CPU 种类包括种类包括8031/328031/32、8051/528051/52、875X875X、87C51/52/1051/205187C51/52/1051/2051、89C5X89C5X、89CX05189CX051、78E5X78E5X等。它配有等。它配有4040脚脚DIPDIP封装的转接座封装的转接座,可选配可选配4444脚脚PLCCPLCC封装封装的转接座,也可选配的转接座,也可选配20512051转接座来仿真转接座来仿真202
37、0脚脚DIPDIP封装的封装的89CX051CPU89CX051CPU。该。该仿真头的外形见图仿真头的外形见图1-41-4,它和仿真主机的连接见图,它和仿真主机的连接见图1-51-5。1.2.3 仿真与仿真器图图1-4 POD8X5XP1-4 POD8X5XP仿真头仿真头1.2.3 仿真与仿真器图图1-5 POD8X5XP1-5 POD8X5XP仿真头与仿真器连接图仿真头与仿真器连接图1.2.3 仿真与仿真器 PODH8X5X/PODH591 PODH8X5X/PODH591仿真头:仿真头:PODH8X5XPODH8X5X仿真头采用仿真头采用PHILIPSPHILIPS授权的授权的HOOKSH
38、OOKS技术,以技术,以PHILIPSPHILIPS芯片作为仿真芯片来仿真与芯片作为仿真芯片来仿真与MCS-51MCS-51兼容的单片机。其外形见图兼容的单片机。其外形见图1-61-6。图图1-6 PODH8X5X/PODH591 1-6 PODH8X5X/PODH591 仿真头仿真头1.2.3 仿真与仿真器图图1-7 POD196KB/KC 1-7 POD196KB/KC 仿真头仿真头 POD196KB/KC POD196KB/KC仿真头:仿真头:用于仿真用于仿真INTEL80C196KB/KCINTEL80C196KB/KC单片机,单片机,其外形见图其外形见图1-71-7。1.2.3 仿真
39、与仿真器 POD196MC/MD POD196MC/MD仿真头:仿真头:用于仿真用于仿真INTELINTEL的的80C196MC/MD80C196MC/MD单片机。单片机。POD520PPOD520P仿真头:仿真头:用于仿真用于仿真DALLASDALLAS的的80C32080C320、80C52080C520、87C52087C520和和WINBONDWINBOND的的77E5877E58高速单片机。高速单片机。POD8051POD8051仿真头:仿真头:用于仿真将用于仿真将P0P0和和P2P2口作为总线工作方式的口作为总线工作方式的8031/328031/32、8051/528051/52系
40、列及兼容单片机。系列及兼容单片机。PODPIC67XPPODPIC67XP、PODPIC5XPPODPIC5XP仿真头:仿真头:分别用于仿真分别用于仿真MicrochipMicrochip公司的公司的PIC16C6X/7XPIC16C6X/7X、PIC16C5XPIC16C5X系列单片机。系列单片机。1.2.3 仿真与仿真器 PODLPC76X PODLPC76X、PODLPC93X PODLPC93X 仿真头:仿真头:分别用于仿真分别用于仿真PHILIPSPHILIPS的的LPC76XLPC76X、LPC93xLPC93x系列单片机。系列单片机。POD87C52POD87C52仿真头:仿真头
41、:用于仿真用于仿真89C51/5289C51/52、87C51/5287C51/52系列单片机,可选配系列单片机,可选配4444脚脚PLCCPLCC封装的转接座,还可选配封装的转接座,还可选配20 20 脚脚DIP DIP 封装的转接座可以仿真封装的转接座可以仿真XXC1051/2051/4051CPUXXC1051/2051/4051CPU。POD552/POD592POD552/POD592仿真头:仿真头:POD552POD552仿真头用于仿真仿真头用于仿真80C55280C552单片机;单片机;POD592 POD592 仿真头用于仿真仿真头用于仿真PHILIPSPHILIPS公司的带公
42、司的带CANCAN总线的总线的80C59280C592单片机。单片机。1.2.4 单片机应用程序开发快速入门 本节以本节以MCS-51MCS-51单片机的程序开发过程为例,介绍利用单片机的程序开发过程为例,介绍利用WAVE6000WAVE6000集成开集成开发环境及其仿真器来开发单片机应用程序的过程。发环境及其仿真器来开发单片机应用程序的过程。1.1.编辑新程序编辑新程序 在在WAVE6000WAVE6000集成开发环境中,选择菜单集成开发环境中,选择菜单 文件文件|新建文件新建文件 功能,弹出功能,弹出一个文件名为一个文件名为NONAME1NONAME1的源程序窗口,在此窗口中输入以下程序:
43、的源程序窗口,在此窗口中输入以下程序:1.2.4 单片机应用程序开发快速入门 ORG 0ORG 0 MOV A MOV A,#0#0 MOV P1 MOV P1,#0#0LOOPLOOP:INC P1INC P1 LCALL DELAY LCALL DELAY LJMP LOOP LJMP LOOPDELAYDELAY:MOV R2MOV R2,#3#3 MOV R1 MOV R1,#0#0 MOV R0 MOV R0,#0#0DLPDLP:DJNZ R0DJNZ R0,DLPDLP DJNZ R1 DJNZ R1,DLPDLP DJNZ R2 DJNZ R2,DLPDLP RET RET E
44、ND END输出程序后的窗口如图输出程序后的窗口如图1-81-8,接下来应将此文件存盘。,接下来应将此文件存盘。1.2.4 单片机应用程序开发快速入门图图1-8 1-8 编辑新程序编辑新程序1.2.4 单片机应用程序开发快速入门2.2.保存程序保存程序 选择菜单选择菜单 文件文件|保存文件保存文件 或或 文件文件|另存为另存为 功能,给出文件所要保存功能,给出文件所要保存的位置,例如的位置,例如“C:COMP51C:COMP51”文件夹,再给出文件名文件夹,再给出文件名“MY1.ASMMY1.ASM”,保存文,保存文件,见图件,见图1-91-9。文件保存后,程序窗口上的文件名为:。文件保存后,
45、程序窗口上的文件名为:C:COMP51MY1.ASMC:COMP51MY1.ASM1.2.4 单片机应用程序开发快速入门图图1-9 1-9 保存程序保存程序1.2.4 单片机应用程序开发快速入门3.3.建立项目建立项目 选择菜单选择菜单 文件文件|新建项目新建项目 功能,通过如下步骤完成项目的建立。功能,通过如下步骤完成项目的建立。加入模块文件。在加入模块文件的对话框中选择已保存的文件加入模块文件。在加入模块文件的对话框中选择已保存的文件MY1.ASMMY1.ASM,单击,单击“打开打开”按钮即可将其加入到项目中,见图按钮即可将其加入到项目中,见图1-101-10。项目可。项目可以包含多个模块
46、文件,将它们依次加入即可。以包含多个模块文件,将它们依次加入即可。1.2.4 单片机应用程序开发快速入门图图1-10 1-10 加入模块文件加入模块文件1.2.4 单片机应用程序开发快速入门 加入包含文件。在加入包含文件。在“加入包含文件加入包含文件”对话框中,选择并加对话框中,选择并加入所需包含文件。图入所需包含文件。图1-111-11是加入文件是加入文件“Reg51.HReg51.H”的过程。可以根的过程。可以根据需要将多个包含文件加入到项目中。据需要将多个包含文件加入到项目中。图图1-11 1-11 加入包含文件加入包含文件1.2.4 单片机应用程序开发快速入门 保存项目。在保存项目。在
47、“保存项目保存项目”对话框中输入项目名称,然后将其保对话框中输入项目名称,然后将其保存在与源程序相同的文件夹下。本例的项目名称为存在与源程序相同的文件夹下。本例的项目名称为“MYP1MYP1”,软件自动将,软件自动将其后缀设成其后缀设成“.PRJ.PRJ”,见图,见图1-121-12。图图1-12 1-12 保存项目保存项目1.2.4 单片机应用程序开发快速入门 项目保存好后,如果项目串口是打开的,可以看到项目中的项目保存好后,如果项目串口是打开的,可以看到项目中的“模模块文件块文件”已有一个模块已有一个模块MY1.ASMMY1.ASM,否则,可以通过选择菜单,否则,可以通过选择菜单 窗口窗口
48、|项项目窗口目窗口 功能来打开。功能来打开。图图1-13 1-13 保存项目后的状态窗口保存项目后的状态窗口1.2.4 单片机应用程序开发快速入门4.4.设置项目设置项目 选择菜单选择菜单 设置设置|仿真器设置仿真器设置,打开,打开“仿真器设置仿真器设置”对话框,对话框,见图见图1-141-14。在。在“仿真器仿真器”栏中,选择仿真器类型和配置的仿真头栏中,选择仿真器类型和配置的仿真头以及所要仿真的单片机以及所要仿真的单片机CPUCPU型号。型号。在在“语言语言”栏中,栏中,“编译器选择编译器选择”根据本例的程序选择为根据本例的程序选择为“伟福汇编器伟福汇编器”。如果程序是。如果程序是C C语
49、言或语言或INTELINTEL格式的汇编语言,可格式的汇编语言,可根据安装的根据安装的KeilKeil编译器版本选择编译器版本选择“Keil CKeil C(V4V4或更低)或更低)”还是还是“Keil CKeil C(V5V5或更高)或更高)”。设置好仿真器后,需再次保存项目。设置好仿真器后,需再次保存项目。1.2.4 单片机应用程序开发快速入门图图1-14 1-14 仿真器设置仿真器设置1.2.4 单片机应用程序开发快速入门5.5.编译项目或程序编译项目或程序 选择菜单选择菜单 项目项目|编译编译 功能来编译项目,见图功能来编译项目,见图1-151-15。在编译之前,软件。在编译之前,软件
50、自动将项目和程序存盘。如果程序有语法错误,编译时信息窗口中会显示自动将项目和程序存盘。如果程序有语法错误,编译时信息窗口中会显示错误信息,双击错误信息可以确定它在源程序中的位置。纠正错误后再次错误信息,双击错误信息可以确定它在源程序中的位置。纠正错误后再次编译程序,直到没有错误为止,这样就可对程序进行调试了。编译程序,直到没有错误为止,这样就可对程序进行调试了。1.2.4 单片机应用程序开发快速入门图图1-15 1-15 编译程序编译程序1.2.4 单片机应用程序开发快速入门6.6.调试程序调试程序 程序调试有单步跟踪、执行到光标处、全速执行及设置断点等多种方式。程序调试有单步跟踪、执行到光标