




已阅读5页,还剩68页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘 要时钟计时器要求用单片机及6位LED数码管显示时、分、秒,以24(小)时计时方式运行,能整点提醒(短蜂鸣,次数代表整点时间),使用按键开关可实现时、分调整,秒表/时钟功能转换,省电(关闭显示)及定时设定提醒(蜂鸣器)等功能。本设计大体思路是:采用独立式按键进行时间调整,六位数码管动态扫描的显示方法。其中AT89C52是核心元件,同时采用数码管LED动态显示“时”,“分”,“秒”。与传统机械表相比,时钟计时器具有走时精确,显示直观等特点。它的计时周期为24小时,显满刻度为“23时59分59秒”,另外具有校时功能等特点。该系统同时具有硬件设计简单、工作稳定性高、价格低廉等优点。本设计中各功能的具体实现主要从硬件和软件两部分入手。硬件部分:对硬件电路进行模块化设计,其中时钟接口电路为单片机及整个硬件电路的工作提供统一的工作频率;复位电路保证了系统可以有固定的初始状态;LED显示电路在视觉上直观地显示软硬件电路所达到的效果,用74LS244作为AT89C52的线驱动,用三极管9012作电源驱动输出,以提供共阳LED数码管的列扫描驱动电压;蜂鸣器电路在对系统的操作时有听觉上的明确提示;按键电路实现对时钟计时器的各功能间切换;电源电路提供系统的工作电压,并分别给出各部分设计电路图。软件部分:根据设计要求功能设计程序,包括主程序及显示子程序;用于时间计时的定时器T0中断服务程序;用于指示时间调整单元数字的闪亮或秒表计数的定时器T1中断服务程序,调时功能程序,秒表功能程序,闹钟时间设定功能程序等各子程序。关键词:AT89C52 LED显示 74LS244 AbstractClock timer asked to use SCM and six LED digital display hours, minutes, seconds, to 24 (small), the run time, to remind the whole point (short beep, the number of representatives of the whole time), using key switches can be realized hour, minute adjustments, stopwatch / clock function of conversion, energy saving (turn off the display) and the time set reminders (buzzer) and so on. General idea of this design is: A stand-alone keypad for time adjustment, six digital tube display dynamic scan method. AT89C52 which is the core component, while the use of digital tube LED dynamic display time, sub, seconds. Compared with the traditional mechanical watch, clock timer with walking precise, intuitive display, and so on. Its time period is 24 hours, was full scale is 23:59:59, another time with school functions and so on. The system also has the hardware design is simple, high stability, low cost and so on. The design of the concrete realization of the function of major hardware and software from the start of two parts. Hardware components: modular design of hardware circuits, and clock circuit for the microcontroller interface, and the work of the entire hardware circuits to provide a unified operating frequency; reset circuit to ensure the system can have a fixed initial state; LED display circuit directly in the visual shows the effect achieved by software and hardware circuits, with a line drive 74LS244 as AT89C52 used for power-driven output transistor 9012 to provide a total of Yang LED digital tube series scan drive voltage; buzzer circuit in the systems operation is hearing The clear tips; button on the clock timer circuit to switch between the various functions; power supply circuit provides operating voltage is not fixed, and each part of the design circuit are given. Software part: According to the design function of the design process, including the main program and the display routines; for the time time the timer T0 interrupt service routine; used to indicate time to adjust cell count of the number of flashes or stopwatch timer T1 interrupt service routine , transfer function of process time, stopwatch function procedures, alarm time setting function procedures and other routines. Keywords: AT89C52 LED display 74LS244 目 录摘 要iAbstractii第一章 绪 论1第二章 设计方案的确定2第三章 系统硬件电路的设计4第一节 控制电路的设计5一、主芯片选定5二、主芯片时钟电路的设计12三、复位电路的设计13第二节 显示电路设计16一、显示器的选择16二、LED显示结构与原理16三、数码管的驱动方式17四、驱动芯片选用18五、电源驱动输出器件19第三节 蜂鸣器电路的设计20第四节 按键电路设计20第五节 电源电路设计21第四章 控制系统的软件设计23第一节 主程序23第二节 显示子程序23第三节 定时器T0中断服务程序24第四节 定时器T1中断服务程序25第五节 调时功能程序26第六节 秒表功能程序26第七节 闹钟时间设定功能程序26第五章 控制程序的编制和调试27第一节 硬件调试27第二节 软件调试27第三节 软硬件联调27第四节 性能分析27总结和展望29参考文献30附 录 时钟计时器的硬件电路图31附 录 单片机汇编源程序清单32外文资料54中文译文61致谢语67iii第一章 绪 论时钟,自它发明的那天起,就成为人类的朋友,但随着时间的推移,科学技术的不断发展,人们对时间计量的精度要求越来越高,应用越来越广。怎样让时钟更好的为人民服务,怎样让我们的老朋友焕发青春呢?这就要求人们不断设计出新型时钟。时钟作为现代社会应用广泛的计时工具,在航天、电子等科研单位,工厂、医院、学校等企事业单位,各种体育赛事及至我们每个人的日常生活中都发挥着重要的作用。 现今,高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校,数字式电子钟用集成电路计时时,译码代替机械式传动,用LED显示器代替显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时,分,秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。本文利用单片机实现时钟计时功能的主要内容,采用独立式按键进行时间调整,其中AT89C52是核心元件同时采用数码管动态显示“时”,“分”,“秒”的现代计时装置。与传统机械表相比,它具有走时精确,显示直观等特点。它的计时周期为24小时,显满刻度为“23时59分59秒”,另外具有校时功能,断电后有记忆功能,恢复供电时可实现计时同步等特点。该系统同时具有硬件设计简单、工作稳定性高、价格低廉等优点。本设计所做的具体工作主要有以下几个方面。第一,对所设计的时钟系统所要完成的各功能分别给出较详细的介绍;第二,对总体设计方案进行了确定;第三,对硬件电路模块化设计,包括对控制电路,显示电路,蜂鸣器电路,按键电路,电源电路等五个部分的设计,并分别给出各部分设计电路图。第四,根据设计要求功能设计程序,包括主程序及显示子程序,定时器T0中断服务程序,定时器T1中断服务程序,调时功能程序,秒表功能程序,闹钟时间设定功能程序等各子程序。第五,对程序及硬件联调并修改错误。第六,用Protel 99se绘制硬件电路图,Microsoft Visio 2003绘制软件流程图,AutoCAD绘制硬件图及流程图出图,并按规定格式完成设计说明书。第二章 设计方案的确定为了提供共阳极LED数码管的列扫描驱动电压,用三极管9012作电源驱动输出;采用12MHz晶振,以提高秒计时的精确性。在设计中,外部电源系统产生+5V电压,用于给单片机及显示电路提供工作电压,这是数字时钟正常工作时的总电压。为了实现LED显示器的数字显示,可以采用静态显示法和动态显示法。由于静态显示法需要数据锁存器等硬件,接口复杂一些,又考虑到时钟显示只有6位,并且系统没有其他复杂的处理任务,所以决定采用动态扫描法实现LED的显示单片机采用易购的AT89C52系列,这种单片机具有足够的空余硬件资源,可以实现其他的扩充功能。如果考虑使用电池供电,则可采用LV系列单片机。时钟计时器电路的系统总体设计框图如图2-1所示。图2-1 硬件系统的总体设计框图整个系统工作时,秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,将标准秒信号送入“秒计数器”,“秒计数器”采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。“分计数器”也采用60进制计数器,每累计60分钟,发出一个“时脉冲”信号,该信号将被送到“时计数器”。“时计数器”采用24进制计时器,可实现对一天24小时的累计。显示电路将“时”、“分”、“秒”计数器的输出,通过六个七段LED显示器显示出来。校时电路是直接加一个脉冲信号到时计数器或者分计数器或者秒计数器来对“时”、“分”、“秒”显示数字进行校对调整。l 时钟功能对于时钟功能,需要在数码管上显示小时、分钟和秒钟,因此,可以在内部存储空间分别定义它们的显示缓存空间,来存放小时、分钟和秒钟的BCD码,各2个字节。由于时钟是不能停止的,因此需要采用内部定时器自动计时,并使用定时器中断处理程序来定时进行时间数值的刷新。52单片机的3个定时器都具有16位定时器的工作模式。当晶振为12MHz时,16位定时器的最大定时值为65.536ms;要达到1秒钟,可以采用两种方法:采用一个定时器定时与软件计数相结合的方法;或者采用两个定时器级联的方法。由于秒表在计时功能时也需要用到1个定时器,因此,我们采用第一个方法,只使用1个定时器,例如使用T0。为了达到较为准确的计时,使T0的溢出时间为50ms,使用一个字节作为软件计数器ST,计数值为20。定时器的中断处理程序对ST进行减1操作,当ST为0时,1秒到达,此时更新存放小时、分钟、秒钟的显示缓存区。l 计时功能当秒表用作计时功能时,也需要一个定时器进行10ms的定时,在本设计中使用单片机的TIMER1。在TIMER1的中断处理程序中对SS和ss的缓存空间进行更新,与上面类似。l 功能按键再看按键的处理。这4个键可以采用中断的方法,也可以采用查询的方法来识别。P1.0口按键用于调分和省电(数码管不亮,时钟不停),P1.1口按键主要功能在于时钟/秒表功能切换和数值复位,P1.2口按键用于秒表清0、秒表启动、秒表暂停功能。而P1.3口按键主要用于时间的设定和调整,需要比较准确的控制。因此可以考虑,采用中断的方法。l 中断嵌套和控制现在在我的方案中有2个中断,T0和T1中断。这2个中断的特点是:T0的工作是连续的,在误差范围内可以被打断但不可以停止;T1的工作同样可以在误差范围内被打断。按键开关用来实现整个电路的启动、停止调时及功能设置。单片机AT89C52通过内部程序把采集到的信号经过P0口输出段码数据给6位LED显示器,P2口作为列扫描输出,把输出信号作为6位LED显示器的驱动信号。小蜂鸣器,用于按键发音,定时提醒,整点到时提醒等,当按键开关进行以上功能设定和调整时,蜂鸣器会通过单片机AT89C52的输出信号发出长短不同的声音。第三章 系统硬件电路的设计时钟计时器的硬件电路图见附录。该电路采用AT89C52单片机最小化应用设计,单片机的最小化系统是指单片机能正常工作所必须的外围元件,主要可以分成时钟电路和复位电路,我们采用的是AT89C52芯片,它内部自带8K的FLASH程序存储器,一般情况下,这8K的存储空间足够我们使用,所以我们只用芯片内部的8K程序存储器。单片机的时钟电路有一个12MHz的晶振和两个30PF的小电容组成,它们决定了单片机的工作时间精度为1S。复位电路由22F的电容和1K的电阻及IN4148二极管组成,以前教科书上常推荐用10F电容和10K电阻组成复位电路,复位的前提下降低了复位引脚的对地阻抗,可以显著增强单片机复位电路的抗干扰能力。二极管的作用是起快速泄放电容电量的功能,满足短时间多次复位都能成功。见图3-1。图3-1 AT89C52最小化系统采用共阳七段LED显示器,其管脚ag,dp与单片机AT89C52的P0口相连;P0口输出段码数据;为保证其输出的电平和LED显示器所需的电平相匹配,在它们之间加74LS244;P2.0P2.5作为列扫描输出,作为LED数码管的驱动信号,为了提供共阳LED数码管的列扫描驱动电压,用三极管9012作电源驱动输出;P1.0,P1.1,P1.2和P1.3口接4个按钮开关,用于调时及功能设置;P1.7端口接5V的小蜂鸣器,用于按键发音,定时提醒,整点到时提醒等;采用12MHz晶振,可提高秒计时的精确性。其外围接口电路如图3-2。 图3-2 AT89C52外围接口电路图 第一节 控制电路的设计一、主芯片选定本设计采用的单片机为AT89C52,如图3-3是其管脚图。AT89C52是一个低电压,高性能CMOS8位单片机,片内含8K bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,与工业标准的MCS-51指令集和输出管脚相兼容。如图3-4是其内部结构图。由于将多功能8位CPU和Flash存储器组合在单个芯片中,ATMEL公司的AT89C52是一种高效微控制器。AT89C52单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。图 图图3-3 AT89C52引脚主要性能参数: 兼容MCS51指令系统 8k字节可反复擦写(1000次)Flash ROM 32个双向I/O口线 256x8字节内部RAM 3个16位可编程定时/计数器中断 时钟频率024MHz 2个串行中断 可编程UART串行通道 2个外部中断源 共6个中断源 2个读写中断口线 3级加密程序存储器 低功耗空闲和掉电模式 软件设置睡眠和唤醒功能功能特性概述:AT89C52提供以下标准功能:8k字节Flash闪速存储器,256字节内部RAM,32个I/O口线,3个16位定时/计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C52可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。 图3-4 AT89C52内部结构图引脚功能说明:Vcc:电源电压,Vss:地,P0口:P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。与AT89C51不同之处是,P1.0和P1.1还可分别作为定时/计数器2的外部计数输入(P1.0/T2)和输入(P1.1/T2EX),Flash编程和程序校验期间,P1接收低8位地址。见表3-1。表3-1 P1.0和P1.1的第二功能引脚号功能特性P1.0T2(定时/计数器2外部计数脉冲输入),时钟输出P1.1T2EX(定时/计数2捕获/重装载触发和方向控制)P2口:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX DPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVX RI指令)时,P2口输出P2锁存器的内容。Flash编程或校验时,P2亦接收高位地址和一些控制信号。 表3-2 P3口的第二功能端口引脚第二功能P3.0RXD (串行输入端口)P3.1TXD(串行输出端口)P3.2(外中断0)P3.3(外中断1)P3.4T0(定时器/计数器0的外部输入)P3.5T1(定时器/计数器1的外部输入)P3.6(外部数据存储器写选通)P3.7(外部数据存储器读选通)P3口:P3口是一组带有内部上拉电阻的8位双向I/O 口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL 逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。P3口除了作为一般的I/O 口线外,更重要的用途是它的第二功能,如表3-2所示。此外,P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片复位。ALE/PROG: 当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对Flash 存储器编程期间,该引脚还用于输入编程脉冲(PROG)。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。:程序储存允许()输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次信号。/VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000HFFFFH),端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12V的编程允许电源VPP,当然这必须是该器件是使用12V编程电压VPP。XTAL1:内部振荡电路反相放大器的输入端,是外接晶振的一个引脚。当采用外部振荡器时,此引脚应接地。XTAL2:内部振荡电路反相放大器的输出端,接外部晶振的另一端。采用外部振荡器时,该引脚接收振荡器的信号,即把此信号直接接到内部时钟发生器的输入端。特殊功能寄存器:AT89C52片内存储器中,80HFFH共128个单元为特殊功能寄存器(SFE)。并非所有的地址都被定义,从80HFFH共128个字节只有一部分被定义,还有相当一部分没有定义。对没有定义的单元读写将是无效的,读出的数值将不确定,而写入的数据也将丢失,不应将数据“1”写入未定义的单元,对于这些单元在将来的产品中可能赋予新的功能,在这种情况下,复位后这些单元数值总是“0”。AT89C52除了与AT89C51所有的定时/计数器0和定时/计数器1外,还增加了一个定时/计数器2。中断寄存器:AT89C52有6个中断源,2个中断优先级,IE寄存器控制各中断位,IP寄存器中6个中断源的每一个可定为2个优先级。数据存储器:AT89C52有256个字节的内部RAM,80HFFH高128个字节与特殊功能寄存器(SFR)地址是重叠的,也就是高128字节的RAM和特殊功能寄存器的地址是相同的,但物理上它们是分开的。当一条指令访问7FH以上的内部地址单元时,指令中使用的寻址方式是不同的,也即寻址方式决定是访问高128字节RAM还是访问特殊功能寄存器。如果指令是直接寻址方式则为访问特殊功能寄存器。例如,下面的直接寻址指令访问特殊功能寄存器0A0H(即P2口)地址单元MOV 0A0H,data间接寻址指令访问高128字节RAM,例如,下面的间接寻址指令中,R0的内容为0A0H,则访问数据字节地址为0A0H,而不是P2口(0A0H)。MOVR0,data堆栈操作也是间接寻址方式,所以,高128位数据RAM亦可作为堆栈区使用。定时器0和定时器1:AT89C52有两个16位的定时器/计数器T0和T1,它们各由两个独立的8位寄存器组成,共有4个独立的寄存器TH0、TL0、TH1、TL1,可以分别对这4个寄存器进行字节寻址,但不能把T0或T1当作一个16位的寄存器来寻址访问。定时器2:定时器2是一个16位定时/计数器。它既可当定时器使用,也可作为外部事件计数器使用,其工作方式由特殊功能寄存器T2CON的C/T2位选择。定时器2有三种工作方式:捕获方式,自动重装载(向上或向下计数)方式和波特率发生器方式,工作方式由T2CON的控制位来选择。UART:AT89C52的UART工作方式与AT89C51工作方式相同。 中断:AT89C52共有6个中断向量:两个外中断(和),3个定时器中断(定时器0、1、2)和串行口中断。这些中断源可通过分别设置专用寄存器IE的置位或清0来控制每一个中断的允许或禁止。IE也有一个总禁止位EA,它能控制所有中断的允许或禁止。注意:IE.6为保留位,在AT89C51中的IE.5也是保留位。程序员不应将“1”写入这些位,它们是将来AT89系列产品作为扩展用的。定时器2的中断是由T2CON中的TF2和EXF2逻辑或产生的,当转向中断服务程序时,这些标志位不能被硬件清除,事实上,服务程序需确定是TF2或EXF2产生中断,而由软件清除中断标志位。定时器0和定时器1的标志位TF0和TF1在定时器溢出那个机器周期的S5P2状态置位,而会在下一个机器周期才查询该中断标志。然而,定时器2的标志位TF2在定时器溢出的那个机器周期S2P2状态置位,并在同一个机器周期内查询到该标志。时钟振荡器:AT89C52中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器。 (a) (b) (a)片内时钟方式 (b)外部时钟方式 图3-5 AT89C52的时钟电路外接石英晶体(或陶瓷谐振器)及电容C1、C2接在放大器的反馈回路中构成并联振荡电路,如图3-5a所示。对外接电容C1、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性,如果使用石英晶体,我们推荐电容使用30pF10pF,而如使用陶瓷谐振器建议选择40pF10pF。用户也可以采用外部时钟。采用外部时钟的电路如图3-5b所示。这种情况下,外部时钟脉冲接到XTAL2端,即内部时钟发生器的输入端,XTAL1则接地。由于外部时钟信号是通过一个2分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大低电平持续时间应符合产品技术条件的要求。空闲节电模式:在空闲工作模式状态,CPU自身处于睡眠状态而所有片内的外设仍保持激活状态,这种方式由软件产生。此时,同时将片内RAM和所有特殊功能寄存器的内容冻结。空闲模式可由任何允许的中断请求或硬件复位终止。由硬件复位终止空闲状态只需两个机器周期有效复位信号,在此状态下,片内硬件禁止访问内部RAM,但可以访问端口引脚。当用复位终止空闲方式时,为避免可能对端口产生意外写入,激活空闲模式的那条指令后一条指令不应是一条对端口或外部存储器的写入指令。掉电模式:在掉电模式下,振荡器停止工作,进入掉电模式的指令是最后一条被执行的指令,片内RAM和特殊功能寄存器的内容在终止掉电模式前被冻结。退出掉电模式的唯一方法是硬件复位,复位后将重新定义全部特殊功能寄存器,但不改变RAM中的内容,在Vcc恢复到正常工作电平前,复位应无效,且必须保持一定时间以使振荡器重启动并稳定工作。AT89C52的极限参数 工作温度 -55+125 储藏温度 -65+150 任一引脚对地电压-1.0V+7.0V 最高工作电压6.6V 直流输出电流15.0Ma二、主芯片时钟电路的设计时钟电路对单片机而言是必需的。由于单片机内部是有各种各样的数字电路逻辑器件(如触发器、继电器、存储器等)构成,这些数字器件的工作必须按时间顺序完成这种时间顺序就称为时序。时钟电路就是提供单片机内部各种操作的时间基准的电路,时钟是单片机的心脏,单片机各功能部件的运行都是以时钟频率为基准,有条不紊的一拍一拍地工作。因此,时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常用的时钟电路有两种方式:一种是内部时钟方式,另一种为外部时钟方式。本设计用的是内部时钟方式。由12MHz晶振与两个30pF的电容构成的时钟电路作为整个时钟计时器的时间基准,在此值得一提的是所选晶振的频率必须与程序中所引用的时间基准频率相致,这样才能保证时钟计时器的准确。时钟接口电路设计如图3-6所示。工作原理:单片机内部有一个用于构成振荡器的高增益反相放大器,该高增益反向放大器的 输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚跨接石英晶体振荡器和微调电容,就构成一个稳定的自激振荡器,这就是时钟振荡器。图3-6 时钟电路这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器。外接石英晶体(或陶瓷谐振器)及电容C1、C2接在放大器的反馈回路中构成并联振荡电路。对外接电容C1、C2虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性,如果使用石英晶体,我们推荐电容使用30pF10pF,而如使用陶瓷谐振器建议选择40pF10F。用户也可以采用外部时钟。这种情况下,外部时钟脉冲接到XTAL1端,即内部时钟发生器的输入端,XTAL2则悬空。由于外部时钟信号是通过一个2分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。本设计使用的是12MHz的晶振。之所以要用晶振,是为了让它给电路中各信号元件提供一个基准频率。就像一群人跳舞,需要有节拍一样,要想跳得成功,就需要集体配合,这就是节拍的功用。电路也一样,否则电路各部分工作频率不一致,必然导致电路功能的无法实现。当然晶振产生的波形也不是完美的,内部与外部的诸多因素会对它产生干扰,这就需要我们去滤波,把杂波滤除掉,剩下我们想要的波形。本设计使用了两个30pF的电容,对地连接。实验表明效果良好,符合实验要求。三、复位电路的设计单片机复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。复位是单片机的初始化操作,使单片机进入初始化状态,其作用是使CPU中的各个部件都处于一个确定的初始状态,并从这个状态开始工作。51单片机在系统复位时,将其内部的一些重要寄存器设置为特定的值,其中包括使程序计数器PC0000H,这表明程序从0000H地址单元开始执行。至于内部RAM内部的数据则不变。51单片机复位后,P0P3四个并行接口全为高电平,其它寄存器全部清零,只有SBUF寄存器状态不确定。AT89C52单片机的复位是由外部的复位电路来实现的。本设计采用的是RC上电复位的方式。无论用户使用哪种类型的单片机,总要涉及到单片机复位电路的设计。而单片机复位电路设计的好坏,直接影响到整个系统工作的可靠性。许多用户在设计完单片机系统,并在实验室调试成功后,在现场却出现了“死机”、“程序走飞”等现象,这主要是单片机的复位电路设计不可靠引起的。单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。(a) (b)图3-7 AT89C52的复位电路(a)上电复位电路 (b)手动复位电路单片机系统的复位方式有:手动按钮复位和上电复位。(1)手动按钮复位手动按钮复位需要人为在复位输入端RST上加入高电平,如图3-7b所示。一般采用的办法是在RST端和正电源Vcc之间接一个按钮。当人为按下按钮时,则Vcc的+5V电平就会直接加到RST端。由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。(2)上电复位上电复位电路是种简单的复位电路,只要在RST复位引脚接一个电容到Vcc,接一个电阻到地就可以了。工作原理:上电瞬间RES端电压与Vcc相同,随着电容上储能增加,电容电压也增大,充电电流减少,RES端电位逐渐下降,这样在RES端就会建立一个脉冲电压,调节电容与电阻的大小可对脉冲持续的时间进行调节。为了保证系统安全可靠的复位,RST引脚的高电平信号必须维持足够长的时间。上电时,Vcc的上升时间约为10ms,而振荡器的起振时间取决于振荡频率,如晶振频率为10MHz,起振时间为1ms;晶振频率为1MHz,起振时间则为10ms。在图3-7a的复位电路中,当Vcc掉电时,必然会使RST端电压迅速下降到0V以下,但是,由于内部电路的限制作用,这个负电压将不会对器件产生损害。另外,在复位期间,端口引脚处于随机状态,复位后,系统将端口置为全“l”态。如果系统在上电时得不到有效的复位,则程序计数器PC将得不到一个合适的初值,因此,CPU可能会从一个未被定义的位置开始执行程序。本设计中复位电路采用的是按键手动复位,它兼具上电复位功能。采用上电复位与手动复位相结合的方案实现复位更加可靠。RC复位电路的实质是一阶充放电电路,此复位电路只要RST引脚处至少保持2个机器周期(24个振荡器周期)的高电平就可实现复位,在RST段出现高电平后的第二个周期,执行内部复位,以后每个周期重复一次,直至RST端变低。图3-8 本设计中的复位电路本复位电路由22F的电容和1K的电阻及IN4148二极管组成,以前教科书上常推荐用10F电容和10K电阻组成复位电路,这里我们根据实际经验选用22F的电容和1K的电阻,其好处是在满足单片机可靠复位的前提下降低了复位引脚的对地阻抗,可以显著增强单片机复位电路的抗干扰能力。二极管的作用是起快速泄放电容电量的功能,满足短时间多次复位都能成功。如图3-8所示。 第二节 显示电路设计单片机应用系统中使用的显示器主要有发光二极管显示器,简称LED(Light Emitting Diode);液晶显示器LCD(Liquid Crystal Display);近几年也有配置CRT显示器的。而目前在单片机系统中,通常用LED数码显示器来显示各种数字或符号。由于它具有显示清晰、亮度高、使用电压低、寿命长的特点,因此使用非常广泛。一、显示器的选择方案一:LCD液晶显示器。LCD液晶显示器是利用光的偏振现象来显示的。既能显示简单的字符,也能显示各种复杂的图形和自定义的字符,因此应用比较广泛。LCD液晶器具有本身不发光,靠反射或者透射其他光源的优点,同时具有功耗小,可靠性高,寿命长,体积小,电源简单等特点。方案二:LED显示器。LED显示器是由LED发光二极管发展过来的一种显示器件,是发光二极管的改型。LED是发光二极管的简称,是一种将电能转换成光能的设备。本身也是一种光源。LED显示器是由发光二极管排列组成的一显示器件,采用低电压扫描驱动,具有:耗电少、使用寿命长、成本低、亮度高、故障少、视角大、可视距离远等特点。综合考虑,两种显示器相比,LED在亮度、功耗、可视角度和刷新速率等方面都具有优势。故本设计选用LED显示器。二、LED显示结构与原理LED显示器由7条发光二极管组成显示字段,有的还带有一个小数点dp。将7段发光二极管阴极连在一起,称为共阴接法。当某一字段的阳极为高电平时,对应的字段就点亮。共阳接法是将发光二极管的阳极并接后连到+5V上,当某一字段的阴极为0时,对应的字段就点亮。一位显示器由8个发光二极管组成,其中,7个发光二极管构成字型“8”的各个笔划(段),ag,另一个小数点为dp发光二极管。当在某段发光二极管上施加一定的正向电压时,该段笔画即亮;不加电压则暗。为了保护各段LED不被损坏,需外加限流电阻。由于共阴极连接需加驱动,故在这里我采用的是共阳极连接。如图3-9所示。 (a) (b) (a)共阴极 (b)共阳极图3-9 7段LED显示块表3-3 共阳极7 段LED显示字型编码表显示字符共阳极段选码显示字符共阳极段选码0C0H990H1F9HA88H2A4HB83H3B0H CC6H499HDA1H592HE86H682HF84H7F8H灭FFH880HBFH以共阳极LED为例,各LED公共阳极K0接高电平,若向各控制端a,b,,g,dp顺次送入11111000信号,则该显示器显示“”字型。共阳极7段LED显示数字0F、文字、符号及小数点的编码(a段为最低位,dp点为最高位)。如表3-3。三、数码管的驱动方式数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。(1)静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5840根I/O端口来驱动,要知道一个89C52单片机可用的I/O端口才32个。实际应用时,必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。(2)动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划“a、b、c、d、e、f、g及dp”的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的COM端,就使各个数码管轮流受控显示,这就是支柱驱动。在轮流显示过程中,每位数码管的点亮时间为,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。由于静态显示法需要数据锁存器等硬件,接口复杂一些,又考虑到时钟显示只有6位,并且系统没有其他复杂的处理任务,所以在本设计中决定采用动态扫描法实现LED的显示。四、驱动芯片选用开关量输入的扩展经常使用的芯片是74LS244/74LS245/74LS240等;这些芯片的特点是三态门,可以把多个芯片的输出,并联在一起而不会互相影响;通过138、139、153等译码选通芯片,把RD/WR/地址的高位信号(高3位或者高4位,看单片机系统中的芯片的数量)接到译码芯片,把译码芯片的输出接到锁存器的锁存输入,或者缓冲器的选通输入。 图3-10 74LS244引脚图244内部包含8个单向三态门,分为两组,是8路3态缓冲驱动,也叫做线驱动或者总线驱动门电路。简单地说,它有8个输入端,8个输出端。同时作为总线芯片的另外一个特点是驱动能力加强了,可以提供比较大的输出电流,所以经常用来直接驱动光耦、发光管等,也可以用于驱动微型的继电器。其引脚图如下图3-10所示。74LS244基本参数: 电压4.755.25V 驱动电流-1524mA 最大传输延迟18ns74LS244是三态总线转换器件,一般用于总线的电平匹配问题,比如5V器件要与3.3V器件进行数据交换时,如果存在TTL电平和CMOS电平不兼容的情况中间用一片244可以解决问题,244为单向传送。74LS244输出电流可以达到24mA,而一般TTL芯片输出电流仅仅8mA。五、电源驱动输出器件为了提高数码管的亮度,可在位选线上加入一个三极管驱动电路。三极管可以有控制电路通断,即充当开关的作用。三极管的类型有NPN和PNP两种,其中NPN是正极性的,PNP是负极性的。在本电路中,如果用PNP做反极性输出控制,能得到非常大的控制电流。实际中也常用这样的办法控制LED数码管的共阳极,效果非常好。所以本设计采用PNP型三极管。9012是一种最常用的普通三极管。 它是一种低电压,大电流,小信号的PNP型硅三极管9012的极限参数: 集电极电流Ic:Max -500mA 集电极-基极电压Vcbo:- 40V 工作温度:-55+150 主要用途:开关应用 射频放大显示模块电路如图3-11所示。 图3-
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 部队培训安全保密协议课件
- 社区服务边缘智能应用-洞察及研究
- 湖北省黄石市大冶市2024-2025学年七年级下学期期末考试数学试卷(含答案)
- 安徽省黄山市2024-2025学年高二上学期期末质量检测物理试卷(含答案)
- 部门安全培训需求课件
- 遨游汉字王国课件
- 基于循环经济理念的分条带钢边角料高值化再利用工艺创新图谱
- 基于代谢组学的前列康片多靶点作用机制网络图谱构建
- 培养基配方迭代与专利壁垒下的中小企业研发困境
- 国际标准体系下高强浇注料出口认证壁垒突破与质量追溯体系重构
- 卡西欧PROTREKPRW-6000使用手册
- 物流网络规划与设计课件
- JB∕T 5245.4-2017 台式钻床 第4部分:技术条件
- 鞘膜积液的护理查房
- 《水工监测工》习题集最新测试题含答案
- 大金D型水冷螺杆机说明书
- 部编版三年级上册道德与法治第一单元第1课《学习伴我成长》课件
- ASCO双电源自动转换开关操作手册
- 组合式塔吊基础施工专项方案(117页)
- 1、《国际贸易实务》课程标准解析
- 现场临电方案改
评论
0/150
提交评论