单片机数字时钟课程设计报告

上传人:沈*** 文档编号:79095911 上传时间:2022-04-22 格式:DOC 页数:22 大小:188.53KB
收藏 版权申诉 举报 下载
单片机数字时钟课程设计报告_第1页
第1页 / 共22页
单片机数字时钟课程设计报告_第2页
第2页 / 共22页
单片机数字时钟课程设计报告_第3页
第3页 / 共22页
资源描述:

《单片机数字时钟课程设计报告》由会员分享,可在线阅读,更多相关《单片机数字时钟课程设计报告(22页珍藏版)》请在装配图网上搜索。

1、单片机数字时钟设计目录1.引言22.关键词23.内容摘要24.设计内容24.1任务书24.2设计思路电路原理框图34.3软件设计方面44.4硬件设计方面45主要元器件的概述46.仿真实现76.1引脚连接(电路连接图)76.2仿真结果(电路原理图)86.3 PCB图96.4实验操作97.元件清单108.程序附录13总结20参考文献20【引言】高精度的计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英表、石英钟都采用了石英技术,因此走时精度高、稳定性好、使用方便、不需要经常调校。数字电子时钟,自从它发明的那天起,就成为人类的朋友,是人们日常生活中必不可少的必需品,广泛用于个人家庭以及车站、航站

2、、剧院、办公室等公共场所,给人们的生活、学习、工作、娱乐带来极大的方便。但随着时间的推移,科学技术的不断发展,生活节奏越来越快,竞争日益激烈,人们对时间计量的精度要求越来越高,应用越来越广。【内容摘要】本实验采用LCD液晶屏作为显示系统,以STC89C51单片机为核心,由液晶显示屏,键盘,电容电阻,晶振等元器件组成。所组成的模块能够实验时,分,秒的数据显示,通过程序设计运用四个按键SB0,SB1, SB2, SB3能够实现对数字时钟时间的设置和调整。本实验将写好的软件烧录到单片机中,通过单片机来实现,是实验的电路图更加简单明了,系统稳定性大大提高。【关键词】单片机,数字时钟,中断,定时,汇编任

3、务书设计题目:单片机数字时钟设计主要内容与目标:1:通过单片机内定时器控制走时,准确持续走时,调时不影响走时;2:在LCD上显示时,分,秒;3:通过五个按键能够对时间进行设定和调整。具有的设计基本条件:1:PC机一台;2:STC89C51单片机一块;3:Keil C调试环境、Proteus仿真软件,Protel画图软件。计划设计进程:1:明确课题对程序功能,运算精度等方面的要求及硬件条件2:把复杂问题分解为若干模块,确定各模块处理方法,画出流程图。3:编制程序,根据流程图精心选择合适的指令和寻址方式来编制源程序4:对程序进行汇编,调试和修改,直到程序运行结果正确为止。5:购买器材,连接、制作硬

4、件;6:将软件功能在硬件上得到实现,做出数字钟实物。设计思路电路原理框图:初始化LCD显示赋值时钟芯片赋初值是定闹钟程序取时钟否送显示键按下.软件设计方面:1:采用模块化程序结构设计软件,首先将整个软件分成若干功能模块;2:根据设计原理图编写程序;3:通过keil软件编写调试程序;4:与硬件一起联调,最后完成全部调试工作。硬件设计方面:1:将整个硬件系统划分为若干单元电路,绘出整个逻辑电路,注明单元电路元件接口信号;2:完成各单元电路设计,包括选择各类元器件和电路板设计。主要元件概述:单片机STC89C52概述实验用到的引脚功能1:电源(1) VCC-芯片电源,接+5V(2) VSS-接地端2

5、:时钟XTAL1,XTAL2-晶体振荡电路反向输入端和输出端。3:P0口:接LCD进行数据显示P2口:接LCD控制P3口:接按键REST功能:复位信号输入端单片机引脚图:1602液晶模块概述:主要技术参数显示容量:16*2个字符芯片工作电压:4.55.5V工作电流:2.0mA(5.0V)模块最佳工作电压(5.0V)1602各引脚功能:第1脚:VSS为地电源。第2脚:VDD接5V正电源。第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,本实验中通过使用一个10K的电位器调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器,低电平时选择指令寄存器。第5脚:R

6、W为读写信号线,高电平时进行读操作,低电平时进行写操作。第6脚:E端为使能端,当E端由高电平跳变为低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。第1516脚:空脚,可以用来接背光。(15脚接正极,16脚接负极)1602信号真值表RSRWE功能00下降沿写指令代码01高电平 读忙标志和AC值10下降沿写数据11高电平读数据仿真实现:电路原理图:仿真效果图:PCB图:实验操作:本时钟设置有五个按键,其中S1为复位键,S2为调时移位键,S3为移位+,S4为移位-,S5为退出,当需要调时时,摁下S2,可以调分,再摁下S2就可以调小时,分别用S3和S4键来调整时间的加减,调完后摁S5

7、退出元件清单:元件名称:数量:STC89C511块LCD16021块按键5个瓷片电容22pF2个电解电容10uF1个9排阻1个14脚单排插座1个1个DIP40插座1个12MHz晶振1个可调电阻1个10K电阻1个程序附录:COM EQU 50H;LCD指令寄存器 DAT EQU 51H;LCD数据寄存器 RS EQU P2.4;LCD寄存器选择信号 RW EQU P2.5;LCD读/写选择信号 E EQU P2.6 ;LCD使能信号NUM EQU 20H;中断次数SEC EQU 21H;秒MIN EQU 22H;分HOU EQU 23H;时YIW EQU 27H;移位数单元HOU1 EQU 28

8、H;小时的十位HOU0 EQU 29H;小时的个位MIN1 EQU 2BH;分钟的十位MIN0 EQU 2CH;分钟的个位SEC1 EQU 2EH;秒的十位SEC0 EQU 2FH;秒的个位;-;-主程序开始- ORG 0000HLJMP MAIN ORG 000BH ;定时器T0中断入口地址AJMP TIME ;跳转到中断服务程序ORG 0030HMAIN:MOV SP,#60HLCALL INT ;调用LCD间接控制方式下的初始化子程序 MOV COM,#01H;LCD清0命令 LCALL PR1 ;调用写命令字程序MOV COM,#06H;输入方式命令,光标右移 LCALL PR1MOV

9、 R2,#10H ;共显示 16个字符 00010000bMOV R3,#00HMOV 20H,#20H ;中断次数MOV 21H,#55H ;秒MOV 22H,#59H ;分MOV 23H,#23H ;时MOV 27H,#00H ;移位数单元 MOV IP,#02H ;设定PT0(定时器0中断优先级设定位)为高优先级,即PT0=1MOV IE,#82H ;总禁止位开EA=1.定时器0溢出中断允许位ET01.MOV TMOD,#01H ;设定定时器T0工作方式1(GATE=0,C/T=0,M1=0,M0=1) MOV TL0,#0B0H ;定时器的专用寄存器(SFR)TL0,指定时器T0的低字

10、节 MOV TH0,#3CH ;定时器的专用寄存器(SFR)TH0,指定时器T0的高字节 SETB TR0;TR0(TCON.4),定时器0运行控制位,由软件置位/复位来开启和关闭定时器/计数器0DISP:LCALL FORMATMOV COM,#80H;设置DDRAM地址,首地址为 第一行 第一个字符的地址 80HLCALL PR1MOV 2AH,#:MOV 2DH,#:MOV R0,#HOU1MOV R1,#08HTDIS:;显示时间MOV A,R0CJNE A,#:,GOADDTJMP OUTTGOADDT:ADD A,#30HOUTT: MOV DAT,ALCALL PR2INC R0

11、DJNZ R1,TDISMOV COM,#0C0H;设置DDRAM地址,首地址为 第一行 第一个字符的地址 xxHLCALL PR1MOV 32H,#-MOV 35H,#-MOV R1,#08H LJMP DISPFORMAT:;将时间数据格式化MOV A,SEC ;处理秒SEC-SEC1,SEC0 ANL A,#0FH;MOV SEC0,A MOV A,21HANL A,#0F0H;SWAP A;高4位和低4位互换MOV SEC1,A;秒的十位MOV A,MIN ;处理分钟MIN-MIN1,MIN0 ANL A,#0FH MOV MIN0,A ;分的个位MOV A,22H ANL A,#0F

12、0H SWAP A MOV MIN1,A ;分的十位MOV A,HOU ;处理小时HOU-HOU1,HOU0 ANL A,#0FH MOV HOU0,A MOV A,23H ANL A,#0F0H SWAP A MOV HOU1,A RET TIME:PUSH ACC ;保护现场 PUSH PSW MOV TL0,#0B0H ;赋定时初值 MOV TH0,#3CHLCALL FUNTION INC NUM ;中断次数,满20次加MOV A,NUMCJNE A,#20,RETI1 MOV 20H,#00H ;一秒钟时间到,中断次数清零 MOV A,SEC ADD A,#01H ;秒钟加一DA A

13、 MOV SEC,A CJNE A,#60H,RETI1 MOV SEC,#00H ;一分钟时间到 ,秒清零MOV A,MIN ADD A,#01H ;分钟加一DA A MOV MIN,A CJNE A,#60H,RETI1 MOV MIN,#00H ;一小时时间到 ,分清零 MOV A,HOU ;小时加一ADD A,#01H DA A MOV HOU,A CJNE A,#24H,RETI1 MOV HOU,#00H ;到时间达到24小时,小时清零.RETI1: POP PSW ;恢复现场 POP ACC RETI ;中断返回NOP NOP ;-按键判断子程序-;子程序名:FUNTION;-F

14、UNTION:JNB P3.0,FUN1;判断移位键是否按下,如按下跳到FUN1,没按判断27H是否为0MOV A,27HCJNE A,#00H,FUN2;不为零判断27H是否为1RETFUN1:LCALL DELAY0 MOV A,27H ADD A,#01HDA AMOV 27H,ACLR CMOV A,27HMOV B,#06HSUBB A,BJC FUN2MOV 27H,#00H RETFUN2:MOV A,27H CJNE A,#01H,JUD2;判断27H是否等于2JB P3.1,DEC1 ;判断加法按键是否按下,按下22H加1,不按下判断减是否按下 LCALL DELAY0MOV

15、 A,22HADD A,#01HDA AMOV 22H,A;判断分钟是否大于60,如果大于60就清零 CLR C MOV A,22H MOV B,#60H SUBB A,B JC EXIT2 MOV 22H,#00HJMP EXIT2DEC1:;判断减法按键是否按下JB P3.2,EXIT2DEC 22HLCALL DELAY0;判断分是否小于零,如果小于零就变59 MOV A,22H CJNE A,#0FFH,SU1MOV 22H,#59H JMP EXIT2SU1:ANL A,#0FH CJNE A,#0FH,EXIT2 ANL 22H,#0F0H XRL 22H,#09HJMP EXIT

16、2JUD2: CJNE A,#02H,EXIT;判断27H是否等于3JB P3.1,DEC2 ;判断加是否按下,按下23H加1,不按下判断减是否按下 LCALL DELAY0MOV A,23HADD A,#01HDA AMOV 23H,A;判断小时是否大于24,如果大于24就清零 CLR C MOV A,23H MOV B,#25H SUBB A,B JC EXIT2 MOV 23H,#00HJMP EXIT2EXIT2:JMP EXITDEC2:;判断减是否按下 JB P3.2,EXITDEC 23HDA ALCALL DELAY0;判断小时是否小于零,如果小于零就变23 MOV A,23H

17、 CJNE A,#0FFH,SU2 MOV 23H,#23HJMP EXITSU2:ANL A,#0FH CJNE A,#0FH,EXIT ANL 23H,#0F0H XRL 23H,#09H JMP EXIT EXIT:JNB P3.3,FUN4;如果EXIT按下,跳到FUN4 ,27H清零RETFUN4:MOV 27H,#00H RET;-;-LCD间接控制方式下的初始化子程序-;-INT:LCALL DELAY MOV P1,#38H;工作方式设置指令代码 CLR RSCLR RWMOV R2,#03;循环量=3 INTT1:SETB ECLR EDJNZ R2,INTT1MOV P1,

18、#38H;工作方式设置 SETB ECLR EMOV COM,#38H;工作方式设置 LCALL PR1MOV COM,#01H;清屏 LCALL PR1MOV COM,#06H;输入方式命令,光标右移 LCALL PR1MOV COM,#0CH;设置显示方式 LCALL PR1RET;-延时子程序-DELAY:MOV R6,#09HDELAY2:MOV R7,#3FHDELAY1:NOPDJNZ R7,DELAY1DJNZ R6,DELAY2RETDELAY0:MOV R5,#03H;消除按键抖动延时程序MOV R6,#0EFHMOV R7,#0EFHWAIT:DJNZ R7,WAITDJN

19、Z R6,WAITDJNZ R5,WAITRET;-;-LCD写指令子程序-;-PR1:PUSH ACC CLR RSSETB RWPR11:MOV P0,#0FFHSETB ELCALL DELAYNOPMOV A,P0CLR EJB ACC.7,PR11CLR RWMOV P0,COMSETB ECLR EPOP ACCRET;-;-LCD写显示数据子程序-;-PR2:PUSH ACCCLR RSSETB RWPR21:MOV P0,#0FFHSETB ELCALL DELAYMOV A,P0 ;读BF和AC6-0值 CLR EJB ACC.7,PR21SETB RSCLR RWMOV P

20、0,DAT ;写入数据高4位SETB ECLR EPOP ACCRETEND总结:通过一周多的课程设计实验,更加扎实了我对单片机的课程学习和实践动手能力。在编写程序和做板的过程中出现过很多例如程序的编写时候的纠错与检错;PCB画图时走线过细焊盘过小,导致压板腐蚀后出现的断线,焊盘脱落;压板成功后实验板因为种种原因未能实现功能等问题,这些都暴露了我们在这方面的欠缺与不足。经过反复的思考与检查,亲手制作了三块实验板,终于取得成功,使我们的知识不再是纸上谈兵。从理论到实验,从遇到问题到与同学共同解决问题,课程设计使我对单片机这门课的认识与掌柜更进了一步。通过理论和实践的结合亲手解决问题,使自己学到了

21、更多课本上没有的知识这些面对未来社会的挑战都是非常重要的。参考文献:1:单片机原理与应用李精华主编2:百度文库3:豆丁网文库4:道客巴巴文档单片机技术课程设计与制作成绩评定表设计题目:基于单片机的电子时钟学号:200904520237 姓名:周冲 项目评语内容评定等级设计表现(20%)基本要求评价:掌握基础理论,设计过程中的学习态度,文献查阅能力,设计思路可行性能力评价设计任务量、设计过程中参与情况ABCDE设计说明书(30%)调试过程中运用理论分析与解决问题的能力;报告格式规范性、全面性、逻辑性、表达能力综合评价ABCDE实物评价(30%)电路实现情况,电路板外观、焊点、设计合理性等ABCDE答辩(20%)答辩时,回答老师提出的软硬件问题情况ABCDE综合成绩年 月 日22

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