




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
i 指导教师: 周振峰 学 院: 机电工程学院 班 级: 电气n091 姓 名: 高盼盼 学 号: 200945679602 时 间: 20112012 学年 第二学期 单单片片机机课课程程设设计计 89c51 单片机秒表的设计 1 摘摘要要 本设计是设计一个单片机控制的多功能秒表系统。 近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动着 传统控制检测日新月异的更新。在实时检测和自动控制的单片机应用系统中,单片 机往往是作为一个核心部件来使用,仅单片机方面的知识是不够的,还要根据具体 的硬件结构,以及针对具体的应用对象的软件结合,加以完善。秒表的出现,解决 了传统的由于人为因素造成的误差和不公平性。 本设计的多功能秒表系统采用at89c51 单片机为中心器件,利用其定时器 /计数 器定时和记数的原理,结合显示电路、电源电路、 led 数码管以及按键电路来设计 计时器。将软、硬件有机地结合起来,使得系统能够正确地进行计数,并且结合相 应的显示驱动程序,使数码管能够正确地显示时间,暂停和中断。我们设计的秒表 可以同时记录八个相对独立的时间,通过上翻下翻来查看这八个不同的计时值,可 谓功能强大。其中软件系统采用汇编语言编写程序,包括显示程序,计数程序,中 断,延时程序,按键消抖程序等,硬件系统利用 proteus 强大的功能来实现,简 单且易于观察,在仿真中就可以观察到实际的工作状态。 关键字:单片机,多功能秒表 小组成员:毛俊凌(组长) 高盼盼 陈君彦 许红跃 詹杭君 小组分工: 小组各成员:讨论并确定秒表要实现哪些功能 毛俊凌 高盼盼 陈君彦:硬件电路的设计仿真,查阅资料 许红跃 詹杭君:编写程序 2 目目录录 1.概述 1.1 设计目的 1.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.课程设计体会 3 1.概概述述 1.1 设计目的 设计一个单片机控制的秒表系统。利用单片机的定时器 /计数器定时和记数的原 理,结合显示电路、 led 数码管以及按键来设计秒表。将软、硬件有机地结合起来, 使得系统能够正确地进行计时,同时具有开始 /暂停,记录,上翻下翻,清零等功能。 1.2 设计要求 (1)共四位led 显示,显示时间为00:0059.99 (2)共五个按键,分别是开始 /暂停,记录,上翻,下翻,清零键 ; (3)能同时记录多个相对独立的时间并分别显示 ; (4)翻页按钮查看多个不同的计时值 ; 1.3 设计意义 (1)通过本次课程设计可以使我们进一步熟悉和掌握单片机内部结构和工作原 理,了解单片机应用系统设计的基本步骤和方法。 (2)通过利用at89c51 单片机,理解单片机在自动化仪表中的作用以及掌握单 片机的编程方法。 (3)通过设计一个简单的实际应用输入及显示模拟系统,掌握单片机仿真软件 proteus 的使用方法。 (4)该实验通过单片机的定时器 /计数器定时和计数原理 ,设计简单的计时器系统 , 拥有正确的计时、暂停、清零、功能 ,并能同时记录多个相对独立的时间利用翻页按 钮查看多个不同的计时值 ,该种秒表在现实生活中应用广泛 ,具有现实意义。 2系系统统总总体体方方案案及及硬硬件件设设计计 2.1 系统总体方案 本系统采用at89c51 单片机为中心器件,利用其定时器 /计数器定时和记数的 原理,结合硬件电路如电源电路,晶振电路,复位电路,显示电路,以及一些按键 电路等来设计计时器,将软、硬件有机地结合起来。其中软件系统采用汇编语言编 4 写程序,包括显示,计数,中断,延时,按键消抖程序等,并在编程软件中调试运 行,硬件系统利用proteus 强大的功能来实现,简单且易于观察,在仿真中就可 以观察到实际的工作状态。 单单 片片 机机 外外围围 电电路路 电电路路 电电源源 电电路路 电电路路 显显示示电电路路 键键盘盘电电路路 图1 系统电路原理 2.2 硬件设计 2.2.189c51 单片机 mcs-51 系列单片机是8 位单片机产品,89c51 是其中的典型代表,基本模块包 括以下几个部分: (1)cpu:89c51 的cpu 是8 位的,另外89c51 内部有1 个位处理器 (2)r0m:4kb 的片内程序存储器,存放开发调试完成的应用程序 (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 的引脚图如下: 5 89c51 单片机引脚图 2.2.2 晶体振荡电路 89c51 芯片内部有一个高增益反相放大器,用于构成振荡器。引线 xtal1 和 xtal2 分别为反向放大器的输入和输出, 两端跨接石英晶体及两个电容就可构成稳 定的自激振荡器。 这里,我们选用51 单片机12mhz 的内部振荡方式,电容器c1,c2 起稳定振 荡频率,并对振荡频率有微调作用, c1 和c2 可在20-100pf 之间取值,这里取33p。 6 2.2.3 复位电路 采用上电加按键复位电路,上电后,由于电容充电,使 rst 持续一段高电平 时间。当单片机已在运行之中时,按下复位键也能使 rst 持续一段时间的高电平, 从而实现上电加按键复位的操作。 2.2.4 按键电路 在按键电路中,我们可以在 i/o 口上直接接按键,或者通过 i/o 口设计一个 键盘,然后通过键盘扫描程序判断是否有键按下等。键盘扫描电路节省 i/o 口, 但编程有些复杂,在这里,由于我们所用的按键较少,且系统是一个小系统,有 足够的 i/o 口可以使用,为了使程序简化,我们采用按键电路,用部分 p1 口做 开关,p1.0 开始/暂停,p1.1 记录,p1.2 上翻,p1.3 下翻,p1.4 清零。对于按 键的设计,采用了防抖动的程序设计,使系统的性能得到进一步的提升。当按键 7 被按下时,相应的引脚被拉低,经扫描后,获得键值,并执行键功能程序,因此 按下不同的按键,将执行不同的功能程序。 2.2.5 显示电路 显示电路既可以选用液晶显示器,也可以选用数码管显示。我们采用的是数 码管显示电路。用四个共阴极 led 显示,led 是七段式显示器,内部有 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 记录 n n n n n y 清零 3 3. .软软件件设设计计 3.1 设计特点 在软件设计中,一般采用模块化的程序设计方法,它具有明显的优点。把一 个多功能的复杂的程序划分为若干个简单的、功能单一的程序模块,有利于程序 的设计和调试,优化和分工,提高了程序的阅读性和可靠性,使程序的结构层次 一目了然。 应用系统的程序由包含多个模块的主程序和各种子程序组成。各程序模块都 要完成一个明确的任务,实现某个具体的功能,如:计数、延时、和显示等,在 具体需要时调用相应的模块即可。 功能描述:用四位 led 数码管显示时间。一个“开始/暂停“键,一个“复位“键,一 个“记录”键,可同时记录八个相对独立的时间;一个“上翻”键,一个“下翻” 键,查看八个不同的计时值。五个按键分别通过五个端口控制秒表的五个功能。 3.2 设计思路(程序流程图及程序) 9 开 始 初 始 化 p 1 . 0 = 0 ? p 1 . 1 = 0 ? p 1 . 2 = 0 ? p 1 . 3 = 0 ? p 1 . 4 = 0 ? 停 止 下 翻 上 翻 够 8 个? 暂 停 记 录 清 零 程序如下:程序如下: / /* * 1 1、程程序序目目的的:使使用用定定时时器器学学习习秒秒表表计计时时,记记录录8 8 组组数数据据,通通过过上上翻翻、下下翻翻键键查查看看记记 录录的的数数据据 2 2、硬硬件件要要求求:数数码码管管、晶晶振振1 12 2m m * */ / # #i in nc cl lu ud de e 10 c co od de e u un ns si ig gn ne ed d c ch ha ar r t ta ab b = = 0 0x x3 3f f, ,0 0x x0 06 6, ,0 0x x5 5b b, ,0 0x x4 4f f, ,0 0x x6 66 6, ,0 0x x6 6d d, ,0 0x x7 7d d, ,0 0x x0 07 7, ,0 0x x7 7f f, ,0 0x 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 0x xb bf f, ,0 0x x8 86 6, ,0 0x xd db b, ,0 0x xc cf f, ,0 0x xe e6 6, ,0 0x xe ed d, ,0 0x xf fd d, ,0 0x x8 87 7, ,0 0x xf ff f, ,0 0x 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; ; / / /上上翻翻 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 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; ; t tm mo od d | |= =0 0x 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 0x xd d8 8; ; t tl l0 0= =0 0x xf f0 0; ; e et t0 0= =1 1; ; t tr r0 0= =0 0; ; t tm mo od d | |= =0 0x x1 10 0; ; / / /定定时时器器1 1 用用于于动动态态扫扫描描 t th h1 1= =0 0x xf f8 8; ; t tl l1 1= =0 0x 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 0x xf ff f; ; 11 i 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 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) ) / / /等等待待按按键键释释放放 ; ; 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 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 e i if f( (k ke ey y4 4_ _f fl la ag g) ) j j+ += =2 2; ; 12 k ke ey y4 4_ _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 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 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) ) 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 * */ / / /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ / 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 0x xf f8 8; ;/ / /重重入入初初值值 t tl l1 1= =0 0x 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 0x 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 0x xf fd d; ;p p0 0= =t ta ab b1 1 s se ec c% %1 10 0 ; ;b br re ea ak k; ; / / /显显示示秒秒个个位位 c ca as se e 2 2: :p p2 2= =0 0x 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 0x 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 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 si in ng g 1 1 t th h0 0= =0 0x xd d8 8; ;/ / /重重新新赋赋值值 t tl l0 0= =0 0x 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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 个人股权转让协议
- 山东省济南市师大附中2020-2021学年高一第二学期期中考试化学(合格考)试卷含答案
- 2025年事业单位工勤技能-湖南-湖南地图绘制员一级(高级技师)历年参考题库含答案解析
- 2025年事业单位工勤技能-湖北-湖北热力运行工一级(高级技师)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-湖北-湖北检验员三级(高级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-湖北-湖北无损探伤工一级(高级技师)历年参考题库典型考点含答案解析
- 2025-2030中国纺织洗涤行业运营形势及竞争格局分析报告
- 2025-2030中国空气过滤器市场发展动态及未来竞争优势评估报告
- 2025年事业单位工勤技能-河南-河南水文勘测工四级(中级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-江苏-江苏假肢制作装配工三级(高级工)历年参考题库含答案解析(5套)
- 2024年新课标培训2022年小学英语新课标学习培训课件
- 2024小学语文教学及说课课件:二年级上册《田家四季歌》
- 2024至2030年中国聚脲涂料行业市场发展调研及投资前景分析报告
- 1.1 鸦片战争 课件 2024-2025学年统编版八年级历史上册
- 2024至2030年中国演播室行业市场调查研究及发展战略规划报告
- DB11∕T 420-2019 电梯安装、改造、重大修理和维护保养自检规则
- 国旗台施工合同
- 总代理授权书
- 越剧《梁山伯与祝英台》剧本
- 医疗器械售后服务能力证明资料模板
- (正式版)JBT 14449-2024 起重机械焊接工艺评定
评论
0/150
提交评论