1、单片机原理及应用单片机原理及应用 数字运算基础数字运算基础-数的表示方法数的表示方法l机器数与真值用二进制数(最高位为符号位)代表机器数对应的十进制数为真值l原码、反码和补码原码:最高位为符号位,其余为数值位反码:正数的反码和原码相同,负数的反码是将其原码的符号位保持不变,数值位按位取反得到。补码:正数的补码和原码相同,负数的补码是其反码的末位加1得到。数的定点和浮点表示法数的定点和浮点表示法l定点表示小数点位置是固定的l浮点表示法小数点位置不固定,分为尾数和阶码计算机中的编码计算机中的编码lASCII码由7位二进制组成,共128个字符,包括英文、数字以及其他特殊符号最高位(第8位)一般用作奇
2、偶校验位lBCD(Binary Coded Decimal)码用二进制表示的十进制数,十进制数只有10个,每个数需要用4位二进制数表示(只从16个可能中选10个即可),一般取8421码。数字运算数字运算-二进制运算二进制运算l加法: 0BD+0AAH=?l减法 0B5H-93H=l减法常用加法器实现lX-Y=X+-Y补码= X+2n+(-y)167H22HCY=1CY=0数字运算数字运算-二进制运算二进制运算减法常用加法器实现(用SUB)控制是加法或是减法运算X-Y=X+-Y补码= X+2n+(-y)最高位C8=1,但实际上本例无借位CY=0结论:当做加法时进位/借位位CY=C8当做减法时,进
3、位/借位位CY与C8相反SUBCCY8【-Y】的补码是将【Y】的补码的所有位取反,并在末位加1数字运算数字运算-二进制运算二进制运算l乘法 1101BX 1011Bl除法 与十进制除法类似数字运算数字运算-有符号数补码运算判断有符号数补码运算判断l溢出判断当结果超出了数的表示范围时,即发生了溢出,说明结果不正确无论是加法或减法, 78CCOVBCD码的运算及调整码的运算及调整lBCD码的加减法运算每个十进制位用四位二进制位表示但4位二进制位的权值为16,十进制位的权为10当结果出现非法码(超过9)时就需要调整MCS-51有专门的BCD加法调整指令DDA 63 0110 0011B+24 001
4、0 0100B=87 = 1000 0111B 结果正确,不需调整 68 0110 1000B+49 0100 1001B=117 = 1011 0001B 结果不正确,需调整,低四位向高四位有进位,高四位超过了9,要加66H 1011 0001B+ 0110 0110B=1 0001 0111B调整后结果正确!BCD码的运算及调整码的运算及调整l减法运算当低四位或高四位有借位,则减6修正或用补码加法,再使用调整指令 68 0110 1000B-49 0100 1001B=19 = 0001 1111B结果不正确! 68 0110 1000B-49 0100 1001B=19 = 0001 1
5、111B -0000 0110B =0001 1001B 100 0110 1010B-49 0100 1001B=51 = 0101 0001B+0110 1000B=1011 1001B+ 0110 0000B1 0001 1001B调整调整求补码调整后结果正确!逻辑运算逻辑运算l与非或异或运算见P17-18真值表第第1章章 微型计算机基础微型计算机基础-基本概念基本概念微处理器微处理器: 将运算器、控制器集成,称为中央处理器将运算器、控制器集成,称为中央处理器CPU(Central Processor Unit, CPU),对应的集成芯片亦称微处理器,对应的集成芯片亦称微处理器微型计算机
6、微型计算机:CPU +储存器储存器 +适配器适配器I/O口口+外围设备外围设备微型计算机可分为多板型微型计算机可分为多板型,单板型和单片型单板型和单片型微型计算机系统微型计算机系统: 由微型计算机上加以外围设备由微型计算机上加以外围设备,辅助电路和辅助电路和软件系统等构成软件系统等构成硬件硬件软件软件微型计算机的发展微型计算机的发展l历史: 1971年,intel 推出4位机,型号40041974-1978年 ,为8位机时代,主要有Intel的8080,Motorloa的M6800,Zilog的Z801980年,Intel的16位机8086及后续的86系列机具有重要意义,IBM PC开始流行.
7、更快更廉价的32位及62位机,多处理器技术出现,微型计算机的发展微型计算机的发展l现状及方向:低端机应用广泛,依然流行.高端机朝速度更快,功能更强大的方向迈进应用多处理器技术,改进指令系统等技术推进机器整体性能.微型计算机的应用微型计算机的应用与单片机与单片机科学计算科学计算信息处理信息处理自动控制自动控制测量和测试测量和测试教育和卫生教育和卫生家用电器家用电器人工智能人工智能单片微机单片微机ROM /RAM并行并行I/O口口串行串行I/O口口定时定时/计数器计数器系统时钟系统时钟BUS中断控制中断控制集成集成在一在一个芯个芯片上片上CPUSingle Chip Microcomputer 微
8、型计算机的组成微型计算机的组成l以微处理器MPU为核心,通过三总线与存储器,I/O接口等资源联接存储器存储器l是计算机的存储部件,设在是计算机的存储部件,设在CPU外。外。 (但单片机但单片机CPU内,有一定容量的存储器)内,有一定容量的存储器)l 根据存储器能否随机读写,可将存储器分为两大类:根据存储器能否随机读写,可将存储器分为两大类:只读存储器(只读存储器(Read Only Memory,简称,简称ROM )。)。随机读写存储器随机读写存储器(Random Access Memory,简称,简称RAM)。l 根据信息的可保存性,存储器亦可分为:根据信息的可保存性,存储器亦可分为: 非永
9、久记忆的存储器;(如:非永久记忆的存储器;(如:RAM) 永久记忆的存储器;(如:永久记忆的存储器;(如:ROM、磁性存储器,断电后信息可保持)、磁性存储器,断电后信息可保持)l 根据所在位置,存储器亦可分为:根据所在位置,存储器亦可分为: 内部存储器;(包括内部存储器;(包括RAM和和ROM) 外部存储器;(如:光盘、磁性存储器、可移动存储设备等)外部存储器;(如:光盘、磁性存储器、可移动存储设备等)ROM与与RAM掩膜掩膜ROMPROMFlash ROM程序在芯片制造时固化。程序在芯片制造时固化。(用户不可编程用户不可编程)程序可由用户作一次编程,不可改写。程序可由用户作一次编程,不可改写
10、。EPROME2PROM程序可由用户在专用擦写器上作多次擦写编程。程序可由用户在专用擦写器上作多次擦写编程。程序程序 由用户作高电压多次擦写编程。由用户作高电压多次擦写编程。RAM -分为动态与静态分为动态与静态RAM两类,一般用两类,一般用 SRAM(静态存储器)(静态存储器)ROM存储容量存储容量 = 字数字数(word) 位数位数(bit) N 条地址线输入,能产生条地址线输入,能产生 2N 个地址,可寻找个地址,可寻找到到2N单元(字),如单元(字),如6264芯片有芯片有A0-A12共共13条地址线,因此它提供有条地址线,因此它提供有 个个字字 1 2 3 4 5 6 7 8 9 1
11、0 11 12 13 14 28 27 26 25 24 23 22 21 20 19 18 17 16 15 A2 A3 A4 A5 A7 A8 A9 A11 D Q0 D Q7 E2 W VCC VSS A0 A1 A6 A10 A12 E1 N C D Q1 D Q2 D Q6 D Q5 D Q4 D Q3 M C M 6264 G K8819222210313微处理器结构微处理器结构l包含控制器、运算器、总线及相关寄存器l运算器包括算术逻辑单元ALU与Registerl控制器包括指令部件时序部件微操作控制部件Firmware计算机的运行计算机的运行 逐条执行已编好逐条执行已编好, 并存
12、储在并存储在ROM中的指令中的指令PC0000H起起始地址码始地址码AR:对存对存储器寻址储器寻址控制器控制器存储器的指令或数据存储器的指令或数据ALU:运算运算IRIDDR读读读读写写1永久永久性记性记忆存忆存储器储器I/O接口、总线接口、总线lI/O接口是用来连接微处理器CPU 和外部设备的中间单元。l总线BUS是信息传递通道地址总线AB数据总线DB控制总线CB8位微机通常用位微机通常用16根地址线根地址线可寻可寻址址 216 64K个存储单元个存储单元数据线的多少称为微处理器的数据线的多少称为微处理器的“字长字长”, 8位微机用位微机用8根数据根数据线线。微型计算机的基本原理微型计算机的
13、基本原理l指令和程序指令=操作码+操作数计算机只能够识别二进制形式的机器码指令为便于人的理解和记忆,通常采用助记符来代替特定的机器码微型计算机与嵌入式系统微型计算机与嵌入式系统l硬件l软件计算机本身外围设备系统软件应用软件单片机技术现状及应用领域l 单片机芯片系列、品种、规格繁多,先后经历单片机芯片系列、品种、规格繁多,先后经历4位机、位机、8位机、位机、16位机、位机、新一代新一代8位机、位机、32位机等几个具有代表性的发展阶段。位机等几个具有代表性的发展阶段。 目前主流品种主要是新一代目前主流品种主要是新一代 8位单片机芯片、位单片机芯片、32位嵌入式单片机芯片。位嵌入式单片机芯片。应用广
14、泛应用广泛,前途无限前途无限l(1)无线产品:手机、无线产品:手机、PDA,据报道,据报道 75%以上的手机使用基于以上的手机使用基于ARM内核内核处理器。处理器。 l(2)汽车产品:车上娱乐系统、车上安全装置、导航系统等。汽车产品:车上娱乐系统、车上安全装置、导航系统等。l(3)消费娱乐产品:数字视频、消费娱乐产品:数字视频、Internet终端、交互电视、机顶盒、网络终端、交互电视、机顶盒、网络计算机、计算机、 数字音频播放器、数字音乐板、游戏机。数字音频播放器、数字音乐板、游戏机。l(4)数字影像产品:数字影像产品: 信息家电、数码照相机、打印机。信息家电、数码照相机、打印机。l(5)工
15、业设备:机器人控制、工程机械、冶金控制等。工业设备:机器人控制、工程机械、冶金控制等。l(6)网络产品:网络产品:PCI网络接口卡、网络接口卡、ADSL调制解调器、路由器、无线调制解调器、路由器、无线LAN访问点。访问点。l(7)安全产品:电子付费终端、银行系统付费终端、安全产品:电子付费终端、银行系统付费终端、 智能卡、智能卡、32位位SIM卡等。卡等。l(8)存储产品:存储产品:PCI到到Ultra2 SCSI64位位RAID控制器、硬盘控制器等。控制器、硬盘控制器等。如无线产品、消费娱乐、工业设备如无线产品、消费娱乐、工业设备单片机发展趋势单片机发展趋势朝着速度更快朝着速度更快, 性能更
16、高性能更高, 容量更大容量更大, 更微型化更微型化, 多品种多品种, 多规格的方向发展多规格的方向发展!1) CPU的运算速度,字长不断提高的运算速度,字长不断提高, 6MHz 33MHz 。4位位 32位位8) 微巨机的单片化。微巨机的单片化。4) I/O口的多功能化口的多功能化 (A/D,HSIO,PWM) 提供特殊的串行口功能,适应网络化发展提供特殊的串行口功能,适应网络化发展 。3) 存储器容量进一步增加,存储技术水平提高,存储器容量进一步增加,存储技术水平提高, ISP(在线编程在线编程)/IAP(在应用系统在应用系统编程编程)普及化普及化 。6) 应用系统的单片化应用系统的单片化,
17、 。7) 超小型化超小型化微型化。微型化。 1992研发:研发:i 80860超级单片机,超级单片机,CPU运算速度运算速度1.2亿次每秒;亿次每秒;32位整数运位整数运算;算;64位浮点运算,集成三维图像处理器位浮点运算,集成三维图像处理器多品种,多系列,多型号并存多品种,多系列,多型号并存 。5) 功耗越来越低,适应工作电压范围宽(功耗越来越低,适应工作电压范围宽(2.66V)。)。 ISP(在线编程在线编程): 允许芯片直接在电路板上进行擦除与固化操作允许芯片直接在电路板上进行擦除与固化操作(近近1000次次)。使。使编程,修改,调试更方便灵活。编程,修改,调试更方便灵活。 IAP(在应
18、用系统编程在应用系统编程): 在在ISP基础上允许芯片在应基础上允许芯片在应用系统运行时可以通过自己的程序代码对自己进行用系统运行时可以通过自己的程序代码对自己进行编程编程, 更新程序。采用多个可编程序区。更新程序。采用多个可编程序区。单片机的应用系统单片机的应用系统1. 基本应用系统基本应用系统2. 扩展应用系统扩展应用系统单单片片机机I/O设备设备时钟电路时钟电路复位电路复位电路电电 源源单单片片机机扩展扩展ROM时钟电路时钟电路复位电路复位电路电电 源源扩展扩展RAM扩展并行扩展并行I/O口口串行接口串行接口外部扩展总线外部扩展总线A/D模拟输入模拟输入D/A模拟输出模拟输出(最小应用系
19、统)(最小应用系统)本课程主要学习单片机结构本课程主要学习单片机结构,汇编语言编程汇编语言编程,基本接口应用基本接口应用,最最后是应用系统的简单扩展后是应用系统的简单扩展.第第2章章 MCS-51 单片机的结构和原理单片机的结构和原理lMCS-51 单片机的组成有CPU,Clock, RAM, ROM 并行口,串行口,Timer/counter,InterruptMCS-51系列单片机系列单片机l从51系列(31,51) 到 52(32,52)系列l型号带C的为CHMOS工艺,其余为HMOS工艺,CHMOS工艺芯片功耗较小。l片内ROM有掩膜ROM,EPROM,也有没有任何ROM的,如8031
20、8051单片机的内部结构单元单片机的内部结构单元-CPUlCPU内有运算器、控制器及总线l运算器包括ALU及各个Register布尔处理器,累加器ACC,B, PSW(Program Status Word),l控制器包括操作电路及相关RegisterPC(Program Counter),ID,DPTR(分为高8位DPH和低8位DPL),及其他Rgs8051单片机系统的存储器结构单片机系统的存储器结构据存储器地址据存储器地址空间结构分类空间结构分类诺依曼诺依曼结构结构哈佛结构哈佛结构ROM与与RAM统一地址空间,统一地址空间,ROM与与RAM分开地址空间,分开地址空间,0000HFFFFHR
21、OMRAM64K诺依曼结构诺依曼结构0000H FFFFHRAM64KB哈佛结构哈佛结构0000HFFFFHROM64K8051单片机系统的存储器结构单片机系统的存储器结构l从物理位置上分为片内和片外存储器RAM和ROM。l从用户编程角度,可分为程序存储器ROM(片内片外统一编址,片内RAM(00-FFH),片外RAMlRAM和ROM地址有重叠,必须用指令和控制ESPN信号指明。片内RAM多少不定8051单片机的存储器结构单片机的存储器结构lROM片内ROM和片外ROM 统一编址片外ROM的寻址范围由设计人员任意确定。假定片内有4K的ROM,其地址范围是0000-0FFFH,而这时候若片外扩展
22、了64KB的ROMl若EA=1,当寻址范围小于等于0FFH时,从片内找,当寻址范围大于0FFFH时,从片外找l若EA=0,直接转向片外ROM 寻找8051单片机的存储器结构单片机的存储器结构lRAM片内RAM 地址00-0FFH片外RAM 地址范围由设计人员任意确定,可从0000H-0FFFFH。程序使用不同的指令,如MOVX,MOV来区分是要寻址片外还是片内。8051单片机的存储器结构单片机的存储器结构l片内高128字节中常用的SFR堆栈及堆栈指针堆栈及堆栈指针l堆栈是存在于片内RAM 的一片存储器l堆栈主要用于保护断点和现场l堆栈范围有栈顶和栈底确定,栈底一般不变,栈顶用SP指针指向。l向
23、上生长型(栈顶地址比栈底地址大)和向下生长型向上生长型,进栈时,先SP 加1,再压入数据,出栈时,先弹出数据,再SP减1向下生长型操作规则相反I/O接口、定时器接口、定时器/计数器计数器l两个16位定时器/计数器l4个并行口,很多有第二功能。l一个串行口l中断系统,用于实现多级中断8051引脚功能引脚功能l电源Vcc,Vss,l复位RST/备用电源VpdlEA/Vpp(编程电压)lRD/WR,PSENlALE/PROG(编程脉冲)l并行口P0-P3l晶振入口XTAL1-28051工作方式工作方式l复位(注意各SFR的初始值)l单步执行l程序执行l掉电和低功耗方式片内已设计有掉电后切换备用电源电路,可设置SMOD相应位进入低功耗方式l编程和校验、加密复位.swf8051时序时序l时钟电路内部产生,需要外接振荡器由外部输入稳定脉冲做时钟信号8051时序时序l节拍P定义为振荡脉冲的一个周期状态S=2Pl机器周期T=6S=12P,例如振荡频率为6MHz时,一个机器周期为2usl指令周期是指令执行所需的时间。51中,有一、二、四个机器周期指令l各指令执行时的时序(略)