《电子时钟计时器的设计(c语言版_调试完美通过_可直接使用)(附原理图源程序以及完整的文档)》由会员分享,可在线阅读,更多相关《电子时钟计时器的设计(c语言版_调试完美通过_可直接使用)(附原理图源程序以及完整的文档)(44页珍藏版)》请在金锄头文库上搜索。
1、 .湖南人文科技学院课程设计报告课程名称:单片机原理及应用课程设计设计题目: 电子时钟的设计 系 别: 通信与控制工程系 专 业: 通信工程 班 级: 09级通信二班 学生姓名: 袁 琦 黄文付 学 号: 09416230 09416227 起止日期: 2011年12月20日2011年12月30日指导教师: 王善伟 姚毅 谢四莲 教研室主任: 刘建闽 Word 资料指导教师评语: 指导教师签名: 年 月 日成绩评定项 目权重成绩袁琦黄文付1、设计过程中出勤、学习态度等方面0.22、课程设计质量与答辩0.53、设计报告书写及图纸规范程度0.3总 成 绩 教研室审核意见:教研室主任签字: 年 月
2、日教学系审核意见: 主任签字: 年 月 日摘 要时钟是人类日常生活必不可少的工具,本设计从日常生活中常见的事物入手,通过对电子时钟的设计,让我们认识到单片机已经深入到我们生活的每个领域,该设计不仅可以锻炼我们的动手能力,而且可以加深我们对单片机的认识和激发我们对未知科学领域的探索。本文利用单片机实现数字时钟计时功能的主要内容。它体积小,成本低、功能强、使用方便、可靠性高等一系列优点,广泛应用于智能产业和工业自动化上。本次设计采用独立式按键进行时间调整,其中STC89C52是核心元件,同时采用数码管LED动态显示“时”,“分”,“秒”的现代计时装置。与传统机械表相比,它具有走时精确,显示直观等特
3、点。它的计时周期为24小时,显满刻度为“23时59分59秒”,另外利用DS1302具有校时功能,断电后有记忆功能,恢复供电时可实现计时同步等特点。该系统同时具有硬件设计简单、工作稳定性高、价格低廉等优点。关键词:STC89C52 ; LED数码管;8255芯片;DS1302芯片;Word 资料目录设计要求11方案论证与对比11.1方案一11.2方案二21.3方案对比22系统硬件电路的设计32.1单片机的选择及引脚功能介绍32.2 8255A芯片的结构及引脚功能介绍42.3 DS1302芯片的结构及引脚功能介绍62.4显示电路设计72.5电源电路设计82.6键盘动态扫描电路设计83控制系统的软件
4、设计103.1主程序流程图103.2显示子程序113.3闹钟时间设定功能程序113.4键盘扫描程序124系统功能调试与整体指标134.1硬件调试与分析134.2软件调试与分析144.3性能分析145详细仪器清单146总结与思考及致谢15参考文献16附录一:程序(方案一)17附录二:程序(方案二)25电子时钟的设计设计要求利用单片机作为控制核心,完成一个时钟计时器。具体要求如下:(1)采用6位LED数码显示时、分、秒。(2)时制式为24小时制。(3)使用按键开关可实现时、分调整。(4)秒表/时钟功能转换。(5)定时设定提醒的功能。(6)整点提醒(蜂鸣)。(7)DS1302设时,对时,掉电记忆时间
5、的功能。1方案论证与对比1.1方案一此方案采用单片机内部定时器T0进行计时,STC89S52实时控制。如图1所示:图 1 方案一系统方框图1.2方案二此方案采用专用时钟芯片DS1302精确计时,单片机STC89C52实时读取时钟显示至6位数码管。如图2所示:图 2 方案二系统方框图1.3方案对比以上方案中,方案一设计简洁,编程比较简单,计时精度不高,准确性不能完全保证。虽硬件简洁、成本更低廉、便于实现,绿色环保,编程简单易写,不能达到提高同学们编程的能力和对单片机及其扩展芯片的学习和深程度的去了解单片机及其更广泛的应用,故在此我们选择挑战,放弃对其选择。虽然我们对其进行了放弃,但我们也把此方法
6、的程序写好以便进行对比。方案二与方案一相比,编程比较复杂,计时精度较高,而且可以灵活运用,可扩展性好,并能充分的利用单片机的有效资源。还可让我们培养我们的自学能力,自己去发掘单片机内部结构及其扩展功能,自己去学会怎样对其他芯片控制的学习方法,使得课程设计具有一定的挑战性,正因如此,故我们选择方案二。2系统硬件电路的设计2.1单片机的选择及引脚功能介绍STC89C52具有如下特点:40个引脚(引脚图如图四所示),4k Bytes Flash片内程序存储器,128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计
7、数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。此外,STC89C52RC设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有PDIP、TQFP和PLCC等三种封装形式,以适应不同产品的需求。图4 STC89C52芯片引脚图引脚功能介绍:VCC(40):5V; GND(20):接地; P0口(3932):P0口为8位漏极开路双向I/O口,每引脚可吸收8个TTL门电流; P1口(18):P1口是从内部提
8、供上拉电阻器的8位双向I/O口,P1口缓冲器能接收和输出4个TTL门电流; P2口(2128):P2口为内部上拉电阻器的8位双向I/O口,P2口缓冲器可接收和输出4个TTL门电流; P3口(1017):P3口是8个带内部上拉电阻器的双向I/O口,可接收和输出4个TTL门电流,P3口也可作为AT89C51的特殊功能口; RST(9):复位输入。当振荡器复位时,要保持RST引脚2个机器周期的高电平时间; ALE/PROG(30):当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的低位字节,在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振
9、荡器频率的1/6,它可用作对外部输出的脉冲或用于定时目的,要注意的是,每当访问外部数据存储器时,将跳过1个ALE脉冲; PSEN(29):外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期2次PSEN有效,但在访问外部数据存储器时,这2次有效的PSEN信号将不出现; EA/VPP(31):当EA保持低电平时,外部程序存储器地址为(0000HFFFFH)不管是否有内部程序存储器。FLASH编程期间,此引脚也用于施加12V编程电源(VPP); XTAL1(19):反向振荡器放大器的输入及内部时钟工作电路的输入;XTAL2(18):来自反向振荡器的输出。2.2 8255A芯片的结构及
10、引脚功能介绍8255A芯片是Intel公司生产的通用可编程并行接口电路,广泛应用于单片机扩展并行I/O口。它具有8个位并行口PA、PB和PC。8255A芯片的内部结构及引脚如图5所示。(1)8255A的内部结构8255A的内部结构有以下几部分组成:a.并行I/O端口A、B、C 8255A的内部有3个8位并行I/O口:A口、B口、C口。3个I/O口都可以通过编程选择为输入口或输出口,但在结构和功能上有所不同。A口:含有一个8位数据输出锁存/缓冲器和一个8位输入锁存器。B口:含有一个8位数据输出锁存/缓冲器和一个8位输入锁存器(不锁存)。C口:含有一个8位数据输出锁存/缓冲器和一个8位输入锁存器(
11、不锁存)。当数据传送不需要联络信号时,这3个端口都可以用作输入口或输出口。当A口B口需要有联络信号时,C口可以作为A口和B口的联络信号线。b.工作方式控制电路:8255A的三个端口在使用使可分为A、B两组。A组包括A口8位和C口高4位:B组包括B口8位和C口低4位。两组的控制电路中分别有控制寄存器,根据写入的控制字决定两组的工作方式,也可对C口每一位置“1” 或清“0”。c.数据总线缓冲器:数据总线缓冲器是三态双向的8位缓冲器,是8255A与单片机数据总线的接口,8255A的D0D7可以和AT89C51单片机的P0.0P0.7直接相连。数据的输入输出、控制字和状态信息的传递,均可通过数据总线缓
12、冲器进行。d.读/写控制逻辑:8255A读/写控制逻辑的作用是从CPU的地址和控制总线上接受有关信号,转变成各种控制命令送到数据缓冲器及A组和B组的控制电路,控制A、B、C3个端口的操作。其引脚图如图5所示:图5 8255引脚图引脚功能介绍:8255A共有40个引脚,一般为双列直插DIP封装,40个引脚可分为与CPU连接的数据线、地址和控制信号以及与外围设备连接的三个端口线。D0D7:双向三态数据总线。RESET:复位信号,输入,高电平有效。复位后,控制寄存器清0,A口、B口、C口被置为输入方式。CS:片选信号,输入,低电平有效。RD.:读信号,输入,低电平有效。有效时,允许CPU通过8255
13、A D0D7读取数据或状态信息。WR.:写信号,输入,低电平有效。有效时,允许A1A0:端口控制信号,输入。2位可构成四种状态,分别寻址A口、B口、C口和控制寄存器PA0PA7:A口数据线,双向。PB0PB7:B口数据线,双向。PC0PC7:C口数据/信号线,双向。当8255A工作于方式0时,PC0PC7分为两组(每组4位)并行I/O数据线;当8255A工作于方式1或方式2时,PC0PC7为A口、B口提供联络信号。2.3 DS1302芯片的结构及引脚功能介绍 DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,它可以对年、月、日、周日、时、分、秒进行计时,具有
14、闰年补偿功能,工作电压为2.5V5.5V。采用三线接口与CPU进行同步通信,并可采用突发方式一次传送多个字节的时钟信号或RAM数据。DS1302内部有一个318的用于临时性存放数据的RAM寄存器。DS1302是DS1202的升级产品,与DS1202兼容,但增加了主电源/后背电源双电源引脚,同时提供了对后背电源进行涓细电流充电的能力。(1)DS1302的引脚功能及结构 DS1302的引脚排列,其中Vcc1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由Vcc1或Vcc2两者中的较大者供电。当Vcc2大于Vcc10.2V时,Vcc2给DS1302供电。当Vcc2小于Vcc1时,DS1302由Vcc1供电。X1和X2是振荡源,外接32