版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、I 中中州州大大学学工工程程技技术术学学院院单单片片机机课课程程设设计计报报告告书书题题目目: 89C51 单单片片机机秒秒表表的的设设计计姓姓 名名:王王克克强强 班班 级级:普普招招班班 学学 号号:201127414 指指导导教教师师:孙孙建建延延 时时 间间:2013 年年 12 月月 30 日日 1摘摘要要本设计是设计一个单片机控制的多功能秒表系统。近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动着传统控制检测日新月异的更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面的知识是不够的,还要根据具体的硬件结构,以及针对具体的
2、应用对象的软件结合,加以完善。秒表的出现,解决了传统的由于人为因素造成的误差和不公平性。本设计的多功能秒表系统采用AT89C51 单片机为中心器件,利用其定时器 /计数器定时和记数的原理,结合显示电路、电源电路、 LED 数码管以及按键电路来设计计时器。将软、硬件有机地结合起来,使得系统能够正确地进行计数,并且结合相应的显示驱动程序,使数码管能够正确地显示时间,暂停和中断。设计的秒表可以同时记录八个相对独立的时间,通过上翻下翻来查看这八个不同的计时值,可谓功能强大。其中软件系统采用汇编语言编写程序,包括显示程序,计数程序,中断,延时程序,按键消抖程序等,硬件系统利用PROTEUS 强大的功能来
3、实现,简单且易于观察,在仿真中就可以观察到实际的工作状态。 关键字:单片机,多功能秒表 目目录录 1.概述 1.1 设计目的 1.2 设计要求 2 1.3 设计意义2.系统总体方案及硬件设计 2.1 系统总体方案 2.2 硬件设计 2.2.1 89C51 单片机 2.2.2 振荡电路 2.2.3 复位电路 2.2.4 按键电路 2.2.5 显示电路 2.2.6 系统电路图3.软件设计 3.1 设计特点 3.2 设计思路4.PROTEUS 软件仿真5.课程设计体会 1.概概述述 1.1 设计目的 设计一个单片机控制的秒表系统。利用单片机的定时器 /计数器定时和记数的原理,结合显示电路、 LED
4、数码管以及按键来设计秒表。将软、硬件有机地结合起来,3使得系统能够正确地进行计时,同时具有开始 /暂停,记录,上翻下翻,清零等功能。1.2 设计要求(1)共四位LED 显示,显示时间为00:0059.99(2)共五个按键,分别是开始 /暂停,记录,上翻,下翻,清零键 ;(3)能同时记录多个相对独立的时间并分别显示 ;(4)翻页按钮查看多个不同的计时值 ;1.3 设计意义(1)通过本次课程设计可以使我进一步熟悉和掌握单片机内部结构和工作原理,了解单片机应用系统设计的基本步骤和方法。(2)通过利用AT89C51 单片机,理解单片机在自动化仪表中的作用以及掌握单片机的编程方法。(3)通过设计一个简单
5、的实际应用输入及显示模拟系统,掌握单片机仿真软件PROTEUS 的使用方法。 (4)该实验通过单片机的定时器 /计数器定时和计数原理 ,设计简单的计时器系统 ,拥有正确的计时、暂停、清零、功能 ,并能同时记录多个相对独立的时间利用翻页按钮查看多个不同的计时值 ,该种秒表在现实生活中应用广泛 ,具有现实意义。 2系系统统总总体体方方案案及及硬硬件件设设计计2.1 系统总体方案本系统采用AT89C51 单片机为中心器件,利用其定时器 /计数器定时和记数的原理,结合硬件电路如电源电路,晶振电路,复位电路,显示电路,以及一些按键电路等来设计计时器,将软、硬件有机地结合起来。其中软件系统采用汇编语言编写
6、程序,包括显示,计数,中断,延时,按键消抖程序等,并在编程软件中调试运行,硬件系统利用PROTEUS 强大的功能来实现,简单且易于观察,在仿真中就可以观察到实际的工作状态。 4 单单 片片 机机 外外围围 电电路路 电电路路 电电源源 电电路路 电电路路 显显示示电电路路 键键盘盘电电路路 图1 系统电路原理2.2 硬件设计2.2.189C51 单片机MCS-51 系列单片机是8 位单片机产品,89C51 是其中的典型代表,基本模块包括以下几个部分:(1)CPU:89C51 的CPU 是8 位的,另外89C51 内部有1 个位处理器(2)R0M:4KB 的片内程序存储器,存放开发调试完成的应用
7、程序(3)RAM:256B 的片内数据存储器,容量小,但作用大(4)I/O 口:P0-P3,共4 个口32 条双向且可位寻址的I/O 口线(5)中断系统:共5 个中断源,3 个内部中断,2 个外部中断(6)定时器/计数器:2 个16 位的可编程定时器/计数器(7)通用串行口:全双工通用异步接收器 /发送器(8)振荡器:89C51 的外接晶振与内部时钟振荡器为CPU 提供时钟信号(9)总线控制:89C51 对外提供若干控制总线,便于系统扩展 89C51 的引脚图如下:589C51 单片机引脚图2.2.2 晶体振荡电路 89C51 芯片内部有一个高增益反相放大器,用于构成振荡器。引线 XTAL1
8、和XTAL2 分别为反向放大器的输入和输出, 两端跨接石英晶体及两个电容就可构成稳定的自激振荡器。这里,我们选用51 单片机12MHZ 的内部振荡方式,电容器C1,C2 起稳定振荡频率,并对振荡频率有微调作用, C1 和C2 可在20-100PF 之间取值,这里取33P。62.2.3 复位电路采用上电加按键复位电路,上电后,由于电容充电,使 RST 持续一段高电平时间。当单片机已在运行之中时,按下复位键也能使 RST 持续一段时间的高电平,从而实现上电加按键复位的操作。2.2.4 按键电路在按键电路中,我可以在 I/O 口上直接接按键,或者通过 I/O 口设计一个键盘,然后通过键盘扫描程序判断
9、是否有键按下等。键盘扫描电路节省 I/O 口,但编程有些复杂,在这里,由于我所用的按键较少,且系统是一个小系统,有足够的 I/O 口可以使用,为了使程序简化,我采用按键电路,用部分 P1 口做开关,P1.0 开始/暂停,P1.1 记录,P1.2 上翻,P1.3 下翻,P1.4 清零。对于按键的设计,采用了防抖动的程序设计,使系统的性能得到进一步的提升。当按键被按下7时,相应的引脚被拉低,经扫描后,获得键值,并执行键功能程序,因此按下不同的按键,将执行不同的功能程序。2.2.5 显示电路显示电路既可以选用液晶显示器,也可以选用数码管显示。我采用的是数码管显示电路。用四个共阴极 LED 显示,LE
10、D 是七段式显示器,内部有 7 个条形发光二极管和 1 个小圆点发光二极管组成,根据各管的亮暗组合成字符。在用数码管显示时,我有静态和动态两种选择,静态显示程序简单,显示稳定,但是占用端口比较多;动态显示所使用的端口比较少,可以节省单片机的I/O 口。在设计中,我采用 LED 动态显示,用 P0 口驱动显示。由于 P0 口的输出级是开漏电路,用它驱动时需要外接上拉电阻才能输出高电平。2.2.6 系统电路图8开始 初始化化P1.0=0?P1.1=0?P1.2=0?P1.3=0?P1.4=0?停止下翻上翻够8 个个?N 记录NNNNNY 清零3 3. .软软件件设设计计3.1 设计特点在软件设计中
11、,一般采用模块化的程序设计方法,它具有明显的优点。把一个多功能的复杂的程序划分为若干个简单的、功能单一的程序模块,有利于程序的设计和调试,优化和分工,提高了程序的阅读性和可靠性,使程序的结构层次一目了然。应用系统的程序由包含多个模块的主程序和各种子程序组成。各程序模块都要完成一个明确的任务,实现某个具体的功能,如:计数、延时、和显示等,在具体需要时调用相应的模块即可。功能描述:用四位 LED 数码管显示时间。一个开始/暂停键,一个复位键,一个“记录”键,可同时记录八个相对独立的时间;一个“上翻”键,一个“下翻”键,查看八个不同的计时值。五个按键分别通过五个端口控制秒表的五个功能。3.2 设计思
12、路(程序流程图及程序)9开始 初始化P1.0=0?P1.1=0?P1.2=0?P1.3=0?P1.4=0?停止下翻上翻够8个?暂停记录清零 程序如下:程序如下:/ /* *1 1、程程序序目目的的:使使用用定定时时器器学学习习秒秒表表计计时时,记记录录8 8 组组数数据据,通通过过上上翻翻、下下翻翻键键查查看看记记录录的的数数据据2 2、硬硬件件要要求求:数数码码管管、晶晶振振1 12 2M M* */ /# #i in nc cl lu ud de e 10C Co od de e u un ns si ig gn ne ed d c ch ha ar r t ta ab b = = 0 0
13、 x x3 3f f, ,0 0 x x0 06 6, ,0 0 x x5 5b b, ,0 0 x x4 4f f, ,0 0 x x6 66 6, ,0 0 x x6 6d d, ,0 0 x x7 7d d, ,0 0 x x0 07 7, ,0 0 x x7 7f f, ,0 0 x x6 6f f ; ; / / /共共阴阴数数码码管管 0 0- -9 9 c co od de e u un ns si ig gn ne ed d c ch ha ar r t ta ab b1 1 = = 0 0 x xB BF F, ,0 0 x x8 86 6, ,0 0 x xD DB B,
14、,0 0 x xC CF F, ,0 0 x xE E6 6, ,0 0 x xE ED D, ,0 0 x xF FD D, ,0 0 x x8 87 7, ,0 0 x xF FF F, ,0 0 x xE EF F ; ;/ / /共共阴阴数数码码管管0 0- -9 9 带带小小数数点点s sb bi it t k ke ey y1 1 = = P P1 1 0 0; ; / / /开开始始、暂暂停停s sb bi it t k ke ey y2 2 = = P P1 1 1 1; ; / / /记记数数s sb bi it t k ke ey y3 3 = = P P1 1 2 2;
15、; / / /上上翻翻s sb bi it t k ke ey y4 4 = = P P1 1 3 3; ; / / /下下翻翻s sb bi it t k ke ey y5 5 = = P P1 1 4 4; ; / / /清清零零s st ta at ti ic c u un ns si ig gn ne ed d c ch ha ar r m ms s, ,s se ec c; ;s st ta at ti ic c u un ns si ig gn ne ed d c ch ha ar r S Se ec c 8 8 , ,M Ms s 8 8 ; ;s st ta at ti ic
16、c i in nt t i i , ,j j; ;v vo oi id d d de el la ay y( (u un ns si ig gn ne ed d i in nt t c cn nt t) ) / / /延延时时程程序序 w wh hi il le e( (- - -c cn nt t) ); ; v vo oi id d m ma ai in n( () ) u un ns si ig gn ne ed d c ch ha ar r k ke ey y3 3_ _f fl la ag g= =0 0, ,k ke ey y4 4_ _f fl la ag g= =0 0; ;
17、T TM MO OD D | |= =0 0 x x0 01 1; ;/ / /定定时时器器0 0 1 10 0m ms s i in n 1 12 2M M c cr ry ys st ta al l 用用于于计计时时T TH H0 0= =0 0 x xd d8 8; ;T TL L0 0= =0 0 x xf f0 0; ;E ET T0 0= =1 1; ;T TR R0 0= =0 0; ; T TM MO OD D | |= =0 0 x x1 10 0; ; / / /定定时时器器1 1 用用于于动动态态扫扫描描T TH H1 1= =0 0 x xF F8 8; ;T TL L
18、1 1= =0 0 x xf f0 0; ;E ET T1 1= =1 1; ;T TR R1 1= =1 1; ; E EA A = =1 1; ;s se ec c= =0 0; ; / / /初初始始化化m ms s= =0 0; ; P P1 1= =0 0 x xf ff f; ;11i i= =0 0; ;j j= =0 0; ;s st ta ar rt t: : w wh hi il le e( (1 1) ) / / /开开始始、暂暂停停 i if f( (! !k ke ey y1 1) ) / / /判判断断是是否否按按下下 d de el la ay y( (5 50
19、0) ); ; / / /去去抖抖 i if f( (! !k ke ey y1 1) ) w wh hi il le e( (! !k ke ey y1 1) ) / / /等等待待按按键键释释放放 ; ; T TR R0 0= =! !T TR R0 0; ; / / /记记录录 i if f( (! !k ke ey y2 2) ) / / /判判断断是是否否按按下下 d de el la ay y( (5 50 0) ); ; / / /去去抖抖 i if f( (! !k ke ey y2 2) ) w wh hi il le e( (! !k ke ey y2 2) ) / / /
20、等等待待按按键键释释放放 ; ; i if f( (i i= = =8 8) ) / / /8 8 组组数数据据记记录录完完毕毕 T TR R0 0= =0 0; ; g go ot to o s st ta ar rt t; ; S Se ec c i i = = s se ec c; ; / / /将将数数据据存存入入数数组组M Ms s i i = = m ms s; ;i i+ + +; ; / / /上上翻翻 i if f( (! !k ke ey y3 3) ) d de el la ay y( (5 50 0) ); ; i if f( (! !k ke ey y3 3) ) w
21、 wh hi il le e( (! !k ke ey y3 3) ) ; ; T TR R0 0= =0 0; ;k ke ey y3 3_ _f fl la ag g= =1 1; ;/ / /按按键键3 3 标标志志i if f( (j j= = =i i) ) g go ot to o s st ta ar rt t; ; e el ls se ei if f( (k ke ey y4 4_ _f fl la ag g) )j j+ += =2 2; ;12k ke ey y4 4_ _f fl la ag g= =0 0; ; s se ec c= =S Se ec c j j ;
22、;m ms s= =M Ms s j j ; ;/ / /显显示示数数组组里里的的内内容容 j j+ + +; ; / / /下下翻翻 i if f( (! !k ke ey y4 4) ) d de el la ay y( (5 50 0) ); ;i if f( (! !k ke ey y4 4) ) w wh hi il le e( (! !k ke ey y4 4) ) ; ; T TR R0 0= =0 0; ;k ke ey y4 4_ _f fl la ag g= =1 1; ; / / /按按键键4 4 标标志志i if f( (j j 0 0) ) g go ot to o
23、s st ta ar rt t; ;e el ls se e i if f( (k ke ey y3 3_ _f fl la ag g) ) j j- -= =2 2; ;k ke ey y3 3_ _f fl la ag g= =0 0; ;s se ec c= =S Se ec c j j ; ;m ms s= =M Ms s j j ; ; / / /显显示示数数组组里里的的内内容容j j- - -; ; / / /清清零零 i if f( (! !k ke ey y5 5) ) d de el la ay y( (5 50 0) ); ;i if f( (! !k ke ey y5 5
24、) )w wh hi il le e( (! !k ke ey y5 5) ) ; ; T TR R0 0= =0 0; ;m ms s= =0 0; ;s se ec c= =0 0; ;f fo or r( (i i= =0 0; ;i i 8 8; ;i i+ + +) ) S Se ec c i i = =0 0; ;M Ms s i i = =0 0; ; i i= =0 0; ; 13 / /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ / /* * 定定时时中中断断1 1 * */ / /*
25、* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /v vo oi id d t ti im me e1 1_ _i is sr r( (v vo oi id d) ) i in nt te er rr ru up pt t 3 3 u us si in ng g 0 0/ / /定定时时器器1 1 用用来来动动态态扫扫描描 s st ta at ti ic c u un ns si ig gn ne ed d c ch ha ar r n nu um m; ; T TH H1 1= =0 0 x xF F8 8;
26、 ;/ / /重重入入初初值值T TL L1 1= =0 0 x xf f0 0; ;s sw wi it tc ch h( (n nu um m) ) c ca as se e 0 0: :P P2 2= =0 0 x xf fe e; ;P P0 0= =t ta ab b s se ec c/ /1 10 0 ; ;b br re ea ak k; ;/ / /显显示示秒秒十十位位 c ca as se e 1 1: :P P2 2= =0 0 x xf fd d; ;P P0 0= =t ta ab b1 1 s se ec c% %1 10 0 ; ;b br re ea ak k;
27、 ; / / /显显示示秒秒个个位位 c ca as se e 2 2: :P P2 2= =0 0 x xf fb b; ;P P0 0= =t ta ab b m ms s/ /1 10 0 ; ;b br re ea ak k; ;/ / /显显示示十十位位 c ca as se e 3 3: : P P2 2= =0 0 x xf f7 7; ;P P0 0= =t ta ab b m ms s% %1 10 0 ; ;b br re ea ak k; ; / / /显显示示个个位位 d de ef fa au ul lt t: :b br re ea ak k; ; n nu um
28、m+ + +; ;i if f( (n nu um m= = =4 4) )n nu um m= =0 0; ; / /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ / /* * 定定时时中中断断0 0 * */ / /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ /v vo oi id d t ti im m( (v vo oi id d) ) i in nt te er rr ru up pt t 1 1 u us
29、si in ng g 1 1 T TH H0 0= =0 0 x xd d8 8; ;/ / /重重新新赋赋值值T TL L0 0= =0 0 x xf f0 0; ; m ms s+ + +; ;/ / /毫毫秒秒单单元元加加1 1 i if f( (m ms s= = =1 10 00 0) ) m ms s= =0 0; ;/ / /等等于于1 10 00 0 时时归归零零 s se ec c+ + +; ;/ / /秒秒加加1 1 i if f( (s se ec c= = =6 60 0) ) s se ec c= =0 0; ;/ / /秒秒等等于于6 60 0 时时归归零零14 4 4 . .P PR RO OT TE EU US S 软软件件仿仿真真将以上程序清单导入先前做好的 Proteus 仿真电路,汇编之后,按键开始进行仿真。仿真结果如下:下面显示清零功能:按下开始键后显示按下清零键后显示15仿真结果描述:按“开始”键,秒表开始计时;按“暂停”键,秒表暂停计时;按记录键,秒表记录时间,共可记录八个数值;按上翻下翻键,可查看这八个不同的计时值。结论及进一步设想:根据实验要求,本次课设基本完成了设计要求,由于秒表系统并不一定仅仅局限于计时,定时等功能,还可以进行多项的扩展,可以利用 AT89C51 强大的扩
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026 学龄前自闭症家校启蒙课件
- 年会领导讲话稿
- 工会读书活动总结
- 体育场馆工程技术标准
- 2026年塑料粉尘防爆方案及处理注意事项
- 岗位责任制及考核标准
- 输尿管结石取出术前护理常规
- 2026年养老机构环境卫生管理规范
- 事故报告记录
- 【完整版】基坑周边道路沉降控制方案
- 电工(四级)理论知识考核要素细目表
- 榆树盆景怎么养 小叶榆树盆景怎么养
- 2022年衡阳市南岳区事业单位考试试卷及答案
- 《HSK标准教程3》第5课
- 常用电气元件代号
- 五育并举背景下的初中数学劳动教育探析 论文
- WS/T 367-2012医疗机构消毒技术规范
- HY/T 255-2018海滩养护与修复技术指南
- 新时达机器人焊接编程
- GB/T 13217.1-2020油墨颜色和着色力检验方法
- GB 17411-2015船用燃料油
评论
0/150
提交评论