单片机系统课程设计-基于单片机秒表的设计.doc_第1页
单片机系统课程设计-基于单片机秒表的设计.doc_第2页
单片机系统课程设计-基于单片机秒表的设计.doc_第3页
单片机系统课程设计-基于单片机秒表的设计.doc_第4页
单片机系统课程设计-基于单片机秒表的设计.doc_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

单片机系统课程设计单片机系统课程设计 -基于单片机秒表的设计基于单片机秒表的设计 学院:学院: 通信与电子工程学院通信与电子工程学院 班级:班级: 电子电子 111111 姓名:姓名: 学号:学号: 指导老师:指导老师: 日期:日期: 20132013 年年 1212 月月 1919 日日 单片机系统课程设计单片机系统课程设计 I 摘 要 近年来随着科技的飞速发展,单片机的应用正在不断的走向深入。本文阐述了基 于单片机的电子秒表设计。本设计主要特点是计时精度达到 0.1s,解决了传统的由于 计时精度不够造成的误差和不公平性,是各种体育竞赛的必备设备之一。 本设计是基于 AT89C51 单片机设计的,我们是分为几个模块来设计的。首先对秒 表的硬件进行了设计,它包括时钟电路设计、复位电路设计以及外部显示电路。利用 89C51 单片机的定时器/计数器定时和记数的原理,结合显示电路、LED 数码管以及外 部中断电路来设计计时器。计时精度为 0.1s。其次是软件进行了设计,软件系统采用 汇编语言编写程序,包括显示程序,定时中断服务,外部中断服务程序,延时程序等。 最后通过仿真调试,在 proteus 环境下建立了仿真模型,仿真结果表明本设计是正确 的。 关键词:关键词:单片机; 秒表; 系统设计 单片机系统课程设计单片机系统课程设计 II 目 录 摘 要 .I 第 1 章 设计内容要求及目的.1 1.1 课题内容.1 1.2 课题要求.1 1.3 课题目的.1 第 2 章 硬件简介与电路设计.2 2.1 单片机 AT89C51 介绍.2 2.1.1 单片机 AT89C51 管脚说明.2 2.1.2 振荡器特性.3 2.2 设计思路.4 2.3 硬件电路设计.4 2.3.1 时钟电路与复位电路.5 2.3.2 硬件电路设计.5 第 3 章 软件设计.7 第 4 章 系统调试与仿真.8 4.1 仿真软件简介.8 4.2 仿真调试.8 结论.11 参考文献.12 附录 1.13 附录 2.18 附录 3.19 附录 4.20 附录 5.21 单片机系统课程设计单片机系统课程设计 1 第 1 章 设计内容要求及目的 1.1 课题内容 用 AT89C51 设计一个秒表,该秒表课可显示 0.059.9 秒的时间,进行相应的单片 机硬件电路的设计并进行软件编程利用单片机定时器/计数器中断设计秒表,从而实现 秒、十分之一秒的计时。综合运用所学的单片机原理与应用理论知识,通过实践 加强对所学知识的理解,具备设计单片机应用系统的能力。通过本次系统设计加深对 单片机掌握定时器、外部中断的设置和编程原理的全面认识复习和掌握。 本系统利用单片机的定时器/计数器定时和记数的原理,通过采用 proteus 仿真软 件来模拟实现。模拟利用 AT89C51 单片机、LED 数码管以及控件来控制秒表的计数以 及计位!其中有三位数码管用来显示数据,显示秒(两位)和十分之一秒,十分之一 秒的数码管计数从 09,满十进一后显示秒的数码管的数字加一,并且十分之一秒显 示清零重新从零计数。计秒数码管采用三位的数码管,当计数超过范围是所有数码管 全部清零重新计数。 1.2 课题要求 本课题是基于单片机的秒表系统设计,它的具体要求有以下几点: 1.用单片机 AT89C51 实现; 2.以 0.1 秒为最小单位进行显示; 3.秒表量程为 0.0-59.9 秒,用 LED 显示; 4.有清零、开始、停止功能; 1.3 课题目的 通过课程设计,进一步熟悉和掌握 AT89C51 单片机的结构及工作原理,掌握以单 片机核心的电路设计的基本方法和技术,了解表关电路参数的计算方法。通过完成一 个包括电路设计和程序开发的完整过程,进一步了解开发一单片机应用系统的全过程, 通过此综合训练,为以后毕业设计打下一定的基础。具体有以下几点: 1.通过本次课程设计加深对单片机课程的全面认识。 2掌握定时器、外部中断的设置和编程。 3.该实验通过单片机的软件延时设计,设计简单的计时器系统,能正确的计时。 4.通过本次课程设计能够对程序进行编辑,校验。 单片机系统课程设计单片机系统课程设计 2 第 2 章 硬件简介与电路设计 2.1 单片机 AT89C51 介绍 AT89C51 是一种低功耗、高性能的片内含有 4KB 快闪可编程/擦除只读存储器 (FPEROM-Flash Programmable and Erasable Read Only Memory)的 8 位 CMOS 微控 制器,使用高密度、非易失存储技术制造,并且与 89C51 引脚和指令系统完全兼容。 引脚分别如图 2-1 所示: 图 2-1 AT89C51 单片机引脚分布图 2.1.1 单片机 AT89C51 管脚说明 1.VCC:供电电压。 2.GND:接地。 3P0 口:P0 口为一个 8 位漏级开路双向 I/O 口,每脚可吸收 8TTL 门电流。当 P0 口的管脚第一次写 1 时,被定义为高阻输入。P0 能够用于外部程序数据存储器,它 可以被定义为数据/地址的低八位。在 FIASH 编程时,P0 口作为原码输入口,当 FIASH 进行校验时,P0 输出原码,此时 P0 外部必须被拉高。 4.P1 口:P1 口是一个内部提供上拉电阻的 8 位双向 I/O 口,P1 口缓冲器能接收 输出 4TTL 门电流。P1 口管脚写入 1 后,被内部上拉为高,可用作输入,P1 口被外部 下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在 FLASH 编程和校验时, 单片机系统课程设计单片机系统课程设计 3 P1 口作为低八位地址接收。 5.P2 口:P2 口为一个内部上拉电阻的 8 位双向 I/O 口,P2 口缓冲器可接收,输 出 4 个 TTL 门电流,当 P2 口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。 并因此作为输入时,P2 口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。 P2 口当用于外部程序存储器或 16 位地址外部数据存储器进行存取时,P2 口输出地址 的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器 进行读写时,P2 口输出其特殊功能寄存器的内容。P2 口在 FLASH 编程和校验时接收高 八位地址信号和控制信号。 6.P3 口:P3 口管脚是 8 个带内部上拉电阻的双向 I/O 口,可接收输出 4 个 TTL 门 电流。当 P3 口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由 于外部下拉为低电平,P3 口将输出电流(ILL)这是由于上拉的缘故。P3 口也可作为 AT89C51 的一些特殊功能口,如下表所示: 口管脚 备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断 0) P3.3 /INT1(外部中断 1) P3.4 T0(记时器 0 外部输入) P3.5 T1(记时器 1 外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通) P3 口同时为闪烁编程和编程校验接收一些控制信号。 7.RST:复位输入。当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时 间。 8.ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地 位字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时,ALE 端以不变的频 率周期输出正脉冲信号,此频率为振荡器频率的 1/6。因此它可用作对外部输出的脉 冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个 ALE 脉冲。如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。此时, ALE 只有在执行 MOVX,MOVC 指令是 ALE 才起作用。另外,该引脚被略微拉高。如果微处理器在外部执 行状态 ALE 禁止,置位无效。 9./PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器 周期两次/PSEN 有效。但在访问外部数据存储器时,这两次有效的/PSEN 信号将不出现。 10./EA/VPP:当/EA 保持低电平时,则在此期间外部程序存储器(0000H-FFFFH) , 不管是否有内部程序存储器。注意加密方式 1 时,/EA 将内部锁定为 RESET;当/EA 端 保持高电平时,此间内部程序存储器。在 FLASH 编程期间,此引脚也用于施加 12V 编 程电源(VPP) 。 11.XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反 向振荡器的输出2。 单片机系统课程设计单片机系统课程设计 4 2.1.2 振荡器特性 XTAL1 和 XTAL2 分别为反向放大器的输入和输出。该反向放大器可以配置为片内 振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2 应不接。 有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任 何要求,但必须保证脉冲的高低电平要求的宽度。 2.2 设计思路 这次的试验要求进行计时并且在数码管上显示时间,先要基本了解硬件内在结构, 确定用 p2 并行端口进行数码管控制输入,使用 P1.6,P1.5,P1.4 进行选择 0.1 秒位, 秒位,十位秒位,以 P3.0 为开始控制,P3.1 为停止控制,P3.2 为清零控制。 本次实验设计的基本思路是要求借助 AT89C51 单片机做出一个 0-59.9s 的秒表从十位 秒到 0.1 位秒数这些计时的位数是存在一个内嵌的结构,就是 0.1 秒位满足条件然后 进行跳位使秒位加一的过程,当 0.1s 到 0.9s 时该位自动清零并且秒位加一,秒位达 到 9 时也自动清零并向十秒位加一。当计数超过范围是所有数码管全部清零重新计数。 其次开始控制,停止控制,清零控制等功能,我们采用蜂鸣器进行提示,该信号由 P1.0 输出由 7406 非门与外加电源驱动,通过一个延时子程序加以控制。最后就是根据硬件 的条件进行编程,要求软硬件相互兼容。这也是设计的关键之处。原理及电路总框图 如图 2-2 所示: P2 单片机 AT89C51 P1 P3 系统复位电路 功能按键电路 电源部分 蜂鸣器控制电路 LED 显示电路 图 2-2 秒表电路整体框图 单片机系统课程设计单片机系统课程设计 5 2.3 硬件电路设计 2.3.1 时钟电路与复位电路 利用 12 分频的晶振的一个机器周期为一微妙,通过循环延时产生 0.1 秒的延时, 晶振电路原理及单片机复位电路图如图 2-3 所示: 图 2-3 时钟与复位电路图 单片机的时钟信号用来提供单片机内各种微操作的时间基准,89C51 片内设有一 个由反向放大器所构成的振荡电路,XTAL1 和 XTAL2 分别为振荡电路的输入和输出端, 89C51 单片机的时钟信号通常用两种电路形式得到:内部振荡方式与外部振荡方式。 外部方式的时钟很少用,若要用时,只要将 XTAL1 接地,XTAL2 接外部振荡器就行。 对于复位操作,我们采用手动复位,通过按钮开关使单片机进入复位状态,这是 单片机能否正常工作的关键1。 2.3.2 硬件电路设计 使用 proteus 软件设计的硬件电路包含了三个功能控制键和一个单片机复位按钮。 具体如图 2-4 所示: 单片机系统课程设计单片机系统课程设计 6 图 2-4 硬件电路连接图 时钟电路与复位电路已在前边介绍,在此主要介绍端口电路,对于外显电路的设 计我们采用四位数码管,事实上根据要求只用到三位,我们利用 p1.4、p1.5、p1.6 对 数码管进行位选。对于按钮开关电路,我们利用 p3.0、p3.1、p3.2 分别作为开始、停 止及清零功能的电路接口。 单片机系统课程设计单片机系统课程设计 7 第 3 章 软件设计 根据课题内容,可做出主程序流程图如图 3-1 所示: 开 始 有进位吗? 初始化 有暂停指令吗? Y 有清零指令吗? 0.1 秒位加一 N N N Y 有进位吗? N Y 秒位加一 十秒位加一 Y 有进位吗? N Y 声音提示 图 3-1 主程序流程图 流程图体现着设计程序的思路程序,开始后首先进行数据初始化然后是条件判断 满足条件或不满足则进行对应的处理,如首先依次判断是否暂停是否清零,然后十分 之一妙位计数,再判断是否进位,若是秒位就加一,秒位加一后进行声音提示,接着 再判断是否有进位,若有则十秒位加一,若十秒位产生进位则重新计时。 单片机系统课程设计单片机系统课程设计 8 第 4 章 系统调试与仿真 4.1 仿真软件简介 Proteus 是英国 Labcenter electronics 公司出版的仿真软件。它不仅具有其它 仿真软件的仿真功能,还能仿真单片机及外围器件,它是目前最好的仿真单片机及外 围器件的工具。受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用 的科技工作者的青睐。 在 Proteus 绘制好原理图后,调入已编译好的目标代码文件:*.HEX,可以在 Proteus 的原理图中看到模拟的实物运行状态和过程。Proteus 不仅可将许多单片机实 例功能形象化,也可将许多单片机实例运行过程形象化。前者可在相当程度上得到实 物演示实验的效果,后者则是实物演示实验难以达到的效果。它的元器件、连接线路 等却和传统的单片机实验硬件高度对应。这在相当程度上替代了传统的单片机实验教 学的功能。 4.2 仿真调试 经过对程序的运行,并用 wave 软件编译后,用 proteus 仿真软件进行仿真,按下 “开始”按钮之前,可以看到数码管上数字子显示为零如图 4-1 所示: 单片机系统课程设计单片机系统课程设计 9 图 4-1 开始状态图 由图 4.1 可以清楚的看到,秒表的初始状态,三位数码管都显示为零。进行位选 的端口也都处于低电位,蜂鸣器也未工作。单片机复位端为低电平。 当按下“开始”时秒表开始计时,秒表开始计时,其状态如图 4-2 所示: 图 4.2 开始计时图 由图 4-2 可以看到,开始计时后,数码管数字在变化,图中为十分之一秒位的数 码管显示情况。 当按下“停止”时秒表停止计时,数码管显示的数字不再变化,如图 4-3 所示 单片机系统课程设计单片机系统课程设计 10 图 4-3 停止状态图 由图 4.3 可以看到按下“停止”按钮后各个数码管的数字不再变化。 当按下“清零”时秒表无论是在计时还是在停止状态都一律清零各数码管全为零, 回到初始状态。如图 4-4 所示: 图 4-4 清零状态图 单片机系统课程设计单片机系统课程设计 11 结论 本文主要从硬件和软件两个方面结合说明设计的总体思路和实现过程,预期的设计 目的是:能够实现计时的基本功能,显示 0.059.9 秒计时。通过采用 proteus 仿真软 件来模拟实现。此次单片机课程设计,从选题到定稿,从理论到实践,学到了很多的 东西,使我们更熟练掌握单片机的最小系统设计,掌握定时器、外部中断的设置和编 程,能够对程序进行编辑,校验。在设计中有好多问题都是因为理论知识不扎实,在 有些管脚的置零置一上,概念的模糊,还有就是对单片机的指令不够熟悉。该计时器 的特点是方便、快捷、稳定,是一个很好的计时工具。但它的缺点是只能从 0s 开始计 时,不能随意设置它的初始值,这点还需要改进。通过这次课程设计使我们懂得了理 论与实际相结合是很重要的。只有理论知识是远远不够的,要把所学的理论知识与实 践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手 能力和独立思考的能力。这次的课程设计还让我们学会了如何去培养我们的创新精神, 从而不断地战胜自己,超越自己。更重要的是,我们在这一设计过程中,学会了坚持 不懈,不轻言放弃。 单片机系统课程设计单片机系统课程设计 12 参考文献 1 张毅刚.单片机原理及应用M.北京:高等教育出版社,2010:66-197. 2 童诗白.模拟电子技术基础M.北京:高等教育出版社,2001:53-69 . 3 张毅刚.基于 Proteus 的单片机课程的基础实验与课程设计M.北京:人民邮电出版社, 2012:91-94. 单片机系统课程设计单片机系统课程设计 13 附录 1 源程序: HAOMIAO EQU 34H MIAO EQU 35H SHIMIAO EQU 36H ORG 0000H AJMP START ORG 0030H START: CLR C SETB P1.6 SETB P1.5 SETB P1.4 MOV HAOMIAO, #0 MOV MIAO, #0 MOV SHIMIAO, #0 MOV DPTR, #TABLE MOV A, #00H MOVC A,A+DPTR CLR P1.6 MOV P2, A MOV A, #00H MOVC A,A+DPTR CLR P1.4 MOV P2, A MOV DPTR, #TABLE1 MOV A, #00H MOVC A,A+DPTR CLR P1.5 MOV P2, A LCALL KAISHI 单片机系统课程设计单片机系统课程设计 14 LCALL MAIN SHIWEI : SETB P1.5 MOV DPTR,#TABLE ;十秒位显示 MOV MIAO,#0 ;使秒位从零位重新循环 INC SHIMIAO MOV A,SHIMIAO CLR C SUBB A,#6 JZ START AJMP MAIN RET TINGZHI: MOV A,#00H ;判断是否有清零指 MOV A,P3 ANL A,#04H JZ START MOV A,#00H ;判断是否有停止指令 MOV A,P3 CLR C ANL A,#02H LCALL YANSHI JZ MAIN LJMP TINGZHI START1: LJMP START SHIWEI1: LJMP SHIWEI MAIN : SETB P1.5 SETB P1.4 SETB P1.6 MOV A,#00H ; 判断是否有清零指令 MOV A,P3 ANL A,#04H JZ START1 MOV A,#00H ; 判断是否有停止指令 单片机系统课程设计单片机系统课程设计 15 MOV A,P3 CLR C ANL A,#02H JZ TINGZHI MOV DPTR,#TABLE ; 0.1 位秒显示 I NC HAOMIAO ;加一,可查下一位数据 MOV A, HAOMIAO ; 判断是否进位 CLR C SUBB A,#10 JZ MIAOZHEN LCALL YANSHI ;延时 0.1 秒 AJMP MAIN RET ;继续计时 MIAOZHEN: SETB P1.4 MOV DPTR,#TABLE1 ;秒位显示 MOV HAOMIAO,#0 ;使 0.1 秒从零重新循环 INC MIAO ;加一,可查下一位数据 MOV A,MIAO ;判断是否进位 CLR C SUBB A,#10 JZ SHIWEI1 LCALL SND AJMP MAIN ;返回 0.1 秒计 YANSHI: MOV R6,#30 DL2: MOV A,#00H ;判断是否有清零指令 MOV A,P3 ANL A,#04H JZ START1 MOV DPTR,#TABLE MOV A,SHIMIAO MOVC A,A+DPTR CLR P1.6 单片机系统课程设计单片机系统课程设计 16 MOV P2,A ACALL YIHAOMIAO SETB P1.6 MOV A,HAOMIAO MOVC A,A+DPTR

温馨提示

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

评论

0/150

提交评论