收藏 分享(赏)

多功能秒表系统设计.doc

上传人:kpmy5893 文档编号:8276233 上传时间:2019-06-17 格式:DOC 页数:27 大小:339KB
下载 相关 举报
多功能秒表系统设计.doc_第1页
第1页 / 共27页
多功能秒表系统设计.doc_第2页
第2页 / 共27页
多功能秒表系统设计.doc_第3页
第3页 / 共27页
多功能秒表系统设计.doc_第4页
第4页 / 共27页
多功能秒表系统设计.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

1、单片机课程设计课题: 多功能秒表系统系 别: 电气与电子工程系专 业: 电气工程及其自动化姓 名: 曹立聪学 号: 121408211 指导老师: 李小敏 王明杰河南城建学院2011 年 1 月 7 日- 1 -成绩评定一、指导教师评语(根据学生设计报告质量、答辩情况及其平时表现综合评定) 。二、评分设计报告评分 答辩评分 平时表现评分评分项目 任务完成情 况( 20分)课程设计报告质量( 40分)表达情况( 10分)回答问题情 况( 10分)工作态度与纪律( 10分)独立工作能力( 10分)合 计( 100分)得分课程设计成绩评定班级 姓名 学号成绩: 分(折合等级 )指导教师签字 年 月

2、日- 2 -目录1 概述 311 单片机简介312 设计任务313 设计要求32 系统总体方案及硬件设计 421、复 位电路 .522、晶体振荡电路 .62 3、键盘电路 .624、显示电路 .73 软件设计 731、设计思想 .732、系统流程 图 .83.3 源程序代码及注解 104 Proteus 软件 仿真 155 课程设 计体会 166 参考文献 .17附录 1:源程清单 .18附录 2: 系统原理图 .24- 3 -1 概述11 单片机简介单片机是性能价格比高、体积小、对国民经济渗透力大、最有前途的微控制器。单片机自 20 世纪 70 年代初研制成功并发展至今,已进入第四代。它主要

3、是在一块芯片上集成了 CPU、存储器以及输入输出电路,在工业过程中被广泛应用在控制电路中。从单片机的系列来看,国内外已超过 50 个系列、近 500个品种,当前正处于更新换代、百花齐放的时期。新的系列和专用系列正在不断涌现。按位数分类有 4 位、8 位、16 位以及 32 位单片机等,4 位单片机由于价格低和出现的早得到了广泛的应用,特别是在家电应用领域中其还有很大的优势,为了抵御 8 位机的竞争,4 位机在结构和功能上都有很大的改进。8 位机的生产厂家以及品种都很多,在实际的生产中应用也最为广泛,其中 Intel 公司的 8051 系列单片机在我国应用最为广泛,另外 8 位单片机也在其功能和

4、内部结构上不断的进行改进,目前功能是越来越强大。16 位单片机在数据处理以及单片机的性能上有了很大的改进。32 位单片机是随着高科技产业的发展而产生的。12 设计任务:设计一个单片机控制的多功能秒表系统,利用单片机的定时器/计数器定时和记数的原理,结合显示电路、用两位共阴极 LED 数码管以及按键来设计0099 秒计时器。将软、硬件有机地结合起来,使得系统能够正确地进行加计时,同时数码管能够正确地显示时间。13 设计要求:1、能同时记录四个相对独立的时间并分别显示 。 2、两位 LED 动态显示,显示时间为 0099 秒。 3、每秒自动加 1。 4、一个开始按键、一个复位按键、一个暂停按钮和一

5、个计录按钮(附加功- 4 -XTAL218XTAL119ALE30 EA31 PSEN29RST9P0.0/AD0 39P0.1/AD1 38P0.2/AD2 37P0.3/AD3 36P0.4/AD4 35P0.5/AD5 34P0.6/AD6 3P0.7/AD7 32P1.01 P1.12 P1.23P1.34 P1.45 P1.56P1.67 P1.78P3.0/RXD10P3.1/TXD1P3.2/INT0 12P3.3/INT1 13P3.4/T0 14P3.7/RD17P3.6/WR16P3.5/T1 15P2.7/A15 28P2.0/A8 21P2.1/A9 2P2.2/A10

6、 23P2.3/A1 24P2.4/A12 25P2.5/A13 26P2.6/A14 27U1AT89C51能) 。 5、翻页按钮查看四个不同的计时值 。2 系统总体方案本设计的最主要的元器件就是 MCS51 单片机。MCS51 单片机在一块芯片上集成了 CPU,存储器 RAM,ROM 以及输入与输出接口电路,这种芯片习惯上被称为单片微型计算机,简称单片机。MCS-51 单片机是 INTEL 公司在1980 年推出的高档 8 位单片机。它的典型产品有:8051,8031,8751,80C51,80C31,87C51。AT89C51(图 1)单片机由 CPU,振荡器与时序电路, 4 个 8 位

7、的 I/O 端口(P0,P1,P2 ,P3) ,串行口等组成。P0 口有三个功能:1、外部扩展存储 器时,当做数据总线(如图中的 D0D7 为数据总线接口) 。2、外部扩展存储 器时,当作地址总线(如图中的 A0A7 为地址总线接口) 。3、不扩展时,可 做一般的 I/O 使用,但内部无上拉电 阻,作为输入或输出时应在外部接上 拉电阻。P1 口只做 I/O 口 使用:其内部有上拉电阻。P2 口有两个功能:1、扩展外部存储 器时,当作地址总线使用;2、做一般 I/O 口使用,其内部有上拉电阻;P3 口有两个功能:除了作为 I/O 使用外(其内部有上拉电阻) ,还有一些特殊功能,由寄存器来设置。-

8、 5 -ALE:地址锁存控制信号PSEN:外部程序存储器读选通信号EA/VPP:访问和序存储器控制信号RST:复位信号 XTAL1 和 XTAL2 外接晶振引脚 VCC:电源+5V 输入VSS:GND 接地。AT89C51 单片机P2 口P1 口键盘控 制电 路晶振电 路复位电 路两位一体数码管图 2:整体设计框图21 复位电路:采用上电加按钮复位。这个系统中的复位电路是采用上电加按钮来实现的。因为 MCS-51 单片机的复位是靠外部电路实现的。MCS-51 单片机工作之后,只要在他的 RST 引线上加载 10ms 以上的高点平,单片机就能有效地进行复位。MCS-51 单片机通常采用上电自动复

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

10、1 口做开始开关,P1.0 停止, P1.1 复位,P1.3 暂停记录,P1.4 上翻, P1.5 下翻,用外中断 INT0 开始,用软件法消除抖动。- 7 -图 5:键盘电路- 8 -24 显示电路:采用 LED 动态显示,用 P2 口驱动显示。图 6:显示电路3 软件设计31 设计思想因为秒表设计相对较为简单,因此在软件设计中我们一般采用模块化程序设计的方法。模块是一个具有独立功能的程序,可以单独设计、调试与管理,模块可分为功能模块和控制模块两类。我们通过模块化程序设计可按适当的原则把一个情况复杂、规模较大的程序系统划分为一个个较小的、功能相关而又相对独立的模块。每个小的模块完成一个确定的

11、功能,在这些小的模块之间建- 9 -开始 初始化P1.0=0?P1.1=0?P1.3=0?P1.4=0?P1.5=0?停止复位下翻上翻够 4 个?P1.0=0?N暂停记录NNNNNN立必要的联系,互相协作完成整个程序要完成的功能。它具有明显的优点,把一个多功能的复杂的程序划分为若干个简单的、功能单一的程序模块,有利于程序的设计和调试,有利于程序的优化和分工,提高了程序的阅读性和可靠性,使程序的结构层次一目了然。其中的模块即为子程序,子程序是功能独立的程序段。子程序的基本思想是编写一次,可以重复使用。子程序的形式可以是一个程序文件,也可以是一个过程或函数。子程序总被其他程序调用而不单独执行,这与

12、主程序相对。这个主程序也是由多个子程序模块组成,各程序模块都要完成一个明确的任务,实现某个具体的功能, 、快加、复位,计数和显示等,在具体需要时调用相应的模块即可。3.2、程序流程图:- 10 -定时器流程图压栈保护赋定时初值到 1 秒?调用加 1 程序调用显示程序中断返回Y- 11 -加 1 子程序流程图:(20H) A进位清零做加法到 100?(20H)清零 个位十位分开返回Y3.3 程序代码及注解(1):主程序MAIN: MOV SP, #50HMOV TMOD, #11HMOV TH1,#0D8H ;定时 10ms- 12 -MOV TL1, #0F0HMOV TH0,#0CFH ;定

13、时 25msMOV TL0, #02CHMOV 20H,#00H ;BIN SECONDMOV 30H,#00H ; SECONDMOV 31H, #00HMOV 40H, #40MOV 71H, #00HMOV 72H, #00HMOV 73H, #00HMOV 74H, #00HMOV R2, #04HMOV R3, #04HMOV R1, #71HSETB EA SETB EX1CLR ET1SETB ET0CLR PT0CLR PT1SETB PX1SETB IT1- 13 -MOV P2, #0FFHCLR TR0CLR TR1CLR 7FH判断是否有键按下,并确定是哪一个键,转移到

14、相应的子程序的入口地址去执行子程序。没有键按下则一直等待,直到有键按下。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,跳转到停止子程序P1.1 键按下时,数字清零复位LOOP1: JB P1.1, LOOP2 ACALL DELAY10 ;延时JB P1.1, LOOP2 ;P1.1=1,跳转到 LOOP2 执行JNB P1.1, $LJMP RESET ;P1.

15、1=0,跳转到复位子程序P1.3 键按下,暂停记录LOOP2: JB P1.3,LOOP3 ACALL DELAY10 ;延时- 14 -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,SHANGFANACALL DELAY10 ;延时JB P1.4, LOOP4 ;P1.4=1,跳转到 LOOP4 执行JNB P1.4, $LJMP XIAFAN ;P1.4=0,跳转到上翻子程序P1.5 键按下时,执行下

16、翻功能LOOP4: JB P1.5,LOOP ;P1.5=0,XIAFANACALL DELAY10 ;延时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- 15 -ACALL DISPSJMP HERE(3)复位子程序软件对显示的各内存单元清零,并回到开始前的初始状态,具体程序如下所示 :RESET: CLR TR0 C

17、LR TR1 ;关闭定时器 0,1MOV 20H, #00HMOV 30H, #00HMOV 31H, #00HACALL DISP ;调用显示子程序SJMP HERE(4)按键消抖程序DELAY10: MOV R4,#14H 延时 10ms 再次判断该位的状态,若仍是 0 则说明该键被按下,弹起后去执行该按键功能;若为 1,则说明是抖动则继续向下判断。例如下面的程序中就调用了这个子程序。LOOP2: JB P1.3,LOOP3 ;P1.3=0 时,暂停记录ACALL DELAY10JB P1.3, LOOP3JNB P1.3, $LJMP JILU- 16 -4 ISIS7Professio

18、nl 软件仿真利用 Keilu Vision 软件对源程序进行编译,编译成功后,把编译结果保存。然后根据我们的软件在 PROTEUS 中设计出相应的硬件电路,并将该电路保存到与WAVE 程序相同的文件夹中,最后将程序装载到单片机中,通过ISIS7Professionl 仿真,看程序是否能够实现预想的功能.- 17 -仿真图如下图所示:图 7:系统仿真结果5 课程设计体会经过一周的不懈努力,单片机的课程设计终于完成了。在这期间我们学会了很多,也学到了很多,同时,对单片机这门课程有了更深一步的理解和掌握。1、本次课程设计使我加深了对单片机课程的全面认识,复习和掌握,对MC-51 单片机有了更深入的

19、了解,对 I/O 口的使用,晶振电路的接法,以及复位电路等的掌握都有了很大程度的提高,这为以后的实践打下了良好的基础。2、掌握了定时器、外部中断的设置和编程原理。3、通过此次课程设计能够将单片机软硬件结合起来,对程序进行编辑,校验。4、还要根据实验的实际情况,添加些额外程序来使系统更加的稳定,如开关的消震荡(采用延迟) 。- 18 -5、程序要尽量做到由各个子程序组成,在有些程序后面最好加注释,这样在程序出错的检查过程中可以更容易查找的到,也更简洁,更明白易懂。6、我在编程过程中还有好多不理解的地方,经过同学的帮助终于完成了这次设计。在这个过程中体会到了合作的好处,更了解的互相帮助的重要性。由

20、于编程能力的有限和所学知识的局限性,在这个程序和设计系统中虽然实现了所有的基本要求和部分的高级要求,但是这其中还有许多不完善的地方,有时在上翻和下翻时会出现一些问题,这说明我在这方面还存在着很多不足,知识不够完备和系统,在以后的学习中还有待提高。另外,在实践中虽然焊接好了硬件电路,却没能实践成功,希望老师能在以后的学习和生活中对我多加指导,促使我能取得更大的进步。6 参考文献【1】余发山编著单片机原理及应用技术徐州:中国矿业大学出版社,2003年【2】杨凌霄编著.微型计算机原理及应用.徐州:中国矿业大学出版社,2004年【3】杨宁编著.单片机与控制技术.北京:北京航空航天大学出版社,2004

21、年【4】王闪编著.AT89 系列单片机原理与接口技术.北京:北京航空航天大学出版社,2004 年- 19 -附录:程序清单:ORG 0000HLJMP MAINORG 0003HLJMP JILUORG 000BHLJMP TIME1ORG 0013HLJMP ZHONGDUANORG 001BHLJMP TIME10ORG 0100HMAIN: MOV SP, #50HMOV TMOD, #11HMOV TH1,#0D8H ;定时 10msMOV TL1, #0F0HMOV TH0,#0CFH ;定时 25msMOV TL0, #02CHMOV 20H,#00H ;BIN SECONDMOV

22、 30H,#00H ; SECONDMOV 31H, #00HMOV 40H, #40MOV 71H, #00HMOV 72H, #00HMOV 73H, #00HMOV 74H, #00HMOV R2, #04HMOV R3, #04H- 20 -MOV R1, #71HSETB EA SETB EX1CLR ET1SETB ET0CLR PT0CLR PT1SETB PX1SETB IT1MOV P2, #0FFHCLR TR0CLR TR1CLR 7FHML1: ACALL DISPSTART: JB P1.0,LOOP1 ; P1.0=0,STOPACALL DELAY10JB P1.

23、0, LOOP1JNB P1.0, $ LJMP STOPLOOP1: JB P1.1, LOOP2 ;P1.1=0 时,复位ACALL DELAY10JB P1.1, LOOP2JNB P1.1, $LJMP RESETLOOP2: JB P1.3,LOOP3 ;P1.3=0 时,暂停记录ACALL DELAY10JB P1.3, LOOP3JNB P1.3, $LJMP JILULOOP3: JB P1.4,LOOP4 ;P1.4=0 时,上翻- 21 -ACALL DELAY10JB P1.4, LOOP4JNB P1.4, $LJMP XIAFANLOOP4: JB P1.5,LOOP

24、 ;P1.5=0 时,下翻ACALL DELAY10JB P1.5, LOOPJNB P1.5, $LJMP SHANGFANLOOP: SJMP HERESTOP: CLR TR0 ;停止程序CLR TR1ACALL DISPSJMP HERERESET: CLR TR0 ;复位程序CLR TR1MOV 20H, #00HMOV 30H, #00HMOV 31H, #00HACALL DISPSJMP HEREJILU : MOV A,20H ;暂停记录程序MOV R1, AINC R1DJNZ R2, HEREMOV R1, #71H SJMP STOPXIAFAN:MOV A,R1 ;下

25、翻程序MOV 20H, AMOV B, #0AH- 22 -DIV ABMOV 31H, AMOV 30H, BLCALL DISPINC R1DJNZ R2, HEREMOV R1, #74HSJMP STOPSHANGFAN:MOV A,R1 ;上翻程序MOV 20H, AMOV B, #0AHDIV ABMOV 31H, AMOV 30H, BLCALL DISPDEC R1DJNZ R3, HEREMOV R1, #71HSJMP STOPHEE: JNB TF1, HEECLR TF1ACALL JIA1ACALL DISPJNB P1.0, STOPSJMP HEEHERE: LJ

26、MP ML1ZHONGDUAN:SETB TR0 ;启动定时器 0CLR TR1RETITIME1: PUSH ACC ;定时 1 秒PUSH PSW- 23 -MOV TH0, #0D8HMOV TL0, #0F0HDJNZ 40H, RET0LCALL JIA1LCALL DISPMOV 40H, #100RET0: POP PSWPOP ACCRETITIME10:PUSH ACC ;定时 10 毫秒PUSH PSWMOV TH0, #0D8HMOV TL0, #0F0HRET1: POP PSWPOP ACCRETIJIA1: MOV A,20H ;加 1CLR CINC ACJNE

27、A, #100, GO1MOV 20H, #00HRETGO1: MOV 20H, AMOV B, #0AHDIV ABMOV 31H, AMOV 30H, BRETDISP: MOV R0,#30H ;显示MOV R3, #0FEHMOV A, R3- 24 -PLAY: MOV P1, AMOV A,R0MOV DPTR, #DSEG1MOVC A,A+DPTRMOV P2, ALCALL DL1MOV P1, #0FFHMOV A, R3RL AJNB ACC.2, LD1INC R0MOV R3, ALJMP PLAYLD1: RETDL1: MOV R7, #05HDL: MOV R6, #0FFHDL6: DJNZ R6, $DJNZ R7, DLRETDELAY10:MOV R4,#14H ;延时 10 毫秒DL00: MOV R5, #0FFHDL11: DJNZ R5, DL11DJNZ R4, DL00RETDSEG1: DB 3FH, 06H, 5BH, 4FH, 66HDB 6DH, 7DH, 07H, 7FH, 6FHEND- 25 -附录 2:系统原理图- 26 -

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报