854611225基于单片机的数字时钟设计论文.doc

上传人:仙人指路1688 文档编号:4146160 上传时间:2023-04-07 格式:DOC 页数:17 大小:208KB
返回 下载 相关 举报
854611225基于单片机的数字时钟设计论文.doc_第1页
第1页 / 共17页
854611225基于单片机的数字时钟设计论文.doc_第2页
第2页 / 共17页
854611225基于单片机的数字时钟设计论文.doc_第3页
第3页 / 共17页
854611225基于单片机的数字时钟设计论文.doc_第4页
第4页 / 共17页
854611225基于单片机的数字时钟设计论文.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《854611225基于单片机的数字时钟设计论文.doc》由会员分享,可在线阅读,更多相关《854611225基于单片机的数字时钟设计论文.doc(17页珍藏版)》请在三一办公上搜索。

1、XXX职业技术学院 课题名称:单片机数字时钟设计 学生姓名: 专业班级: 学 号: 指导教师: 一. 硬件设计.51.系统原理分析.52.硬件电路图及功能.63.特殊功能.8二. 软件设计.91.程序流程图.92.实现主程序.10三.结束语.16三. 参考文献.16前言在信息技术急速发展的今天,计算机科学日新月异。而单片机作为计算机科学的一个分支,在微机控制领域得到长足发展。在计算机网络,通讯方面是微机的天下;而在微控制领域,小到电子表,大到家用电器,到处都有单片机的用武之地. 在当代繁忙的工作与生活中,时间与我们每一个人都有非常密切的关系,每个人都受到时间的影响。为了更好的利用我们自己的时间

2、,我们必须对时间有一个度量,因此产生了钟表。钟表的发展是非常迅速的,从刚开始的机械式钟表到现在普遍用到的数字式钟表,即使现在钟表千奇百怪,但是它们都只是完成一种功能计时功能,只是工作原理不同而已,在人们的使用过程中,逐渐发现了钟表的功能太单一,没有更大程度上的满足人们的需求。因此在这里,我想能不能把一些辅助功能加入钟表中去。在此设计中所设计的钟表不但具有普通钟表的功能,它还能实现多个额外的功能:温度测量、电网频率测量,而且还能进行遥控止闹。本设计主要分为硬件电路设计和软件实现两大部分。硬件电路设计采用模块设计:中央处理电路、时钟电路、电压与电网频率测量电路、V/F转换电路、音乐闹钟电路、键盘电

3、路和液晶显示电路、指示灯电路、通信电路以及电源电路几大部分;软件采用汇编语言编程实现.基于单片机数字钟设计摘 要: 数字钟在日常生活中最常见,应用也最广泛。本文主要就是设计一款数字钟,以89C51单片机为核心,配备液晶显示模块、时钟芯片、等功能模块。数字钟采用12/24小时制方式显示时间,定时信息,AM、PM提示以及年月日显示等功能。文章的核心主要从硬件设计和软件编程两个大的方面。硬件电路设计主要包括中央处理单元电路、时钟电路、人机接口电路、信号处理电路、执行电路等几部分组成,为了用电池作电源,采用低功耗的CMOS芯片及液晶显示器.软件用汇编语言来实现。关键词: 单片机 液晶显示器模块 数字钟

4、Abstract: digital clock in their daily lives the most common, is the most widely applied. The main section is designed digital bell to Shanpianji 89C51 core, with LCD modules, clock chips, and other functional modules. 12/24 hours using digital bell system display time, regular information, am, pm a

5、nd the presentation . shows, and other functions. The article primarily from the core hardware design and software programming two major aspects. Hardware circuit design include central processing units circuits, clock circuits, computer interface circuits, signal processing circuits, implementation

6、 of several components, such as circuits to batteries for power, the use of low consumption of CMOS chips and liquid crystal displays. Software used for the compilation of language.Keywords:Single chip computer; liquid crystal display modules; figures bell在信息技术急速发展的今天,计算机科学日新月异。而单片机作为计算机科学的一个分支,在微机控

7、制领域得到长足发展。在计算机网络,通讯方面是微机的天下;而在微控制领域,小到电子表,大到家用电器,到处都有单片机的用武之地. 在当代繁忙的工作与生活中,时间与我们每一个人都有非常密切的关系,每个人都受到时间的影响。为了更好的利用我们自己的时间,我们必须对时间有一个度量,因此产生了钟表。钟表的发展是非常迅速的,从刚开始的机械式钟表到现在普遍用到的数字式钟表,即使现在钟表千奇百怪,但是它们都只是完成一种功能计时功能,只是工作原理不同而已,在人们的使用过程中,逐渐发现了钟表的功能太单一,没有更大程度上的满足人们的需求。因此在这里,我想能不能把一些辅助功能加入钟表中去。在此设计中所设计的钟表不但具有普

8、通钟表的功能,它还能实现多个额外的功能:温度测量、电网频率测量,而且还能进行遥控止闹。本设计主要分为硬件电路设计和软件实现两大部分。硬件电路设计采用模块设计:中央处理电路、时钟电路、电压与电网频率测量电路、V/F转换电路、音乐闹钟电路、键盘电路和液晶显示电路、指示灯电路、通信电路以及电源电路几大部分;软件采用汇编语言编程实现.DS181320温度传感器液晶显示键盘输入与控制 8051 DS12887实时时钟闹铃指示门控电 路波形整形电 源基准时钟信号发生器图1.系统结构图一.硬件设计1.系统原理分析系统设计中用到89C51单片机的部分功能:包括内部定时器,键盘扩展,程序中断,口通信等。用一个四

9、联体的共阴极八段显示器,可通过一个输入输出口作为显示器数据发送端;另一个输入输出口的四位作为显示器各位的片选信号,另四位作为键盘扩展口使用。采用一个频率为32.768 KHz的晶振构成时钟电路。系统原理图如图1:显示器单片机串口键盘图2. 系统原理图2.硬件电路图及其功能图3.硬件电路图其功能为: 功能说明(1).内定时间为12点00分00秒,提供新产品或换电池时使用.如里没有内定时间在首次开机进,会造成时间乱码,至于开机时是使用内定时间还是RTC内部时间由RTC使用者RAM 0E地址的内容来决定,其内容为1表示RTC内部已有时间值,读取RTC内部时间表示,非1则表示RTC内部尚末有时间值,定

10、入内定时间并显示(2).时间调整每按P3.0(RXD)一次加1秒每按P3.1(RXD)一次加1分每按P3.2(RXD)一次加1时(3).硬件电路说明(a)8054ALR为电位检测器,引脚1-OUT,引脚2-VCC,引脚3-GND当VCC大于4.5时,OUT为HI,小于4.5V为L0(b)当外部电源存在时,3906三极管饱和,使VB约为+5V,8054ALR的OUT脚为HI,由8051的P2.0控制ML146818的KE脚,P2.0=0时使能,可进行存取(c)当外部电源消失时,3906三极管截止,使VB由镍镉电池提供为3.6V使8054ALR的OUT脚为L0,此时MC146818的KE必为HI,

11、只进行时钟计时功能及保留其内部RAM的数据(d)本电路MC146818 OSC1 OSC2时基脉冲输入方式与个人电脑相同采用外部时基脉冲输入,由4069 32.768KHZ 10P 2M组成时钟输入OSC1(OSC2开路)(e)8051 P1口接6个七段显示器分别显示时分秒,由TIMER1每3ms中断一次执行扫描显示工作(4).读取MC146818时间读取MC146818的时钟值有下列3种方法:(a)检查A寄存器的UIP=0,表示未进行周期更新,至少有244us的时间可读取.(b)更新周期结束中断(设定B寄存器UIE=1),约有1秒的时间可读取.(c)周期性中断法(设定B寄存器PIE=1),约

12、有1984+244us的时间可读.(5).本专题采用更新周期结束中断时,约有1秒的时间可读MC146818的时间值,其步骤如下:(a)硬件:MC146818的/IRQ接8051INT1,当更新周期结束时,由/IRQ产生低电平,对8051INT1产生中断.(b)设定MC146818B寄存器的UIE=1,更新周期结束中断使能位,中断时由/IRQ输出低电平.(c)产生中断后,须读取MC146818C寄存器一次,将/RIQ清除为0,否则会产生中断错误.(6).RTC地址设置:P27 P26 P25 P24 P23 P22 P20 P07 P06 P05 P04 P03 P02 P01 P00X X X

13、 X X X 0 X X X X X X X XRTC EQU 0000;定义MC146818起始地址=秒地址各寄存器读写地址如下:RTC 秒;RTC+2 分;RTC+4 时;RTC+0AH A寄存器;RTC+0BH B寄存器;RTC+0CH C寄存器;3.特殊功能1. 温度检测方案选择采用集成温度传感器 DS18B20 。该传感器结构简单,不需外接电路,数据传输采用 one-wire总线,可用一根 I/O数据线即供电又传输数据,在-10 -+85范围内精度为0.5,完全能满足题目1的要求,且分辨率较高,重复性和可靠性好。2、 闹铃响及报警模块 闹铃响采用带音乐芯片的扬声器,过、欠压报警采用不

14、同声音的蜂鸣器完成报警功能。二.软件设计1. 程序流程图图4.程序流程图2.实现主程序PTC EQU 0000H ;定义MC146818起始地址=秒地址TIME EQU 30H ;存放时分秒起始地址30H50HPTR EQU20H ;显示器扫描指针 ORG 00HJMP STARTORG 13HJMP EXET1 ;INT1中断子程序ORG 1BHJMP TIMER1 ;TIMER1中断子程序START: MOV SP,#70H ;设置堆栈 MOV TMOD,#10 MOV TL1,#LOW(65536-3000);3ms中断一次扫描七段显示器 MOV TH1,#HIGH(65536-3000

15、) MOV PTR,#00H ;显示扫描指针为0 MOV IE,#8CH ;TIMER1 INT1中断使能 SETB TR1 ;启动TIMER1 MOV DPTR,#RTC+0AH ;A寄存器32.768KHZ DV2=0 DV1=1 DV0=0 MOV A,#20H MOVX DPTR,#RTC+0BH;B寄存器SET=1更新周期停止,进行时钟设定 MOV A,#80H MOVX DPTR,A MOV DPTR,#RTC+0EH ;读取RTC 0E地址内容判断是否为1? MOVX A,DPTR CJNZ A,#01H,START0 JMP START1START0: ;不是则写入内定时间12

16、:00:00 MOV DPTR,#RTC ;秒地址 MOV A,#00H ;00秒 MOVX DPTR,A MOV DPTR,#RTC+2 ;分地址 MOV A,#00H ;00分 MOVX DPTR,A MOV DPTR,#RTC+4 ;时地址 MOV A,#12H ;12时 MOVX DPTR,A MOV DPTR,#RTC+0EH ;RTC 0E地址写入1,表示内部已有时间值的识别码 MOV A,#01H MOVX DPTR,ASTART1: MOV DPTR,#RTC+0BH ;是则B寄存器UIE=1,RTC中断使能开始计时(十进制,24小时制) MOV A,#12H MOVX DPT

17、R,ALOOP: JNB P3.0,SEC0 ;是否按P3.0?是则秒加1 JNB P3.1,MIN0 ;是否按P3.1?是则分加1 JNB P3.2,HUR0 ;是否按P3.2?是则时加1 JNB LOOPSEC0: JMP SEC ;间接跳跃 MIN0: JMP MIN ;间接跳跃HUR0: JMP HUR ;间接跳跃SEC: CALL DELAY ;按钮消除抖动 JNB P3.0,$ ;检测按钮是否放开? CALL DELAY ;按钮消除抖动 MOV DPTR,#RTC+0BH MOV A,#80H ;B寄存器SET=1更新周期停止,进行时钟设定 MOVX DPTR,A MOV DPTR

18、,#RTC ;读取秒寄存器内的值 MOVX A,DPTR CJNE A,#59H,SEC1 ;是否为59H,是则存入0 MOV A,00H JMP SEC2SEC1: ADD A,#01H ;不是则秒加1,做十进制调整 DA ASEC2: MOV DPTR,#RTC ;写入秒寄存器 MOVX DPTR,A MOV B,#10H ;将秒个位数与十位数分别写入RAM 30H 31H DIV AB MOV TIME+1,A MOV TIME,BSEC3: MOV DPTR,#RTC+0BH ;B寄存器UIE=1 RTC中断使能开始计时(十进制,24小时制) MOV A,#12H MOVX DPTR,

19、A JMP LOOPMIN: CALL DELAY ;按钮消除抖动 JNB P3.1,$ ;检测按钮是否放开? CALL DELAY ;按钮消除抖动 MOV DPTR,#RTC+0BH MOV A,#80H ;B寄存器SET=1更新周期停止,进行时钟设定 MOVX DPTR,A MOV DPTR,#RTC+2 ;读取分寄存器内的值 MOVX A,DPTR CJNE A,#59H,MIN1 ;是否为59,是则存入0 MOV A,#00H JMP MIN2MIN1: ADD A,#01H ;不是则分加1,作十进制调整 DA AMIN2: MOV DPTR,#RTC+2 ;写入分寄存器 MOVX D

20、PTR,A MOV B,#10H ;将分个位数与十位数分别写入RAM 32H 33H DIV AB MOV TIME+3,A MOV TIME+2,B JMP SEC3HUR: CALL DELAY ;按钮消除抖动 JMP P3.2,$ ;检测按钮是否放开? CALL DELAY ;按钮消除抖动 MOV DPTR,#RTC+0BH MOV A,#80H ;B寄存器SET=1更新周期停止,进行时钟设定 MOVX DPTR,A MOV DPTR,#RTC+4 ;读取时寄存器内的值 MOVX A.DPTR CJNE A,#32H,HUR1 ;是否为23H,是则存入0 MOV A,#00H JMP H

21、UR2HUR1: ADD A,#01H ;不是则时加1,做十进制调整 DA AHUR2: MOV DPTR,#RTC+4 ;写入时寄存器 MOVX DPTR,A MOV B,#10H ;将时个位数与十位数分别定入RAM 34H 35H DIV AB MOV TIME+5,A MOV TIME+4,B JMP SEC3TIMER1: PUSH ACC PUSH PSW MOV TL1,#LOW(65536-3000);重设中断时间3ms MOV TH1,#HIGH(65536-3000) MOV A,PTR CJNE A,#06H,TIM10;是否已扫描指针加时间RAM地址,显示该时间地址的内容

22、 ADD A,#TIME MOV R0,A MOV A,PTR ;显示器扫描码(在十进数)加数据码(个位数)输出至P1显示 SWAP A ORL A,R0 MOV P1,A INC PTR ;扫描下一个显示器 POP PSW POP ACC RETIEXT1: ;INT1中断子程序 PUSH ACC PUSH PSW MOV DPTR,#RTC+0CH;读C寄存器,清除中断标志位IRQF MOVX A,DPTR MOV DPTR,#RTC ;读秒寄存器的值 MOVX A,DPTR MOV B,#10H ;将十位数个位数分别存入31H 30H DIV AB MOV TIME,B MOV TIME

23、+1,A MOV DPTR,#RTC+2 ;读分寄存器的值 MOVX A,DPTR MOV B,#10H ;将十位数个位数分别存入33H 32H DIV AB MOV TIME+2,B MOV TIME+3,A MOV DPTR,#RTC+4 ;读时寄存器的值 MOVX A,DPTR MOV B,#10H ;将十位数个位数分别存入35H 34H DIV AB MOV TIME+4,B MOV TIME+5,A POP PSW POP ACC RETIDELAY: MOV R6,#60 ;延时30msD1: MOV R7,#248 DJNZ R7,$ DJNZ R6,D1 RET END三.结束

24、语本系统以8051为核心部件,利用软件编程,通过键盘控制和液晶显示实现了时钟功能、闹钟功能,并完成了对环境温度测量显示,能实现题目的基本要求和发挥部分。尽量做到硬件电路简单稳定,减小电磁干扰和其他环境干扰,充分发挥软件编程的优点,减小因元器件精度不够引起的误差。由于时间有限和本身知识水平的发挥,我们认为本系统还有需要改进和提高的地方,例如选用更高精度的元器件,硬件电路更加精确稳定,软件测量算法进一步的改进与完善等四.参考文献电路原理图与电路板设计教程Protel 99se 北京希望电子出版社2002 M中国集成电路大全CMOS集成电路(第一版)国防工业出版社1985 M数字电路实践技术(第一版)中国科学技术出版社2000 M微型计算机原理与汇编语言 电子工业出版社1995 M微机计算原理及应用(第三版) 清华大学出版社2001 M单片机系统设计及工程应用 西安电子科技大学出版社2005 M

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号