




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、重庆三峡学院单片机原理及应用课程设计报告书题目:基于AT89C51单片机的电子钟设计 学院(系): 年级专业: 学 号: 学生姓名: 指导教师: 教师职称: 成 绩: 制作日期 2012 年 12月2日基于AT89C51作息时间控制器的设计摘要:以单片机设计了一个基于AT89C51的作息时间控制器系统。我们采用的是六位数码管静态显示方案来实现的。该电子主要由AT89C51、74L164、六位数码管等构成的。采用晶振电路作为驱动电路,有延时程序和循环程序作为一秒定时,达到时分秒的计时。用keil进行代码编译,用proteus的ISIS软件进行仿真。,单片机体积小设计成本低,且抗干扰能力很强,可以
2、实现分式各分部控制的优点,让单片机很大的发展前景。本次设计采用的就是现在性能最好的AT89C51单片机设计而成的最小系统。它在我们生活中有很广泛的应用。关键词:单片机 电子钟 静态显示 目 录 第一章:引言 1.1设计要求第2页 1.2设计目的第2页 1.3设计思路第2页 1.4主控制系统第2页 第二章:硬件系统 2.1硬件原理图第3页 2.2晶振电路第3页 2.3复位电路第4页 2.4驱动电路第4页 2.5显示电路第5页 2.6硬件原理及说明第6页 2.7主要性能及参数第6页 第三章:软件系统设计.第7页 3.1主程序.第7页 3.2显示子程序.第8页 3.3定时中断子程序.第10页 3.4
3、软件仿真.第12页 第四章:系统调试.第14页 4.1硬件调试.第14页 第五章:实验心得.第14页 参考文献.第14页 附录第15页第一章 引言1.1设计要求:系统上电和复位后能自动显示时间,能根据预先设定的时间进行打铃,响铃时间为15秒。设计一个六位数码管的额显示电路,能够显示“时、分、秒” 1.2设计目的:1.2.1通过课程设计能让我们更加深入的了解单片机的基本原理,各电路的设计及其仿真调试。1.2.2使用AT89C51芯片的串口功能,利用寄存器74LS164实现时分秒的显示。1.2.3用keil原件进行编程和调试,再利用proteus进行仿真制作电路图。1.3设计思路:1.3.1该设计
4、选用单片机来实现,要进行各个芯片的选择1.3.2采用AT89C51芯片,其为高性能CMOS8位单片机,该芯片内含有4Kbytes的可反复擦写的只读存储器、128bytes的随机存取数据存储器、32位可编程I/O口线、2个16位定时/计数器、6个中断源、可编程串行UART通道及低功耗空闲和掉电模式。因此,我们采用AT89C51。1.3.3采用6位数码管显示,显示较为清楚直观,便于观察与调试。1.3.4直接采用单片机定时计数提供秒信号。使用程序实现时分秒的计数,采用此种芯片可以减少芯片的使用,节约成本,实现的时间误差较小。1.4综上方案对此次电子钟选定为AT89C51芯片采用串行输出静态显示作为主
5、控制系统,来实现时分秒的显示。 AT89C51 主控制器晶振电路模块复位电路模块74LS164驱动电路6位LED显示电路 第二章 硬件系统的设计2.1硬件原理图 采用AT89C51作为主芯片,用定时计数器提供时钟,利用LED作为时间显示。2.2晶振电路晶振电路运用单片机的18、19脚与晶振和瓷片电容相连接,由2个30pF电容C1、C2和一个6MHz的晶振X1组成。它能产生一个高精度且稳定的振荡信号,即频率为6MHz的方波信号,此信号为单片机提供一个时钟信号,以供定时器定时用。2.3复位电路复位电路是运用单片机的9脚,实现的按键与上电复位。该电路中的复位电路为上电与按键均有效的复位,上电瞬间RS
6、T引脚获得高电平,随电容C1的充电,RST引脚的高电平将逐渐下降。RST引脚上的高电平只能保持两个机器周期的时间,单片机就可以进行复位操作。单片机在运行期间,我们可以利用按键开关来完成复位。当按键开关按下瞬间,RST上的电平立即变为高电平,即可进行复位2.4驱动部分74LS164是最常见的移位寄存器,移位寄存器是暂时记忆数据的“寄存器”,其特征是具有将数据向左或向右移动的功能。移位寄存器有各种形式。按存数据的位数有4位、8位等,按“输入/输出数据”形式有“串入/串出”、“串入/并出”、“并入/串出”、“并入/并入”等。芯片管脚图如图所示:74ls164是一个串入并出的8位移位寄存器,它常用于单
7、片机系统中,图6是串行输入/并行(串行)输出移位寄存器74LS164的管脚排列图。其功能表见表1所示。74LS164有两个串行数据DA、DB输入端,使用时一般把它们连在一起;为清零输入端,低电平有效,当该端加入低电平时,寄存器输出Q0Q7全为低电平。在正常情况下,清零输入端接高电平,当CP信号上升沿到来时,数据右移一位;Q0Q7为并行数据输出端,同时Q7端也是串行数据输出端,对于串行输入的数据,最后进入的从Q0输出。CP为移位脉冲。最先输入的从Q7输出,段控部分位控部分2.5显示电路部分对于数字显示电路,通常采用液晶显示或数码管显示。本设计的显示电路采用6位一体数码管作为显示介质。数码管显示可
8、以分为静态显示和动态显示两种。由于本设计静态显示则占用的口线多,硬件电路复杂。所以采用动态显示。2.6硬件原理及说明AT89C51是美国Intel公司生产的低电压,高性能CHMOS8位单片机,片内含4k bytes的可反复擦写的只读程序存储器(PEROM)和蔼可亲128 bytes的随机存取数据存储器(RAM),器件采用Intel公司的高密度、非易失性存储技术生产,片内置通用4位中央处理器(CPU)和Flash存储单元,功能强大AT89C51单片机适合于许多较为复杂控制应用场合。2.7主要性能参数与MCS-51产品指令和引脚完全兼容4k字节可重擦写Flash闪速存储器1000次擦写周期全静态操
9、作:0Hz24MHz三级加密程序存储器128×8字节内部RAM32个可编程I/O口线2个16位定时/计数器5个中断源可编程串行UART通道低功耗空闲和掉电模式第三章 软件系统设计有主程序;静态显示子程序;中断服务程序;时、分、秒加1子程序;时分秒单元清零子程序。3.1主程序 ;功能:系统初始化,按键扫描子程序循环调用;*START: MOV SECOND , #00;时钟初值为00.00.00MOV MINITE , #59MOV HOUR , #00MOV DISPBIT , #00H;MOV T2SCNTA , #00HMOV T2SCNTB , #00HMOV TEMP , #
10、0FEHLCALL DISP;调显示程序MOV TMOD,#01H;T0方式1,定时5ms;MOV TH0 , #(65536-20000)/256);T0赋初值;MOV TL0 , #(65536-20000) MOD 256)MOV TH0 , #0ECHMOV TL0 , #78HSETB TR0;启动T0SETB ET0;开放T0中断SETB EAMLP:LCALLWT;调按键扫描子程序SJMPMLP3.2显示子程序显示子程序流程图:显示子程序:;入口参数:时、分、秒值分别放在HOUR 、MINITE和SECOND单元中;;出口信息:(47H)=BCD码时高位;(46H)=BCD码时低
11、位;; (44H)=BCD码分高位;(43H)=BCD码分低位;; (41H)=BCD码秒高位;(40H)=BCD码秒低位; ; (45H)=(42H)=0AH(“-”的位控码);*DISP:MOV A,#DISPBUFADD A,#8DEC AMOV R1,AMOV A,HOUR;取“时”值MOV B,#10;“时”转换为BCD码DIV ABMOV R1,A;BCD码“时”高位存入47H单元DEC R1MOV A,B;BCD码“时”低位存入46H单元MOV R1,ADEC R1MOV A,#10MOVR1,A;45H单元存入0AHDEC R1MOVA,MINITE;取“分”值MOV B,#1
12、0DIV AB;“分”转换为BCD码MOV R1,A;BCD码“分”高位存入44H单元DEC R1MOV A,BMOV R1,A;BCD码“分”低位存入43H单元DEC R1MOV A,#10MOVR1,A;42H单元存入0AHDEC R1MOV A,SECOND;取“秒”值MOV B,#10DIV AB;“秒”转换为BCD码MOV R1,A;BCD码“秒”高位存入41H单元DEC R1MOV A,BMOV R1,A;BCD码“秒”低位存入40H单元DEC R1RET3.3定时中断子程序定时器TO用于时间计时,定时溢出中断周期设为100ms,中断进入后,判断是否到1秒钟,到了,则调用加法子程序
13、对秒进行加1处理,处理完后返回断点地址,同时判断秒是否到了60秒,到了则对秒单元清零,同时对分进行加1操作,同样对分进行判断,到60分则对分单元清零,同时对时加1,同样也对时进行判断,到24小时,则对时单元清零,最后中断返回。中断服务程序:;功能:定时器定时10ms。1s=2×50×10ms。;每2ms进入一次中断,刷新对应的两位显示器;按规定调整200ms、1000ms、秒、分、时单元的值;*INT_T0:;MOV TH0,#(65536-20000)/256);重赋初值;MOV TL0,#(65536-20000) MOD 256)MOV TH0 , #0ECHMOV
14、TL0 , #78HMOV A,#DISPBUF;取显示缓冲单元ADD A,DISPBITMOV R0,AMOV A,R0;取对应显示位MOV DPTR,#TABLEMOVC A,A+DPTR;查表取段码值 CPL AMOV P2,A;P1口输出对应位段码值MOV A,DISPBIT;显示位地址MOV DPTR,#TABMOVC A,A+DPTR;查表取位控码MOV P3,A;P3口输出位控码 LCALLDELY5MS;延时2.5MS,稳定(必须加入,系统才能稳定显示) MOV P3 , #0FFH;位控码全灭(必须加入,否则扫描时位控码不关闭,会输出错误代码)INC DISPBIT;位控码增
15、1MOV A,DISPBITCJNE A,#08H,KNA;位控码到8了吗?MOV DISPBIT,#00H;位控码到8,则清0 KNA: INC T2SCNTA;200ms单元加1MOV A,T2SCNTACJNE A,#100,DONE;500ms到了吗? MOV T2SCNTA,#00H;200ms到,200ms单元清0INC T2SCNTB;1000ms单元加1MOV A,T2SCNTBCJNE A,#02H,DONE;1000ms到了吗?MOV T2SCNTB,#00H;1000ms到,1000ms单元清0INC SECOND;秒单元加1MOV A,SECOND SETB P1.0C
16、JNE A,#60,NEXT;60秒到了吗MOV SECOND,#00H;60s到,60s单元清0INC MINITE;分单元加1MOV A,MINITECJNE A,#60,NEXT;60分到了吗?MOV MINITE,#00H;60分到,分单元清0 INC HOUR;时单元增1 CLR P1.0 MOV A,HOURCJNE A,#24,NEXT;24小时到了吗?MOV HOUR,#00H;24小时到,时单元清0NEXT: LCALL DISP;调显示转换程序DONE: RETITABLE: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,40H ;0
17、9,“-”共阴极 代码,代码从高位到低位为dpgfedcbaTABLE:DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0BFH;09,“-”共阳极代码,代码从高位到低位为dpgfedcbaTABLE1: DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H,0FEH,0F6H,02H; 09,“-”共阴极代码,代码从高位到低位为abcdefgdpTAB: DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH;动态扫描代码END3.4软件仿真:本次实训通过Kei和protues仿真软件仿
18、佛进行调试与连调,确定各个程序模块正确无误第四章 系统调试硬件调试用protues软件画出电路,用keil软件把代码进行编译。如果有错,对程序进行修改和调试。当没有错时生成HEX文件,在protues中添加源程序,在进行调试。调试成功后执行程序看仿真效果。第五章 实验心得通过这次实验更加深入的了解到了单片机的基本工作原理,对于接口电路和调试的方法有了进一步的提高,对单片机的程序有了更加深刻的认识。在今后的工作一定会有很大的帮助。在这次实验中,通过与同学的协作完成了这次课程设计,大家都说出了自己的想法,增加了同学间的团结协作。这次课程设计实行的块结构,这个思想将会应用的以后的工作中。本次试验我学
19、到了很多自己的动手能力得到了很大的提高在以后的课程中应该更加的努力好好完成试验。参考文献:单片机原理及应用 谢辉 化学工业出版社电子技术基础试验 陈大钦 高等教育出版社电路基础 许熙文 高等教育出版 单片机应用技术 北京理工大学出版社 主编 倪志连单片机原理与应用系统设计 电子工业出版社 主编 张琦51系列单片机高级实例开发指南李军 北京航空航天大学出版单片机原理及应用 姜志海 电子工业出版社C程序设计 潭浩强 北京航空航天出版社51系列单片机C语言程序设计与应用 于京 中国电力出版社20附录:完整程序:SECOND EQU 30H;秒单元MINITE EQU 31H;分单元HOUR EQU
20、32H;时单元HOURK BIT P0.2;时按键MINITEK BIT P0.1;分按键SECONDK BIT P0.0;秒按键DISPBUF EQU 40H;显示缓冲区DISPBIT EQU 48H;显示位控码T2SCNTA EQU 49H;200ms存放单元T2SCNTB EQU 4AH;1000ms存放单元TEMP EQU 4BHORG 00HLJMP STARTORG 0BHLJMP INT_T0;*;主程序:;功能:系统初始化,按键扫描子程序循环调用;*START: MOV SECOND , #00;时钟初值为00.00.00MOV MINITE , #00MOV HOUR , #
21、00MOV DISPBIT , #00H;MOV T2SCNTA , #00HMOV T2SCNTB , #00HMOV TEMP , #0FEHLCALL DISP;调显示程序MOV TMOD,#01H;T0方式1,定时5ms;MOV TH0 , #(65536-20000)/256);T0赋初值;MOV TL0 , #(65536-20000) MOD 256)MOV TH0 , #0ECHMOV TL0 , #78HSETB TR0;启动T0SETB ET0;开放T0中断SETB EAMLP:LCALLWT;调按键扫描子程序SJMPMLP;*;按键扫描子程序:;功能:判断秒、分、时按键是
22、否按下。;“秒”键按下,每按一次加1秒; ;“分”键按下,每按一次加1分; ;“时”键按下,每按一次加1个小时;;*WT: JB SECONDK,NK1;秒按键按下否?;LCALL DELY10MS;延时10ms,消抖JB SECONDK,NK1;抖动,转NK1INC SECOND;秒单元加1MOV A,SECONDCJNE A,#60,NS60;60秒到否?MOV SECOND,#00H;60s到,秒单元清0NS60: LCALL DISP;调显示程序JNB SECONDK,$;判断秒按键释放否?NK1: JB MINITEK,NK2;分按键按下否?;LCALL DELY10MS;延时10m
23、s,消抖JB MINITEK,NK2;抖动,转NK2INC MINITE;分单元加1MOV A,MINITECJNE A,#60,NM60;60分到否?MOV MINITE,#00H;60分到,分单元清0NM60: LCALL DISP;调显示程序JNB MINITEK,$;判断分按键释放否?NK2: JB HOURK,NK3;时按键按下否?;LCALL DELY10MS;延时10ms,消抖JB HOURK,NK3;抖动,转NK3INC HOUR;时单元加1 CLR P1.0MOV A,HOURCJNE A,#24,NH24;24小时到否?MOV HOUR,#00H;24小时到,时单元清0NH
24、24:LCALL DISP;调显示程序JNB HOURK,$;判断时按键释放否?NK3: RET;*;10MS延时子程序。(晶振12MHz);*DELY10MS: MOV R6,#20D1: MOV R7,#248DJNZ R7,$DJNZ R6,D1RET;*;*;2.5MS延时子程序。(晶振12MHz);*DELY5MS: MOV R6,#6D5: MOV R7,#50DJNZ R7,$DJNZ R6,D5RET;*;显示转换子程序;入口参数:时、分、秒值分别放在HOUR 、MINITE和SECOND单元中;;出口信息:(47H)=BCD码时高位;(46H)=BCD码时低位;; (44H)
25、=BCD码分高位;(43H)=BCD码分低位;; (41H)=BCD码秒高位;(40H)=BCD码秒低位; ; (45H)=(42H)=0AH(“-”的位控码);*DISP:MOV A,#DISPBUFADD A,#8DEC AMOV R1,AMOV A,HOUR;取“时”值MOV B,#10;“时”转换为BCD码DIV ABMOV R1,A;BCD码“时”高位存入47H单元DEC R1MOV A,B;BCD码“时”低位存入46H单元MOV R1,ADEC R1MOV A,#10MOVR1,A;45H单元存入0AHDEC R1MOVA,MINITE;取“分”值MOV B,#10DIV AB;“
26、分”转换为BCD码MOV R1,A;BCD码“分”高位存入44H单元DEC R1MOV A,BMOV R1,A;BCD码“分”低位存入43H单元DEC R1MOV A,#10MOVR1,A;42H单元存入0AHDEC R1MOV A,SECOND;取“秒”值MOV B,#10DIV AB;“秒”转换为BCD码MOV R1,A;BCD码“秒”高位存入41H单元DEC R1MOV A,BMOV R1,A;BCD码“秒”低位存入40H单元DEC R1RET;*;定时中断子程序。;功能:定时器定时10ms。1s=2×50×10ms。;每2ms进入一次中断,刷新对应的两位显示器;按规
27、定调整200ms、1000ms、秒、分、时单元的值;*INT_T0:;MOV TH0,#(65536-20000)/256);重赋初值;MOV TL0,#(65536-20000) MOD 256)MOV TH0 , #0ECHMOV TL0 , #78HMOV A,#DISPBUF;取显示缓冲单元ADD A,DISPBITMOV R0,AMOV A,R0;取对应显示位MOV DPTR,#TABLEMOVC A,A+DPTR;查表取段码值 CPL AMOV P2,A;P1口输出对应位段码值MOV A,DISPBIT;显示位地址MOV DPTR,#TABMOVC A,A+DPTR;查表取位控码MOV P3,A;P3口输出位控码LCALLDELY5MS;延时2.5MS,稳定(必须加入,系统才能稳定显示)MOV P3 , #0FFH;位控码全灭(必须加入,否则扫描时位控码不关闭,会输出错误代码)INC DISPBIT;位控码增1M
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 粘土砖瓦市场营销策略考核试卷
- 稀有稀土金属压延加工质量控制技术考核试卷
- 民宿的设计与开发
- 空气呼吸器的使用方法
- 耳缘静脉麻醉技术规范
- 外科消毒隔离管理规范
- 慢性疾病防治与管理要点
- 眼睑肿物切除皮瓣设计
- trans-Clopenthixol-E-Clopenthixol-生命科学试剂-MCE
- BMS-309403-Standard-生命科学试剂-MCE
- 中国全部城市名及拼音
- 历史九年级上册第五单元《走向近代》作业设计 单元作业设计
- 外教社新编英语语法教程(第6版)PPT课件Unit-26
- 未成年人纹身治理-主题班会
- 平方差公式公开课一等奖课件市公开课一等奖课件省赛课获奖课件
- 2023年公司商业机密保密管理
- 广州市天河区2022-2023学年六年级下学期小升初真题精选数学试卷含答案
- 年产5000万个泡沫包装箱、2000万个水印纸箱建设项目环评报告表
- 人教鄂教版六年级下册科学全册知识点汇总
- 人材机单价表
- 通信工程施工组织方案
评论
0/150
提交评论