版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上精选优质文档-倾情为你奉上专心-专注-专业专心-专注-专业精选优质文档-倾情为你奉上专心-专注-专业单 片 机 数 字 时 钟 设 计实 训 报 告系别 专业 姓名 学号 摘 要 单片机是把中央处理器CPU,随即存取存储器RAM,只读存储器ROM,定时器/计数器以及输入/输出即I/O接口电路等主要计算机部件,集成在一块集成电路上的微机。虽然只是一个芯片,但从组成和功能上来看,已具备微型系统的属性。单片机的发展经历了4个阶段,其向着低功耗CMOS化,微型单片化,主流与多品种共存的方向发展。单片机在工业自动化,仪器仪表,家用电器,信息和通讯产品及军事方面得到了广泛应用。另
2、外,其发展前景不错。本次实训以设计制作数字时钟为例,来加深我们对单片机特性和功能的了解,加强我们的编程思想。为今后从事单片机程序产品的开发,打下了良好的理论与实践基础。理论服务于实践,将知识转化为能力,也是本次试训的另一个重要目的。目 录一、 整体设计方案31. 方案设计要求32. 方案设计与论证33. 整体设计框图4二、 数字时钟的硬件设计41. 最小系统设计4 2. LED显示电路83. 键盘控制电路94. 数字时钟的原理图10三、 数字时钟的软件设计111. 系统软件设计流程图112. 数字时钟主程序14四、 调试与仿真181. 数字时钟系统PROTUES仿真182. 软件与硬件调试19
3、3. 系统性能测试与功能说明194. 出现问题及解决19五、 实验结论20六、 心得体会21附录:1.原器件清单222.参考文献22一、整体方案设计1. 方案设计要求设计制作一个数字时钟,要求能实现基本走时,并以数字形式显示时、分、秒;采用24小时制;能校时、校分、校秒;也可以添加其他功能.2. 方案设计与论证方案一:采用各种纯数字芯片实现数字时钟的设计。优点:各个模块功能清晰,电路易于理解实现。缺点:各个模块功能已定不能进行智能化调整,整体电路太庞大。方案二:采用 FPGA模块用硬件语言实现功能。优点:运算速度快,走时精度高,算法简单。缺点:成本高,大材小用。方案三:采用单片机最小系统实现功
4、能。优点:电路简单,能通过程序进行随机调整并扩展功能,成本低,易于实现。缺点:走时有一定的误差。经过综合考虑成本问题以及他人接受程度,选择第三种方案实现设计要求。整体设计框图MCU控制芯片(AT89CMCU控制芯片(AT89C51)(AT89C51)复 位LED显示LED显示时间设置时间设置 数字时钟整体框图二、数字时钟的硬件设计1. 最小系统设计 AT89C51的介绍:AT89C51单片机是在一块芯片中集成了CPU、RAM、ROM、定时器/计数器和多种功能的I/O接口电路等一台计算机所需要的基本功能部件,AT89C51单片机内包含下列几个部件:(1) 一个8位CPU;(2)一个片内振荡器及时
5、钟电路;(3)4K字节ROM程序存储器;(4)128字节RAM数据存储器;(5)两个16位定时器/计数器;(6)可寻址64K外部数据存储器和64K外部程序存储器空间的控制电路;(7)32条可编程的I/O线(四个8位并行I/O端口);(8)一个可编程全双工串行口;(9)具有五个中断源、两个优先级嵌套中断结构。其内部结构框图如下图所示: AT89C51单片机的部分管脚说明:AT89C51单片机采用40条引脚双列直插式器件,引脚除5V( 40脚)和电源地( 20脚)外,其功能分为时钟电路、控制信号、输入/输出三大部分,引脚图如下图:最小系统: 单片机最小系统的结构图单片机的最小系统是由电源、复位、晶
6、振、/EA=1组成,下面介绍各个组成部分。 Vcc40 电源端;GND20 接地端。工作电压为5V 。 外接晶振引脚晶振连接的内部、外部方式图XTAL119 ;XTAL218。XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。晶振的频率可以在1MHz-24MHz内选择。电容取30PF左右。系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路。复位RST9常用复位电路图在振荡器运行时,有两个机器周期(24个振荡周期)以上的高
7、电平出现在此引腿时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。复位后P0P3口均置1引脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清零。/EA=1 31脚当/EA=1时,访问内部程序存储器,当PC值超过内ROM范围时,自动转执行外部程序存储器的程序;当/EA=0时,只访问外部程序存储器。另外介绍一下输入输出引脚(本系统只用到P0、P1、P2口):(1) P0端口P0.0-P0.7 是一个8位漏极开路型双向I/O端口,端口置1(对端口写1)时作高阻抗输入端。作为输出口时能驱动8个TTL。对内部Flash程序存储器编程时,接收指令字节;校验程序时输出指令字节,要求外接上拉电
8、阻。在访问外部程序和外部数据存储器时,P0口是分时转换的地址(低8位)/数据总线,访问期间内部的上拉电阻起作用。(2) P1端口P1.0P1.7是一个带有内部上拉电阻的8位双向I/0端口。输出时可驱动4个TTL。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部Flash程序存储器编程时,接收低8位地址信息。(3) P2端口P2.0P2.7是一个带有内部上拉电阻的8位双向I/0端口。输出时可驱动4个TTL。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部Flash程序存储器编程时,接收高8位地址和控制信息。在访问外部程序和16位外部数据存储器时,P2口送出高8位地址。而在访问
9、8位地址的外部数据存储器时其引脚上的内容在此期间不会改变。2. LED显示电路本实训用到四位一体共阳极数码管和一位共阳极数码管,通过其引脚图,便可顺利完成其连接。3. 键盘控制电路该设计需要校对时间,所以用三个按键来实现。按S3来调节小时的时间,按 S2来调节分针的时间,按 S1来调节秒的时间。下图是按键硬件连接图。当用手按下一个键时,往往按键在闭合位置和断开位置之间跳几下才稳定到闭合状态的情况;在释放一个键时,也会出现类似的情况,这就是抖动。抖动的持续时间随键盘材料和操作员而异,不过通常总是不大于10ms。很容易想到,抖动问题不解决就会引起对闭合键的识别。用软件方法可以很容易地解决抖动问题,
10、这就是通过延迟10ms来等待抖动消失,这之后,再读入键盘码。4. 数字时钟的原理图根据要求画出数字时钟的原理图如下所示:数字时钟的原理图数字时钟的工作原理: 数字时钟是一个将“ 时”,“分”,“秒”显示于人的视觉器官的计时装置。它的计时周期为24小时,显示满刻度为23时59分59秒,另外还有校时功能。因此,一个基本的数字时钟电路主要由显示器“时”,“分”,“秒”和单片机,及复位校时部分组成。6位一体数码管的段选接到单片机的P0口,位选接到单片机的P2口。数码管按照数码管动态显示的工作原理工作,将标准秒信号送入“秒单元”,“秒单元”采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将
11、作为“分单元”的时钟脉冲。“分单元”也采用60进制计数器,每累计60分钟,发出一个“时脉冲”信号,该信号将被送到“时单元”。“时单元”采用24进制计时器,可实现对一天24小时的累计。显示电路将“时”、“分”、“秒”通过七段显示器显示出来。校时电路是用来对“时”、“分”、“秒”显示数字进行校对调整,按一下S1,秒单元就加1 ,按一下S2,分就加1,按一下S3,时就加1。三、 数字时钟的软件设计1. 系统软件设计流程图 主程序是先开始,然后启动定时器,定时器启动后再进行按键检测,检测完后,就可以显示时间。开 始开 始启动定时器按键检测时间显示主程序流程图时间设置:NNYYNY时加1显示时间结 束开
12、 始秒按键按下?秒加1分按键按下?分加1时按键按下? 时间设置流程图 按键处理是先检测秒按键是否按下,秒按键如果按下,秒就加1;如果没有按下,就检测分按键是否按下,分按键如果按下,分就加1;如果没有按下,就检测时按键是否按下,时按键如果按下,时就加1;如果没有按下,就把时间显示出来。定时器中断:NN24小时到?分单元清零,时单元加1NNNYY时单元清零时间显示中断返回开 始一秒时间到?60秒时间到?60分钟到?秒单元加1秒单元清零,分单元加1YY 定时器中断流程图时间显示是从左到右依次是时十位显示、分十位显示、秒十位显示。2. 数字时钟主程序SCAN EQU 28H ORG 0000H LJM
13、P START ORG 0BH LJMP TIM0 ORG 0030HSTART: MOV SP,#70H MOV 2AH,#12 MOV 2BH,#00H MOV 2CH,#00H MOV 20H,#00H MOV 21H,#00H MOV 22H,#00H MOV 23H,#00H MOV 24H,#00H MOV 25H,#00H MOV TMOD,#01H MOV TH0,#3CH MOV TL0,#0B0H MOV IE,#B MOV 41H,#20 SETB TR0START_0: LCALL DISPLAY LCALL SCAN_1 LJMP START_0SCAN_1: JB
14、P0.0,N2 LCALL DELAY JB P0.0,N2 LOP1: CLR EA LCALL DATA2 LCALL DATA1 LCALL DISPLAY JNB P0.0,LOP1 MOV A,2CH INC A MOV 2CH,A CJNE A,#60,N6 MOV 2CH,#00N2: JB P0.1,N4 LCALL DELAY JB P0.1,N4LOP_2: CLR EA LCALL DATA2 LCALL DATA1 LCALL DISPLAY JNB P0.1,LOP_2 MOV A,2BH INC A MOV 2BH,A CJNE A,#60,N6 MOV 2BH,#
15、00N4: JB P0.2,N6 LCALL DELAY JB P0.2,N6 LOP_3: CLR EA LCALL DATA2 LCALL DATA1 LCALL DISPLAY JNB P0.2,LOP_3 MOV A,2AH INC A MOV 2AH,A CJNE A,#24,N6 MOV 2AH,#00N6: SETB EA RETTIM0: MOV TH0,#3CH MOV TL0,#0B0H PUSH ACC PUSH B PUSH PSW SETB RS0 DJNZ 41H,X2 MOV 41H,#20 LCALL CLOCK1 LCALL CLOCK2X2: POP PSW
16、 POP B POP ACC RETICLOCK1: MOV A,2CH INC A MOV 2CH,A CJNE A,#60,X4 MOV 2CH,#00 MOV A,2BH INC A MOV 2BH,A CJNE A,#60,X4 MOV 2BH,#00 MOV A,2AH INC A MOV 2AH,A CJNE A,#24,X4 MOV 2AH,#00 X4: RETCLOCK2: MOV A,2CH MOV B,#10 DIV AB MOV 20H,B MOV 21H,A MOV A,2BH MOV B,#10 DIV AB MOV 22H,B MOV 23H,A MOV A,2A
17、H MOV B,#10 DIV AB MOV 24H,B MOV 25H,A RETDISPLAY: MOV R0,#20H MOV SCAN,#0FEH MOV A,SCANLD0: MOV P2,A MOV A,R0 MOV DPTR,#TAB MOVC A,A+DPTR MOV P1,A ACALL DL1MS INC R0 MOV A,SCAN JNB ACC.5,LD1 RL A MOV SCAN,A AJMP LD0LD1: RETDATA1:MOV A,2CH MOV 2CH,A CJNE A,#60,K4 MOV 2CH,#00 MOV A,2BH MOV 2BH,A CJNE
18、 A,#60,K4 MOV 2BH,#00 MOV A,2AH MOV 2AH,A CJNE A,#24,K4 MOV 2AH,#00K4: RETDATA2: MOV A,2CH MOV B,#10 DIV AB MOV 20H,B MOV 21H,A MOV A,2BH MOV B,#10 DIV AB MOV 22H,B MOV 23H,A MOV A,2AH MOV B,#10 DIV AB MOV 24H,B MOV 25H,A RETTAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H DB 82H,0F8H,80H,90H,88H,0FFHDL1MS: MOV
19、R6,#14HDL1: MOV R7,#19HDL2: DJNZ R7,DL2 DJNZ R6,DL1 RETDELAY: MOV R6,#20D1: MOV R7,#248 DJNZ R7,$ DJNZ R6,D1 RET END四、 调试与仿真1.数字时钟系统PROTUES仿真用ISIS软件,根据数字时钟的原理图,画出仿真图,得到的图如下所示:将Keil编译程序产生的HEX文件下载至AT89C51中,通过控制按键来进行仿真测试。2.软件与硬件调试单片机应用系统的调试包括硬件和软件两部分,但是它们并不能完全分开。一般的方法是排除明显的硬件故障,再进行综合调试,排除可能的软/硬件故障。软件调试
20、是指用仿真软件进行仿真调试,验证系统的各项功能;硬件调试即软件调试成功后,将程序下载至AT89C51芯片中,用焊接好的电路来进行各项功能的验证与检测。需要特别注意的是软件调试与硬件调试的差异,软件调试只是初步的估测,硬件的调试才是最真实的。3.系统性能测试与功能说明工作时:默认为走时状态,按24小时制分别显示“时时分分秒秒”,时间会按实际时间以秒为最小单位变化。走时调整:按S1对秒进行调整,按一下加一秒;按S2对分进行调整,按一下加一分;按S3对时进行调整,按一下加一小时,从而达到快速设定时间的目的,按S4进行复位。4.出现的问题及解决编译程序中出现错误,应严格按照汇编语言的语法来编写即可解决
21、。PROTEUS软件仿真时,加上三极管驱动数码管显示时很难找到符合条件的三极管,这很好的说明了软件仿真于硬件的最大区别。解决方法:若去掉三极管,数码管可正常显示,则说明仿真成功,不必过于在寻找三极管上花费工夫。另外,也会出现部分按键功能无法实现的问题,这时应先检查仿真元器件与单片机端口是否连接正确,然后再检查主程序,若以上两项都无误,那么可以通过改变其周围电阻来解决。在本次实训中,我的出现复位键不能用的问题,通过减少其旁边电阻阻值,使问题得到解决。硬件调试出现问题,应仔细检查电路,看是否有桥接、虚焊、少焊和错焊的问题,即要有好的焊接技术和认真的态度来确保硬件焊接无误。五、实验结论本次实训得到了
22、期望中的结果。本次实训意在加强我们对AT89C51单片机主要功能的了解与掌握,数字时钟的设计制作是掌握AT89C51单片机的一个很好的实践,原理能付于实践中,是对原理加深了解的最好方法。A T89C51单片机是一个微型的计算机模型,因为它具备了一台计算机最基本的构成部分:CPU,ROM,RAM,定时器/计数器,I/O口等,它是计算机的完美缩影。AT89C51单片机应用范围很广,例如:在工业自动化方面,在仪器仪表方面,在家用电器方面,在信息和通信产品方面以及军事方面等,总之它与我们的生活密切相关,另外开发前景也很不错。因此,掌握AT89C51单片机等类似芯片,对我们以后的工作与生活非常有用。六、心得体会 近两周的单片机实训,让我获得了很多知识,进一步加深了我对AT89C51单片机的掌握,另外
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初中二年级地理期末 试卷
- 前沿:上皮样肉瘤靶向教学课件:Nivolumab临床应用与研究进展
- 2026年广东省河源市中小学编制教师招聘笔试参考题库及答案详解
- 2026年盘锦市双台子区中小学编制教师招聘笔试模拟试题及答案详解
- 2026年营口市鲅鱼圈区中小学编制教师招聘笔试参考题库及答案详解
- 2026年鹤岗市向阳区中小学编制教师招聘考试参考试题及答案详解
- 【FFA 2026】Real-Time Analysis 1 Flink Native Engine 在字节跳动无状态 SQL 场景的落地实践
- 2026年荆州市沙市区中小学编制教师招聘笔试模拟试题及答案详解
- 2026年金华市金东区中小学编制教师招聘考试参考试题及答案详解
- 2026年哈密地区哈密市中小学编制教师招聘考试备考题库及答案详解
- 风力发电风资源讲座
- 2025年上海军转安置考试题及答案
- (沪教2024版)英语七年级下册全册《语法》总复习课件
- VATS术中出血和处理
- 《阿里巴巴云计算培训》课件
- T-CXYX 001-2024 楚雄彝族手工刺绣生产技术团体标准
- 深圳大学《算法设计与分析》2023-2024学年期末试卷
- 网上大学智能云服务交付工程师认证考试题及答案
- 大学物理实验智慧树知到期末考试答案章节答案2024年山东交通学院
- HJ 1188-2021 核医学辐射防护与安全要求(标准网-www.biaozhun.org)
- 白酒行业财务知识培训课件
评论
0/150
提交评论