基于单片机的多功能秒表的课程设计报告书_第1页
基于单片机的多功能秒表的课程设计报告书_第2页
基于单片机的多功能秒表的课程设计报告书_第3页
基于单片机的多功能秒表的课程设计报告书_第4页
基于单片机的多功能秒表的课程设计报告书_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、 PAGE23 / NUMPAGES26 单片机课程设计题 目 基于单片机的 多功能秒表 目 录 TOC o 1-2 h z u HYPERLINK l _Toc4093469591 设计总体方案 PAGEREF _Toc409346959 h 1HYPERLINK l _Toc4093469601.1 设计要求与目的 PAGEREF _Toc409346960 h 1HYPERLINK l _Toc4093469611.2 设计思路 PAGEREF _Toc409346961 h 1HYPERLINK l _Toc4093469621.3工作原理 PAGEREF _Toc409346962

2、h 2HYPERLINK l _Toc4093469631.4 功能说明 PAGEREF _Toc409346963 h 2HYPERLINK l _Toc4093469642 主要元器件介绍 PAGEREF _Toc409346964 h 3HYPERLINK l _Toc4093469652.1 AT89C51单片机 PAGEREF _Toc409346965 h 3HYPERLINK l _Toc4093469662.2 四位共阴数码管 PAGEREF _Toc409346966 h 5HYPERLINK l _Toc4093469673 系统硬件设计 PAGEREF _Toc40934

3、6967 h 6HYPERLINK l _Toc4093469683.1 电源电路 PAGEREF _Toc409346968 h 6HYPERLINK l _Toc4093469693.2 时钟电路 PAGEREF _Toc409346969 h 6HYPERLINK l _Toc4093469703.3 复位电路 PAGEREF _Toc409346970 h 7HYPERLINK l _Toc4093469713.4 显示电路 PAGEREF _Toc409346971 h 7HYPERLINK l _Toc4093469723.5 键盘电路 PAGEREF _Toc409346972

4、h 8HYPERLINK l _Toc4093469734 软件设计 PAGEREF _Toc409346973 h 9HYPERLINK l _Toc4093469745 系统调试与结果分析 PAGEREF _Toc409346974 h 11HYPERLINK l _Toc4093469756总结 PAGEREF _Toc409346975 h 12HYPERLINK l _Toc409346976参考文献 PAGEREF _Toc409346976 h 13HYPERLINK l _Toc409346977附录1:总体电路原理图 PAGEREF _Toc409346977 h 14HYP

5、ERLINK l _Toc409346978附录2:元器件清单 PAGEREF _Toc409346978 h 15HYPERLINK l _Toc409346979附录3:实物图 PAGEREF _Toc409346979 h 16HYPERLINK l _Toc409346980附录4:源程序 PAGEREF _Toc409346980 h 171 设计总体方案1.1 设计要求与目的 设计一个单片机控制的多功能秒表系统,利用单片机的定时器/计时器定时和计数的原理,结合显示电路、用四位共阴极LED数码管以与按键来设计秒表计时器,实现暂停与清零功能,并多次计数。 在设计系统前,我们主要考虑以下

6、一些原则:节约元器件,尽量降低系统实现成本;硬件电路尽量简单,使得硬件实现、问题检查、软件编程以与系统调试的难度都降低;能在软件上实现,使芯片利用率尽可能高;软件设计方案要优化,使得做成实物尽可能简单,方便仿真与检测;设计方案要和当前的试验平台相应;充分利用各种资源,尽量采用成熟与经典的电路。1.2 设计思路因为秒表的设计相对较为简单,因此在软件设计中我们一般采用模块化程序设计的方法。模块是一个具有独立功能的程序,可以单独设计、调试与管理,模块可以分为功能模块和控制模块两类。我们通过模块化程序设计可按适当的原则把一个情况复杂、规模较大的程序划分为一个个较小的、功能相关而又相对独立的模块。根据电

7、子秒表的设计要求,主要设计一个计数系统、译码驱动、数码显示系统、控制系统。其主要核心技术在于产生秒表信号的计数脉冲与计数器之间的级联。1.3工作原理本系统采用AT89C51单片机为中心器件,利用其定时器/计数器定时和记数的原理,结合硬件电路如电源电路,晶振电路,复位电路,显示电路,以与一些按键电路等来设计计时器,将软、硬件有机地结合起来。其中软件系统采用汇编语言编写程序,包括显示程序,加减计数程序,快加快减程序,中断,延时程序等,并调试运行,硬件系统利用proteus强大的功能来实现,简单且易于观察,在仿真中就可以观察到实际的工作状态。1.4 功能说明开始按钮是用来开始进行计数的。停止按键用来

8、暂停程序的运行,当按下暂停键时,程序停留在原地,等待再次按下暂停键,再次按下暂停键后,程序继续运行。计数按钮用来记录数据,每按下一次计数按钮,程序自动记录一个数据,并存放到指定存单元中。复位按钮是用来对程序复位,每当程序出现死循环的时候,按下复位键即可跳出死循环,回到程序的开始。这些功能分别用开始/暂停键、记录键、上翻键、下翻键以与复位键来实现。还有一个是清零键,用于对当前数码管的计数进行清零,但是对芯片存单元保存的记录并不产生影响,这点事清零键与复位键的区别。2 主要元器件介绍2.1 AT89C51单片机AT89C51单片机是低电压、高性能CMOS 8位微处理器,是一种带2k字节闪存可编程可

9、擦除只读存储器。单片机的可擦除只读存储器可以反复擦除1000次,含128字节部RAM,32个I/O口线,2个16位定时/计数器,一个全双工串行通信口,片振荡器与时钟电路。空闲时停止CPU的工作,但允许RAM、定时/计数器、串行通信口与中断系统继续工作。掉电方式保存RAM中的容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。引脚图见图2-1所示:图2-1 AT89C51引脚图VCC:供电电压。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。 P1口:P1口是一个部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P2口:P2口为一个部上拉

10、电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被部上拉电阻拉高,且作为输入 P3口:P3口管脚是8个带部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被部上拉为高电平,并用作输入。 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(外部数据存储器读选通) RST:复位输入。当振荡器复位器件时,要保持R

11、ST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有部程序存储器。 XTAL1:反向振荡放大器的输入与部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。2.2 四位共阴数码管共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管,共阴数码管在应

12、用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮,当某一字段的阳极为低电平时,相应字段就不亮。从左下角开始逆时针一圈分别是1至12个引脚,12、9、8、6为数码管的公共端,a、b、c、d、e、f、g、dP分别为数码管的段引脚,这些段引脚分别对应11、7、4、2、1、10、5、3这些位置, A1、A2、A3、A4分别表示数码管的四个位。图2-2 四位共阴数码管3 系统硬件设计 本系统中,硬件电路主要有电源电路,时钟电路,复位电路,显示电路,以与一些按键电路等。3.1 电源电路 电源电路是指提供给用电设备电力供应的电源部分的电路设计、使用的电路形式和特点。

13、电源有交流电源也有直流电源。 电源电路是系统最基本的部分,任何电路都离不开电源部分,由于三端集成稳压器件所组成的稳压电源线路简单、性能稳定、工作可靠、调整方便,已逐渐取代分立元件,在生产中被广泛采用。3.2 时钟电路 MCS-51单片机部的振荡电路是一个高增益反相放大器,引线 XTAL1和XTAL2分别为反向振荡放大器的输入与部时钟工作电路的输入和来自反向振荡器的输出,该反向放大器可以配置为片振荡器。这里,我们选用51单片机12MHZ的部振荡方式,电容器C1、C2起稳定振荡频率、快速起振的作用,C1和C2可在20-100PF之间取,这里取33P,接线时要使晶体振荡器X1尽可能接近单片机。电路见

14、图3-1所示: 图3-1 时钟电路3.3 复位电路 采用上电和和按键复位电路。上电后,由于电容充电,使RST持续一段高电平时间。当单片机已在运行之中时,按下复位键也能使用使RST持续一段时间的高电平,从而实现上电加开关复位的操作。这不仅能使单片机复位,而且还能使单片机的外围芯片也同时复位。当程序出现错误时,可以随时使电路复位。电路见图3-2所示:图3-2 复位电路3.4 显示电路 我们采用的是数码管显示电路。在用数码管显示时,我们有静态和动态两种选择,静态显示程序简单,显示稳定,但是占用端口比较多;动态显示所使用的端口比较少,可以节省单片机的I/O口。在设计中,我们采用LED动态显示,用P0口

15、驱动显示。由于P0口的输出级是开漏电路,用它驱动时需要外接上拉电阻才能输出高电平。电路见图3-3所示:图 3-3 显示电路3.5 键盘电路通过1/0口连接,将每个按钮的一端接到单片机的I/O口,另一端接地,这是最简单的办法。如图3-4所示是实验板上按钮的接法,其功能很简单,五个键定义如下:按键1:开始/暂停计时按键2:记录时刻按键3:上翻记录时刻按键4:下翻记录时刻按键5:清零当前记录时刻图3-4 键盘电路4 软件设计 在软件设计中,一般采用模块化的程序设计方法,它具有明显的优点。把一个多功能的复杂的程序划分为若干个简单的、功能单一的程序模块,有利于程序的设计和调试,提高了程序的阅读性和可靠性

16、,使程序的结构层次一目了然。 各程序模块都要完成一个明确的任务,实现某个具体的功能,如:加计数、减计数、延时、快加、快减,计数和显示等,在具体需要时调用相应的模块即可,设计流程框图见图4-1所示:开始初始化化P1.0=0?P1.1=0?P1.2=0?P1.3=0?P1.4=0?停止下翻上翻够8个个?N 记录NNNNNY 清零图4-1 设计流程框图5 系统调试与结果分析 因为整个系统都是数字电路,因此可以用仿真软件来对其进行调试。本次实际的电子秒表系统是用于测量较短而且较精准的时间,它具体有以下一些功能: (1)整个系统由六个小开关控制。 (2)系统在用之前能清零,即电子秒表开始计时之前,其他时

17、间显示零。 (3)若不需要计时或需要中途暂停计时,则秒表能与时停止计时,但能保留停止计时之前所计的时间。 用PROTEUS将编译生成的秒表.HEX 文件下到单片机中,点击运行按相应的操作键即可看到下图的效果: 图5-1 仿真结果经proteus软件仿真后,系统运行良好,结果正确。 6总结经过一个星期的课程设计,过程有曲折也有顺利。在此期间我也失落过,也曾一度热情高涨。在老师的指导下,我们顺利完成了课程设计的实物设计。让我学到了以下几点: 1将学习的理论知识通过实验融会贯通,让我对它的理解更加深刻,对程序的编译过程了解透彻。 2本次课程设计以合作设计为主,因此培养了学习的积极性,让我能够配合同伴

18、去分析问题、发现问题、解决问题,更增强与老师同学交流沟通和合作完成任务的能力。 3由于这次课程设计不仅设计编程方面的知识,还涉与了其它学科的知识,例如PROTEUS等的基本知识。程序是用汇编语言来编写的,这次课程设计让我在编程能力方面得到了提高。4由于水平有限,实验程序运行有一定的限制,以后会加强改进。 总之,通过这次课程设计,不仅加深了我对单片机理论方面的理解,将理论更好的运用的实践方面,而且锻炼了我们各方面的能力,培养了坚强的毅力和做事的耐心和细心,认识合作的重要性,还希望老师能够多多指导,促进我不断的进步。参考文献1 余发山.单片机原理与应用技术.中国矿业大学,2003.49772 凌霄

19、.微型计算机原理与应用.中国矿业大学,2004. 3 群芳.单片机原理、接口与应用.清华大学,2005. 4 忠平.单片机原理与接口.清华大学,2007.125131 5 同法.单片机基础与最小系统实践.航空航天大学,2007.6 王东峰等.单片机C语言应用100例M.电子工业,2009. 7 海宴.51单片机原理与应用M.航空航天大学,2010. 附录1:总体电路原理图附录2:元器件清单序号名称型号规格数量1单片机AT89C5112数码管7SEG-MPX4-CC13电阻20011K580016电容22uF17电容33pF28排阻PESPACK-819晶振XTAL18110按键开关611导线若

20、干附录3:实物图附录4:源程序(1)停止子程序 按键后,使秒表停止,即关闭定时器0,1,程序如下: STOP: CLR TR0 CLR TR1;关闭定时器0,1 ACALL DISP;显示 (2)暂停记录子程序 按键结束后,通过条件转移指令判断是否存够4个数,若存够则停止,否则继续。 JILU : MOV A,20H MOV R1, A INC R1 DJNZ 50H, HERE;是否够四个数? MOV R1, #71H MOV 50H, #04H MOV 51H, #04H SJMP STOP;够4个数停止 (3)加1子程序 此程序只为简单的加1,并判断是否到100?到则从0开始,否则继续。

21、 JIA1: MOV A,20H CLR C INC A CJNE A, #100, GO1;是否加到100? MOV 20H, #00H RET GO1: MOV 20H, A;将个位十位分开显示 MOV B, #0AH DIV AB MOV 31H, A MOV 30H, B RET (4)显示子程序,采用动态显示 DISP: MOV R0,#30H MOV R3, #0FEH MOV A, R3 PLAY: MOV P2, A MOV A,R0 MOV DPTR, #DSEG1 MOVC A,A+DPTR MOV P0, A LCALL DL1 MOV P2, #0FFH MOV A,

22、R3 RL A JNB ACC.2, LD1 INC R0 MOV R3, A LJMP PLAY LD1: RET DL1: MOV R7, #05H DL: MOV R6, #0FFH DL6: DJNZ R6, $ DJNZ R7, DL RET (5)延时子程序 例如延时10ms程序: DELAY10:MOV R4,#14H DL00: MOV R5, #0FFH DL11: DJNZ R5, DL11 DJNZ R4, DL00 RET (6)按键消抖程序 延时10ms再次判断该位的状态,若仍是0则说明该键被按下,弹起后去执行该按键功能;若为1,则说明是抖动则继续向下判断。 L1:

23、P1.1,L2 P1.1=0,快减 ACALL DELAY10 P1.1, L2 JNB P1.1, $ LJMP KJIAN 毕业设计(论文)原创性声明和使用授权说明原创性声明本人重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作与取得的成果。尽我所知,除文中特别加以标注和致的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得与其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了意。作 者 签 名:日 期:指导教师签名: 日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部容。作者签名: 日 期:学位论文原创性声明本人重声明:所呈交的论文是本人

温馨提示

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

评论

0/150

提交评论