ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:1.40MB ,
资源ID:11360177      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11360177.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于C51单片机的数字钟设计.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于C51单片机的数字钟设计.docx

1、基于C51单片机的数字钟设计单位代码 学号 分 类 号 密 级 基于单片机的数字钟设计 院 系: 工学院机械系 专 业: 机械设计制造及其自动化 班 级: 姓 名: 学 号: 指导老师: 黄河科技学院课程设计任务书 工 学院 机械 系 机械设计制造及其自动化 专业 11 级 1 班学号 姓名 指导教师 牛月兰 题目: 基于单片机的数字钟设计 课程: 单片机应用技术课程设计 课程设计时间 2014年 10月27 日 至2014年11 月 10 日 共 2 周课程设计工作内容与基本要求(设计要求、设计任务、工作计划、所需相关资料)(纸张不够可加页)1设计要求利用AT89C51单片机作为微控制器,自

2、动计时,由6位LED显示器显示时、分和秒,具备调整功能,可调节时、分,断电保护。创新设计: 2. 设计任务与要求2.1系统硬件电路设计根据该系统设计的功能要求选择所用元器件,设计硬件电路。要求用Proteus绘制整个系统电路原理图。2.2软件设计根据该系统要求的功能进行软件设计,绘制整个系统的软件流程图;根据流程图编写程序并汇编调试通过;列出软件清单,软件清单要求逐条加以注释。2.3 Proteus仿真用Proteus对系统软硬件进行仿真调试并通过。2.4 编写设计说明书内容包括任务书、设计方案分析、硬件部分设计、软件部分设计、调试结果整理分析、设计调试的心得体会等,字数不少于5000字;硬件

3、部分设计要绘制整个系统电路原理图,对各部分电路设计原理做出说明;软件设计部分要(用visio2003画图软件)绘制整个系统框图及各部分的软件流程图,列出程序清单,逐条加以注释,并注明各程序功能块的功能。3工作计划 序号设计内容所用时间1布置任务及调研天3制作与调试天4撰写设计报告书2天合 计14天4主要参考资料单片机课程设计指导书 皮大能 北京理工大学出版社 2012.78051单片机实践与应用 吴金戎 清华大学出版社 2003.8单片机技术基础教程与实践 夏路易 电子工业出版社 2008.1单片机原理及应用 张毅刚 高等教育出版社 2012.11基于Proteus的单片机系统设计与仿真实例

4、蒋辉平 机械工业出版社 2007.7 指导老师签字: 日 期: 基于单片机数字钟设计摘 要近年来随着计算机在社会领域的渗透和大规模集成电路的发展,单片机的应用正在不断地走向深入,由于它具有功能强,体积小,功耗低,价格便宜,工作可靠,使用方便等特点,因此特别适合于与控制有关的系统,越来越广泛地应用于自动控制,智能化仪器,仪表,数据采集,军工产品以及家用电器等各个领域,单片机往往是作为一个核心部件来使用,在根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。本文介绍了基于单片机的数字钟的设计,详细讨论了它从软件上实现的过程,重点在时钟调整的方式:查询和中断的比较,然后,对数字钟的稳定性

5、和精确性作了相关的讨论。在文章的最后,给出了采用中断方式实现的数字钟的源程序。 关键字:单片机,数字钟,数据缓冲区,中断Abstract In recent years, with computers in the in filtration and the development of large-scale integrated circuits. SCM application is steadily deepening, as it has strong function, small size, low power dissipation, low prices, reliable,

6、 easy to use features, it is particularly suited to and control of the system, increasingly widely used in automatic control, intelligent instruments, gauges, data acquisition, military products and household appliances, and other areas, is often microcontroller as a core component to use, In light

7、of specific hardware architecture, and application-specific software features object combine to make perfect. In this paper, based on single-chip digital clock design, discussed in detail from the software realize the process, focusing on the clock adjust in the way: queries and disruption of compar

8、ison, then, on the digital clock made of the stability and accuracy related discussion. In the last article, give way using interrupted realize the source of the digital clock. Keywords: MCU, digital clock, data buffer, interruption, timing1 简单设计思路1.1课题设计要求基于单片机电路,设计一个可以显示时、分、秒的数字钟的电路。要求如下:(1)能直接显示时

9、、分、秒的数字钟,要求二十四时为一计数周期。(2)当电路发生走时误差时,要求电路具有校时功能,校时时伴有闪烁(3)要求电路使用单片机电路。(4)要求电源电压+5伏。(5)要求有复位电路1.2设计基本原理简介数字钟的设计首先要保证其走时尽可能的准确,其次再设定其功能。在设计中使用51系列单片机定时来完成走时并用两组输出口控制数码管分别显示时钟的小时、分钟、秒,利用输入端外接复位开关S1和调节时间开关S2来实现数字钟的功能。该电路的原理框图如图1-1所示:图1.1 数字钟原理图1.3确定元器件的型号及参数1.3.1单片机的选择单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。 单片

10、机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。通常, 单片机由单块集成电路芯片构成, 内部包含有计算机的基本功能部件:中央处理器、存储器和I/O接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。单片机经过 1、2、3、3 代的发展,正朝着多功能、高性能、低电压、低功 耗、低价格、大存储容量、强 I/O 功能及较好的结构兼容性方向发展。低电压和低功耗单片机的嵌入式应用决定了低电压和低功耗的特性十分重要。由于CMOS 等工艺的大量采用,很多单片机可以在更低的电压下工作(1.2V 或 0.9V),功耗已经降低到 uA 级。这些特性使得单片机系统可

11、以在更小电源的支持下工作更长的 时间。 目前,我国生产很多型号的单片机,在此,我们采用型号为 AT89C51 的单片机AT89C52是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,2 个16位可编程定时计数器,2 个全双工串行通信口,AT89C52 可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和 Flash 存储器结合在一起, 特别是可反复擦写的 Flash 存储器可有效地降低开发成本。AT89C51 是 MCS-51 系列单片机的典型产品之一。AT89C51 单片机的 P 口特点: P0 口:是一个 8 位漏极开路输出型双向

12、 I/O 端口。作为输出端口时,每位能 以吸收电流的方式驱动 8 个 TTL 输入,对端口写 1 时,又可作高阻抗输入端用。 在访问外部程序或数据存储器时,它是时分多路转换的地址(低 8 位)/数据 总线,在访问期间将激活内部的上拉电阻。此设计用AT89C51单片机。1.3.2 LED 数码管显示电路主芯片使用AT89C51或STC89C52单片机,晶振使用12MHz或 11.0592MHz,使用3个2位一体共阴数码管组成 6 位显示时、分、秒,或者使用 4 位一体时钟专用数码管。2 整体设计方案2.1硬件电路设计系统硬件电路根据课题设计要求,它由以下几个部件组成:单片机AT89C51、电源、

13、时分秒显示模块。时分秒显示采用动态扫描,以降低对单片机端口数的要求,同时也降低系统的功耗。显示模块中时分秒显示驱动、校时模块都通过AT89C51的I/O口控制。显示模块中的复位电路由AT89C51的RESET端控制。电源部分:电源部分有二部分组成。一部分是由220V的市电通过变压、整流稳压来得到+5V电压,维持系统的正常工作;另一部分是由5V的电池供电,以保证停电时正常走时。正常情况下电池是不提供电能的,以保证电池的寿命。由此结合单片机课程学习,用Proteus画出电路设计图,如图2.1所示:图2.1 数字钟原理电路图此电路中的数码管采用的是共阳极电路,使用单片机89C52RC的P0口和P2口

14、控制六段数码管的译码显示时钟的时分秒。接通电源,显示12:59:50 。按S2,小时闪烁可调小时;按S2,分钟闪烁可调分钟;最后按S2即可正常走时。按一下按钮S1电路复位,又恢复显示显示12:59:50。此电路只可以实现加一调时,记满重新从0:0:0开始计时,如此往复。2.2软件编程此部分主要介绍显示模块,显示模块是实现数字钟的重要部分,在显示时,首先将时间十进制数据转化为显示段码,然后送往数码管显示。显示段码采用动态扫描的方式。在要求改变显示数据的类别时,只须改变R1(指向数据缓冲区的指针)指向的十进制数据缓冲区即可。根据要求首先画出流程图,程序设计的基本流程图如图2.2所示:根据流程图用v

15、isio2003软件编程,采用定时器中断T0和T1来实现时钟的显示和调整时间。具体程序见附录。2.3单片机的下载单片机在下载时如的摆放方法如图2.3所示:图2.3 单片机摆放示意图图2.2 数字钟流程图将USB转串口线与编程器连接好,将单片机放入编程器ZIP1锁紧座上(芯片缺口朝上),打开STC-ISP软件(STC_ISP_V480.exe),选择STC单片机型号,打开要下载的程序文件,设置COM号,点击下载按钮,当出现给MCU上电提示时,插上USB取电线,进行正常下载。如图2.4所示。图2.4在选择COM端口时看设备管理器端口的USB-SERIAL CH340显示COM为多少就选择多少。如图

16、2.5所示。图2.5 COM端口查看示意图3电路安装与调试3.1电路的安装电路的安装要求如下:(1)列出除元器件清单。(2)元器件成型:脚的间距=板上孔距。元件两边留下的长度一致,弯折不要是直角(即有一定的弧度,防止折断管脚)(3)插装元件:插对位置、方向,元件插序由低到高分批。元件要横平竖直。(4)焊接:烙铁预热焊盘和引脚;左手送入焊锡丝;当焊锡溶化时,提起焊锡丝;再提起烙铁;(焊锡应正好把焊盘覆盖,不能太多也不能太少)焊点的要求:焊点要圆而光滑,不毛刺,不虚焊。(5)剪脚:预留12mm。(6)修整:修整焊点,整理元件。3.2电路的调试接上由220V的市电通过变压、整流稳压来得到+5V电压,

17、即可看到如图3.1所示的显现,如不是则出现了故障,需先排除故障再进行调试。图3.1 数字钟成果图用Proteus软件对设计电路进行仿真,具体仿真步骤、方法、显示如下。打开仿真界面开始仿真时,“LED”显示如图3.2所示.图3.2 仿真初始界面按“S2”键松开,第一位数码管闪烁,此时可以设置“时” (0-23),然后按加一键,时可加一;按减一键,时可减一。仿真图如图3.2所示。图3.3 调“时”仿真图再按“S2”键松开,第三第四位数码管闪烁,此时可设置“分”(0-59),仿真图如图3.3所示。 图3.3 调“分”仿真图总 结感谢牛老师给我的指导帮助,让我顺利完成了这个设计。我在这一次数字电子钟的

18、设计过程中,很是受益匪浅。通过对自己在大学三 年时间里所学的知识的回顾,并发挥对所学知识的理解和思考及书面表达能力, 自己亲手设计,最终完成目标了。以前上课都是上一些最基本的东西,而现在却 可以将以前学的东西作出有实际价值的东西。在这个过程中,我的确学得到很多 在书本上学不到的东西,如:如何利用现有的元件组装得到设计要求,如何找到 错误的原因,如何利用计算机来画图等等。这为自己今后进一步深化学习,积累了 一定宝贵的经验。把知识转化为能力的实际训练。培养了我运用所学知识解决实 际问题的能力。 通过这次课程设计我发现,只有理论水平提高了;才能够将课本知识与实践 相整合,理论知识服务于教学实践,以增

19、强自己的动手能力。这个课程设计十分有意义 ,我获得宝贵经验。通过这次课程设计,我们知道了理论和实际的距离,也知道了理论和实际想结合的重要性, ,也从中得知了很多书本上无法得知的知 识。自己今后将会更加的把理论知识和实际应用结合起来,提高自己的能力。参考资料【1】单片机课程设计指导书.皮大能.北京理工大学出版社 2012.7【2】8051单片机实践与应用.吴金戎.清华大学出版社 2003.8【3】单片机技术基础教程与实践.夏路易.电子工业出版社 2008.1【4】单片机原理及应用.张毅刚 .高等教育出版社 2012.11【5】基于Proteus的单片机系统设计与仿真实例.蒋辉平.机械工业出版社

20、2007.7附 录单片机程序:DATA_SEG SEGMENT DATA ;定义一个DATA段STACK SEGMENT IDATA ;定义一个堆栈段BIT_SEG SEGMENT BIT ;定义一个位段bKey BIT P1.0;IdleConst EQU 50RSEG STACKDS 10H ;16个字节的堆栈 RSEG DATA_SEG ;开始DATA_SEG段buffer: DS 6 ;6个字节的显示缓冲区ms50: DS 1 ;50ms计数ms250: DS 1 ;250ms计数sec: DS 1 ;秒min: DS 1 ;分hour: DS 1 ;时ms50_1: DS 1 ;存放

21、多少个50ms,用于记录按键时间SetPos: DS 1 ;设置位置SetPos1: DS 1 ;需要屏蔽的数码管RSEG BIT_SEGbIdle: DBIT 1 ;省电模式bTwinkle: DBIT 1 ;当前设置位置闪烁CSEG AT 0 ;相当于小汇编的ORG LJMP MAINCSEG AT 000BH ;定时器T0中断处理入口地址 LJMP INT_Timer0CSEG AT 001BH ;定时器T1中断处理入口地址 LJMP INT_Timer1 CSEG AT 0100H MAIN: MOV SP,#STACK-1 ;堆栈 CLR bIdle CLR bTwinkle MOV

22、 ms50,A ;清零ms50 MOV ms250,A MOV hour,#12 ;设定初值: 12:59:50 MOV min,#59 MOV sec,#50 MOV TH0,#60 ;定时中断计数器初值 MOV TL0,#176 ;定时250ns MOV TMOD,#11H ;定时器0,1:方式一 MOV IE,#8AH ;中断初始化,EA=1,ET0=1, ET1 = 1 SETB TR0 ;开定时器T0 MOV SetPos,#0FFH ;MAIN1: ACALL AdjustBuffer ;调整显示缓冲区 MAIN2: ACALL Key ;调用键扫描 ACALL Display J

23、NB F0,MAIN2 CLR F0 SJMP MAIN1 ;需要刷新显示时间 ;中断服务程序INT_Timer0:MOV TL0,#176+5 MOV TH0,#60 PUSH 01H MOV R1,#ms50 INC R1 ;50ms单元加1 CJNE R1,#5,ExitInt MOV R1,#0 ;恢复初值 INC R1 MOV A,SetPos CJNE A,#0FFH,INT_Timer0_1 SJMP INT_Timer0_2INT_Timer0_1: CPL bTwinkle SJMP ExitInt1INT_Timer0_2: INC R1 CJNE R1,#4,ExitIn

24、t MOV R1,#0 ;恢复初值 INC R1 INC R1 ;秒加1 CJNE R1,#60,ExitInt1 MOV R1,#0 INC R1 INC R1 ;分加1 CJNE R1,#60,ExitInt1 MOV R1,#0 INC R1 INC R1 ;时加1 CJNE R1,#24,ExitInt1 MOV R1,#0ExitInt1: SETB F0ExitInt: POP 01H RETI;显示Display: JNB bIdle,Display3 RET ;省电模式Display3: PUSH B PUSH ACC PUSH DPL PUSH DPH PUSH 00H MO

25、V R0,#buffer MOV B,#0FEH MOV DPTR,#SEG_TABDisplay1: MOV A,R0 MOVC A,A+DPTR ;取段码 MOV P0,A MOV A,B JNB bTwinkle,Display4 ORL A,SetPos1 Display4: MOV P2,A ;选种数码管 CALL Delay1ms MOV A,B RL A JNB ACC.6,Display2 MOV B,A INC R0 SJMP Display1Display2: POP 00H POP DPH POP DPL POP ACC POP B RETSEG_TAB: DB 0C0H

26、,0F9H,0A4H,0B0H,99H,92H,82H,0F8H ;段码 DB 080H,90H,88H,83H,0C6H,0A1H,86H,8EH DB 0FFH,0BFH设置功能SetFunTab: AJMP NoSet ;不需要调整 AJMP SetHour ;调整小时 AJMP SetMin ;调整分钟 AJMP SetSec ;调整秒钟NoSet: CLR bTwinkle RET ;不在设置状态SetHour: INC hour MOV A,hour CJNE A,#24,SetHour1 MOV hour,#0SetHour1: SJMP SetFun1SetMin: INC m

27、in MOV A,min CJNE A,#60,SetMin1 MOV min,#0SetMin1: SJMP SetFun1SetSec: INC sec MOV A,sec CJNE A,#60,SetFun1 MOV sec,#0SetFun1: SETB F0 RET;调整闪烁位置SetPosTab: AJMP NoSetPos AJMP SetHourPos AJMP SetMinPos AJMP SetSecPosNoSetPos: MOV SetPos1,#0 RETSetHourPos: MOV SetPos1,#30H RETSetMinPos: MOV SetPos1,#0

28、CH RETSetSecPos: MOV SetPos1,#03H RET Key: ACALL Display JNB bKey,Key4 JNB TR1,Key3 CLR TR1 SETB bKey MOV A,ms50_1 CJNE A,#10,$+3 JNC Key1调整时间 SetFun: MOV A,SetPos INC A RL A MOV DPTR,#SetFunTab JMP A+DPTRKey1: CJNE A,#IdleConst,$+3 JNC Key2进入设置状态SetPosFun: INC SetPos MOV A,SetPos CJNE A,#3,SetPosFu

29、n1 MOV SetPos,#0FFH ;退出设置状态SetPosFun1:MOV A,SetPos INC A RL A MOV DPTR,#SetPosTab JMP A+DPTRKey2: SETB bIdle ;进入省电模式 MOV P2,#0FFHKey3: RETKey4: JNB TR1,Key5 MOV A,ms50_1 CJNE A,#IdleConst,$+3 JNC Key2 RETKey5: ACALL Display ACALL Display ACALL Display ACALL Display JNB bKey,Key6 SJMP Key3Key6: CLR bIdle MOV TH1,#60 MOV TL1,#176 SETB TR1 MOV ms50_1,#0 RET END

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1