1第二章单片机应用系统设计基础一、综述单片机系统设计重要性单片机用来构成工业测、控系统,其应用系统的硬件设计包括单片机系统设计、多方位接口和多种类型的电路结构等内容。而单片机系统设计是最主要的内容。单片机的定义如果将运算器、控制器、数据与程序存储器、输入/输出接口集成在一块单硅片上,那么这种芯片就被称为单片机。MCS-51单片机的种类8051、8751、803128051、8751、8031提供的资源:它们均具有—8位CPU、4个并行I/O口、2个T/C、1个全双工的串行口、5个中断源、21个SFR、128个字节RAM。8051内部有—4KROM程序存储器;8751内部有—4KEPROM程序存储器;8031内部—外接EPROM程序存储器。它们均可以构成一个完整的8位计算机。3二、单片机存储器空间程序存储器:8051-内部4KROM外接60KEPROM或EEPROM(EA=1)/外接64KEPROM或EEPROM(EA=0)8751-内部4KEPROM外接60KEPROM或EEPROM8031-外接64KEPROM或EEPROM4内部数据存储器:8051、8731、8031均有128个字节的RAM地址为00H~7FH,21个SFR地址离散分布在80H~FFH中。221个位寻址空间其中128位地址00H~7FH(在RAM20H~2FH单元中)93位(80H~FFH)离散分布在21个SFR中(地址被8整除)。外部数据存储器:8051、8731、8031均可以外接64K字节的RAM,其地址为0000H~FFFFH。5三、输入/输出(I/0)P0口(39脚~32脚):*三态双向8位三态I/O口,既可输入又可输出。*每个接口由一个锁存器专用寄存器P0、一个输出驱动器和一个输入缓冲器组成。*它是一个复用口,在外接存储器时,与地址总线的低8位及数据总线复用,能驱动8个LSTTL负载。*P0在单片机不需要扩展时,可作为一般的I/O口使用。P1口(l脚~8脚)*8位准双向I/O口,由于这种接口输出没有高阻状态,输入也不能锁存,故不是真正的双向I/O,*P1口能驱动4个LSTTL负载。6P2口(21脚~28脚)*8位准双向I/O口。在访问外部存储器时,可以作为扩展电路高8位地址总线输出高8位地址。在对EPROM编程和程序验证期间,它接收高8位地址。*P2可以驱动4个LSTTL负载。P3口(10脚~17脚)*8位准双向I/O口,在MCS-51中,这8个引脚还用于专门功能,是复用双功能口。*P3口能驱动4个LSTTL负载。7关于P3口的说明作为第一功能使用时,就作为普通I/O口用,功能和操作方法与P1口相同。作为第二功能使用时,各引脚的定义如表所示。值得强调的是,P3口的每一条引脚均可独立定义为第一功能的输入输出或第二功能。0INT1INTRD口线引脚第二功能P3.010RXD(串行输入口)P3.111TXD(串行输出口)P3.212(外部中断0)P3.313(外部中断1)P3.414T0(定时器0外部输入)P3.515T1(定时器1外部输入)P3.616外部数据存储器写脉冲P3.717外部数据存储器读脉冲8P1口和P3口的输入端与P0口不同:P1和P3口有内部上拉电阻。P1口和P3口的每一位都可独立设置成输入或输出位。注意:当P1(P3)的某一位设成输入时,要先应向该位的锁存器写“1”,输入输出驱动场效应管截止,该输入口线被上拉成高电平,只有在外部输入源为低电平时,才被拉低。所以被称为“准双向”口。9四、MCS-51定时器/计数器MCS-51有几个定时器/计数器?MCS-51有2个定时器/计数器T0和T1在单片微机控制系统中为什么要使用它们?在单片微机控制系统中,常要求一些外部实时时钟,以实现定时或延时;也常要求有一些外部计数器,以实现对外部事件进行计数。T0/T1是几位的计数器/定时器?T0/T1是16位的计数器/定时器,通过编程的方式可以用来设定为定时器或者为计数器。10计数器/定时器本质区别是什么?(西安教材P27)计数器/定时器的基本核心是一个加1计数器加1计数器的脉冲有两个来源:外部脉冲源;内部的时钟振荡器。*定时器对内部的时钟振荡器标准脉冲计数*计数器对外部脉冲计数11•与计数器/定时器相关的特殊功能寄存器有哪几个?TMOD工作方式控制寄存器GATEC/TM1M0GATEC/TM1M0I——————T1————II————T0—————IM1M0方式00013位计数器01116位计数器102计数初值可以重新装入的8位计数器113对T0分为两个独立的8位定时器/计数器,对T1停止计数C/T定时/计数方式选择位:C/T=0定时,C/T=1计数GATE门控位:若GATE=1,则T0/T1计数受引脚INT0/INT0控制,GATE=0T0/T1计数不受引脚INT0/INT0控制。12•定时器控制寄存器TCON—定时器控制寄存器TF1TR1TF0TR0IE1IT1IE0IE0I—用于T1—I—用于T0—II———用于中断控制———ITF1/TF0——溢出中断标志:溢出自动置1,硬件自动清0或供软件查询和清0TR1/TR0——定时器运行控制位,由软件置1或清0IE1IT1IE0IE0——用于中断控制13TH1、TL1、TH0、TL0功能:寄存计数初值,均可以通过软件赋值,系统复位时,均为00H讨论T1,当工作于方式0时,TH1是T1的高8位,TL1是T1的低5位,组成T1的13位计数器,T1加1到1FFH后,再加1便溢出,置TF1为“1”当工作于方式1时,TH1是T1的高8位,TL1是T1的低8位,组成T1的16位计数器,T1加1到FFFFH后,再加1便溢出,置TF1为“1”;当工作于方式2时,TH1是T1的计数初值寄存器,TL1是T1的8位计数器,组成T1的8位计数器,T1加1到FFH后,再加1便溢出,置TF1为“1”,同时将TH1中的计数初值装入TL1,于是T1又在TL1的新值基础上计数,周而复始。(自动装入常数)14当工作于方式3时只使用于定时器T0,把T0分成两个独立的8位定时器/计数器,TH0——8位定时器,TL0——8位定时器/计数器15五、CPU时序及有关概念一条指令可以分解为若干基本的微操作,而这些微操作所对应的脉冲信号,在时间上有严格的先后次序,这些次序就是计算机的时序。时序是非常重要的概念,它指明单片机内部以及内部与外部互相联系所遵循的规律①指令周期:指为单片机提供定时信号的振荡源的周期。②时钟周期:又称状态周期或S周期,因为时钟发生器就是上述的2分频触发器,所以它是振荡周期的两倍,16③机器周期:一个机器周期由6个状态(12个振荡脉冲)组成,即6个时钟贮存器期,12个振荡周期。④指令周期:指执行一条指令所占用的全部时间,一个指令周期通常含有1~4个机器周期。17•单片机各种周期的相互关系若外接晶振为12MHZ,MCS-51单片机的四个周期的具体值为:振荡周期=1/12μs;时钟周期=1/6μs;机器周期=1μs;指令周期=1~4μs;18六、MCS-51单片机的辅助电路单片机的复位状态寄存器复位状态寄存器复位状态PC0000HACC00HB00HPSW00HSP07HDPTR0000HP0~P3FFHIP(××××00000)IE(0××00000)TMOD00HTCON00HTH000HTL000HTH100HTL100HSCON00HSBUF(××××××××)IE(0×××0000)19上电复位电路和开关复位组合电路20单片机的时钟电路内部时钟方式、外接时钟方式21七、MCS-51单片机的外部总线结构为什么要用地址锁存器?由于MCS-51单片机的P0口是分时复用的地址/数据总线,因此在进行程序存储存扩展时,又须利用地址锁存器将地址信号从地址/数据总线中分离出来。常用的地址锁存器通常用作单片机地址锁存的芯片有两类,一类是8D触发器,如74LS272、74LS377等,另一类是8位锁存器,如741S373、8282等。22•用作地址锁存器的常用芯片74LS27374LS373828223•MCS-51单片机的片外总线结构电路24地址总线(AB):地址总线宽度为16位,因此,其外部存储器直接寻址为64K字节,16位地址总线由PO口经地址锁存器提供低8位地址(A0~A7,P2.0直接提供高8位地址(A8~A15)。数据总线(DB):数据总线宽度为8位,由P0口提供。控制总线(CB):由P3的第2功能状态和4根独立控制线RESET、ALE、PSEN、EA等组成。25八、MCS-51单片机应用系统中的地址译码MCS-51单片机应用系统中的地址译码的规则1.程序存储器与数据存储器地址重叠使用;2.外围扩展芯片与数据存储器统一编址。它不仅占用数据存储器地址单元,而且使用数据存储器的读/写控制信号与读/写指令;3.地址总线宽度为16位,片外程序存储器与数据存储器可直按寻址范围各为64k字节。P2口提供高8位地址(A8~A15),P0口经外部锁存后提供低八位地址(A0~A7)。26•地址译码方法由于外围芯片与数据存储器统一编码,因此,单片机的硬件设计中,数据存储器与外围芯片的地址译码较为复杂。通常采用线选法和全地址译码方法。所谓线选法即是把单独的地址线(通常是P2口的某一根线)接到外围芯片的片选端上,只要该地址线为低电平,就选中该芯片。若系统只扩展少量的RAM和I/O接口芯片,可采用线选法。27•线选法地址译码电路指出下列电路中各芯片的地址:外围器件地址选择线(A15~A0)片内地址单元数地址编码611611110××××××××××2KF000~F7FH825511101111111111××4EFFC~EFFFH8155RAM11011110××××××××256DE00~DEFFHI/O1111111111111×××6DFF8~DFFDH083210111111111111111BFFFH825301111111111111××47FFC~7FFFH271600000××××××××××2K0000H~0FFFH28•地址的书写原则上述地址选择译码中未用到的地址位均设成“1”状态(如6116、8255等),将它们推向高位,也可设成“0“状态如(2716)。只有一片程序存赌器,则将其片选端接地即可。但是,对于I/O接口芯片和数据存储器,在地址选择码中未用到的地址位均添“1”以免引起错误。29•线选法的优缺点优点:硬件电路结构简单缺点:由于所用片选线都是高位地址线,它们的权值较大,地址空间没有充分利用,芯片之间的地址不连续。30•全地址译码全地址译码—它将低位地址线作为芯片的片内地址(取外部电路中最大的地址线位数),用译码器对高位地址线进行译码,译出的信号作为片选信号。一般采用74LS138作地址译码器(3-8)74LS139作地址译码器(2-4)31•74LS138功能表7Y6Y5Y4Y3Y2Y1Y0YG1G2AG2BCBA1000001111111010000111111101100010111110111000111111011110010011101111100101110111111001101011111110011101111111其它状态×××1111111132•全地址译码电路33全地址译码法扩展芯片地址器件地址选择线(A15~A0)片内地址单元数地址编码6264000××××××××××××8K0000H~1FFFH825500111111111111××43FFC~3FFFH8155RAM01011110××××××××2565E00H~5EFFHI/O0101111111111×××65FF8H~5FFDH0832011111111111111117FFFH825310011111111111××49FFC~9FFFH2716000××××××××××××8K0000H~1FFFH34九、MCS