毕业设计(论文)基于at89c52单片机的多功能电子钟设计

上传人:e****s 文档编号:193546841 上传时间:2023-03-10 格式:DOC 页数:43 大小:705.50KB
收藏 版权申诉 举报 下载
毕业设计(论文)基于at89c52单片机的多功能电子钟设计_第1页
第1页 / 共43页
毕业设计(论文)基于at89c52单片机的多功能电子钟设计_第2页
第2页 / 共43页
毕业设计(论文)基于at89c52单片机的多功能电子钟设计_第3页
第3页 / 共43页
资源描述:

《毕业设计(论文)基于at89c52单片机的多功能电子钟设计》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于at89c52单片机的多功能电子钟设计(43页珍藏版)》请在装配图网上搜索。

1、多功能电子钟的设计摘 要单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。而51单片机是各单片机中最为典型和最有代表性的一种。 本次设计以AT89C52芯片为核心,辅以必要的外围电路,设计了一个简易的电子时钟,它由220V交流电源供电。在硬件方面,除了CPU外,使用6个七段LED数码管来进行显示,LED采用的是静态显示。通过LED能够比较准确显示时、分、秒。两个简单的按键实现对时间的调整。软件方面采用汇编语言编程。整个电子钟装置能完成时间的显示、调时、定时闹钟、秒表、复位等功能。 通过这次设计让我更深入了解单片机基本电路、如何控制和定时器和中断编

2、程的基本方法,从而锻炼了我学习、设计和开发软、硬件的能力。关键词:电子时钟、多功能、AT89C52、LED数码显示The Design with Investigation of the Multi-function Electron ClockAbstractBecause of its extremely high performance-price ratio, the single-chip computer (SCC) has been paid great attention to ever since it came out in 1970s of 20th Century, a

3、nd has gained an extensive applicable field and fast development. Among all kinds of SCCs, 51 SCC is the most typical and representative one. This design, adopting AT89C52 chip as the core part with some necessary peripheral circuits, is a simple electronic clock which uses 220V AC as the power supp

4、ly. In hardware aspect, besides the CPU, six seven-segment LED digi-tubes are used for display, which work in a statically display mode. The LEDs can accurately indicate hour and minute and two buttons can be used to adjust the time. While in the software aspect, the programming language is assembly

5、 language. The whole electronic clock system has functions of time display, adjustment, bell-setting , stopwatch and reset, etc. This design enables me to have greater insight into the basic circuit of SCC, and the basic methods of timer control and interruption programming, so that is a training of

6、 my ability of learning, designing and developing software and hardware.Key Words:Electronic clock、Multi-function、AT89C52、LED目 录引 言1第1章 绪论21.1 方案要求21.2 方案设计21.3 硬件框图3第2章 硬件设计42.1 AT89C52的管脚说明42.2 T0和T1的设置72.3 T2的设置82.4 模块设计112.4.1 电源部分112.4.2 复位部分112.4.3 振荡器部分122.4.4 发声部分122.4.5 显示部分13第3章 软件设计173.1

7、主程序流程图173.2 中断程序流程图173.3 源程序20结论与展望21参考文献22致 谢22附录A 系统电路原理图24附录B 引用的外文文献及其译文25附录C 主要参考文献的题录及摘要31附录D 电子时钟源程序33插图清单图1- 1 多功能电子钟原理框图3图2- 1 AT89C52芯片PDIP封装引脚图5图2- 2 电源电路11图2- 3 按键复位电路11图2- 4 振荡器12图2- 5 发声电路12图2- 6 数码管显示电路13图2- 7 DM7447AN引脚功能图15图2- 8 七段显示器对DM7447AN 之保护电路图16 图3- 1 主程序流程图17图3- 2 T2中断流程图18图

8、3- 3 T1中断流程图19图3- 4 T0中断流程图20表格清单表和的第二功能6表2- 2 P3口各位的第二功能6表2- 3 TMOD7表2- 4 TCON7表2- 5 计数器工作方式7表2- 6 T2CON9表2- 7 T2CON的各位功能9表2- 8 T2MOD9表2- 9 定时器2工作方式10表2- 10 数码管数据和数码管每段的对应关系13表2- 11 数码管断码和字型的对应关系(共阳极)13表2- 12 DM7447AN 真值表15- 38 -引 言一寸光阴一寸金,寸金难买寸光阴。时钟,自从它发明的那天起,就成为人类的朋友,但随着时间的推移,科学技术的不断发展,人们对时间计量的精度

9、要求越来越高,应用越来越广。怎样让时钟更好的为人们服务,怎样让我们的老朋友焕发青春呢?这就要求人们不断设计出新型时钟。电子技术是十九世纪末、二十世纪初开始发展起来的新兴技术,二十世纪发展最迅速,应用最广泛,成为近代科学技术发展的一个重要标志。在其推动下,现代电子产品正在以前所未有的革新速度,向着功能多样化、体积最小化、功耗最低化的方向迅速发展,电子技术的发展有力的推动社会生产力的发展。 郭沫若先生曾说:时间就是生命,时间就是速度,时间就是力量。时间对我们来说总是那么宝贵,在我们的日常工作、学习、生活中,时间概念愈加显得重要。在高度发达信息化的21世纪,人们总是那么忙碌。生活工作中班车要准点,上

10、班要准时,开会要有时间限制;工业生产中,每一道工序都要有严格的时间限制,这样才能做到井井有条;严谨的科技研究中,时间更是重中之重。能够准确的了解并且实时性的知道时间,是我们学习、工作、生活中不可或缺的。机械式钟表虽然也可以告知人们时间,也可以定时,显示日历。但是由于受到机械结构、动力和体积的限制,在功能、性能以及造价上都没办法与电子时钟相比。现今,高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟,石英表,石英钟都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调校,数字式电子钟用集成电路计时代替机械式传动,用LED显示器代替指针显示进而显示时间,减小了计时误差,这种表具有

11、时,分,秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:一是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要求不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法,典型的时钟芯片有:DS1302,DS12887,X1203等都可以满足高

12、精度的要求。本文主要介绍用单片机内部的定时/计数器来实现电子时钟的方法,本设计由单片机AT89C52芯片和LED数码管为核心,辅以必要的电路,构成了一个单片机电子时钟。第1章 绪论 方案要求1主要的任务及目标:用单片机设置一个时钟装置(1)时钟功能;(2)闹钟功能;(3)秒表功能。2设计的主要内容为:(1)时钟范围:24h,60m,60s;(2)按键调整时间设定;(3)按键设定闹钟,精度为分钟;(4)按键控制秒表,精度为0.01秒;(5)供电220VAC。1.2 方案设计多功能电子时钟方案:多功能电子时钟是本设计的最主要的部分。根据需要,本方案完全用软件实现数字时钟。原理为:在单片机内部存储器

13、设三个字节分别存放时钟的时、分、秒信息。利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将时字节清零。该方案具有硬件电路简单的特点。但由于每次执行程序时,定时器都要重新赋初值,所以该时钟精度不高。而且由于是软件实现,当单片机不上电,程序不执行时,时钟将不工作。利用单片机内部的定时/计数器进行中断定时,配合软件延时实现时、分、秒的计时及秒表计时。该方案节省硬件成本,且能使设计者对单片机的指令系统能有更深入的了解,从而掌握单片机应用技术MCS-51汇编

14、语言程序设计方法,因此,本系统设计采用此种软件控制方法来实现计时。而由于ATMEL公司的AT89C52单片机是低功耗的具有8KB在线可编程Flash存储器的单片机。它与通用80C51系列单片机的指令系和引脚兼容。片内的Flash可允许在线重新编程,也可使用通用非易失性存储器编程。它将通用CPU和在线可编程Flash集成在一个芯片上,形成了功能强大、使用灵活和具有较高性能价格比的微控制器。它的功能强大,而且也较容易购买,故本设计中所选的单片机为AT89C52单片机。1.3 硬件框图图1- 1 多功能电子钟原理框图第2章 硬件设计2.1 AT89C52的管脚说明目前在单片机系统中,应用比较广泛的微

15、处理器芯片主要为8XC5X系列单片机。该系列单片机均采用标准MCS-51内核,硬件资源相互兼容,品类齐全,功能完善,性能稳定,体积小,价格低廉,货源充足,调试和编程方便,所以应用极为广泛。例如比较常用的AT89C2052单片机,带有2KB Flash可编程、可擦除只读存储器(E2PROM)的低压、高性能8位CMOS微型计算机。拥有15条可编程I/O引脚,2个16位定时器/计数器,6个中断源,可编程串行UART通道,并能直接驱动LED输出。应用AT89C2051单片机完全可以实现。但是将两种功能结合在一片单片机上,就需要更多的I/O引脚,本设计采用具有32根I/O引脚的AT89C52单片机。AT

16、89C52单片机是一款低功耗,低电压,高性能CMOS 8位单片机,片内含4KB(可经受1000次擦写周期)的FLASH可编程可反复擦写的只读程序存储器(EPROM),器件采用CMOS工艺和ATMEI公司的高密度、非易失性存储器(NURAM)技术制造,其输出引脚和指令系统都与MCS-51兼容。片内的FLASH存储器允许在系统内可改编程序或用常规的非易失性存储器编程器来编程。因此,AT89C52是一种功能强,灵活性高且价格合理的单片机,可方便的应用在各个控制领域6。AT89C52具有以下主要性能:1. 8KB可改编程序Flash存储器;2. 全静态工作:024Hz;3. 2568字节内部RAM;4

17、. 32个外部双向输入/输出(I/O)口;5. 6个中断优先级; 3个16位可编程定时计数器;6. 可编程串行通道;7. 片内时钟振荡器。此外,AT89C52是用静态逻辑来设计的,其工作频率可下降到0Hz,并提供两种可用软件来选择的省电方式空闲方式(Idle Mode)和掉电方式(Power Down Mode)。在空闲方式中,CPU停止工作,而RAM、定时器/计数器、串行口和中断系统都继续工作。在掉电方式中,片内振荡器停止工作,由于时钟被“冻结”,使一切功能都暂停,只保存片内RAM中的内容,直到下一次硬件复位为止。图2- 1 AT89C52芯片PDIP封装引脚图如图2-1所示,AT89C52

18、共有40个管脚,其各个功能如下:VCC 运行时加5VVSS 接地XTAL1 振荡器反相放大器及内部时钟发生器的输入端XTAL2 振荡器反相放大器的输出端RST 复位输入,高电平有效,在晶振工作时,在RST引脚上作用2个机器周期以上的高电平,将使单片机复位。/VPP 片外程序存储器访问允许信号。欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),端必须保持低电平(接地),如果端为高电平(接Vcc端),CPU则执行内部程序中的指令。LAE/ 当访问外部程序存储器或数据存储器时,ALE(地址允许锁存)输出脉冲用于锁存地址的低8位位数字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定

19、的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。对Flash存储器编程期间,该引脚还用于输入编程脉冲(第二功能)。:程序储存允许()输出是外部程序存储器的读选通信号,当AT89C52由外部存储器取指令(或数据)时,每个机器周期两次有效,即输出两个脉冲。在此期间,当访问外部数据存储器,将跳过两次信号。P0口 是一组8位漏极开路双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数

20、据总线服用,在访问期间激活内部上拉电阻。在本设计中P0口的高4位(P0.7P0.4)输出秒十位,低4位(P0.3P0.0)输出秒个位。P1口 是一个内部带上拉电阻的8位准双向I/O口。在对EPROM型单片机编程和验证程序时,它接收低8位地址。P1能驱动(吸收或输出电流)4个LSTTL电路。在时钟系统中,P1口的高4位(P1.7P1.4)用来输出时十位,低4位(P1.3P1.0)用来输出时个位。P1.0还被用作定时器/计数器2的外部计数输入端,即专用功能T2。P1.1被用作专用功能端T2EX,即定时器T2的外部控制端。参见表2-1。表2- 1 引脚号功能特性T2(定时/计数器2外部计数脉冲输入)

21、,时钟输出T2XE(定时/计数器2捕获/重装载触发和方向控制)P2口 是一个带有内部上拉电阻的8位准双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻,某个引脚外部信号拉低是会输出一个电流。在时钟系统中,P2口的高4位(P2.7P2.4)用来输出分十位,低4位(P2.3P2.0)用来输出分个位。P3口 是一组带有内部上拉电阻的8位准双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流。P3口除了作为一般的I

22、/O口线外,更重要的用途是它的第二功能,如表2-2所示:表2- 2 P3口各位的第二功能端口引脚第二功能RXD (串行输入口)TXD (串行输出口) (外部中断0) (外部中断1) T0 (定时/计数器0) T1 (定时/计数器1) (外部数据存储器写选通) (外部数据存储器读选通) T0和T1的设置定时器/计数器0和定时器/计数器1有两个外部输入端(T0、和T1、)、两个8位的二进制加法计数器(TH0、TL0和TH1、TL1)。由两个内部特殊功能寄存器(TMOD、TCON)控制定时器/计数器的工作,其中TMOD(Timer/Counter Mode Control)是定时器/计数器模式控制寄

23、存器,其格式如下表2-3所示(寄存器各位不可位寻址)。表2- 3 TMOD寄存器名:TMOD位名称GATEC/M1M0GATEC/M1M 0地址:89H位地址TMOD被分为两个部分,每部分4位,高4位用于定时器/计数器1,低4位用于定时器/计数器0。其中GATE和C/用于控制计数信号的输入,M1、M0用于定义计数器的工作方式。TCON是定时器/计数器寄存器,其格式如下表2-4所示(寄存器各位可位寻址):表2- 4 TCON寄存器名:TCON位名称TF1TR1TF0TR0IE1IT1IE0IT0地址:88H位地址8FH8EH8DH8CH8BH8AH89H88HTCON也被分为两部分,高4位用于定

24、时器/计数器。其中TR1、TR0用于控制计数信号的输入,TF1、TF0位计数器的溢出位。TMOD中的GATE和TCON中的TR0用于控制计数脉冲的接通,通常有两种使用方法:GATE=0时,仅仅由程序设置TR0=1来接通计数脉冲,由程序设置TR=0来停止计数。此时与外部中断无关。GATE=1时,先由程序设置TR=1,然后由外部中断来控制计数的接通与关闭。 两个8位计数器均为加法计数器,它们的级联和技术范围是有TMOD中的M1和M0来控制的。M1、M0可设置4种内部计数的工作方式,如表2-5所示。 表2- 5 计数器工作方式工作方式M1M0功 能计 数 范 围00013位二进制加法计数器10116

25、位二进制加法计数器210可重置初值的8位二进制加法计数器3112个独立的8位二进制加法计数器(仅对T0)工作方式0主要为兼容早期的MCS-48单片机所保留,一般可用工作方式1代替。工作方式1的特点是:计数范围宽,但每次的初值均要由程序来设置。工作方式2的特点是:初值只需要设置一次,每次溢出后,初值自动会从TH0加载到TL0或从TH1加载到TL1,但计数范围较工作方式1小。工作方式3的特点是:增加了一个独立的计数器,但只能适用于定时器/计数器0而且占用了定时器/计数器1的TR1和TF1,所以此时的定时器/计数器1只能用于不需要中断的应用,如作为串行口的波特率发生器。4种工作方式对溢出处理均相同,

26、加法计数超出范围后,溢出信号将使TCON中的TF0或TF1置位,计数值回到0或初值,重新开始计数。TF0或TF1置位后,可向CPU提出中断请求。TF0和TF1在CPU响应中断后会自动复位,而禁止中断响应时,也可由软件来复位。以工作方式1为例,定时时间T为计数范围乘上计数周期,即由表2-5和上式可知,当初值等于0时,4种工作方式有中最大定时时间的为工作方式1。又外接晶振频率为12Mhz,则最大定时时间为65536,即65.36ms。时钟要求显示时间精度为妙,而定时器最大定时时间为65.36ms ,小于1s,很显然直接用一个定时器来定时是行不通的。为此,把T0设为定时器模式,T1设为计数器模式,它

27、们都以工作方式1工作,即把TMOD赋值01010001B,又由软件来启动或停止中断,则把00000000B赋予TCON。T0定时时间为0.05s,T1计数次数为20,这样可得1s的定时时间。由上式可导出计算初值的下式:则可分别计算出T0和T1的初值:T0初值=65536-50000=15536=3CB0H;T1初值=65536-20=65516=FFECH。 T2的设置AT89C52除了MCS-51中51子系列所有的定时器/计数器0、定时器/计数器1外,还有一个定时器/计数器2。定时器/计数器2有两个外部输入端(T2和T2EX),两个8位的二进制计数器(TH2和TL2),两个重载或捕获寄存器(

28、RCAP2L和RCAP2H)和两个内部特殊功能寄存器T2CON和T2MOD。定时器/计数器2的两个外部输入端T2和T2EX分别借用了P1.0和P1.1。T2CON、T2MOD、RCAP2L、RCAP2H、TL2和TH2这六个寄存器或计数器的内部地址分别为0C8H0CDH,复位后,除了T2MOD中未定义的各位值不确定外,其余均为0。T2CON中的各位可进行位寻址,其他寄存器或计数器的各位不能按位寻址。T2CON(Timer/Counter2 Control)的格式和其各位的功能分别如表2-6和表2-7所示。表2- 6 T2CON寄存器名:T2CON位名称EXF2RCLKTCJKEXEN2TR2C

29、/CP/地址:0C8H位地址0CFH0CEH0CDH0CCH0CBH0CAH0C9H0C8H表2- 7 T2CON的各位功能符号功能TF2定时器2溢出标志。定时器2溢出是,又由硬件置位,必须由软件清0。当RCLK=1时,定时器2溢出,不对TF2置位。EXF2定时器2外部标志。当EXEN2=1,且当T2EX引脚上出现负跳变而出现捕获或重装载时,EXF2置位,申请中断。此时如果允许定时器2中断,CPU将响应中断,执行定时器2中断服务程序,EXF2必须由软件清除。当定时器2工作在向上或向下计数工作方式时(DECN=1),EXF2不能激活中断。RCLK接收时钟允许。RCLK=1时,用定时器2溢出脉冲作

30、为串行口(工作于工作方式1或3时)的接收时钟,RCLK=0,用定时器1的溢出脉冲作为接收时钟。TCLK发送时钟允许。TCLK=1时,用定时器2溢出脉冲作为串行口(工作于工作方式1或3时)的发送时钟,TCLK=0,用定时器1的溢出脉冲作为发送脉冲。EXEN2定时器2外部允许标志。当EXEN2=1时,如果定时器2未用于作串行口的波特率发生器,在T2EX端出现负跳变脉冲时,激活定时器2捕获或重装载。EXEN2=0时,T2EX端的外部信号无效。TR2定时器2启动/停止控制位。TR2=1时,启动定时器2C/定时器2定时方式或计数方式控制位。若为0,选择定时方式。若为1,选择对外部事件计数方式(下降沿触发

31、)。CP/捕获/重装载选择。CP/=1时,如EXEN2=1,且T2EX端出现负跳变脉冲时发生捕获操作。CP/=0时,若定时器2溢出或EXEN2=1的条件下,T2EX端出现负跳变脉冲,都会出现自动重载操作。当RCLK=1或TCLK=1时,该位无效,在定时器2溢出是强制其自动重装载。T2MOD(Timer 2 Mode Control)虽然是定时器/计数器2模式控制器的缩写,但定时器/计数器2的工作模式与T2CON更为亲密,T2MOD只用了2位,其格式如表2-8所示(寄存器各位不可位寻址)。表2- 8 T2MOD寄存器名:T2MOD位名称T2OEDCEN地址:0C9H位地址T2OE是定时器2的输出

32、允许位,置位后,允许T2引脚输出可编程的方波。DCEN是定时器2的计数方向控制允许位,置位可允许定时器2进行加/减计数方式。定时器2有三种工作方式:捕获方式,自动重装载(向上或向下计数)方式和波特率发生器,工作方式有T2CON的控制位来选择,如表2-9所示表2- 9 定时器2工作方式RCLK+TCLKCP/TR 2MODE0 0 116-bit Auto-reload 0 1 116-bit Capture 1 x 1Baud Rate Generato r x x 0Off捕获(Capture)方式:在捕获方式下,利用外部引脚T2EX(P1.1)上的下降沿,可捕获当前TH2和TL2的16位计

33、数值。TH2和TL2的计数信号可来自内部基准时钟,此时捕获方式可测得引脚T2EX上两个下降沿之间的时间;TH2和TL2计数信号也可来自引脚T2(P1.0)上的脉冲信号,此时的捕获方式可测得T2EX上两个下降边沿周期,T2上所出现的脉冲数。自动重载(Auto-reload)方式:自动重载方式可通过T2MOD中的DCEN位来设置自动重载时的计数方式,DCEN=0为加法计数的自动重载方式,DCEN=1为可控加/减法计数的自动重载方式。当DCEN=0,若EXEN2=0,定时器2为向上计数至0FFFFH溢出,置位TF2激活中断,同时把16位计数寄存器RCAP2H和RCAP2L重装载,RCAP2H和RCA

34、P2L的值可由软件设置;若EXEN2=1,定时器2的16位重载由溢出或外部输入端T2EX从1至0的下降沿触发。这个脉冲使EXF2置位,如果中断允许,同样产生中断。波特率发生器(Baud Rate Generator)方式:置位T2CON中的TCLK或RCLK位可将定时器2设置为波特率发生器方式,此时,串行口的发送和接收波特率可以不同,如定时器2作为发送(或接收)波特率发生器方式,而定时器1作为接收(或发送)波特率发生器方式。定时器2是用来产生秒表定时中断的,采用自动重装载(Auto-reload)方式工作,即把00000000B赋予T2CON。令T2MOD中DCEN=0, EXEN2=0,定时

35、器2为向上计数至0FFFFH溢出,置位TF2激活中断,同时把16位计数寄存器RCAP2H和RCAP2L重装载,RCAP2H和RCAP2L的值可由软件设置。由于秒表要求精度为0.01s,定时器2的定时时间也要为0.01秒。由公式(2)可知:T2初值=65536-10000=55536=D8F0H,即TH2=D8H,TL2=F0H;RCAP2H=D8H,RCAP2L=F0H。 模块设计2.4.1 电源部分如图2-2所示,LM7805CT是一个三端集成稳压器,输出端电压+5V,其自身压降为23V,这里取2.5V,则1端电压为7.5V。整流滤波系数为1.26,则变压器二次侧的电压为6V,因此变压器的砸

36、数比为3:110。图2- 2电源电路.2 复位部分复位是单片机的初始化操作,其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序,并使其它功能单元处于一个确定的初始状态。本复位电路采用的是按键复位,它是通过复位端经电阻与VCC电源接通而实现的,它兼具上电复位功能。因本系统的晶振的频率为12MHz,所以,复位信号持续时间应当超过2S才能完成复位操作。如图2-3所示,上电时电容充电,1端低压经非门输出2端为高压,启动复位。当电容充满电后,1端高压经非门输出2端为低压,复位停止。若按下S0,电容开始放电,1端低压经非门输出2端为高压,则启动复位。图2- 3 按键复位电路.3 振

37、荡器部分MCS-51单片机内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体及电容一起构成一个自激振荡器,如图2-4所示。 图2- 4 振荡器图中石英晶体为12MHz,两个电容为20pF。单片机一个机器周期包含12个振荡周期,则每个机器周期恰为1。.4 发声部分“1”则蜂鸣器发声,写“0”则蜂鸣器停止发声,如图2-5所示。图2- 5 发声电路.5 显示部分为了使数码管能显示十进制数,必须先由软件将二进制数转换为十进制的BCD码,然后再将十进制数的BCD码经过译码器的译出,经驱动器点亮对应的的段,如图2-6

38、所示。图2- 6 数码管显示电路图中所用的译码器是DM7447AN集成显示译码器,输出系为驱动器设计,其工作电压5V,逻辑0吸入电流高达40mA,故必须使用电阻加以限流,以免电流过大烧毁显示器。输入端、输出端和数码管显示数字之间的关系如表2-10所示。在单片机内部显示缓冲区79H、7AH、7BH、7CH、7DH、7EH内的值分别是秒的个位、秒的十位、分的个位、分的十位、时的个位、时的十位,显示器LED0、LED1、LED2、LED3、LED4、LED5分别显示秒的个位十位、分的个位十位、时的个位十位,由图2-6所示。数码管动态显示:由于显示的数据和LED数码管的段控码并不是一一对应的关系,即显

39、示的数据与数码管的字型代码不相符。显示数据与字型代码之间存在着转换关系,数码管段控数据和数码管各段的对应关系如表2-10、表2-11所示。表2- 10 数码管数据和数码管每段的对应关系D7D6D5D4D3D2D1D0LED显示码a111111100FEHb111111010FDHc111110110FBHd111101110F7He111011110EFHf110111110DFHg101111110BFHdp011111117FH表2- 11 数码管断码和字型的对应关系(共阳极)字型D7D6D5D4D3D2D1D0段码dpgfedcba0110000000CO1111110010F92101

40、001000A43101100000B04100110019951001001092610000010827111110000F88100000008091001000090A1000100088B1000001183C110001100C6D101000000A0E1000011086F100011108EP.0000011006全亮0000000000全灭111111110FF从电子钟程序清单中的显示程序可以知道:数据表格存储单元从首地址到最高位分别存放的是共阳极数码管0、1、2、3、4、5、6、7、8、9、P.、灭的十六进制字型代码,所以只要把显示缓冲区内的数值加上偏移地址rel(偏移地

41、址rel=数据表格首地址-MOVC A A+PC指令单元首地址-1),把和送到累加器A中,使用MOVC A, A+PC就可以取出缓冲区内要显示数据的字型代码,当然要取P.和灭的字型代码就要分别给缓冲区送0AH、0BH。在动态扫描时,显示缓冲区31H内部存放的是要显示的秒的个位的数值,使用MOVC A, A+PC指令取出段控码,由P0口输出通过锁存器DM7447AN后送到数码管的段控端,给P2口送01H通过锁存器DM7447AN驱动以后,只有LED0位的位控端有效,此时只有LED0被点亮来显示秒的个位,延时持续点亮一段时间,然后把显示缓冲单元地址加1,位控值左移一位,取出段控码,再把段控码和位控

42、码送到数码管显示器,此时只有LED1被点亮显示秒的十位,延时持续点亮一段时间,就这样通过逐个地从低位到高位点亮各个显示器,扫描到最高位时的十位被点亮就返回。这样虽然在任一时刻只有一位显示器被点亮,但是由于人眼具有视觉残留效应,看起来与全部显示器持续点亮效果完全一样。常用的BCD 对七段显示器译码器/驱动器之IC 包装计有TTL 之DM7446AN、DM7447AN、7448、7449 与CMOS 之4511 等等。其中DM7446AN、DM7447AN 必须使用共阳极七段显示器,7448、7449、4511等则使用共阴极七段显示器。 图2-7为DM7447AN集成电路译码器之引脚图与真值表如表

43、2-12。在正常操作时,当输入DCBA=0010 则输出abcdefg=0010010。故使显示器显示2。当输入DCBA=0110 时,输出abcdeg=1100000,显示器显示6。 在DM7447AN 中尚有LT、RBI 与BI/RBO 之控制脚,其功能分述如下:该电路是由与非门、输入缓冲器和7 个与或非门组成的BCD-7 段译码器/驱动器。通常是低电平有效,高的灌入电流的输出可直接驱动显示器。7 个与非门和一个驱动器成对连接,以产生可用的BCD 数据及其补码至7 个与或非译码门。剩下的与非门和3 个输入缓冲器作为试灯输入(LT)端、灭灯输入/动态灭灯输出(BI/RBO)端及动态灭灯输入(

44、RBI )端。该电路接受4之输出位二进制编码十进制数(BCD)输入并借助于辅助输入端状态将输入数据译码后去驱动一个七段显示器。输出结构设计成能承受7 段显示所需要的相当高的电压。驱动显示器各段所需的高达24mA 的电流可以由其高性能的输出晶体管来直接提供。BCD 输入计数9 以上的显示图案是鉴定输入条件的唯一信号。该电路有自动前、后沿灭零控制(RBI和RBO)。试灯(LT)可在端处在高电平的任何时刻去进行,该电路还含有一个灭灯输入(BI),它用来控制灯的亮度或禁止输出。该电路在应用中可以驱动共阳极的发光二极管或直接驱动白炽灯指示器。DM7447AN系为驱动器设计,其逻辑0 之吸入电流高达40m

45、A, 入330 左右电阻加以限流,以免过大电流流经LED 而烧毁显示器,如图2-8所示。图2- 7 DM7447AN引脚功能图表2- 12 DM7447AN 真值表H=高电平 L=低电平 =不定注:1、当需要0到15的输出功能时,灭灯输入(BI)必须为开路或保持在高逻辑电平, 若不要灭掉十进制零,则动态灭灯输入(RBI)必须开路或处于高逻辑电平。2、当低逻辑电平直接加到灭灯输入(BI)时,不管其它任何输入端的电平如何,所有段的输出端都关死。3、当动态灭灯输入(RBI)和 输入端A、B、C、D 都处于低电平而试灯输入(LT)为高时,则所有段的输出端进入关闭且动态灭灯输出(RBO)处于低电平(响应

46、条件)。4、当灭灯输入/动态灭灯输出(BI/RBO)开路或保持在高电平,且将低电平加到试灯输入(LT)时,所有段的输出端都得打开。* BI/RBO 是用作灭灯输入(BI)与/或动态灭灯输出(RBO)的线与逻辑图2- 8 七段显示器对DM7447AN 之保护电路图 时钟系统的电路原理框图时钟系统的电路原理框图请参见附录一。第3章 软件设计3.1 主程序流程图电子时钟的主程序流程图如图3-1所示。 图3- 1 主程序流程图S1和S4用来选择进入调时模式、调整闹钟模式还是秒表模式;S1按下,S4也按下,则进入调时模式。若此时按下S6键,则时钟小时加一,按下S7分钟加一,然后显示当前时分秒;若S6,S

47、7都不按,则直接显示当前时间;S1按下,S4不按下,则进入闹钟调整模式。若此时按下S6,闹钟小时加一,按下S7,闹钟分加一;若S6,S7都不按,直接按下S4键,则退出闹钟调整模式;S1不按,S4不按,直接按下S7键,开始秒表计时,若没有超过1小时,显示分秒百分秒,若超过1小时,则显示时分秒,再按下S7秒表停止。若按下S6则秒表停止并且时间归0;当时钟走到刚好为闹钟设定的时间时,蜂鸣器开始发声鸣叫,按下S1,则蜂鸣器停止鸣叫。3.2 中断程序流程图1T2中断程序流程图T2是用来产生秒表中断的,如图3-2所示。清T2溢出标志百分秒加11秒 y百分秒归0秒加160秒秒归0分加160分分归0时加1时归

48、024时返回NNNNYYYYT2定时中断图3- 2 T2中断流程图2T1中断程序流程图 T1接收到预定的脉冲数后,中断开始,如图3-3所示装T1初值秒加1秒归0分加1时归0分归0时加160秒60分返回24时T1计数中断YNNYNY图3- 3 T1中断流程图3T0中断程序流程图T0定时器每次到定时时间就中断一次,产生一个脉冲,如图3-4所示。T0定时中断重装T0初值在T1入口形成计数脉冲返回 图3- 4 T0中断流程图 T0定时时间为0.05s,每0.05s就在T1入口(P3.5口)形成一个脉冲。T1计数器计数次数为20,接收到20个脉冲(1秒)启动中断。先秒加一,若秒超过59,则秒归0并且分加

49、一;若分超过59,则分归0并且时加一;若时超过23,则时归0。T2为定时器,定时时间为0.01s,也即秒表计时精度为0.01s。先百分秒加一,若到达一秒,则秒加一,百分秒归0;若秒超过59,则秒归0并且分加一;若分超过59,则分归0并且时加一;若时超过23,则时也归0。T2中断优先于T0、T1,即给IP寄存器赋值00100000B。3.3 源程序电子时钟系统的源程序请参见附录二。结论与展望 本文介绍的是利用AT89C52单片机设计的有调时、定时、闹铃功能的电子钟。并详细说明了软件和硬件设计方法及仿真、硬件实现。在设计过程中可以看出,汇编语言有着其独特的魅力,它简单易学,语法错误容易纠正;用单片

50、机实现电子钟的设计是比较方便和易于实现的。随着社会的进步,科技的改革,人们对时钟的要求越来越多,诸如对时钟的形状、功能的要求。单片机多功能电子时钟在今后的发展应用中会越来越广泛。利用单片机技术实现电子时钟,仅仅是众多方法之一。多功能电子时钟有多种实现方案,能够实现的功能也很多,例如时间日历显示和校对、闹铃等功能。本文的软件设计还可以利用C编语言,由于本人能力有限,倾向于51单片机汇编语言进行编程。在这次的毕业设计过程中,我遇到了许多问题。电路原理图的设计是我的弱处,开始时对一些电路不是很了解,经过查找资料与同学探讨,逐渐明白了其中的关键。对程序的理解,一开始没有按照程序流程图来,总觉得模模糊糊

51、,似是而非,后来按照程序流程图一步一步的搞明白了。由于时间和能力问题,本次设计没有进行试验,很是遗憾。但在查找资料的过程中学到很多,同时在协作的过程中增进了同学间的友谊。通过电子钟的设计,加深了对单片机的理解,能够更熟练地应用单片机实现预期的功能,对今后的工作有很大的帮助。电子钟各项功能的实现,为自动控制的实现打下了理论基础,获得了实现方法。当然,该电子钟还有很多不足之处,比如闹钟不能关闭,且只能定一个闹钟。在今后的工作中还要对此加以研究,尽量实现更多的功能。在今后的其他工作中,也可以把这次设计中的收获运用进去,这是我此次毕业设计得到的最大财富。参考文献1 唐德礼,单片机原理及应用M 华中科技

52、大学出版社 20052 康华光. 电子技术基础M. 高等教育出版社. 20053 崔艳艳,张艳丰. 实用多功能电子钟的设计与应用J. 济源职业技术学院学报, 2009,(04)4 王守中. 51单片机应用开发速查手册指令、模块、实例M. 人民邮电出版社. 20085 方怡冰.单片机课程的教学与实验改革J.电气电子教学学报.2006,第3期.6 刘文秀.单片机应用系统仿真的研究J.现代电子技术.2005, 第286 期7 张友德.单片微型机原理、应用与实验M.上海:复旦大学出版社,2003.225256.8 周志光,刘定良主编; 单片机技术与应用 M 中南大学出版社 20059 胡汉才 单片机原

53、理及其接口技术M. 北京: 清华大学出版社 , 1996.89110.10 杨立民.单片机技术及应用M.西安:西安电子科技大学出版社.1997.90120.89C52的电子钟系统设计J,机电产片开发与创新,2007年第2期13 刘皖等. FPGA设计与应用M,北京:清华大学出版社,2006,614 李刚仁, 王进. 基于单片机AT89C52的实时电子钟的Proteus仿真J. 公路与汽运, 2011,(02)15 刘昕, 杨峰, 谢晋. 基于单片机AT89C52的多功能电子钟设计J. 信息化研究, 2010,(04)16 RichardBlum著;马朝晖等译,汇编语言程序设计M 机械工业出版社

54、 2006 17 尹春雷,基于Proteus的单片机原理与应用 课程教学改革与实践C 2007年全国高等学校电子技术研究会论文集 2007 18 陈明荧编著,8051单片机基础教程 M 科学出版社 200319 卢超,基于单片机的数字电子钟的设计与制作J 大庆师范学院学报 2006(05)20 H.G.Cragon.The Elements of Single-Chip Microcomputer Architecture.ComputerM,1980 (13)274121 Andy Morell. Countdown Timer.ElectronicsJ,2003(29):32122 Mar

55、k E.Buccini.Digital countdown timer never needs battery replacementM. END,2005 (11):7980致 谢首先感谢我的论文指导老师俞晓峰老师,我的论文是在他的悉心指导下完成的。俞老师严谨细致、一丝不苟的作风一直是我工作、学习中的榜样,他循循善诱的教导和不拘一格的思路给予我无尽的启迪。其次我要感谢我的所有任课老师,在我求学的四年期间,是他们用辛勤的汗水教导了我,是他们用宽容、认真的态度一直感染着我。他们不仅仅教给我知识,还有生活的态度,做人的道理,指引了我人生的道路。再次我要感谢一直陪同我走完大学四年求学之路的同寝室的兄

56、弟们,谢谢他们平时对我无微不至的照顾和关心。我很高兴能生活在一个互助友爱和充满活力的集体中,从他们的身上我学到了很多,同时他们给我的大学生活留下了许多美好的回忆。最后,我要特别感谢我的父母。在我求学的过程中他们付出的不仅仅是辛勤的劳动和汗水,而是世界上最崇高、最伟大的爱。他们所做的一切是我这一生都无法回报的。真诚感谢给予我热情帮助和关注的所有人。 附录A 系统电路原理图附录B 引用的外文文献及其译文原文:Microcontrollers are used in a multitude of commercial applications such as modems, motor-control systems, air conditioner control systems, automotive engine and among others. The high processing speed and enhanced peripheral s

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!