ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:385.19KB ,
资源ID:11692895      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11692895.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(秒表单片机.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

秒表单片机.docx

1、秒表单片机 湖南工学院 单片机课程设计任务书 数字式秒表 学生姓名: 系 部: 电气与信息工程系 指导教师: 吴 乐 专 业: 自 动 化 班 级: 自本班 完成时间: 2011年12月30号 目录第1章 数字式秒表的设计介绍 11.1设计任务及功能要求 11.2数字式秒表的方案介绍及工作原理说明 1第二章 数字式秒表硬件系统的设计 32.1 AT89S52芯片的介绍 32.2 时钟电路的介绍 42.3 复位电路的介绍 52.4 键盘电路的介绍 62.5 驱动及显示电路的介绍 72.6 单片机下载口电路 7第三章 数字式秒表软件系统的设计 83.1 数字式秒表使用单片机资源情况 83.2 主程

2、序流程图 93.3 秒表的工作流程图 103.4 显示程序流程图 113.5 按键扫描流程图 123.6软件系统程序清单 13第4章 设计结果及误差分析 134.1 数字式秒表的设计结论及使用说明 144.2 调试软件介绍 144.3 程序仿真与结果 154.4 KEIL uVision3简介 174.5 proteus的简介 174.5 误差分析及解决方法 18第五章 数字式秒表的设计体会及课程教学建议 195.1 秒表的课程设计体会 195.2 课程教学建议 19参考文献 21附录A 原理图 22附录B PCB图、布局图、实物图 23附录C 程序 26附录 D 元器件清单 28 第1章 数

3、字式秒表的设计介绍1.1设计任务及功能要求 由单片机接收小键盘控制递增计时,由LED 显示模块计时时间,显示格式为 00-59(分)00-59(秒).00-99(毫秒),精确到0.01s的整数倍。绘制系统硬件接线图,并进行系统仿真和实验。画出程序流程图并编写程序实现系统功能。 使用单片机AT89S52作为主要控制芯片,以四位一体共阳极数码显示管通过三极管驱动作为显示部分,设计一个具有特定功能的数字式秒表。该数字式秒表上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。该数字式秒表通过按键控制可实现开始计时、暂停计时、连续计时、清零和停止功能。1.2数字式秒表的方案介绍及工作原理说明

4、 使用AT89S52单片机作为核心控制部件,采用12M晶体振荡器及微小电容构成振荡电路;采用S8550作为数码管的驱动部分;用两个四位一体共阳极或共阴极数码显示管作为显示部分,构成数字式秒表的主体结构,配合独立式键盘和复位电路完成此秒表的复位、计时、连续、清零、停止各项功能。 键盘部分方案:键盘控制采用独立式按键,每个按键的一端均接地,另一端直接和P1口相连,在按键和P1口之间通过10K电阻与+5V电源相连。键盘通过检测输入线的电平状态就可以很容易地判断哪个键被按下了,这种方法操作速度高而且软件结构很简单,比较适合按键较少或操作速度较高的场合,这种独立式接口的应用很普遍。 显示部分方案:显示部

5、分采用动态显示。数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。事实上,显示器上任何时刻只有一个数码管有显示。由于各数码

6、管轮流显示的时间间隔短、节奏快,人的眼睛反应不过来,因此看到的是连续显示的现象。为防止闪烁延时的时间在1ms左右,不能太长,也不能太短。本设计可采用P0口直接驱动八段数码管显示。此电路采用单片机的P0口作为数码显示管的段控,采用P2口作为数码管的位控。8个独立式键盘分别接在单片机的P1口上,以及其他部分构成数字式秒表的硬件电路。通过编写程序使用单片机的定时计数器,以及软件延时,中断资源来实现秒计时和相关控制。此数字式秒表的硬件整体结构如图1-1所示。 图1-1 数字秒表硬件电路基本原理图第二章 数字式秒表硬件系统的设计2.1 AT89S52芯片的介绍(1) 与MCS-51产品相兼容;(2) 具

7、有8KB可改写的Flash 内部程序存储器,可写/擦1000次;(3)256字节内部RAM;(4) 32根可编程I/O口;(5) 3个16位定时器/计数器。 (6) 8个中断源;(7) 可编程中串行口;(8) 低功耗空闲和掉电方式。它的价格便宜,功能强大,能耗低。很大程度上减少总电路的复杂性,提高了所设计系统的稳定性。其芯片引脚图如图2-1所示。图2-1 单片机引脚图2.2 时钟电路的介绍 时钟电路用于产生单片机工作所需要的时钟信号,单片机本身就是一个复杂的同步时序电路。输入端为芯片引脚XTAL1,输出端为引脚TXAL2,在芯片的外部通过这两个引角跨接晶体振荡器和微调电容,形成反馈电路,就构成

8、了一个稳定的自激振荡器。 此电路采用12MHz的石英晶体。时钟电路如图2-2所示。 图2-2 时钟电路2.3 复位电路的介绍 复位是单片机的初始化操作,其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误是系统处于死锁状态时,为摆脱困境,也需要按复位键以重新启动。RST引脚是单片机复位信号的输入端,复位信号是高电平有效,其有效时间应持续24个振荡周期(即2个机器周期)以上,若使用频率为6MHz的晶振,则复位信号持续时间应超过4us才能完成复位操作。复位操作有上电自动复位和按键手动复位两种方式。上电自动复位是通过外

9、部复位电路的电容充电来实现的。按键电平复位是通过使复位端经电阻与Vcc电源接通而实现的。在本设计中采用了按键电平复位方式,其复位电路如图2-3所示: 图2-3 复位电路2.4 键盘电路的介绍本设计使用独立式键盘接在单片机的P1口上但通过软件赋予其中三个按键功能,其中S2是计时开始按键,S3为停止按键,S4为计时暂停按键,S5为继续计时按键,S6是清零按键。注意使用时只有在暂停状态下才能继续计时,只有在停止状态下才能清零,在停止时不能继续计时,在暂停时不能清零。键盘电路如图2-4所示:图2-4 键盘电路2.5 驱动及显示电路的介绍数码管实际上是由二极管构成发光二级管正常工作时,其两端正向压降约为

10、1.6v,正向电流约为10mA,为了使数码管达到一定的亮度而又不至于由于电流过大而损坏,我们使用三极管S8550作为数码管的驱动,同时在P0口和P2口上串上470欧姆的电阻。此处使用四位一体共阴极数码管,由于驱动电路决定了此处共阴极数码管和共阳极数码管均可以采用而且均采用共阳极代码来编写显示程序,具体电路如图2-5所示。 图2-5 数码管驱动及显示电路图2.6 单片机下载口电路下载口主要是一个十芯的座子,如图2-6所示。可以通过使用USB下载线对单片机进行程序下载。方便整个软件的设计,也能让我们使用起来更加方便。 图2-6 单片机下载口电路图第三章 数字式秒表软件系统的设计3.1 数字式秒表使

11、用单片机资源情况 本次电子钟设计除了了使用单片机工作所必须的硬件资源(如连接晶振的引脚XTAL1和XTAL2,复位引脚RESET)外,对单片机的硬件资源还做了具体的安排。P0口:P0.0-P0.7作为数码管显示器的段控。P1口:P1.0、P1.2、P1.3、P1.4(由于自己的P1.1口所接的按键不怎么灵敏所以不用P1.1口)作为独立式键盘的输入端。P2口:P2.0-P2.7分别控制数码管LED0-LED7的位控码驱动。3.2 主程序流程图 图3-2 主程序的流程图3.3 秒表的工作流程图 图3-3 秒表工作的流程图3.4 显示程序流程图 图3-4 显示程序流程图3.5 按键扫描流程图 3-5

12、 按键扫描流程图3.6软件系统程序清单 按照流程图应用软件keil,使用C语言编程实现秒表功能。程序见附录C。 第4章 设计结果及误差分析4.1 数字式秒表的设计结论及使用说明 通过设计和调试,数字式秒表能顺利完成各项功能。上电或复位后显示“P.”提示符,此时按key1键便可开始计时。在计数状态下,按下key2键即可实现暂停,再次按下key3键即可实现继续计数,在计数状态下按下key5键,实现计数停止,在停止状态下按下key4键,便可实现计数清零。4.2 调试软件介绍 数字式秒表的设计用的pretues仿真软件设计电路并仿真。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模

13、拟器件和集成电路,该软件的特点是:实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具

14、有这些功能;同时支持第三方的软件编译和调试环境,如Keil C51 uVision2等软件。具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。因为pretues仿真软件中所有的情况都是在理想想的条件下,但是与实际电路的工作还是有很大的差别,所以我们必需考虑到实际情况应接入驱动限流等电路它才能被实际所应用。4.3 程序仿真与结果 我们是在Keil软件里编写程序并编译通过才能被硬件电路所应用。Keil的功能比较强大但还是有一定的缺点。他编译过程中他只能检查出所编写的语法错误,所以我们一步一步的去在硬件电路里仿真去达到我们所设计要求的功能。经仿真修改

15、和完善均已达到设计要求显示学号,电子钟准备状态与电子钟自动运行状态的仿真如下图所示。(1). 学号显示仿真如图4-3-1所示。 4-3-1 学号显示图(2)显示系统提示符“P.”仿真如图4-3-2所示。 图4-3-2系统提示符“P.”的显示图 (3)秒表的运行状态仿真如图4-3-3所示。 图4-3-3 秒表运行状态图 (4)秒表的清零仿真如图4-3-4所示。 图4-3-4 秒表的清零图 4.4 KEIL uVision3简介KEIL C51标准C编译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。C51编译器的功能不断增强,使你可以更加贴近CPU本身,及其它

16、的衍生产品。C51已被完全集成到uVision3的集成开发环境中,这个集成开发环境包含:编译器,汇编器,实时操作系统,项目管理器,调试器。uVision3 IDE可为它们提供单一而灵活的开发环境。4.5 proteus的简介Proteus ISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:实现了单片机仿真和SPICE电路仿真相结合。有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。支持主流单片机系统的仿真。目前支持的单片机类型有:68000系列、8051系列、AVR系列、PI

17、C12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。提供软件调试功能。支持第三方的软件编译和调试环境,如Keil 3等软件。具有强大的原理图绘制功能。本章介绍Proteus ISIS软件的工作环境和一些基本操作。图4-5 protues ISIS集成环境 4.5 误差分析及解决方法我们可以发现数字式秒表计数一段时间的我们的标准时间相比较出现了误差,所设计的数字式秒表比我们的标准时间要慢,而且相比较的时间越长他的时差越大。经过分其主要原因与硬件和软件都有关。软件原因:我们从外部中断请求有效到转向中断区入口地址所需的机器周期数来计算中断时间,51系列单片机最短响应

18、时间为3个机器周期。在一般情况下中断响应时间通常无需考虑,但在精确定时的应用场合需知道中断响应时间,以保证定时的精确控制。硬件原因:单片机的时钟信号是由外部的振荡电路所提供,在芯片的外部通过接XATL1与XATL2这两个引角跨接晶体振荡器和微调电容,形成反馈电路,就构成了一个稳定的自激振荡器。因为电子原件不可以就有我们所设计的那么理想(电容的容量,振晶的输出频率)所以会造成我们的时间准确。 第五章 数字式秒表的设计体会及课程教学建议5.1 秒表的课程设计体会 这次的秒表课程设计从制作硬件“最小系统板”到写数字式秒表的程序调试到上板,可以说是苦多过甜啊!首先,拿制作“最小系统板”来说吧!从刚开始

19、用protel的画原理图到画PCB图每天疯狂的看有关于protel的书籍那一个星期可以说是个疯狂的星期, 每天一上课回来就是画图,PCB图导入导的一遍又一遍,最后面到制作板子,打磨-印上板-去铜-焊元件。到最后竟然导入程序没有显示,蜂鸣器还一直嗡嗡作响,自己折磨了两天还是没出原因,最后面是去问了老师才把这个问题解决,原来是自己的封装错误了,按键和单片机的P1口没有连接上,最后只能是从按键飞了八根口线到P1口,单片机最小系统板才能正常使用。 到写秒表的程序,参考书籍选用最佳的设计方案,根据课程设计的要求一个模块一个模块的写,虽然秒表的程序很简单但是涉及到的内容很多是一个很好的学习机会。通过这次单

20、片机课程设计,让我对整个单片机程序的设计,C51语言有了一个比较深的理解。还有就是增强了自身的动手能力,由原来的单纯地书本学习转向创新思考,把以前书本上讲的或是没有讲的,通过一次课程设计具体的实施,很自己的团队合作精神真正得到锻炼。例如:检查和排除故障的能力。本次课程设计,也培养了我们小组的合作精神,所谓团结就是力量,就是一个再好不过的解释。它不仅为我以后的课程设计打下基础,而且还培养了我们的合作精神和分析问题的能力。5.2 课程教学建议 在吴乐老师的严格要求与耐心指导下,经过一个学期对单片机技术这门课程的学习,使我对单片机这一技术的应用有了一定的了解,并对单片机的学习产生了浓厚的兴趣。 通过

21、这次数字式秒表的课程设计以及一个学期的听课向吴乐老师的提出几点教学意见:首先吴老师讲课有时候太快了,跨度有点大没有很好的连接前面的知识点最好是再上新课的开始时要复习一下上节课所讲的内容。其次吴老师可以多介绍些与单片机相关的资料书给学生,培养学生查阅资料书的能力;最后一点,吴老师不要上课要我们写你临时想到的问题感觉老师的思路也不是很清晰这样我们听了就更加蒙了。 参考文献1李朝青.单片原理及接口技术(第3版).北京:电子工业出版社.20102单片机实用教程. 北京:北京航空航天大学出版社.20003何立民.单片机应用技术选编.北京:北京航空航天大学出版社.19974马忠梅.单片机的C语言Windo

22、ws环境编程宝典M. 北京:北京航空航天大学出版社.20035李光飞.单片机C程序设计指导M.北京:北京航空航天大学出版社.20036李光飞.单片机课程设计实例指导M.北京:北京航空航天大学出版.20047李广弟.单片机基础(第3版).北京:北京航空航天大学出版社.2011附录A 原理图 图A-1 单片机最小系统原理图附录B PCB图、布局图、实物图 图B-1 单片机最小系统PCB图 图B-2 元器件布局图 图B-3 单片机最小系统实物图附录C 程序#include#include #define uchar unsigned char#define uint unsigned intucha

23、r i,j,k,l,n,m,o,p;uchar code=0xa4,0xc0,0x90,0xc0,0xb0,0xbf,0xf9,0x90; uchar dm1=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf;char weikong8=0x7f,0xbf,0xdf,0xef,0xf7,0xfb,0xfd,0xfe ;void delay0(uint i) /延时1毫秒子程序 uchar j; /定义局部变量j while(i-) /每循环一次,变量减一,为零返回 for(j=0;j123;j+); /循环123次 /* 清零操作函数

24、 */ void q0() k=0; n=0; m=0; l=0; o=0; p=0; /* 显示程序函数 */void display() j=0xfe; P2=j; P0=dm1m; delay0(1); j=_crol_(j,1);P2=j; P0=dm1n; delay0(1); j=_crol_(j,1);P2=j; P0=dm110; delay0(1); j=_crol_(j,1);P2=j; P0=dm1k; delay0(1); j=_crol_(j,1); P2=j; P0=dm1l; delay0(1); j=_crol_(j,1);P2=j; P0=dm110; del

25、ay0(1); j=_crol_(j,1);P2=j; P0=dm1o; delay0(1); j=_crol_(j,1);P2=j; P0=dm1p; delay0(1); j=_crol_(j,1); /* 秒表工作程序*/void mb() for(p=0;p6;p+) for(o=0;o10;o+) for(l=0;l6;l+) for(k=0;k10;k+) for(n=0;n10;n+) if(P1=0xdf) break; else for(m=0;m10;m+) /* 判断延时10ms是否达到 */ if(P1=0xfb) /* 暂停功能是否执行 */ while(P1=0xf

26、7) /* 连续功能是否执行 */ if(P1=0xef) q0(); /* 清零功能是否执行 */ else display(); /* 暂停时显示 */ else display(); /* 正常工作时显示 */ /*主程序*/void main() for(l=0;l200;l+) j=0;k=0; while(j8) P2=weikongj; P0=codek; delay0(1); j+; k+; /* 显示学号 */ While(1) if(P1=0xfe) mb(); /* 是否开始工作 */ else P2=0XFE; P0=0X0C; /* 系统提示符P. */ 附录 D 元器件清单元器件名称型号数量单片机AT89S521片芯片座40脚1个四位一体数码管共阳极/共阴极2个晶振12M1个瓷片电容33pf2蜂鸣器5V1个电阻4.7K1个电阻1K3个电阻47024个电阻2001个电容22uf1个三极管S85509个排阻10K2个LED指示灯红9个单排插针8脚4排下载口10针1个温度传感器18B201个六脚开关1个 图 D-1 元器件清单

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1