版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、单片机原理及应用课程设计报告简易电子时钟的设计专 业: 电子物联网 班 级: 1121 姓 名: 学 号: 2014年2月 1.课程设计目的1.1巩固和加深对单片机原理和接口技术知识的理解;1.2培养根据课题需要选学参考书籍、查阅手册和文献资料的能力;1.3学会方案论证的比较方法,拓宽知识,初步掌握工程设计的基本方法;1.4掌握常用仪器、仪表的正确使用方法,学会软、硬件的设计和调试方法;1.5能按课程设计的要求编写课程设计报告,能正确反映设计和实验成果,能用计算机绘制电路图和流程图。2.课程设计要求2.1以AT89C51单片机为核心的时钟,在LCD显示器上显示当前的时间:使用字符型LCD显示器
2、显示当前时间。显示格式为“时时:分分:秒秒”。2.2. 按按键未超过1s进入省电模式,数码管不亮,内部时钟计时;按键超过1s进入调整模式,要调整的时间会闪动;此时,按下按键超过0.5S进入下位调整;按下按键未超过0.5S,当前位加一。2.3.程序执行后工作指示灯LED闪动,表示程序开始执行,LCD显示“00:00:00”,然后开始计时。3. 硬件设计3.1 设计思想此次设计主要是应用单片机来设计电子时钟,硬件部分主要分以下电路模块:显示电路、开关电路、晶振、复位电路。显示电路用6个共阳数码管分别显示,小时、分钟和秒,通过动态扫描进行显示,从而避免了译码器的使用,同时节约了I/0端口,使电路更加
3、简单。单片机采用AT89C51系列,这种单片机应用简单,适合电子钟设计。单片机的P3.5为调整按钮,P1口 为字符输出口,P2口为位选端。3.2主要元器件介绍AT89C51(1片)、晶振(1个)、LED共阳数码管(6个)、开关(2个)、电容(3个)、电阻(10个)、地(3个)、电源(2个)。3.3 原理图及功能电路介绍3.3.1.显示模块:本电路的输出信号为8段数码管的位选和段选信号,本实验的数码管是共阳的,为了防止段选信号不能驱动数码管,故在P1口连接上拉电阻后,再送段选信号,以提高驱动,位选信号直接从P2口接入,如下图:3.3.2.晶振:本实验单片机时钟用内部时钟,模块如下:3.3.3.复
4、位电路:复位电路为手动复位构成,模块如下:3.3.4.开关电路:该设计只用了一个键盘,通过P3.5口来控制,但实现的功能却是比较完善,减少了硬件资源的损耗,该键盘可以实现小时和分钟的调节以及控制是否进入省电模式。当按键按下又松开,可以实现屏蔽数码管显示的功能,达到省电的目的;直接按下不松开,则可以通过按键实现分钟的累加,每按一次分钟加一;而连续两次按下按键不放松,则可实现小时的调节,同样每按一次小时加一。达到时间调节的目的。所接的开关电路如图:3.3.5总体原理图:各模块拼接组合,电路总体设计图如下:4. 软件设计4.1设计思想我的程序设计分为8个部分,分别是主程序部分、清零程序、加1程序、1
5、s计时程序、调时程序、闪动程序、显示程序、延时程序。通过主程序,可以调用调时程序和显示程序。在调时程序中,又嵌套调用闪动程序,延时程序,加1程序,通过显示程序调用1s计时程序和延时程序等。定时器T0、T1溢出周期为50MS,T0为秒计数用,T1为调整时闪烁用。4.2软件流程图 4.2.1:总体流程图开始T0中断入口通过查表方式显示数据数码位选加1位选值=8NY位选数值=0秒计数加1秒计数=500NY秒计数=0秒数加1中断返回 4.2.2:子程序流程图YYNNN子程序入口秒钟=60秒钟=0,并分钟加1分钟=60分钟=0,并时钟加1显示数据处理中断返回时钟=24Y4.2.3源程序ORG 0000H
6、 LJMP START ORG 0003H RETI ORG 000BH LJMP T0ZDru ORG 0013H RETI ORG 001BH LJMP T1ZDru ORG 0023H RETI ;主程序 START: MOV R0,#70H MOV R7,#0BH CLEARDISP: MOV R0,#00H INC R0 DJNZ R7,CLEARDISP MOV 20H,#00H MOV 7AH,#0AH MOV TMOD,#11H MOV TL0,#0B0H MOV TH0,#3CH MOV TL1,#0B0H MOV TH1,#3CH SETB EA SETB ET0 SETB
7、 TR0 MOV R4,#14H START1: LCALL xianshi JNB P3.5,tiaoshi1 SJMP START1 tiaoshi1: LJMP tiaoshi ;1s计时程序 T0ZDru: PUSH ACC PUSH PSW CLR ET0 CLR TR0 MOV A,#0B7H ADD A,TL0 MOV TL0,A MOV A,#3CH ADDC A,TH0 ; MOV TH0,A SETB TR0 DJNZ R4,T0ZDchu jiamiao: MOV R4,#14H MOV R0,#71H ACALL jia1 MOV A,R3 CLR C CJNE A,#
8、60H,jiafen ; jiafen: JC T0ZDchu ACALL qingling MOV R0,#77H ACALL jia1 MOV A,R3 CLR C CJNE A,#60H,jiashi jiashi: JC T0ZDchu ACALL qingling MOV R0,#79H ACALL jia1 MOV A,R3 CLR C CJNE A,#24H,HOUR ; HOUR: JC T0ZDchu ACALL qingling T0ZDchu: MOV 72H,76H MOV 73H,77H MOV 74H,78H MOV 75H,79H POP PSW POP ACC
9、SETB ET0 RETI;闪动程序 T1ZDru: PUSH ACC PUSH PSW MOV TL1, #0B0H MOV TH1, #3CH DJNZ R2,T1ZDchu MOV R2,#06H CPL 02H JB 02H,shanshuo1 MOV 72H,76H MOV 73H,77H MOV 74H,78H MOV 75H,79H T1ZDchu: POP PSW POP ACC RETI shanshuo1: JB 01H,shanshuo2 MOV 72H,7AH MOV 73H,7AH MOV 74H,78H MOV 75H,79H AJMP T1ZDchu shansh
10、uo2: MOV 72H,76H MOV 73H,77H MOV 74H,7AH MOV 75H,7AH AJMP T1ZDchu;加1子程序 jia1: MOV A,R0 DEC R0 SWAP A ORL A,R0 ADD A,#01H DA A MOV R3,A ANL A,#0FH MOV R0,A MOV A,R3 INC R0 SWAP A ANL A,#0FH MOV R0,A RET;清零程序 qingling: CLR A MOV R0,A DEC R0 MOV R0,A RET ;时钟调试程序 tiaoshi: CLR ET0 CLR TR0 LCALL yanshi1S
11、JB P3.5,shengdian MOV R2,#06H SETB ET1 SETB TR1 SET2: JNB P3.5,SET1 SETB 00H SET4: JB P3.5,SET3 LCALL yanshi05S JNB P3.5,xiaoshi MOV R0,#77H LCALL jia1 MOV A,R3 CLR C CJNE A,#60H,HHH HHH: JC SET4 LCALL qingling CLR C AJMP SET4 shengdian: SETB ET0 SETB TR0 CLOSE: JB P3.5,CLOSE LCALL xianshi JB P3.5,C
12、LOSE WAITH: JNB P3.5,WAITH LJMP START1 xiaoshi: CLR 00H xiaoshi1: JNB P3.5,SET5 SETB 01H SET6: JB P3.5,SET7 LCALL yanshi05S JNB P3.5,tuichu MOV R0,#79H LCALL jia1 MOV A,R3 CLR C CJNE A,#24H,shizhen shizhen: JC SET6 LCALL qingling AJMP SET6 tuichu: JNB P3.5,tuichu1 LCALL xianshi JNB P3.5,tuichu CLR 0
13、1H CLR 00H CLR 02H CLR TR1 CLR ET1 SETB TR0 SETB ET0 LJMP START1 SET1: LCALL xianshi AJMP SET2 SET3: LCALL xianshi AJMP SET4 SET5: LCALL xianshi AJMP tuichu1 SET7: LCALL xianshi AJMP SET6 tuichu1: LCALL xianshi AJMP tuichu;显示程序 xianshi: MOV R1,#70H MOV R5,#0FEH saomiao: MOV A,R5 MOV P2,A MOV A,R1 MO
14、V DPTR,#TAB MOVC A,A+DPTR MOV P1,A LCALL yanshi1MS INC R1 MOV A,R5 JNB ACC.6,XSjieshu RL A MOV R5,A AJMP saomiao XSjieshu: SETB P2.6 MOV P1,#0FFH RET TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH ;延时子程序yanshi1MS: MOV R6,#14H yanshi1: MOV R7,#19H yanshi2: DJNZ R7,yanshi2 DJNZ R6,yanshi1 R
15、ET yanshi20MS: ACALL xianshi ACALL xianshi ACALL xianshi RET yanshi1S: LCALL yanshi05S LCALL yanshi05S RET yanshi05S: MOV R3,#20H yanshi05S1: LCALL xianshi DJNZ R3,yanshi05S1 RET END5. 调试运行5.1 正常运行图:5.2 调整时间时的图:6. 设计心得体会我设计的电子时钟由89C51,BUTTON,8段数码管等构成,采用晶振电路作为驱动电路,由延时程序和循环程序产生的一秒定时,达到时分秒的计时,六十秒为一分钟,六
16、十分钟为一小时,满二十四小时为一天。而电路中唯一的一个控制键却拥有多种不同的功能,按下又松开,可以实现屏蔽数码管显示的功能,达到省电的目的;直接按下不松开,则可以通过按键实现分钟的累加,每按一次分钟加一;而连续两次按下按键不放松,则可实现小时的调节,同样每按一次小时加一并通过一个控制键用来实现时间的调节和是否进入省电模式的转换。用Proteus的ISIS软件实现了单片机电子时钟系统的设计与仿真。该方法仿真效果真实、准确,节省了硬件资源。通过这次课程设计,我知道,我对于单片机的知识了解的还不够,有些知识还是不太能够灵活的运用。有很多次,我调试程序的时候,都出现了问题。后来才发现,原来是我的程序过分复杂,有些语句太过累赘,使得存储的空间太大。在这次的设计中,我学到了很多东西。我懂得了,在做设计之前一定要预先做好准备。比如,在编程之前必须了解硬件结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 炒黄豆教案反思
- 编织教案反思
- 氧化碳性质说课稿
- 深度学习及自动驾驶应用 课件全套 第1-10章 汽车自动驾驶技术概述 -强化学习理论及自动驾驶应用实践
- 汽车灯光应急
- 检验科应急演练
- 度假村自建房施工合同样本
- 矿业安全规则承诺书
- 城市公园化粪池维修协议
- 管道安装清包工施工合同
- 夏季反季节施工方案绿化
- 专业技术人员网络安全知识提升
- 上期开特下期出特公式
- 中国药科大药大动力学重点总结
- 高中生物必修一学考知识总结
- 火力发电厂设计技术规程(热控部分)
- 中医师承学员报名申请表
- MSDS(T-35)DBE溶剂
- DFMEA模板(完整版)
- 实验室6S管理实施细则
- 学习解读2021年《全民科学素质行动规划纲要(2021—2035年)》PPT演示课件
评论
0/150
提交评论