基于某52单片机电子时钟的设计论文设计(纯总汇编语言编写)
基于AT89S52单片机的电子时钟设计
![基于AT89S52单片机的电子时钟设计](https://img.taocdn.com/s3/m/ea7d8c67ec3a87c24128c456.png)
摘要单片机在电子产品中的应用越来越广泛,特别是51系列的单片机,由于其使用方便、价格低廉等优势,在市场上占有很大的份额。
AT89S52就是51系列中的一个比较成熟的型号,它完全兼容51单片机的指令。
本文详细介绍了一款基于AT89S52单片机数字钟的设计,通过多功能数字钟的设计思路,详细叙述了系统硬件、软件的具体实现过程。
论文重点阐述了数字钟硬件中时钟模块、和相关控制模块等的模块话设计与制作;软件同样采用模块话的设计,包括中断模块、时间调整模块设计,并采用简单流通性强的C语言编写实现。
本设计实现了用LCD1602显示器显示年、月、日、星期、时、分、秒的显示功能以及跑表功能。
关键词AT89S52单片机/数字钟/LCD1602/DS1302时钟芯片目录第一章工程训练目的、要求概述 (3)1.1 基本目的 (3)1.2 基本要求 (3)第二章设计方案的选择和确定 (4)2.1、单片机选择与论证 (4)2.2、时钟实现的选择与论证 (4)2.3、显示的选择与论证 (4)第三章系统硬件设计 (5)3.1器件选型 (5)3.2器件介绍 (5)3.2.1 单片机AT89S52 (5)3.2.2 LCD1602显示模块 (6)3.2.3 时钟芯片DS1302 (6)第四章系统的软件设 (8)4.1、proteus仿真图 (8)4.2、设计流程图 (8)第五章PCB板的制作与元器件的安装 (11)5.1、PCB板的制作流程介绍 (11)5.2、protel原理图 (11)5.3、生成PCB图及制板 (11)5.4、安装元器件 (11)第六章性能测试、故障分析及作品展示 (12)6.1、故障分析 (12)6.2、作品展示 (12)第七章心得体会 (13)附录1:工程训练成绩评定表 (14)附录2:时钟设计程序 (15)第一章工程训练目的、要求概述1.1 基本目的此次工程训练选择使用52系列单片机来制作日历时钟。
学生通过实训了解相关芯片的基本结构、工作原理、特性和参数以及由它们构成的日历时钟的工作原理、原理图的设计和参数的计算、元器件的选用、计算机软件实现硬件的仿真、PCB板的设计、电路的安装和调试,最后完成达到技术指标要求的标准产品。
基于单片机的智能电子钟系统设计毕业设计论文
![基于单片机的智能电子钟系统设计毕业设计论文](https://img.taocdn.com/s3/m/c15f80810b1c59eef9c7b450.png)
基于单片机的智能电子钟系统设计课程名称: MCS-51单片机应用设计基于单片机的智能电子钟系统设计摘要:电子钟是一种利用数字电路来显示时间的计时装置,与传统的机械钟相比,它具有走时准确、显示直观、无机械传动装置等优点,因而得到广泛应用。
本设计通过以单片机芯片STC89C51为核心,通过软件编程完成时钟及定时的基本功能,温度芯片DS18B20完成温度测量功能。
采用了六位数码管动态显示时、分、秒,两个LED灯分别指示上下午,同时还有两个LED灯每半秒分别闪烁一次。
通过4个外部按键可以控制小时和分钟的定时和定闹以及报警。
此电子钟具有性能优越,操作简单等优点。
关键词:智能电子钟、STC89C51、LED数码管、DS18B20毕业论文(设计)原创性声明本人所呈交的毕业论文(设计)是我在导师的指导下进行的研究工作及取得的研究成果。
据我所知,除文中已经注明引用的内容外,本论文(设计)不包含其他个人已经发表或撰写过的研究成果。
对本论文(设计)的研究做出重要贡献的个人和集体,均已在文中作了明确说明并表示谢意。
作者签名:日期:毕业论文(设计)授权使用说明本论文(设计)作者完全了解**学院有关保留、使用毕业论文(设计)的规定,学校有权保留论文(设计)并向相关部门送交论文(设计)的电子版和纸质版。
有权将论文(设计)用于非赢利目的的少量复制并允许论文(设计)进入学校图书馆被查阅。
学校可以公布论文(设计)的全部或部分内容。
保密的论文(设计)在解密后适用本规定。
作者签名:指导教师签名:日期:日期:注意事项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
基于单片机的电子时钟设计【文献综述】
![基于单片机的电子时钟设计【文献综述】](https://img.taocdn.com/s3/m/fb89632add3383c4ba4cd275.png)
毕业设计开题报告电子信息工程基于单片机的电子时钟设计摘要本文的内容主要介绍了以MCS-51单片机为核心的数字钟的硬件结构以及软件的设计,其中应用了DS12887时钟芯片、1602液晶显示器(LCD)以及蜂鸣器等器件,一起实现了数字时钟定时、准点闹铃和调时等功能。
该设计的电路部分主要由时钟模块、液晶显示、键盘调时和蜂鸣器报时三个模块组成。
文章通过对数字钟和单片机的发展背景、现状和发展前景以及应用的介绍,确定了该课题研究的方向。
在最后的总结中,概括了单片机系统的性能、特点以及发展方向。
一、前言设计的目的:在设计的过程中,我们可以理解单片机最小系统的概念,知道怎么才能让单片机系统运行起来,使我们对单片机的理解不仅仅局限于理论上;通过键盘和显示模块的设计,我们可以了解单片机控制的基本理念,并了解单片机和外围IC的接口模型;而通过对单片机最重要两个功能(中断、定时)的使用,可以使我们熟悉单片机的基本结构与工作原理;在最终的制作过程中,我们还可以熟悉硬件制作的流程和实现软件功能的过程,以提高动手能力,让理论和实践相结合。
设计的内容:利用单片机最小系统,设计一个电子时钟,要求包括以下内容:(1)显示时间、日期、三组闹铃。
(2)4个按键实现显示状态切换,时间、日期、闹铃的设置。
(3)闹铃时间到蜂鸣器以1HZ的频率响三次。
(4)单片机停电重启后定时设计不变、时间准确。
设计的意义:电子时钟是一种采用数字电路实现显示时、分、秒数字的计时装置,是人们日常生活中不可缺少的物品,在个人,家庭以及办公室等公共场所中被广泛应用,给人们的生活,学习,工作以及娱乐带来了许多便利条件。
而由于数字集成电路和石英晶体振荡器等相关技术的不断发展,电子时钟的性能相对于老式钟表有了更大的提高,变得更加准确、稳定,携带也变得越来越方便,并且还大大的扩展了原来所以的报时功能。
在许多方面,例如定时自动报警、时间程序自动控制、按时自动打铃、定时广播、自动起闭路灯、甚至各种定时电气的自动启用等,都是在钟表数字化的基础上制成的。
毕业设计论文_单片机电子时钟的设计
![毕业设计论文_单片机电子时钟的设计](https://img.taocdn.com/s3/m/dbab1c0db207e87101f69e3143323968011cf482.png)
毕业设计论文_单片机电子时钟的设计摘要:电子时钟作为一种常见的时间显示装置,在现代社会中应用广泛。
本文设计了一款基于单片机的电子时钟,使用DS1307实时时钟芯片来获取系统时间,并通过数码管进行显示。
设计过程中,通过对单片机的编程和电路的连接,实现了时间的显示与调节功能,具有较高的准确性和稳定性。
该设计方案简单、实用,可用于各种场合。
关键词:单片机;电子时钟;DS1307;数码管1.引言电子时钟是一种利用电子技术构造的显示时间的装置,具有时间准确、使用简单、显示清晰等特点,广泛应用于生活和工作中。
本文以单片机为核心,设计了一款实时准确的电子时钟,提高了时间的准确度和稳定性。
2.设计原理该设计的核心是通过单片机与DS1307实时时钟芯片的连接,使得单片机可以获取到准确的系统时间,并通过数码管进行显示。
DS1307芯片通过I2C总线与单片机连接,通过读取芯片中的时间寄存器,单片机可以获得当前的时间信息。
3.硬件设计本设计中使用了AT89S52单片机作为主控芯片,通过引脚与DS1307芯片相连。
单片机的P0口接到数码管的段选信号,P1口接到数码管的位选信号,通过控制这两个口的输出状态,可实现对数码管上显示的数字进行控制。
同时,为了使时钟可以正常运行,需外接一个晶振电路为单片机提供时钟信号。
4.软件设计通过对单片机的编程,实现了以下功能:(1)初始化DS1307芯片,设置初始时间;(2)每隔一秒读取一次DS1307芯片的时间寄存器,将时间信息保存到单片机的RAM中;(3)根据当前时间信息,在数码管上显示对应的小时和分钟。
5.调试与测试经过硬件的连接以及软件的编写,进行了调试与测试。
将初始时间设置为08:30,观察数码管上的显示是否正确,以及时间是否准确。
同时,通过手动调节DS1307芯片中的时间,检查单片机是否能正确获取时间,并进行显示。
6.总结与展望本文设计了一款基于单片机的电子时钟,通过单片机与DS1307芯片的连接和编程,实现了准确的时间显示功能。
(完整版)基于51单片机的数字钟毕业论文
![(完整版)基于51单片机的数字钟毕业论文](https://img.taocdn.com/s3/m/1b3974300622192e453610661ed9ad51f01d5414.png)
西安邮电学院毕 业 设 计(论 文)题 目: 基于51单片机的数字钟设计院 (系):专 业:班 级:学生姓名:导师姓名: 职称:基于单片机的数字钟毕业论文摘要…………………………………………………………………………… ⅠAbstract……………………………………………………………………… (Ⅱ)第1章 绪 论 (2)1.1 课题背景 (2)1.2 课题来源 (2)1.3 本章小结 (3)第2章 MCS-51单片机的结构 (4)2.1 控制器 (4)2.2 存储器的结构 (4)2.3 并行IO口 (5)2.4 时钟电路与时序 (5)2.5 单片机的应用领域 (6)2.6 本章小结 (6)第3章 电路的硬件设计 (7)3.1 复位电路 (7)3.2 时钟电路 (7)3.3 按键电路 (8)3.4 相关控制电路 (9)3.4.1 控制打铃电路 (9)3.4.2 时间表显示电路 (9)3.5 数码管显示电路 (10)3.6 电源电路设计 (10)3.7 本章小结 (10)第4章 电路的软件设计 (11)4.1 软件程序内容 (11)4.2 软件流程图 (11)4.3 定时程序设计 (12)4.3.1实时时钟实现的基本方法 . (13)4.3.2 实时时钟程序设计步骤 (13)4.4程序说明 (13)4.5 本章小结 (14)第5章 结论与展望 (15)5.1 结论 (15)5.2 单片机的发展趋势 (15)参考文献 (17)附录………………………………………………………………………………18第1章 绪 论1.1 课题背景单片机自1976年由Intel公司推出MCS-48开始,迄今已有二十多年了。
由于单片机集成度高、功能强、可靠性高、体积小、功耗地、使用方便、价格低廉等一系列优点,目前已经渗入到人们工作和生活的方方面面,几乎“无处不在,无所不为”。
单片机的应用领域已从面向工业控制、通讯、交通、智能仪表等迅速发展到家用消费产品、办公自动化、汽车电子、PC 机外围以及网络通讯等广大领域。
基于52单片机的时钟设计
![基于52单片机的时钟设计](https://img.taocdn.com/s3/m/be7c77690b1c59eef8c7b459.png)
单片机设计任务书参考程序:;-------------------------------------------------------------------;本电子钟实现24小时制,8位数码管显示时分秒,可整点报时;显示格式:00-00-00(设置小时十位为0时,不显示);通过3只按键来调整时间;调整选择键SET_KEY:P1.0;通过选择键选择调整位,选中位闪烁; 增加键ADD_KEY:P1.1;按一次使选中位加1; 减少键DEC_KEY:P1.2;按一次使选中位减1;如果长按ADD_KEY或DEC_KEY,可进行调时、调分快进快减,并停止闪烁;如果选中位是秒,则按增加键或减少键可实现,但无调时快进和快减功能;P0口输出数码管段选信号,P3口输出数码管位选信号;晶振11.0592M;P2.1为蜂鸣器发声报时;编程人:郑振凡编写日期:2009年12月2日修改日期(最终):2009年12月6日;-------------------------------------------------------------------;-----------;程序入口;-----------ORG 0000H ;程序入口地址LJMP STARTORG 000BH ;定时器0中断入口地址LJMP TIMET0ORG 1000H;----------------------------------;显P.程序;功能:可以在8个数码闪烁移位进行屏保;----------------------------------START:MOV R6, #2 ;闪烁次数MOV A, #01H ;位选TT:MOV P3, AMOV P0, #0CH ;段码"P."LCALL DELAYMOV P3, #00HDJNZ R6, TTLCALL DELAYLCALL DELAY1RR AJB P1.0, TT ;键是否按下,没按下则转移LCALL DELAY ;延时去抖JNB P1.0, KAI ;再次判断键是否按下KAI:SETB P1.0CLR A ;状态恢复MOV P0, #0FFHLCALL DELAY1SETB 48H ;用于调时闪烁标志SETB 47H ;用于产生脉冲用于调时快进的脉冲MOV R1, #0 ;调整选择键功能标志:0计时、1调时、2调分、3调秒;-------------------------------;清16位寄存器及初始化;50H 用于控制秒基准时钟源的产生;51H 清零秒寄存器;52H 清零分寄存器;53H 清零时寄存器;5FH 用于秒个位;5EH 用于秒十位;5DH 用于分个位;5CH 用于分十位;5BH 用于时个位;5AH 用于时十位;54H 用于控制调时闪烁;-------------------------------MOV R0, #50H ;初始化MOV R6, #10HCLEARJCQ:MOV @R0, #00H ;清寄存器INC R0DJNZ R6, CLEARJCQMOV IP, #02HSETB EASETB ET0MOV TMOD, #01H ;设定定时器0工作方式1MOV TH0, #3CHMOV TL0, #0B0H ;赋定时初值,定时50msSETB TR0 ;启动定时器0MOV SP, #70H ;堆栈;--------;主程序;--------MAIN:LCALL DISPLAYLCALL KEY_SCANJZ MAINLCALL SET_KEYJB 46H, MAIN ;如果已进行调时快进,则不再执行下面的调整LCALL ADD_KEY ;调用增加键处理子程序,加一LCALL DEC_KEY ;调用减少键处理子程序,减一LJMP MAIN ;重新循环;---------------; 显示处理程序;---------------DISPLAY:MOV A, 51HANL A, #0FHMOV 5FH, A ;转换出秒个位,存入5FHMOV A, 51HANL A, #0F0HSWAP AMOV 5EH, A ;转换出秒十位,存入5EHJB 46H, MIN ;如果调时快进,则跳过闪烁处理程序CJNE R1, #3,MIN ;如果R1为3,闪烁秒位待调整JB 48H, MINMOV 5FH, #0AH ;使该位为10,查表得到使该位不显示MOV 5EH, #0AHMIN:MOV A, 52HANL A, #0FHMOV 5DH, A ;转换出分个位,存入5DHMOV A, 52HANL A, #0F0HSWAP AMOV 5CH, A ;转换出分十位,存入5CHJB 46H, HOURCJNE R1, #2,HOUR ;如果R1为2,闪烁分位待调整JB 48H, HOURMOV 5DH, #0AHMOV 5CH, #0AHHOUR:MOV A, 53HANL A, #0FHMOV 5BH, A ;转换出时个位,存入5BHMOV A, 53HANL A, #0F0HSWAP AMOV 5AH, A ;转换出时十位,存入5AHJB 46H, DISPCJNE R1, #1,DISP ;如果R1为1,闪烁时位待调整JB 48H, DISPMOV 5BH, #0AH ;使该位为10,查表得到使该位不显示MOV 5AH, #0AH;-------------------;数码管动态扫描显示;-------------------DISP:MOV DPTR, #TABLEMOV A, 5FHMOVC A, @A+DPTRMOV P0, ASETB P3.7LCALL DELAYCLR P3.7 ;显示秒个位MOV A,5EHMOVC A, @A+DPTRMOV P0, ASETB P3.6LCALL DELAYCLR P3.6 ;显示秒十位MOV A, #0BFHMOV P0, ASETB P3.5LCALL DELAYCLR P3.5 ;显示“-”MOV A, 5DHMOVC A, @A+DPTRMOV P0, ASETB P3.4LCALL DELAYCLR P3.4 ;显示分个位MOV A,5CHMOVC A, @A+DPTRMOV P0, ASETB P3.3LCALL DELAYCLR P3.3 ;显示分十位MOV A, #0BFHMOV P0, ASETB P3.2LCALL DELAYCLR P3.2 ;显示“-”MOV A,5BHMOVC A, @A+DPTRMOV P0, ASETB P3.1LCALL DELAYCLR P3.1 ;显示时个位MOV DPTR, #TABLE1 ;该位使用TABLE1以消除时的十位置0MOV A, 5AHMOVC A, @A+DPTRMOV P0, ASETB P3.0LCALL DELAYCLR P3.0 ;显示时十位RET;-----------------;定时器中断1s程序;-----------------TIMET0:PUSH ACC ;保护现场PUSH PSWMOV TH0,#3CHMOV TL0,#0B0HCPL 47H ;产生脉冲用于调时快进INC 54HMOV A,54HCJNE A,#10,ADD_TIME;产生0.5秒,用于调时闪烁CPL 48H ;取反调时闪烁标志位MOV 54H,#00HADD_TIME:INC 50HMOV A,50HCJNE A,#10,ZDBACD ;整点报时时蜂鸣器响延迟时间SETB P2.1 ;关蜂鸣器ZDBACD:CJNE A,#20,RETI1 ;产生1秒时钟MOV 50H,#00H ;一秒钟时间到,清零50HMOV A,51HADD A,#01HDA A ;十进制调整MOV 51H,ACJNE A,#60H,RETI1MOV 51H,#00H ;一分钟到MOV A,52HADD A,#01HDA AMOV 52H,ACJNE A,#60H,RETI1CLR P2.1MOV 52H,#00H ;一小时到,开蜂鸣器,清分显示MOV A,53HADD A,#01HDA AMOV 53H,ACJNE A,#24H,RETI1MOV 53H,#00H ;到24点,清零小时RETI1:POP PSWPOP ACC ;恢复现场RETI ;中断返回;-------------;键盘扫描程序;R4设置为00H是为了在进入长按处理前加长延时,以区分长按与短按键;-------------KEY_SCAN:CLR 46H ;关闭调时快进标志MOV P1, #0FFH ;将P1口设置成输入状态MOV A, P1CPL AANL A, #07H ;1口低3位连接3个按键,只判断该3位JZ EXIT_KEYLCALL DELAY ;延时去抖动MOV A, P1 ;重新判断CPL AANL A,#07HJZ EXIT_KEYMOV R5,AMOV R4,#00H ;用于控制调时快进速度LOOP:LCALL DISPLAY ;进入长按处理MOV A,P1CPL AANL A,#07HJB 47H,LOOP1INC R4 ;调时快进间隔时间基准加1 LOOP1:CJNE R1,#03H,LOOP2 ;如果调秒时长按,则不处理LJMP LOOP3LOOP2:CJNE R4,#99H,LOOP3MOV R4,#70H ;确认长按后,加快调时快进速度SETB 46HLCALL ADD_KEYLCALL DEC_KEYLOOP3:JNZ LOOP ;等待键释放MOV A,R5 ;输出键值RETEXIT_KEY:RET;------------;延时子程序;------------DELAY:MOV R7,#200DJNZ R7,$RETDELAY1:MOV R3,#50MOV TMOD,#00HMOV TH1,#63HMOV TL1,#18HSETB TR1LP1:JBC TF1,LP2SJMP LP1LP2:MOV TH1,#63HMOV TL1,#18HDJNZ R3,LP1RET;-----------------;选择键处理子程序;-----------------SET_KEY:CJNE R5,#01H,EXIT ;选择键键值INC R1 ;调整选择功能标志加一CJNE R1,#4,EXITMOV R1,#0MOV 54H,#00H ;调时闪烁清零RET;----------;加1子程序;----------ADD_KEY:CJNE R5,#02H,EXIT ;加1键值CJNE R1,#01H,NEXT1 ;选择键功能标志为1调时,否则跳出MOV A,53HADD A,#01HDA AMOV 53H,ACJNE A,#24H,EXITMOV 53H,#00HNEXT1:CJNE R1,#02H,NEXT2 ;选择键功能标志为2调分,否则跳出MOV A,52HADD A,#01HDA AMOV 52H,ACJNE A,#60H,EXITMOV 52H,#00HNEXT2:CJNE R1,#03H,EXIT ;选择键功能标志为3调秒,否则跳出MOV A,51HADD A,#01HDA AMOV 51H,ACJNE A,#60H,EXITMOV 51H,#00H ;如加1键按下直接清零秒RET;----------;减1子程序;----------DEC_KEY:CJNE R5,#04H,EXIT ;减1键键值CJNE R1,#01H,NEXT3 ;选择键功能标志为1调时,否则跳出MOV A,53HADD A,#99HDA AMOV 53H,ACJNE A,#99H,EXITMOV 53H,#23HNEXT3:CJNE R1,#02H,NEXT4 ;选择键功能标志为2调分,否则跳出MOV A,52HADD A,#99HDA AMOV 52H,ACJNE A,#99H,EXITMOV 52H,#59HNEXT4:CJNE R1,#03H,EXIT ;选择键功能标志为3调秒,否则跳出MOV A,51HADD A,#99HDA AMOV 51H,ACJNE A,#99H,EXITMOV 51H,#59HRET;-----------;返回子程序;-----------EXIT:RET;-----------------;数码管字形编码表;-----------------TABLE:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH;"0","1","2","3","4","5","6","7","8"",9","不显示"TABLE1:DB 0FFH,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH ;小时位的十位数编码;"不显示","1","2","3","4","5","6","7","8","9","不显示";--------;程序结束;--------ENDProteus电路:。
基于单片机的简易电子时钟设计_毕业设计论文 精品
![基于单片机的简易电子时钟设计_毕业设计论文 精品](https://img.taocdn.com/s3/m/adc663e9f90f76c661371a28.png)
论文题目基于单片机的简易电子时钟设计班级:xxxxxx专业:电子信息工程学生姓名:xxxx指导教师:xxxx日期:xxxx-xx-xx摘要数字钟已成为人们日常生活中必不可少的必需品,广泛用于个人家庭以及办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。
由于数字集成电路技术的发展和采用了先进的石英技术,使数字钟具有走时准确、性能稳定、携带方便等优点,它还用于计时、自动报时及自动控制等各个领域。
尽管目前市场上已有现成的数字钟集成电路芯片出售,价格便宜、使用也方便,但鉴于单片机的定时器功能也可以完成数字钟电路的设计,因此进行数字钟的设计是必要的。
在这里我们将已学过的比较零散的数字电路的知识有机的、系统的联系起来用于实际,来培养我们的综合分析和设计电路,写程序、调试电路的能力。
单片机具有体积小、功能强可靠性高、价格低廉等一系列优点,不仅已成为工业测控领域普遍采用的智能化控制工具,而且已渗入到人们工作和和生活的各个角落,有力地推动了各行业的技术改造和产品的更新换代,应用前景广阔。
关键字:单片机,数字时钟。
AbstractDigital clock has become an indispensable necessities in People's Daily life, widely used in personal family and office and other public places, to people's life, study, work, entertainment, bring great convenience. Due to the development of the digital integrated circuit technology and adopts the advanced quartz technology, walking make digital clock has advantages of accurate, stable performance, easy to carry, it is also used in timing, automatic feed and automatic control and other fields. Although already on the market at present the ready-made digital clock chip for sale, cheap, use is convenient, but in view of the single chip microcomputer timer function also can complete the design of the digital clock circuit, therefore is necessary for the design of digital clock. Here we will have learned more fragmented knowledge of digital circuit of the organic link, the system used in practice, to develop our comprehensive analysis and circuit design, programming, debugging circuit ability.SCM has small volume and powerful function, high reliability, low price and a series of advantages, not only has become widely used in the field of industrial measurement and control intelligent control instruments, and has penetrated into every corner of the people work and life, effectively promote the industry's technological transformation and upgrading of products, the wide prospect of application.Keywords: Single chip microcomputer,Digital clock.目录第一章设计方案 (1)1.1 课程设计目的 (1)1.2 设计要求 (1)1.3 实现时钟计时的基本方法 (1)1.4 电子钟的时间显示 (1)1.5 电子钟的时间调整 (2)1.6 总体方案介绍 (2)1.6.1 计时方案 (2)1.6.2 控制方案 (2)第二章系统硬件电路设计 (3)2.1 单片机模块设计 (3)2.1.1 芯片分析 (3)2.1.2 晶振电路 (4)2.1.3 复位电路 (5)2.2 数码显示模块设计 (5)2.3 按键模块 (8)第三章系统软件设计 (9)3.1 软件设计分析 (9)3.2 系统软件设计流程图 (9)3.2.1 主程序流程图 (9)3.2.2 定时器流程图 (9)3.2.3 按键检测流程图 (10)3.2.4 时间显示流程图 (10)3.3 源程序清单 (11)第四章系统仿真与实验测试 (16)4.1 系统仿真 (16)4.2 实验测试 (16)小结 (17)致谢 (18)参考文献 (19)附录 (20)第一章设计方案1.1 课程设计目的(1)巩固、加深和扩大单片机应用的知识面,提高综合及灵活运用所学知识解决工业控制的能力;(2)培养针对课题需要,选择和查阅有关手册、图表及文献资料的自学能力,提高组成系统、编程、调试的动手能力;(3)过对课题设计方案的分析、选择、比较、熟悉单片机用系统开发、研制的过程,软硬件设计的方法、内容及步骤。
基于52单片机电子时钟的设计论文(纯汇编语言编写)
![基于52单片机电子时钟的设计论文(纯汇编语言编写)](https://img.taocdn.com/s3/m/63ee2227b90d6c85ed3ac613.png)
编号单片机课程设计(2013 级)题目:基于52单片机电子时钟的设计学院:物理与机电工程学院专业:电子信息科学与技术作者姓名:陈✘✘党✘✘杜✘✘指导教师:张✘✘职称:教授完成日期:2016 年7 月 2 日二〇一六年七月基于52单片机电子时钟的设计摘要本次设计的多功能时钟系统采用STC89C52单片机为核心器件,利用其定时器/计数器定时和记数的原理,结合液晶显示电路、时钟芯片DS1302电路、电源电路以及按键电路来设计计时器。
将软硬件有机地结合起来,使得系统能够实现液晶显示,显示有年、月、日、时、分、秒以及星期,还可以设置闹钟和整点报时。
其中软件系统采用单片机汇编语言编写程序,包括显示程序、闹钟程序、中断、延时程序,按键消抖程序等,并在keil中调试运行,硬件系统利用PROTEUS 强大的功能来实现,简单且易于观察,在仿真中就可以观察到实际的工作状态。
关键词:STC89C52芯片;时钟芯片DS1302;单片机汇编语言;液晶显示电路1 设计任务及要求分析1.1 设计任务:基于单片机的电子时钟设计1.2 要求:1.2.1 用LCD液晶作为显示设备1.2.2 可以分别设定小时、分钟和秒,复位后时间为 00 00 001.2.3 能实现日期的设置年、月、日1.3 扩展要求:如闹钟功能、显示星期、整点音乐报时等2 系统方案2.1 系统整体方案的论证电路原理设计是基于小系统板包括电源电路、复位电路、按键电路、DS1302时钟电路、液晶显示驱动电路、输出控制电路。
电源部分是用电池来提供的3v-5v,晶体振荡器采用的是12MHz的石英晶体振荡器。
整个系统用单片机为中央控制器,由单片机执行采集时钟芯片的时间信号并通过显示模块来输出信号及相关的控制功能。
时钟芯片产生时钟信号,利用单片机的I/O口传给单片机;并通过I/O口实现LCD的显示。
系统设有4个独立式按键可以对时间年、月、日和星期进行调整,还可以设置闹钟。
具体如图2.1所示:图2.1 系统整体框图3硬件设计与实现3.1单片机最小系统STC89C52是一款非常适合单片机初学者学习的单片机,它完全兼容传统的8051,8031的指令系统,他的运行速度要比8051快最高支持达33MHz的晶体震荡器,在此系统中使用12MHz的晶振。
(完整版)基于STC89C52单片机的电子时钟设计毕业设计论文
![(完整版)基于STC89C52单片机的电子时钟设计毕业设计论文](https://img.taocdn.com/s3/m/a8d67f7acaaedd3383c4d36c.png)
阳泉职业技术学院毕业设计论文基于51单片机的电子时钟设计系部:信息系专业:电气自动化班级:09级一班学生姓名:张瑞勇学号:指导教师:耿素军2012年 5 月 6 日摘要随着单片机技术的飞速发展,在其推动下,现代的电子产品几乎渗透到了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高。
时间就是金钱、时间就是生命、时间就是胜利……,准确的掌握时间和分配时间对人们来说至关重要,时钟是我们生活中必不可少的工具。
电子钟的设计方法有很多种,但是基于单片机并通过LCD显示的电子时钟具有编程灵活、精确度高、便于携带、显示直观等特点。
利用STC89C52单片机对DS1302时钟芯片进行读写操作并通过1602字符液晶显示实时时钟信息,这样便构成了一个单片机电子时钟。
关键词:单片机,电子时钟,STC89C52ABSTRACTWith the rapid development of microcomputer technology in its promotion, modern electronics into almost all areas of society, a strong impetus to the development of social productive forces and social improvement in the level of information, but also to further improve the performance of modern electronic products.Time is a money, time is life, time is victory… Accurate grasp of time and allocation of time is crucial to people, The clock is necessary in our life tools . Clock Design There are many ways, of electronic capabilities, .In this paper, through the use of STC89C52 microcontroller by DS1302 clock chips for reading and writing operation and through 1602 character liquid crystal display real-time clock information so that forming a single chip electronic clock.Key Words: Microcontroller,STC89C52,Electronic clock,目录绪论 (1)概述 (1)研究目的 (1)第1章设计要求与方案论证 (2)1.1 设计要求 (2)1.2 系统基本方案选择和论证 (2)1.2.1 单片机芯片的选择方案和论证 (2)1.2.2 显示模块选择方案和论证 (2)1.2.3 时钟芯片的选择方案和论证 (3)1.3 电路设计最终方案决定 (3)第2章主要元件介绍 (4)2.1 STC89C52介绍 (4)2.1.1 STC89C52主要功能及PDIP封装 (4)2.1.2 STC89C52引脚介绍 (4)2.1.3 STC89C52最小系统 (5)2.2 DS1302时钟芯片介绍 (6)2.2.1 DS1302概述 (6)2.2.2 DS1302引脚介绍 (7)2.2.3 DS1302使用方法 (7)2. 3 1602字符液晶介绍 (9)2.3.1 1602液晶概述 (9)2.3.2 1602引脚介绍 (10)2.3.3 1602字符液晶使用方法 (10)第3章系统硬件设计 (13)3.1 电路设计框图 (13)3.2 系统硬件概述 (13)第4章系统的软件设计 (14)4.1程序概述 (14)4.2延时函数 (15)4.3 对DS1302读写操作函数 (15)4.3.1 向DS1302写数据 (15)4.3.2 从DS1302读数据 (16)4.4 显示函数 (17)4.4.1向1602液晶中写一个指令 (17)4.4.2向液晶写数据 (17)4.4.3初使化1602液晶 (17)4.4.4 如何在液晶上显示时间、日期及周 (18)4.5按键函数 (19)4.5.1 1224小时显示模式切换键 (21)4.5.2 功能键函数 (23)4.5.3 调整键函数 (25)4.5.4确定键 (31)4.6 主函数 (32)总结 (34)致谢 (35)参考文献 (36)绪论概述时间,对人们来说是非常宝贵的,准确的掌握时间和分配时间对人们来说至关重要。
基于单片机的电子时钟设计_毕业论文
![基于单片机的电子时钟设计_毕业论文](https://img.taocdn.com/s3/m/c19546e1bb68a98270fefa50.png)
基于单片机的电子时钟设计_毕业论文基于单片机的电子时钟设计_毕业论文编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(基于单片机的电子时钟设计_毕业论文)的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为基于单片机的电子时钟设计_毕业论文的全部内容。
基于单片机的电子时钟设计_毕业论文本科毕业论文学号 学校代公开密级 TH714 分类号 基于单片机的电子时钟设计 题 目(中、英文)The Design of Electronic Clock Based on MCU 作者姓名 电气工程及其自动专业名称 工 科 学科门类 郝海燕 成绩评定 提交论文日期 指导教师 二〇一三年五月10722摘要单片机是一种数字集成电路芯片,是指集成在一块芯片上的微型计算机。
一个比较完整的单片机应该包括微处理器(CPU)、存储器(RAM和ROM)、并行输入/输出接口(I/O接口)电路、可编程全双工串行口、定时/计数器、中断系统以及复位电路。
由于它具有小巧灵活,成本低,可靠性好,控制功能强,易扩展等一系列优点,所以被越来越广泛地应用于各个领域。
而51系列的单片机就是最为典型和具有代表性的一种单片机.本设计是基于单片机的简单电子时钟的设计,系统主要以单片机AT89C51为核心,结合按键模块来显示相应的时间,并可以对时、分、秒进行单独校对,使其达到标准时间。
本次设计以软件控制硬件以及软硬件结合为指导思想,充分发挥单片机功能.同时,该系统的诸多优点使其具有很强的实用性,由于该系统实现的功能简单,因此具有很好的可扩展性。
关键词: AT89C51;电子时钟;按键控制AbstractThat the microcontroller is integrated on a single chip microcomputer is a digital integrated circuit chip。
基于51单片机的多功能数字时钟设计毕业论文设计
![基于51单片机的多功能数字时钟设计毕业论文设计](https://img.taocdn.com/s3/m/4da204c0dd36a32d737581fa.png)
目录摘要 (1)ABSTRACT (2)1.概述 (3)1.1本课题研究目的及意义 (3)1.2国内外研究背景 (3)1.3本课题的研究方法及预期到达的目的 (4)2总体控制方案设计 (5)2.1数字时钟的工作原理 (5)2.2单片机的选型 (5)2.3 AT89C51单片机介绍 (7)2.4总体方案设计 (8)3 硬件设计 (9)3.1键盘模块 (9)3.2显示模块 (9)3.3复位电路 (12)3.4蜂鸣器驱动电路 (13)4 软件设计 (15)4.1总体软件设计 (15)4.2中断效劳函数 (15)4.3计时子函数 (16)4.4闹钟子函数流程图 (17)4.5键盘扫描子函数 (18)4.6 时间和闹钟的设置 (19)4.7 软件设计总结 (20)5 总结 (22)6 参考文献 (23)7致谢 (23)附录...................................................................................... 错误!未定义书签。
摘要近年来,电子技术获得了飞速的开展,在其推动下,现代电子产品几乎浸透了社会的各个领域,有力地推动了社会消费力的开展和社会信息化程度的进步,同时也使现代电子产品性能进一步进步。
数字时钟是采用数字电路实现对“时〞、“分〞、“秒〞数字显示的计时装置。
数字钟的精度、稳定度远远超过老式机械钟。
在这次设计中,我们采用8位8段LED数码管显示,根据数码管动态显示原理来进展显示,用12MHz的晶振产生振荡脉冲,定时器计数,并采用外置喇叭作为响铃。
在此次设计中,电路具有显示时间的其本功能,还可以实现对时间的调整。
数字时钟因外形小巧,价格低廉,走时精度高,使用方便,功能多,便于集成化而受广阔消费的喜欢,因此得到了广泛的使用。
关键字:单片机数字时钟ABSTRACTIn recent years, electronic technology has gained rapid development, modern electronic products has been used in almost all spheres of society, It’s a strong impetus to the development of social productivity and improvement in the level of social information. The performance of modern electronic products also has been further improved.The digital clock timing is a digital circuit which displays "hour", "minute", "second". The accuracy, stability of digital clock is far more than the old-fashioned mechanical clock. In this design, we use 8-segment LED digital display, and displayed according to digital dynamic display principle with a 12MHz crystal oscillator pulse and the timer count, and an external speaker is used as the ring. In this design, the circuit has the function to display time and the time can be adjusted. Because digital clock has the advantage of low prices, high precision, easy to use, multi-function, easy integration, it is loved by the majority of consumption, so it has been widely used.Keywords: single-chip machine digital clock1.概述20世纪末,电子技术获得了飞速的开展,在其推动下,现代电子产品几乎浸透了社会的各个领域,有力地推动了社会消费力的开展和社会信息化程度的进步,同时也使现代电子产品性能进一步进步,产品更新换代的节奏也越来越快。
单片机电子时钟毕业论文设计
![单片机电子时钟毕业论文设计](https://img.taocdn.com/s3/m/8fb9c80dff4733687e21af45b307e87101f6f8b9.png)
单片机电子时钟毕业论文设计电子时钟是一种通过电子技术实现时间显示的设备,具有时间准确、操作简单、功能丰富等特点。
本设计基于单片机技术,以8086单片机为核心控制单元,实现了电子时钟的时间显示、闹钟设置、日历查询等功能。
本论文主要包括硬件设计与软件设计两个方面。
一、硬件设计电子时钟的硬件设计包括时钟电路、显示电路和调试电路三部分。
1.时钟电路时钟电路采用晶体振荡器作为信号源,通过外部输入电路将晶振的运行频率转换为单片机可用的时钟脉冲信号,并与封装在单片机内部的计数器相连。
2.显示电路显示电路由显示模块、驱动模块和输入模块组成。
显示模块采用数码管实现时间的显示,其中包括时、分、秒三个数码管以及闹钟时间的显示。
驱动模块将单片机的输出信号转化为适合数码管显示的信号,并进行相应的时序控制。
输入模块通过按键输入实现对时钟的设置和调整。
3.调试电路调试电路主要用于对电子时钟的运行状态进行监测和调试。
其中包括状态指示灯、背光控制电路和串口调试接口。
状态指示灯用于指示时钟的工作状态,背光控制电路用于控制数码管的亮度,串口调试接口用于通过计算机对时钟进行调试和数据交互。
二、软件设计软件设计包括时钟显示、闹钟设置和日历查询三个功能模块。
1.时钟显示通过单片机的定时器和计数器模块,实现对系统时钟的实时计时和更新。
根据计时结果,将时、分、秒数据分别送到相应的数码管显示。
通过按键输入,实现对时间的调整和设置。
2.闹钟设置通过按键输入,设置闹钟的触发时间。
当系统时间与闹钟时间一致时,触发相应的闹钟功能,比如闹铃声响起或者背光闪烁等。
3.日历查询通过按键输入,查询相应的日期和星期。
根据计时结果,实时更新日期和星期的显示。
三、实验结果设计的电子时钟能够准确显示时间,并具备闹钟设置和日历查询功能。
在实际测试中,时钟的时间显示精度达到毫秒级别,闹钟的触发精度达到秒级别,操作简单方便。
总结:本论文以8086单片机为核心,通过硬件设计和软件设计实现了电子时钟的时间显示、闹钟设置和日历查询等功能。
论文_单片机电子时钟毕业设计论文
![论文_单片机电子时钟毕业设计论文](https://img.taocdn.com/s3/m/a3397f40bb1aa8114431b90d6c85ec3a86c28b68.png)
论文_单片机电子时钟毕业设计论文大学电子信息工程专业题目:单片机电子时钟设计与实现摘要电子时钟是现代社会中广泛应用的一项技术,在家庭、办公场所及公共交通等场合发挥着重要的作用。
本文通过使用单片机作为主要控制器,设计实现了一款功能齐全的电子时钟,能够准确显示时间,并提供诸多实用功能。
本设计的实施,不仅加强了学生对单片机的理论知识的掌握,并且培养了学生的实践动手能力。
关键词:单片机;电子时钟;设计与实现;功能引言随着现代科技的飞速发展,电子时钟已经成为人们生活中不可或缺的一部分。
相较于传统的机械时钟,电子时钟具有精度高、功能多样化等特点,因此受到了广大用户的欢迎和喜爱。
本毕业设计旨在设计与实现一款功能齐全、性能优良的电子时钟,实现对时间的准确显示,并且提供一些实用功能,满足用户的需求。
主体部分1.单片机的选择与详细设计本设计选用了XX型单片机作为主要控制器,该款单片机具有较高的性能和较大的存储容量,适合实现电子时钟的各项功能。
详细设计包括时钟的显示、设置、闹钟功能等。
2.时钟显示模块设计采用数码管显示时间,通过单片机控制显示部分的电路,能够准确显示小时、分钟和秒钟,并且支持12小时制和24小时制切换。
3.时间设置模块设计通过按钮输入,实现对时钟时间的设置。
通过单片机的输入捕获功能,将输入的时间信息转化为数字存储,从而实现对时间的设置。
4.闹钟功能设计设计一个基于单片机定时器模块的闹钟功能,能够在设定的时间点触发闹钟,发出声音提醒用户。
5.其他实用功能的实现本设计还包括了温湿度检测、LED背光等功能的实现。
通过温湿度传感器,能够实时检测环境的温湿度,并在LED显示屏上显示出来。
结论本文基于单片机的电子时钟设计与实现,通过详细设计和实验验证,成功地实现了一款功能齐全、性能优良的电子时钟。
通过本设计的实施,不仅加强了学生对单片机的理论知识的掌握,并且培养了学生的实践动手能力。
同时,该电子时钟具有准确显示时间、方便操作、功能齐全等特点,满足了用户对电子时钟的需求。
基于51单片机的电子时钟设计
![基于51单片机的电子时钟设计](https://img.taocdn.com/s3/m/b64219241fd9ad51f01dc281e53a580216fc50e7.png)
基于51单片机的电子时钟设计
电子时钟是一种使用电子元件和计算机技术制造的时计,它可以显示年、月、日、时、分、秒等时间信息,并且具有显示精确、功能齐全、操
作简便等特点。
本文将基于51单片机设计一个电子时钟。
一、硬件设计:
1.时钟模块:我们可以使用DS1302时钟模块作为实时时钟芯片,它
可以提供精确的时间信息,并且可以通过单片机与之进行通信。
2.显示模块:我们可以使用共阳数码管进行时间的显示,将时钟设计
成6位7段显示器。
3.按键模块:我们可以使用按键作为输入方式,通过按键调整时间信息。
二、软件设计:
1.初始化:首先,我们需要初始化时钟模块和显示模块,使它们正常
工作。
同时,设置时钟的初始时间为系统当前时间。
2.获取时间:通过与时钟模块的通信,获取当前的时间信息,包括年、月、日、时、分、秒等。
3.显示时间:将获取到的时间信息通过显示模块显示出来,分别显示
在6个数码管上。
4.时间调整:通过按键模块的输入,判断用户是否需要调整时间。
如
果需要,可以通过按键的不同组合来调整时、分、秒等时间信息。
5.刷新显示:通过不断更新显示模块的输入信号来实现时钟的流动性,保持秒针不断运动的效果。
6.时间保存:为了保证时钟断电后依然能够保持时间,我们需要将时
钟模块获取到的时间信息保存在特定的EEPROM中。
7.闹钟功能:可以通过按键设置闹钟,当到达闹钟时间时,会通过蜂
鸣器发出响声。
以上就是基于51单片机的电子时钟设计方案。
通过对硬件和软件的
综合设计,我们可以实现一个功能齐全的电子时钟。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
编号单片机课程设计(2013级)题目:基于52单片机电子时钟的设计学院:物理与机电工程学院专业:电子信息科学与技术作者姓名:陈✘✘党✘✘杜✘✘指导教师:张✘✘职称:教授完成日期:2016 年7月2日二〇一六年七月基于52单片机电子时钟的设计摘要本次设计的多功能时钟系统采用STC89C52单片机为核心器件,利用其定时器/计数器定时和记数的原理,结合液晶显示电路、时钟芯片DS1302电路、电源电路以及按键电路来设计计时器。
将软硬件有机地结合起来,使得系统能够实现液晶显示,显示有年、月、日、时、分、秒以及星期,还可以设置闹钟和整点报时。
其中软件系统采用单片机汇编语言编写程序,包括显示程序、闹钟程序、中断、延时程序,按键消抖程序等,并在keil中调试运行,硬件系统利用PROTEUS 强大的功能来实现,简单且易于观察,在仿真中就可以观察到实际的工作状态。
关键词:STC89C52芯片;时钟芯片DS1302;单片机汇编语言;液晶显示电路1 设计任务及要求分析1.1 设计任务:基于单片机的电子时钟设计1.2 要求:1.2.1 用LCD液晶作为显示设备1.2.2 可以分别设定小时、分钟和秒,复位后时间为 00 00 001.2.3 能实现日期的设置年、月、日1.3 扩展要求:如闹钟功能、显示星期、整点音乐报时等2 系统方案2.1 系统整体方案的论证电路原理设计是基于小系统板包括电源电路、复位电路、按键电路、DS1302时钟电路、液晶显示驱动电路、输出控制电路。
电源部分是用电池来提供的3v-5v,晶体振荡器采用的是12MHz的石英晶体振荡器。
整个系统用单片机为中央控制器,由单片机执行采集时钟芯片的时间信号并通过显示模块来输出信号及相关的控制功能。
时钟芯片产生时钟信号,利用单片机的I/O口传给单片机;并通过I/O口实现LCD的显示。
系统设有4个独立式按键可以对时间年、月、日和星期进行调整,还可以设置闹钟。
具体如图2.1所示:图2.1 系统整体框图3硬件设计与实现3.1单片机最小系统STC89C52是一款非常适合单片机初学者学习的单片机,它完全兼容传统的8051,8031的指令系统,他的运行速度要比8051快最高支持达33MHz的晶体震荡器,在此系统中使用12MHz的晶振。
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
STC89C52具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16位定时器/计数器。
一个6向量2级中断结构,全双工串行口及时钟电路。
另外,STC89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
3.2振荡电路的工作原理STC89C52单片机内部有一个高增益反相放大器,用于构成振荡器,但要形成时钟,外部还需附加电路。
XTAL1引脚为反相放大器和时钟发生电路的输入端,XTAL2引脚为反相放大器的输出端。
振荡电路如图3.1所示:图3.1 振荡电路图3.2时钟电路的工作原理片内时钟发生器实质是个2分频的触发其输入来自振荡器的fosc,输出为2相时钟信号,即节拍信号P1、P2,器频率为fosc\2。
2个节拍为1个状态时钟S。
状态时钟再3分频后为ALE信号,其频率为fosc\6,状态时钟6分频后为机器周期信号,器频率为fosc\12。
特殊功能寄存器PCON的PD位可以控制振荡器的工作,当PD=0时,振荡器停止工作,单片机进入低功耗工作状态,复位后,PD=0,振荡器正常工作。
时钟电路如图3.2所示:图3.2时钟电路图3.3单片机最小系统电路图图3.3单片机最小系统电路图3.4 时钟芯片(1)DS1302是一种可编程的实时时钟芯片,具有计算2100年前的时间的能力,包括时钟/日历寄存器和31字节(8位)的数据暂存寄存器,数据通信权通过一条串行输出口。
时钟/日历提供包括秒、分、时、日期、月份和年份信息。
闰年可自行调整,以串行方式向单片机传送单字节或多字节的秒、分、时、日、月、年等实时时间数据;只通过三根线进行数据的控制和传递:RST、I/O、SCLK;其在电路的功能是还具有在出现主电源断电时备用电源可继续保持时钟的连续运行。
时钟引脚图如图3.4所示:图3.4时钟引脚图寄存器名读写地址取值范围位定义写操作读操作D7 D6 D5 D4 D3D2D1D秒寄存器80H 81H 00-59 CH 秒十位秒个位分寄存器82H 83H 00-59 0 分时位分个位时寄存器84H 85H 01-12或00-23 12/24 0 AM/PM 十位小时个位日期寄存器86H 87H 01-28-31 0 0 十位日个位星期寄存器8AH 8BH 01-07 0 0 0 0 星期位月寄存器88H 89H 01-12 0 0 0 十位月个位年寄存器8CH 8DH 00-99 年十位年个位控制寄存器8EH 8FH WP 0 0 0 0 00 0表3-1 DS1302芯片内部寄存器读写地址及位定义如果单片机要对DS1302内部寄存器进行读写操作,必须先将与寄存器对应的位操作地址传送给DS1302,然后再进行读写数据的操作。
控制寄存器是用来决定能否对DS1302进行读写操作,当控制字的最高位WP=0时,允许进行读写操作;当WP=1时,禁止读写操作。
所以单片机对DS1302进行读写操作时,必须先将控制字00H写入到DS1302的控制寄存器中。
3.5 液晶显示电路LCD显示器能显示数码管不能显示的其他字符、文字和图形,是十分重要的显示终端,LCD1602是字符点阵液晶显示模块。
利用LCD1602,所用的时间年、月、日、星期可同时可见,一目了然,采用双行显示,让电子钟能够更直观的显示。
其实图如图3.5、显示电路图如图3.6、引脚功能如表3-2所示:图3.5 液晶显示器实图图3.6 液晶显示电路图表3-2 LCD液晶显示器引脚功能3.6 输出控制电路在P2.0端口接一个蜂鸣器,用于整点报时和响闹铃。
具体如图3.7所示:图3.7输出控制电路图3.7按键电路本次设计采用按键电平复位,按键电平复位相当于按复位键后,复位端通过电阻与Vcc电源接通,按键电路图如图3.8所示:图3.8按键电路图4 软件设计与实现4.1软件总体设计方案4.1.1 软件设计目标软件部分总体上是模块化的设计思想,通过子程序调用设计方式,将所有的模块综合到一起,使程序可读性较高。
4.1.2 总体架构说明该时钟程序设计思路如下:(1)在程序头将设计中的一些固定空间进行分配并注释。
(2)初始化程序,如设定时钟初始显示“2016年6月30日,星期四,00:00”以便一开始就能进入整点报时状态,显示该功能;设定使用定时器1;将一些未到时钟设计功能的功能端口关闭等。
(3)开始主程序进行程序扫描,先扫描拆字子程序,将分配好的时分秒等高地位的数字调入到显示子程序中。
→显示子程序通过分配的空间对应口将拆字子程序的内容在液晶显示器上显示相应的时分秒,再调用走时程序使时钟进行读秒等工作。
→进入按键扫描,判断按键是否有变动,若有就根据设计程序对相应的按键按入次数而进行实现相应的功能。
如进入时间调整、闹钟设置、闹钟开启与否等。
→进入闹钟的判断,在时分上与设置的闹铃时间吻合的话就做相对应的判断,再依据是否有开启闹钟而进行响铃与否,如果有响铃则设置其一直响铃知道有人为按取消按键取消闹铃。
→进入整点报时扫描,判断是否在时分上都进入了整点,如果是就报时,然后就退出整点报时,等到下一个整点的到来。
→最后返回主程序头重新依次扫描。
显示过程设有消隐,按键设有去抖。
(4)子程序部分。
在主程序的调用下依据不同的子程序工能而编写子程序,有多级嵌套。
这些子程序包括拆字子程序、延时子程序、走时间子程序、整点报时子程序、按键处理子程序、调时间子程序、闹钟设置子程序、闹钟子程序、闹钟开启子程序。
主流程图如图4.1所示:YY图4.1 主程序流程图子程序详解表如表4-1所示:表4-1 子程序详解表4.2按键模块设计设计系统中的按键模块仅占用四个I/O口,从89s52芯片p1.0、p1.1、p1.2、p1.3四个引脚接入进行控制。
当没有按键按下时,均为高电平,有按键按下时相应I/O口为低电平,但并没有立即执行相应的程序,延时5ms后若再为低电平,等I/O口恢复高电平,即按键松开时,才执行相应的程序,此时按键才起作用。
这样该按键模块具有去抖动,且按键按下一次仅作用一次,起到精确判断的作用。
4.2.1 按键1的说明按键1有四种功能,分别为下面4个子程序:(1)子程序0的功能为:进入设置当前时间状态,且令keycode=2;(2)子程序1的功能为:进入设置闹钟时间状态,且令keycode=3;(3)子程序2的功能为:把所设置的时间作为当前时间,且令keycode=0;(4)子程序3的功能为:把所设置的时间作为闹钟时间,且令keycode=0;每次按下按键1,按键1程序根据的KeyCode内容转入各对应的子程序中(因为当KeyCode值不同时,经过计算得到dptr的值不同,然后经过jmp @a+dptr 指令就可跳转到不同的子程序中,具体程序说明),从而实现不同的功能。
从各按键的功能可知,每次按下按键1,都会改变KeyCode内容,使按键1的功能发生改变。
4.2.2 按键2的说明按键2有两种不同的功能:对应于设置状态为加1;对应于非设置状态为切换屏幕。
所以按键2程序开头就先判断闹钟是否处于设置状态。
当闹钟处于非设置状态时,keycode等于0或1;处于设置状态时,keycode 等于2或3;所以可用如下语段判断闹钟是否处于设置状态:当闹钟处于设置状态,keycode值大于2,c等于0当闹钟处于非设置状态,keycode值小于2,c等于14.2.3 其他按键的说明剩下3、4按键都于按键2类似,先判断是否处于设置状态,然后转入不同的语句,不再说明。
4.2.4 报时功能的说明:当报时功能开启,即bs=0时,LCD上会出现相应的标示符号,此时主程序将扫描zhengshi子程序。
zhengshi子程序能判断当前时间是否为整点,若为整点将使cxbs=0,且把hour由BCD码化为二进制存储在字节shengshu(为报时声数,将在baoshi子程序中使用)中,之后主程序将扫描baoshi子程序,即开始报时。