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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

09计1w 单片机秒表的设计Word格式文档下载.docx

1、一、用户需求分析1、能同时记录四个相对独立的时间并分别显示 。2、两位LED动态显示,显示时间为0099秒。3、每秒自动加1。4、一个开始按键、一个复位按键、一个暂停按钮和一个计录按钮(附加功能)。5、翻页按钮查看四个不同的计时值 。(1)、增加“语音报时”功能;(2)、增加“倒计时提醒”功能。3、分析1、利用单片机定时器/计数器中断设计秒表,从而实现秒、十分之一秒的计时。2、综合运用所学的单片机原理与应用理论知识,通过实践加强对所学知识的理解,具备设计单片机应用系统的能力。 3、 通过本次系统设计加深对单片机掌握定时器、外部中断的设置和编程原理的全面认识复习和掌握,对单片机实际的应用作进一步

2、的了解。 4、 通过本次系统设计,增强自己的动手能力。认识单片机在日常生活中的应用的广泛性,实用性。 本系统利用单片机的定时器/计数器定时和记数的原理,通过采用proteus仿真软件来模拟实现。模拟利用AT89C51单片机、LED数码管以及控件来控制秒表的计数以及计数的开启/暂停/继续与复位! 其中有两个数码管用来显示数据,一个数码管显示秒(两位),另一个数码管显示十分之一秒,十分之一秒的数码管计数从09,满十进一后显示秒的数码管的数字加一,并且十分之一秒显示清零重新从零计数。计秒数码管采用两位的数码管,当计数超过范围是所有数码管全部清零重新计数。二、系统设计本设计的最主要的元器件就是MCS5

3、1单片机。MCS51单片机在一块芯片上集成了CPU,存储器RAM,ROM以及输入与输出接口电路,这种芯片习惯上被称为单片微型计算机,简称单片机。MCS-51单片机是INTEL公司在1980年推出的高档8位单片机。它的典型产品有:8051,8031,8751,80C51,80C31,87C51。AT89C51(图1)单片机由CPU,振荡器与时序电路, 4个8位的I/O端口(P0,P1,P2,P3),串行口等组成。P0口有三个功能:1、外部扩展存储器时,当做数据总线(如图中的D0D7为数据总线接口)。2、外部扩展存储器时,当作地址总线(如图中的A0A7为地址总线接口)。3、不扩展时,可做一般的I/

4、O使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。P1口只做I/O口使用:其内部有上拉电阻。P2口有两个功能:1、扩展外部存储器时,当作地址总线使用;2、做一般I/O口使用,其内部有上拉电阻;P3口有两个功能:除了作为I/O使用外(其内部有上拉电阻),还有一些特殊功能,由寄存器来设置。ALE:地址锁存控制信号PSEN:外部程序存储器读选通信号EA/VPP:访问和序存储器控制信号RST:复位信号XTAL1和XTAL2 外接晶振引脚VCC:电源+5V输入VSS:GND接地。图2:整体设计框图这个系统中的复位电路是采用上电加按钮来实现的。因为MCS-51单片机的复位是靠外部电路实现的。M

5、CS-51单片机工作之后,只要在他的RST引线上加载10ms以上的高点平,单片机就能有效地进行复位。MCS-51单片机通常采用上电自动复位、按键复位、以及上电加按键复位等,我们采用的是上电加按键复位方式,这样做的优点是上电后可以直接进入复位状态,当程序出现错误时,可以随时使电路复位。图3:复位电路由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。MCS-51单片机内部的振荡电路是一个高增益反相放大器,引线 XTAL1和XTAL2分别为 反向振荡放大器的输入及内部时钟工作电路的输入和来自反向振荡器的输出,该反向放大器可以配置为片内振荡器。图4:晶振震荡电路

6、23键盘电路:用部分P1口做开始开关,P1.0停止,P1.1复位,P1.3暂停记录,P1.4上翻,P1.5下翻,用外中断INT0开始,用软件法消除抖动。图5:键盘电路 图6:显示电路三、硬件设计1、原理图2、元器件清单名称型号数量(片/只)单片机STC89C521LED共阳极数码管2缓冲驱动器74LS244按键触发式6晶振12MHz电容30pF电解电容10uF电阻1k1610k基板蜂鸣器四、测试方法设计1、基本测试检查电源端、地线、信号线、元器件2、调试(1)上电后查供电用万用表测9v,5v,cpu,ea,复位电容,三极管的引脚(2) 编程序指示灯闪动测试cpu是否工作正常ORG 00HLJM

7、P MAINORG 10HMAIN:CLR P2LJMO MAINEND(3) 编写显示程序测试数码管是否正常显示CLR P03、固化器的使用安装相关软件,设置cpu型号,选择串口,导入编写好的测试程序生成的可执行文件,通过固化器将程序烧到芯片上。五、软件流程设计因为秒表设计相对较为简单,因此在软件设计中我们一般采用模块化程序设计的方法。模块是一个具有独立功能的程序,可以单独设计、调试与管理,模块可分为功能模块和控制模块两类。我们通过模块化程序设计可按适当的原则把一个情况复杂、规模较大的程序系统划分为一个个较小的、功能相关而又相对独立的模块。每个小的模块完成一个确定的功能,在这些小的模块之间建

8、立必要的联系,互相协作完成整个程序要完成的功能。它具有明显的优点,把一个多功能的复杂的程序划分为若干个简单的、功能单一的程序模块,有利于程序的设计和调试,有利于程序的优化和分工,提高了程序的阅读性和可靠性,使程序的结构层次一目了然。其中的模块即为子程序,子程序是功能独立的程序段。子程序的基本思想是编写一次,可以重复使用。子程序的形式可以是一个程序文件,也可以是一个过程或函数。子程序总被其他程序调用而不单独执行,这与主程序相对。这个主程序也是由多个子程序模块组成,各程序模块都要完成一个明确的任务,实现某个具体的功能,、快加、复位,计数和显示等,在具体需要时调用相应的模块即可。定时器流程图加1子程

9、序流程图:2、程序代码及注解(1):主程序 MOV SP, #50H MOV TMOD, #11H MOV TH1,#0D8H ;定时10ms MOV TL1, #0F0H MOV TH0,#0CFH ;定时25ms MOV TL0, #02CH MOV 20H,#00H ;BIN SECOND MOV 30H,#00H ; SECOND MOV 31H, #00H MOV 40H, #40 MOV 71H, #00H MOV 72H, #00H MOV 73H, #00H MOV 74H, #00H MOV R2, #04H MOV R3, #04H MOV R1, #71H SETB EA

10、 SETB EX1 CLR ET1 SETB ET0 CLR PT0 CLR PT1 SETB PX1 SETB IT1 MOV P2, #0FFH CLR TR0 CLR TR1 CLR 7FH判断是否有键按下,并确定是哪一个键,转移到相应的子程序的入口地址去执行子程序。没有键按下则一直等待,直到有键按下。ML1: ACALL DISP ;调用显示程序P1.0键按下时,计数停止START: JB P1.0, LOOP1 ACALL DELAY10 ;延时JB P1.0, LOOP1 ;P1.0=1,跳转到LOOP1执行JNB P1.0, $LJMP STOP ;P1.0=0,跳转到停止子程序

11、P1.1键按下时,数字清零复位LOOP1: JB P1.1, LOOP2 JB P1.1, LOOP2 ;P1.1=1,跳转到LOOP2执行JNB P1.1, $LJMP RESET ;P1.1=0,跳转到复位子程序 P1.3键按下,暂停记录LOOP2: JB P1.3,LOOP3 ACALL DELAY10 ; JB P1.3, LOOP3 ;P1.3=1,跳转到LOOP3执行JNB P1.3, $ LJMP JILU ;P1.3=0,跳转到暂停记录子程序P1.4键按下时,执行上翻功能LOOP3: JB P1.4,LOOP4 ;P1.4=0,SHANGFAN ACALL DELAY10 ;

12、JB P1.4, LOOP4 ;P1.4=1,跳转到LOOP4执行 JNB P1.4, $ LJMP XIAFAN ;P1.4=0,跳转到上翻子程序P1.5 键按下时,执行下翻功能LOOP4: JB P1.5,LOOP ;P1.5=0,XIAFAN JB P1.5, LOOP ;P1.5=1,跳转到LOOP执行 JNB P1.5, $ LJMP SHANGFAN ;P1.5=0,跳转到下翻子程序LOOP: SJMP HERE(2)停止子程序软件对定时器0和定时器1的控制位清零,使定时器停止工作STOP: CLR TR0 CLR TR1 ; 关闭定时器0,1 ACALL DISP(3)复位子程序

13、软件对显示的各内存单元清零,并回到开始前的初始状态,具体程序如下所示 :RESET: CLR TR0 关闭定时器0,1 MOV 20H, #00H MOV 30H, #00H MOV 31H, #00H调用显示子程序SJMP HERE(4)按键消抖程序DELAY10: MOV R4,#14H 延时10ms再次判断该位的状态,若仍是0则说明该键被按下,弹起后去执行该按键功能;若为1,则说明是抖动则继续向下判断。例如下面的程序中就调用了这个子程序。 JB P1.3,LOOP3 ;P1.3=0时,暂停记录 ACALL DELAY10 JB P1.3, LOOP3 JNB P1.3, $ LJMP J

14、ILU六、设计总结与体会经过两周的不懈努力,单片机的课程设计终于完成了。在这期间我们学会了很多,也学到了很多,同时,对单片机这门课程有了更深一步的理解和掌握。1、本次课程设计使我加深了对单片机课程的全面认识,复习和掌握,对MC-51单片机有了更深入的了解,对I/O口的使用,晶振电路的接法,以及复位电路等的掌握都有了很大程度的提高,这为以后的实践打下了良好的基础。2、掌握了定时器、外部中断的设置和编程原理。3、通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。4、还要根据实验的实际情况,添加些额外程序来使系统更加的稳定,如开关的消震荡(采用延迟)。5、程序要尽量做到由各个子程序组

15、成,在有些程序后面最好加注释,这样在程序出错的检查过程中可以更容易查找的到,也更简洁,更明白易懂。6、我在编程过程中还有好多不理解的地方,经过同学的帮助终于完成了这次设计。在这个过程中体会到了合作的好处,更了解的互相帮助的重要性。由于编程能力的有限和所学知识的局限性,在这个程序和设计系统中虽然实现了所有的基本要求和部分的高级要求,但是这其中还有许多不完善的地方,有时在上翻和下翻时会出现一些问题,这说明我在这方面还存在着很多不足,知识不够完备和系统,在以后的学习中还有待提高。另外,在实践中虽然焊接好了硬件电路,却没能实践成功,希望老师能在以后的学习和生活中对我多加指导,促使我能取得更大的进步。七

16、、附录附录一:三篇相关论文附录二:程序 ORG 0000H LJMP MAIN ORG 0003H ORG 000BH LJMP TIME1 ORG 0013H LJMP ZHONGDUAN ORG 001BH LJMP TIME10 ORG 0100H JB P1.0,LOOP1 ; P1.0=0,STOP JB P1.0, LOOP1 JNB P1.0, $ LJMP STOP JB P1.1, LOOP2 ;P1.1=0时,复位 JB P1.1, LOOP2 JNB P1.1, $ LJMP RESETP1.4=0时,上翻 JB P1.4, LOOP4 LJMP XIAFANP1.5=0

17、时,下翻 JB P1.5, LOOP LJMP SHANGFAN CLR TR0 ;停止程序 CLR TR1 CLR TR0 ;复位程序JILU : MOV A,20H ;暂停记录程序 MOV R1, A INC R1 DJNZ R2, HERE MOV R1, #71H SJMP STOPXIAFAN:MOV A,R1 ;下翻程序 MOV 20H, A MOV B, #0AH DIV AB MOV 31H, A MOV 30H, B LCALL DISP MOV R1, #74HSHANGFAN:上翻程序 DEC R1 DJNZ R3, HEREHEE: JNB TF1, HEE CLR T

18、F1 ACALL JIA1 JNB P1.0, STOP SJMP HEEHERE: LJMP ML1ZHONGDUAN:SETB TR0 ;启动定时器0 RETITIME1: PUSH ACC ;定时1秒 PUSH PSW MOV TH0, #0D8H MOV TL0, #0F0H DJNZ 40H, RET0 LCALL JIA1 MOV 40H, #100RET0: POP PSW POP ACCTIME10:PUSH ACC ;定时10毫秒 MOV TH0, #0D8H MOV TL0, #0F0HRET1:JIA1: MOV A,20H ;加1 CLR C INC A CJNE A,

19、 #100, GO1 RETGO1: MOV B, #0AH DISP: MOV R0,#30H ;显示 MOV R3, #0FEH MOV A, R3PLAY: MOV P1, A MOV A,R0 MOV DPTR, #DSEG1 MOVC A,A+DPTR MOV P2, A LCALL DL1 MOV P1, #0FFH MOV A, R3 RL A JNB ACC.2, LD1 INC R0 MOV R3, A LJMP PLAYLD1:DL1: MOV R7, #05HDL: MOV R6, #0FFHDL6: DJNZ R6, $ DJNZ R7, DLMOV R4,#14H ;延时10毫秒DL00: MOV R5, #0FFHDL11: DJNZ R5, DL11 DJNZ R4, DL00DSEG1: DB 3FH, 06H, 5BH, 4FH, 66H DB 6DH, 7DH, 07H, 7FH, 6FH END

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

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