电子表完整版123_第1页
电子表完整版123_第2页
电子表完整版123_第3页
电子表完整版123_第4页
电子表完整版123_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 课 程 设 计课程名称单片机原理与应用课程设计课题名称电子表专 业测控技术与仪器班 级1302学 号20姓 名刘彬指导老师李晓秀、汪超、周向红等2016年2月29日电气信息学院课程设计任务书课题名称51单片机开发板设计姓 名刘彬专业测控技术与仪器班级1302学号20指导老师周向红课程设计时间2016年2月29日-2016年3月16日教研室意见意见: 审核人:一、任务及要求设计任务:以单片机为核心设计一个多功能电子表。能焊接开发板的同学,在开发板上进行调试。(1)具有电子时钟、时钟设置和跑表功能。(2)用按键实现时钟启动、时钟停止、跑表启动、跑表复位、时钟调整等控制。(3)做时钟时用4位LED

2、数码管显示分、秒,做跑表时显示000.0秒999.9秒。设计要求:(1)确定系统设计方案;(2)进行系统的硬件设计;(3)完成必要的参数计算与元器件选择;(4)开发板焊接及测试(5)完成应用程序设计;(6)应用系统的硬件和软件的调试。二、进度安排第一周:周一:集中布置课程设计任务和相关事宜,查资料确定系统总体方案。周二周三:完成硬件设计和电路连接周四周日:完成软件设计第二周:周一周三:程序调试周四周五:设计报告撰写。周五进行答辩和设计结果检查。 目 录第1章 概述6第2章 系统总体方案设计72.1 总体思路72.2 系统方案选择7第3章 硬件设计83.1 系统硬件结构框图83.2 按键结构9第

3、4章 软件设计与说明114.1主程序流程图114.2 显示程序流程图124.3 定时计数器T0中断服务流程图13第5章 调试步骤、结果、使用说明145.1调节电路部分.155.2 显示电路部分.155.3单片机部分电路.17第6章 设计总结18第7章 参考文献19附录1 总体设计图20附录2 系统程序清单21第1章概述 单片机又称单片微控制器,它不是完成某一个逻辑功能的芯片,而是把一个计算机系统集成到一个芯片上。我们都知道,设计系统的关键是思路,而系统通常又由各个模块所组成,所以必须先把所要设计的系统模块化,再把各个模块组合在一起,实现一个完整的系统。这就要求我们先要有扎实的理论知识,特别对芯

4、片的各个管脚功能必须了解,这样才能进行硬件设计,同时,又必须掌握MCS51的指令功能,通过编程实现其功能,这就能让我们能更好地理解单片机原理及应用这门课程,也是一种理论在实践中的运用。 如果说我们以前学的都是理论,包括C语言,微机原理,C+ +,微机接口技术,protel等等,那么这次的课程设计就是一个贯穿多学科的综合性实践。单片机自20世纪70年代问世以来,以极其高的性价比受到人们的重视和关注,所以应用很广,发展很快。单片机的有点是体积小、重量轻、抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好,开发较为容易。 数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具

5、有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。 数字钟从原理上讲是一种典型的数字电路,其中包括了组合逻辑电路和时序电路。目前,数字钟的功能越来越强,并且有多种专门的大规模集成电路可供选择。第2章 系统总体方案设计2.1 总体思路利用52单片机的P2口作为控制单片机跑表开始,暂停,清零,返回的输入端。P3作为控制LED的显示时钟的调节时间控制信号输入端。P0,P1控制LED动态显示选择控制端控制六个LED的显示时间和显示顺序。定时器T0定时50ms。T1定时10ms,37H-39H保存时钟的变化量。41H-43H保存秒表的变化量。其中为了方便显示,每个变量对应两

6、个单元,以便将变量拆开成两个十进制的数方便显示。 2.2 系统方案选择本系统采用AT89C52单片机、6位数码管显示(不带译码器)和7个键盘键盘操作(分别为功能键,加一键,减一键,返回键,开始键,暂停键,清零键)作为调节时间的按钮构成一个单片机多功能时钟的硬件。此外包括一些必须的晶振电路和复位电路,是一个多功能时钟,具有时间显示功能和跑表功能,数码管显示时间,通过三个按钮对时间进行调整,按键1为时分秒控制按钮,2、3为加减调节按钮。 计数单元由单片机内部定时器/计数器T0来实现。 时间显示功能通过LED数码管动态扫描来实现,其中P0口控制数码管的断选信号,P1口的低六位控制数码管的六个片选信号

7、。 时间调整通过接入键盘来实现。第3章 硬件设计3.1 系统硬件结构框图 对定时器T0一个50ms的定时时间,软件计数功能的单元地址R2为20,当R2减到0是秒加一。当秒、分值为60时改位清零,且高位加一。当时的值达到24时,显示全部为0,然后进入新的一天。该系统是通过P2控制时分秒位的选择,通过P0口实现时分秒的显示。时分秒的调节由外接键盘的上三个按钮控制,按一下调秒、两下调分、三下调时、按四下返回。 对于定时器T1设定一个10ms的定时时间,当进入一次中断时,秒表最后一位的数字加一。在秒表的子程序中加入按键检测程序,保证在跑表运行的过程中能随时的响应外部按键的信号进行相关的操作。跑表变量储

8、存在41H-43H的单元中,变化后,经过数据处理,经显示程序显示。3.2 按键结构按键采用的是7个独立按键,首先得按动接在P2.3口的返回键,即进入系统,显示器显示6个0,接着按下接在P2.0口的开始键,使系统开始运行,P2.1口的是接的秒表的复位清零,P2.2口接得是秒表的暂停,键盘1功能切换键是接在P3.2上的,按下1键进入调秒状态每按下P3.0接得2键秒钟加一,每按下P3.1接得3键秒钟减一;按两下键盘1键进入调分状态,每按下2键分钟加一,每按下3键分钟减一;按三下键盘1键进入调时状态,每按下2键时钟加一,每按下3键时钟减一;按四下键盘1键返回计数状态。 图1 按键结构3.3显示器选择

9、LED显示器的选择,在应用系统中设计要求不同使用的LED显示器的位数也不同因此生产厂家就生产了多种位数、尺寸、型号不同的LED显示器。在我们的设计中选择6位一体的时钟型LED显示器。6位7段共阳显示器六位是同时显示六位阿拉伯数字而每一个数字又是七段码显示的七段是指一个数码显示的阿拉伯数字是由七位二进制数控制的共阳是指相应的二进制为1时不亮为0时亮。在实验中显示器的作用是显.示时间。3.4 时钟电路 3.5 显示电路第4章 软件设计与说明使用单片机中的定时器中断,定时50ms,设定一计数单元R0为20,当R2减为0时(50×20=1000)时秒值加一,当秒值为60时,分值加一秒值清零。

10、分值为60时时值加一分值清零时值为24时时分秒全部清零。秒表时,采用和时钟基本一致的设计方法,只不过奖定时器T1的时间设定为10ms,然后进位的问题和时钟基本一致,不过秒表的进位应该是100个0.01S进一位。由于存在两个不同的工作状态,因此,每一个状态的后面都要加一段检测按键的程序,方便在有外部按键信号的时候及时的响应,防止进入死循环。4.1主程序流程图图5 主程序流程图4.2显示程序流程图 图6 显示程序流程4.3定时计数器T0中断服务流程图 图7 定时器/计数器中断流程图第5章 调试步骤、结果、使用说明把编好的程序输入到新建的04中,保存编译得到一个04.hex的文件,然后我是首先在pr

11、oteus软件下把我设计的电路图画出来,因为如果直接就导入单片机中运行的话,个人觉得很难成功,因为能影响下载不成功的因素很多,很难一下子就找出来的,而使用proteus的话,在一定的程度上就可以避免了这些干扰因素,从而就使得能很好的排除故障以及干扰因素,所以我是先把生成的04.hex文件导入proteus的电路图中进行仿真,在仿真时发现程序没问题仿真成功了,时钟开始显示时间,等到秒钟为59时下一秒分钟加一,秒钟清零,等分秒都为59时下一秒时钟加一分秒清零,当时为23分秒为59时下一秒时分秒全部清零,显示部分电路调试通过。控制部分调时通过。再调试秒表的过程中,由于精确到0.01S的过程,因此必须

12、慎重考虑DELAY程序的应用以及循环次数的确定,否侧回造成显示出问题,过快或过慢都会对试验结果造成不良的影响。为此,在秒表的调试过程中,必须谨慎。仿真通过后,就开始着手把04.hex文件下载到开发板上,在调时电路过程中要认真观测合记录,一发下问题就及时调节,使用过程中时,按下返回键,就进入显示程序,按开始键时钟表开始运行,功能键有4种方式,按一次就是调整秒,两次就是调分,三次就是调时,四次就是返回功能,跑秒时,有暂停和清零键。 5.1 调节电路部分 图2 调节时钟部分电路5.2显示电路部分 图3 显示部分电路(时钟电路) 图4 显示部分电路(跑表电路)5.3单片机部分电路 图5 单片机部分电路

13、第6章 总结与体会 在这一次课程设计当中我进行了多方面的学习和实践虽然当中遇到了许多的困难但最终还是把它们一一地克服了。学习就是这样的要做好每一件事都有很多的因素影响制约着我们我们必须快速准确的适应这样的环境通过改变自己来更快的融入社会。有了这份经历我觉得自己少了一分浮躁多了一份沉稳。我深深地感到要有科学的思维方法和学习方法是极其重要的。刚刚拿到课程设计的题目时真不知道从哪里开始动手,课题名称里的芯片根本就没听说过。通过上网查找资料,弄清楚了它的功能,才真正开始了设计。但这个东西包括了几个部分,所以一定要把握好它的整体设计思路,在其框架之下,对各部分的单元电路进行分析和设计,最后经过电路的修改

14、,参数的确定,将各个部分连接起来,形成总的电路图。 书到用时方恨少在这次课程设计过程中遇到了很多大大小小的难题这时才发现在知识的海洋里自己是多么的渺小但这也激起了我学习的热情我进行了多方面的学习和实践最终还是把它们都克服了。在这次课程设计过程中我还学会了与同学交流和沟通这样才能把自己在设计过程中学到的知识进行交流在交流中进一步巩固自己的知识。这次课程设计只有两个星期的时间时间比较紧张提高工作、学习效率是唯一的办法。有了这份经历更让我觉得知识海洋的广博驱使怀着好奇之心的我进一步努力学习告诉我为了填满好奇心无时无刻不需要学习。 每一次新的认识总是疑问重重不断的分析解决问题、解决问题等到最后回想起来

15、都是如此的简单。能学习能提高不容易更重要的是我学会了如何解决问题这次课程设计让我增加了自信心懂得的越来越多又感觉在以后的路上明白了很多知识。同时也感谢老师的指导和共同探讨研究问题的同学们希望在以后的学习和工作中能够进一步提高对单片机的认识和应用能力。 第7章 参考文献1、王迎旭等.单片机原理及及应用M. 2版.机械工业出版社,20122、胡汉才.单片机原理及其接口技术M.3版.清华大学出版社,2010.3、戴灿金.51单片机及其C语言程序设计开发实例M.清华大学出版社,20104、周向红等.51单片机课程设计指导M.华中科技大学出版社,2000附录1附录2MIAOL EQU 30H;存放时间的

16、变量分别为秒钟秒钟个位,十位MIAOH EQU 31HFENL EQU 32HFENH EQU 33HSHIL EQU 34HSHIH EQU 35HSHI EQU 39H ;存放10进制的时钟信息FEN EQU 38HMIAO EQU 37HFUC EQU 36H ;功能键按键计数器,记录功能键按下的次数FANHUI1 BIT P2.0START BIT P2.1;跑表计时开始STOP BIT P2.2;跑表计时停止CLEAR BIT P2.3 ;跑表清零SECOND1 EQU 41H ;保存跑表变量SECOND2 EQU 42HFENG EQU 43HSECOND1L EQU 44HFEN

17、GL EQU 48HSECOND2L EQU 46HSECOND1H EQU 45HFENGH EQU 49HSECOND2H EQU 47HORG 0000HSJMP MAINORG 000BHLJMP TIME0ORG 001BHLJMP TIME1ORG 0030HINIT: MOV TMOD,#11H ;选定时器0方式1 MOV TH0,#3CH ;置初值MOV TL0,#0B0H ;MOV TH1,#0D8H ;置初值(10MS)0.01S MOV TL1,#0F0H ; MOV R2,#20 ;1秒时间50msX20 SETB ET0 ;开定时器0中断 SETB ET1SETB E

18、A ;开中中断 SETB TR0 ;启动定时器0 MOV P3,#0ffh ;读键值,初始化 MOV P2,#0ffh RETMAIN: ACALL INIT ;调用初始化函数A1: MOV DPTR,#TAB ;查表初值ACALL KEYSCAN MOV A,P2 JNB FANHUI1 ,FANHUI JNB START, SEC_WATCH;判断是否是跑表计时开始 JNB STOP,STOP_WATCH JNB CLEAR,CLEAR_WATCHSJMP A1 ;判断设置时钟时LJMP A1FANHUI : ACALL KEYSCAN ACALLDISP ACALL CHULI CLR

19、TR1 JNB START,SEC_WATCH ;判断是否是跑表计时开始 JNB STOP,STOP_WATCH JNB CLEAR,CLEAR_WATCH SJMP FANHUISEC_WATCH: MOV DPTR,#TAB ACALL DELAY ACALL DISP1 ACALL CHULI1 SETB TR1 MOVSECOND1,#00 MOVSECOND2,#00 A3: LCALL DISP1 LCALL CHULI1 JNB CLEAR,CLEAR_WATCHJNB STOP,STOP_WATCH JNB FANHUI1,FANHUI JNB START, SEC_WATCH

20、 AJMP A3 CLEAR_WATCH: MOV SECOND1,#00 MOV SECOND2,#00 LCALL CHULI1 ACALL DISP1LCALL DELAY AJMP A3STOP_WATCH: CLR TR1LCALL CHULI1 ACALL DISP1 SJMP A3KEYSCAN: MOV A,P3;读取按键 ANL A,#07H; CJNE A,#07H,K0;判断是否按键 RETK0: ACALL DELAY;有按键延时去抖动MOV A,P3ANL A,#07HCJNE A,#07H,K1;RET;是抖动返回K1:MOV R3,A;不是抖动,存按键K2:MOV

21、 A,P3;ANL A,#07H;CJNE A,#07H,K2;等待松开按键MOV A,R3;CJNE A,#06H,K3;键值读取看是否是P3.1被按下,加1按键SJMP KEY1;K3: CJNE A,#05H,KEY3 ; 看是否是P3.2被按下,减1按键SJMP KEY2 ;KEY3: INC FUC;不是加1也不是减1就是功能键P3.0,被按下,功能键按下次数加1 CLR TR0 ;按下功能见后进入调整时间模式,关闭定时器 MOV A,FUC ;读取功能键按下次数 CJNE A,#4,RETT ;如果按下四次了,就恢复时间模式SETB TR0 ;打开定时器MOV TH0,#3CH ;

22、 MOV TL0,#0B0H ;MOV FUC,#0 ;计数器清0SJMP RETT ;KEY1: ACALL ADD1 ;如果是加1按键,调用加1函数 SJMP RETT ;KEY2: ACALL SUB1 ;如果是减1按键,调用减1函数RETT: RETCHULI1:MOV R1,#44H ;将十进制的时间个十位分开 MOV R0,#41H ; MOV R3,#3 ;K4: MOV A,R0 ;取时间MOV B,#10 ;分离个十为DIV AB ;MOV R1,B ;个位保存在以L(SHIL FENL MIAO L)结尾的时间变量中INC R1 ;MOV R1,A ;INC R1 ;INC

23、 R0 ;DJNZ R3,K4 ;MOV A,FENG ;时信息更新,保证不大于23CJNE A,#60,RET5 ;MOV FENG,#0 ;RET5:RET ;CHULI: MOV R1,#30H; MOV R0,#37H ; MOV R3,#3 ;K5: MOV A,R0 ;MOV B,#10 ;DIV AB ;MOV R1,B ;INC R1 ;MOV R1,A ;INC R1 ;INC R0 ;DJNZ R3,K4 ;MOV A,SHI ;CJNE A,#24,RET4 ;MOV SHI,#0 ;RET4:RETADD1:MOV A,FUC ; CJNE A,#3,AD0 ; MOV

24、 R0,#39H ;时存放的地址 MOV A,R0 ;取时,看是否满23 CJNE A,#23,AD1 ; MOV R0,#0 ; 如果满了23,就清0 SJMP RET0AD0: MOV A,#36H ;不是给时加1 ADD A,FUC ; MOV R0,A ;取出要加数的地址 MOV A,R0 ; CJNE A,#59,AD1; 是否加到59了 MOV R0,#0; 加到了59就清0 SJMP RET0AD1: INC R0;时没有加到23,其他的没有加到59时,加1RET0:RETSUB1:MOV A,FUC CJNE A,#3,SU0 MOV R0,#39H MOV A,R0 CJNE

25、 A,#0,SU1 MOV R0,#23 SJMP RET1SU0: MOV A,#36H ADD A,FUC MOV R0,A MOV A,R0 CJNE A,#0,SU1 MOV R0,#59 SJMP RET1SU1: DEC R0RET1:RETDISP: MOV R3,#20DI0: MOV R0,#35H MOV R4,#6 MOV R5,#01HDI1: MOV A,R0 MOVC A,A+DPTR MOV P0,A MOV A,R5 MOV P1,A RL A MOV R5,A DEC R0 ACALL DELAY MOV P1,#00H DJNZ R4,DI1 DJNZ R3,DI0 RETDISP1:MOV R3,#5DI01: MOV R0,#49H MOV R4,#6 MOV R5,#01HDI11: MOV A,R0 MOVC A,A+DPTR MOV P0,A MOV A,R5 MOV P1,A RL A MOV R5,A DEC R0 ACALL DELAY MOV P1,#00H DJNZ R4,DI11 DJNZ R3,DI01 RET TIME1: MOV TH1,#0D8H ;置初值(10MS)0.01S MOV TL1,#0F0H INC SECOND1 ;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论