学习情境3单片机最小系统的设计与实现3.1学习目标:(1)掌握51单片机最小系统电路的设计和制作;(2)熟悉KeiluVision2软件的使用,掌握51单片机c语言程序的编写和调试。(3)熟悉Proteus软件的使用。3.2任务分析:任务名称:在独立电路板上设计制作单片机最小系统,满足:(1)在万用板上制作单片机最小系统,使该系统具有看门狗电路、I/O口扩展电路、总线扩展电路、程序下载接口、工作指示灯;(2)编写基本控制程序,下载调试,使该系统能够正常工作,并且容易更改该系统的控制程序。任务背景:单片机最小系统是各种智能电子设备的控制中枢,稳定的最小系统是电子设备长期稳定运行的基础。本次工作任务是为一小型温度测控系统设计制作单片机控制电路板。3.2任务分析:3.2任务分析:任务要求:(1)合理选择单片机、晶振、看门狗、电阻、电容等芯片和原件;(2)完成全电路理论设计、计算机辅助分析与仿真、绘制电路图,自制电路板、焊接调试;(3)撰写设计报告、调试总结报告及使用说明书。3.2任务分析:工作任务所需要的设备、工具和材料:具有232串行口的计算机、双踪示波器、5V直流电源、万用表(模拟或数字)、电烙铁、导线,自制电路板的各种工具一套及元器件若干。3.3任务知识点:3.3.1单片机最小系统的组成3.3.2单片机的引脚3.3.3如何让单片机工作起来3.3.451单片机并行总线的扩展3.3.5为单片机编写程序3.3.6用KeiluVision2编写单片机程序3.3.7PROTEUS软件简介3.3.1单片机最小系统的组成:3.3.1单片机最小系统的组成:•电源、复位电路和晶振电路是单片机工作起来必须的条件。•下载程序电路是用计算机将单片机程序固化到单片机程序存储器的电路。•LED指示灯电路是用来做固化程序的控制对象,验证程序是否正确运行的标志。•I/O口电路和总线驱动电路是用来扩展单片机的控制对象的接口电路。3.3.2单片机的引脚:3.3.3如何让单片机工作起来:3.3.3如何让单片机工作起来:•电源:单片机的第40脚接电源的正极,20脚接电源的地线。电源电压为+5V,正负偏差不能超过百分之五。3.3.3如何让单片机工作起来:•振荡电路:单片机内部由大量的时序电路构成,没有时钟脉冲单片机的各个部分就无法工作。所以在单片机的内部集成有振荡电路,外部只需要按照上面的电路图将晶振和电容接到单片机的18(XTAL2)、19(XTAL1)引脚,就构成了一个完整的振荡器。接通电源,这个振荡器就会产生固定频率脉冲,使单片机内部的时序逻辑电路开始工作。晶振的频率决定了单片机工作的快慢。•复位电路:用于将单片机内部各电路的状态,恢复到初始值。按照上面的接线图将电阻和电容接到单片机的第9(RST)引脚,在通电的瞬间使9脚获得一段时间的高电平,单片机内部的电路就自动复位了。3.3.3如何让单片机工作起来:3.3.3如何让单片机工作起来:EA引脚:用户编写的应用程序都存储在单片机内部的程序存储器中,若编写的程序较长,内部程序存储器容量不够用时,就要考虑在单片机芯片的外部另外增加程序存储器芯片。那么单片机中的控制器是如何知道程序是被存在什么地方呢?它是通过31(EA)脚上的电平状态进行判断的,若EA接电源正端,就表示程序已被存入单片机内部存储器,反之是存在单片机外部存储器。在本例中,所选单片机内部的程序存储容量已经够用,所以只需按照接线图将EA引脚接到+5V即可。3.3.3如何让单片机工作起来:•输入输出引脚:单片机引脚中凡用P,后面跟数字标注的引脚均为输入输出引脚。8个引脚为一个“口”,上图中P1.0脚为P1口的第0号引脚。输入输出引脚状态受程序控制,可以将单片机内部的信号送出来(输出),也可以将与引脚相连的外部信号送到单片机内部去(输入)。上图中P1.0脚与LED负极相连,LED正极通过限流电阻R1接电源正极,当单片机的P1.0脚为高电平时,LED熄灭;当P1.0脚为低电平时,LED点亮。可见,只要控制P1.0脚电平的高低,就能控制LED的亮灭。3.3.3如何让单片机工作起来:•MAX202电路:单片机工作的硬件条件具备以后,需要将程序固化到程序存储器中,可以采用烧录器的方法固化。本例中,采用STC89C52单片机的ISP固化程序的方法,即单片机的TXD、RXD两个引脚通过MAX202的电平变换和计算机的串口连接,将下载的程序固化到单片机的程序存储器中。3.3.3如何让单片机工作起来:•看门狗电路:看门狗又叫watchdogtimer(WDT),是一个定时器电路,一般有一个输入,叫喂狗,一个输出到MCU的RST端,MCU正常工作的时候,每隔一端时间输出一个信号到喂狗端给WDT清零,如果超过规定的时间不喂狗(一般在程序跑飞时),WDT定时超过,就会给出一个复位信号到MCU,使MCU复位,防止MCU死机。看门狗的作用就是防止程序发生死循环,或者说程序跑飞。本例中采用的STC89C52单片机内部已经集成了看门狗定时器,不用外接看门狗电路。问题与思考:(1)在51单片机系统中什么是晶振周期、状态周期、机器周期、指令周期,它们之间是什么关系?(2)单片机复位引脚需要什么样的电平?如果通过阻容电路实现?电路中的电阻电容值是如何确定的?如果增加手动复位应该如何连线?(3)51单片机中P0口结构和其它I/O口比较有什么不同?在使用中要注意什么?3.3.451单片机并行总线的扩展:(1)并行总线的工作原理3.3.451单片机并行总线的扩展:(1)并行总线的工作原理地址总线:51单片机的地址总线为16位,分为高八位地址线和低八位地址线两部分,高八位地址线由P2口提供,低八位地址线由P0口分时提供。P2口做地址线时具有输出锁存功能,输出地址信息能够保留,直到下一次输出新的地址;P0口是数据和地址分时复用的端口,为保留其输出的地址信息,需要在外部加地址锁存器锁存输出的地址信息。地址锁存器的控制信号由单片机的地址锁存控制信号ALE提供,由ALE的下降沿控制锁存时刻。3.3.451单片机并行总线的扩展:(1)并行总线的工作原理数据总线:51单片机的数据总线为八位,由P0口提供。当P0口用做数据总线时是双向且输入三态的通道口,使用时不必外加其他芯片。控制总线:对51单片机进行系统扩展时,用到的控制信号主要有地址锁存信号ALE,片外程序存储器读信号PSEN,外部数据存储器和I/O口读写控制信号WR、RD等。3.3.451单片机并行总线的扩展:(1)并行总线的工作原理程序存储器扩展电路3.3.451单片机并行总线的扩展:(1)并行总线的工作原理S1S2S3S4S5S6S1S2S3S4S5S6S1S2输出PCH输出PCH输出PCH输出PCHPCLPCLPCLPCLPCL第1个机器周期第2个机器周期ALEPSENP2口P0口指令指令指令指令访问片外程序存储器的时序图3.3.451单片机并行总线的扩展:(1)并行总线的工作原理数据存储器的扩展3.3.451单片机并行总线的扩展:(1)并行总线的工作原理S1S2S3S4S5S6S1S2S3S4S5S6S1S2输出PCH输出DPHPCLDPL第1个机器周期第2个机器周期ALEPSENP2口P0口指令数据入输出PCHPCL指令RD外部数据存储器读时序图3.3.451单片机并行总线的扩展:(1)并行总线的工作原理S1S2S3S4S5S6S1S2S3S4S5S6S1S2输出PCH输出DPHPCLDPL第1个机器周期第2个机器周期ALEPSENP2口P0口指令数据出输出PCHPCL指令WR外部数据存储器写时序图3.3.451单片机并行总线的扩展:(2)提高并行总线驱动能力的方法当并行总线外部所接设备超出其负载能力时,应增加总线的驱动能力,下图为采用74HC245芯片的总线扩展电路。问题与思考:(1)在51单片机系统中必须进行总线扩展吗?在什么情况下进行总线扩展?都需要用到哪些信号进行扩展?(2)51单片机在进行并行总线扩展时外部设备的数量有什么要求?如果超出了要求应如何处理?(3)简述51单片机并行总线扩展应如何计算芯片地址?可以举例说明。3.3.5为单片机编写程序:要想让单片机工作起来,还需要向单片机的程序存储器中输入程序,就像人需要思想一样。本例就是控制LED灯的亮灭。而单片机中的控制器都是数字电路,只认识二进制数据,例如使P1.0引脚电平变化的指令:指令一:1101001010010000;将单片机第1引脚置高电平指令二:1100001010010000;将单片机第1引脚置低电平这种能够被单片机识别的二进制语言成为机器语言。3.3.5为单片机编写程序:改用简明的英文符号来表示各种不同功能的指令帮助记忆,对应的英文符号称为助记符。例如将上面的指令一和指令二分别用助记符的形式来描述可表示为:指令一:SETBP1.0;将单片机第1引脚置高电平指令二:CLRP1.0;将单片机第1引脚置地电平用助记符编写的程序成为汇编语言程序3.3.6用KeiluVision2编写单片机程序:3.3.5PROTEUS软件:3.4任务实施: