《单片机系统及其应用简介.ppt》由会员分享,可在线阅读,更多相关《单片机系统及其应用简介.ppt(41页珍藏版)》请在三一办公上搜索。
1、单片机系统设计讲座,第一讲、单片机系统及其设计简介 第二讲、单片机系统硬件设计 第三讲、单片机系统软件设计 第四将、单片机系统设计实例,第一讲 单片机系统及其开发简介,1单片机系统概述2单片机的基本结构和工作原理(MCS-51为例)3单片机系统开发环境及工具介绍4 单片机系统的开发过程概述,1.1单片机系统的概念1.2单片机系统特点1.3单片机系统的应用领域,1 单片机系统概述,1.1单片机系统的概念,1.1.1 单片机与单片机系统的概念单片机是大规模集成电路技术发展的产物,它将中央处理器(CPU)、存储器(ROM/RAM)、输入输出接口、定时器/计数器等主要计算机部件集成在一片芯片上,因此单
2、片机被称为单片微型计算机(Single Chip Microcomputer)。单片机系统简单的说就是单片机加一些外围芯片和软件组成的完整系统。,1.1.2 单片机最小系统,单片机最小系统如右图所示1 晶振2 电源3 复位电路,1.2单片机系统特点,(1)单片机构成的应用系统可靠性高。(2)系统配置规范。(3)控制功能具有预想性,变动控制方案容易。(4)具有较高的性价比,1.3单片机系统的应用领域,1.在智能仪器仪表上的应用 2.在工业控制中的应用 3.在家用电器中的应用 4.在计算机网络和通信领域中的应用 5.单片机在医用设备领域中的应用 6.在各种大型电器中的模块化应用 7.单片机在汽车设
3、备领域中的应用 参考网址:tt,2 单片机的基本结构和工作原理 以MCS-51为例讲解,2.1 MCS-51系列单片机的结构2.2 8051单片机内部结构和功能2.3 MCS-51单片机的引脚功能2.4 MCS-51单片机的工作方式2.5 MCS-51单片机的时序,2.1 MCS-51 单片机的基本组成,存储器,I/O接口,MCS-51单片机芯片有许多种:如8051、8031、8751、80C51、80C31等。它们主要由8个部件组成,分别如下:1、中央处理器(CPU)核心 2、时钟电路 12MHz 3、程序存储器(ROM/EPROM)4KB 4、数据存储器(RAM)128B+128B SFR
4、 5、并行I/O口(P0P3口)P0和P2兼作外总线 6、串行口 全双工串行口 7、定时器/计数器 2个16位 8、中断系统 5个中断源,高级和低级两级优先级别它们都是通过单一总线连接,并被集成在一块半导体芯片上,为单片微型计算机(Single-Chip Microcomputer),2.2 8051单片机内部结构和功能,由图2-2可知8051单片机内部结构如下:由运算器和控制器组成的8位微处理器(CPU)4KB的片内程序存储器(ROM)128B数据存储器(RAM)21个特殊功能寄存器(SFR)两个16位定时器/计数器T0、T1一个全双工串行通信接口4个8位输入输出接口(P0P3),共32根I
5、/O口线5个中断源,可编程为两个优先级内部时钟电路,微处理器又称CPU,是计算机的运算控制中心,由运算器和控制器及中断控制电路等几部分组成。CPU字长有4位、8位、16位和32位之分,字长越长运算速度越快,数据处理能力也越强。MCS-51单片机的CPU字长为8位。,2.1.1 微处理器(CPU),(1)运算器运算器以算术逻辑运算单元ALU为核心,包括累加器A、状态字寄存器PSW、B寄存器等部件。算术逻辑单元(ALU)在控制器的作用下,进行各种算术运算和逻辑运算。如加法、减法、加1、减1等操作。(2)控制器控制器包括程序计数器PC、指令寄存器、指令译码器、振荡器、定时电路及控制电路等部件,能根据
6、不同的指令产生相应的操作时序和控制信号,控制单片机各部分的运行。PC是一个16位计数器,具有自动加1功能。CPU每执行一条指令则PC自动加1,并指向要执行的下一条指令的地址,最大寻址范围为64K。可以通过控制转移指令改变PC值,实现程序的转移。,2.2.1 存储器,MCS-51单片机片内只读存储器(ROM)用作程序存储器,用于存放已编好的程序、数据表格等;片内读写存储器(RAM)又称随机存取存储器,可用于存放输入、输出数据和中间计算结果,同时还作为数据堆栈区。当存储器的容量不够时,可以外部扩展。,2.3.3 I/O,I/O:输入输出端口,I/O的功能是负责实现CPU通过系统总线把I/O电路和
7、外围设备联系在一起。其中8051的I/O资源如下:(1)4个8位并行I/O口P0P3,均可以并行输入输出8位数据。(2)串行I/O口用于数据的串行输入输出。,2.3.4 定时器/计数器,定时器/计数器既可以用于产生定时脉冲,实现单片机的定时控制,也可以用于计数方式,对外部事件的脉冲计数。,MCS-51系列单片机芯片均为40条引脚,HMOS 工艺制造的芯片用双列直插(DIP)方式封装,其引脚示意及功能分类如图2-2所示。各引脚功能说明如下:,2.3 MCS-51单片机的引脚功能,2.3 1.主电源引脚,Vcc(40脚):接+5V电源正端。Vss(20脚):接+5V电源地端。,XTAL1(19脚)
8、:接外部石英晶体的一端。在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器。XTAL2(18脚):接外部石英晶体的另一端。在单片机内部,它是片内振荡器的反相放大器的输出端。,外接晶体引脚,2.3.3 输入/输出引脚,(1)P0口(3932脚):P0.0P0.7统称为P0口。在不接片外存储器或扩展I/O口时,可作为准双向输入/输出口。在接有片外存储器或扩展I/O口时,P0口分时复用为低8位地址总线和双向数据总线。(2)P1口(18脚):P1.0P1.7统称为P1口,可作为准双向I/O口使用。对于52子系列,P1.0与P1.1还有第二功能:P1.0可用作定时器/计数器2的计数脉冲
9、输入端T2,P1.1可用作定时器/计数器2的外部控制端T2EX。,2.3.3 输入/输出引脚(续),3)P2口(2128脚):P2.0P2.7统称为P2口,一般可作为准双向I/O口使用。在接有外存储器或扩展I/O口且寻址范围超过256字节时,P2口用作高8位地址总线。(4)P3口(1017脚):P3.0P3.7统称为P3口。除作为准双向I/O口使用外,还可以将每一位用于第二功能,且P3口的每一条引脚均可独立定义为第一功能的输入、输出或第二功能的输入、输出。P3口的第2功能如表2-1所示。,表2-1 P3口的第二功能,51单片机的引脚,2.3.4 控制线,(1)ALE/(30脚):地址锁存有效信
10、号输出端。ALE在每个机器周期内输出两个脉冲。在访问片外程序存储器期间,下降沿用于控制锁存P0输出端的低8位地址;在不访问片外程序存储器期间,可作为对外输出的时钟脉冲或用于定时目的。(2)PSEN(29脚):片外程序存储器读选通信号输出端,低电平有效。在从外部程序存储器读取指令或常数期间,每个机器周期内该信号两次有效,并通过数据总线P0口读回指令或常数。在访问片外数据存储器期间,PSEN信号将不出现。,2.3.4 控制线(续),(3)RST/Vpd(9脚):RST即为RESET,Vpd为备用电源。该引脚为单片机的上电复位或掉电保护端。当单片机振荡器工作时,该引脚上将出现持续两个机器周期的高电平
11、,这时可实现复位操作,使单片机回复到初始状态。上电时,考虑到振荡器有一定的起振时间,该引脚上高电平必须持续10ms以上才能保证有效复位。(4)EA/Vpp(31脚):为片外程序存储器选通端。该引脚有效(低电平)时,只选用片外程序存储器,否则单片机上电或复位后选用片内程序存储器。,2.4 MCS-51单片机的工作方式,MCS-51单片机的工作方式有复位方式单步执行方式程序执行方式掉电和低功耗方式,2.4.1 复位方式,单片机的初始化操作复位单片机复位,初始化程序计数器PC和特殊功能寄存器的状态。复位后,PC初始化为0000H,使单片机从0000H开始执行程序。复位后不影响片内RAM复位信号 RS
12、T引脚是复位信号的输入端,复位信号为高电平有效。当高电平持续24个震荡脉冲周期(两个时钟周期)以上时,单片机完成复位。复位方式 复位分为按键手动复位和上电自动复位。,2.4.2 单步执行方式,单步执行就是通过外来脉冲控制程序的执行,使之达到来一个脉冲就执行一条指令的目的。而外来脉冲是通过按键产生的,因此单步执行实际上就是按一次键执行一条指令。,2.4.3 程序执行方式,程序执行方式是单片机的基本工作方式。由于复位后PC=0000H,因此程序总是从地址0000H开始。,25 CPU时序,(1)振荡周期:也称时钟周期,是指为单片机提供时钟脉冲信号的振荡源的周期。(2)状态周期:每个状态周期为时钟周
13、期的 2 倍,是振荡周期经二分频后得到的。(3)机器周期:一个机器周期包含 6 个状态周期S1S6,也就是 12 个时钟周期。在一个机器周期内,CPU可以完成一个独立的操作。(4)指令周期:它是指CPU完成一条操作所需的全部时间。每条指令执行时间都是有一个或几个机器周期组成。MCS-51 系统中,有单周期指令、双周期指令和四周期指令。,3单片机系统开发环境及工具,3.1 单片机开发语言的选择单片机的应用首先要考虑的是它的开发平台,也即我们常说的开发环境。现阶段,国内的大部分单片机开发工程技术人员还是普遍使用汇编语言编写程序。汇编语言的优点:代码最小,最直接,效率最高。,汇编语言的缺点:编程员必
14、须十分了解所用单片机的硬件结构,程序编写困难,代码难以理解,不易于识读,难于移植,排错困难,编写程序花的时间相当多,调试不便等等。,现在已有相当的开发器材支持高级语言的使用和调试,为单片机的开发应用提供了更好的物质条件。高级语言(如C语言)的优点:开发周期短,易于识读,容易移植,也便于初学着掌握。,高级语言(如C语言)的缺点:产生的代码过长、运行速度慢、,但是随着单片机技术的发展,高级语言的弱点也已被较大的克服,象MCS-51上的C语言的代码长度,如果未加上人工优化条件,也可做到最优汇编程序水平的120%150%,这也相当可观了。可以说相当于中等汇编程序员的水平。,American autom
15、ation 编译器通过#asm和endasm预处理选择支持汇编语言,汇编速度慢,要求汇编的中间环节。Franklin它的前身是Keil,它以代码紧凑领先,可产生最少的代码。它支持浮点和长整数,重入和递归。它不提供库的源代码,不能生成能汇编的汇编代码,仅产生混合代码,只能修改后汇编。若使用汇编语言,必须分开汇编程序,然后手工连接。keil/Franklin专业级开发工具PK51,支持DOS话Windows环境。,3.2 目前的常用C语言编译器介绍,Archimedes 它的鼻祖是瑞典的IAR,是支持分组开关(Bank)的编译器,集成环境类似于Borland和Turbo,C编译器可产生一个汇编语言
16、文件,然后再用汇编器。BSO/TASKING 它是一家专业开发和销售嵌入式系统软件工具的公司。它生产基于Windows的集成开发环境、调试器和交叉模拟器,支持鼠标,介面友好。软件格式符合IntelOMF-51和Intel Hex标准,它的汇编器和Intel汇编器兼容。Micro computer controls 它不支持浮点数,长整数,结构和多维数组,定义不允许有参数,生成的源文件需由Intel或MCC的8051汇编器汇编。,3.3 单片机系统开发环境及工具,单片机应用系统开发必须经过调试阶段,只有经过调试才能发现问题,改正错误,最终完成开发任务。实际上,对于较复杂的程序,大多数情况下都不可
17、能一次性就调试成功,即使是资深程序员也是如此。单片机只是一块芯片而已,本身并无开发能力,要借助开发工具才能实现系统设计。开发工具主要包括电脑、编程器(又称写入器)、仿真机。如果使用EPROM作为存储器还要配备紫外线擦除器。其中必不可少的工具是电脑和编程器(当然对于在线可编程(ISP)的单片机,如89S51,也可以不用编程器,而通过下载电缆下载)。,3.3.1 仿真机及其使用,(1)开发环境单片机程序的编写、编译、调试等都是在一定的集成开发环境下进行的。集成开发环境仿真软件(IDE)将文件的编辑,汇编语言的汇编、连接,高级语言的编译、连接高度集成于一体,能对汇编程序和高级程序进行仿真调试。单片机
18、程序如果是汇编编写的,文件名后必须加后缀名“.ASM”。如果是C51编写的,必须加后缀名“.C”。,(2)仿真机的使用为了实现目标系统的一次性完全开发,必须用到仿真机(也称在线仿真机)。在线仿真机的主要作用是能完全“逼真”地扮演用户单片机的角色,且能在集成开发环境中对运行程序进行各种调试操作,即时发现问题,即时修改程序,从而提高工作效率,缩短开发周期。使用时,在线仿真机通过RS-232插件与电脑的COM1或COM2端口相连。在断电情况下,拨下用户系统的单片机和EPROM,代之以仿真头,如下图所示。运行仿真调试程序,通过跟踪执行,能即时发现软硬件方面的问题并进行修正。当设计达到满足系统要求后,将
19、调试好的程序编译时形成的二进制文件用编程器烧写到芯片中,一个应用系统就调试成功了。,3.3.2 编程器,当我们编写好的程序在集成开发环境编译通过后,会形成一个二进制文件(文件名与源程序文件名相同,后缀名为“.BIN”)或十六进制文件(后缀名为“.HEX”),即形成所谓的目标程序。这个目标程序必须利用编程器才能将目标文件烧写到单片机的程序存储器中,从而让单片机系统的硬件和软件真正结合起来,组成一个完整的单片机系统。编程器的主要功能是将目标程序烧写到芯片中,其与电脑的连接如下图所示。,编程器与计算机的连接,4 单片机系统的开发过程概述,一个实际的单片机应用系统的设计过程主要包括以下5个阶段:1系统的总体方案设计 2硬件设计 3软件设计 4系统仿真调试 5系统安装运行,单片机应用系统设计流程图,