




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
课程设计报告课程名称: 单片机原理及应用(1) 设计题目: 基于51单片机的秒表计时系统 成 绩: 姓 名: 学 号: 专业年级: 电信工程09级 学 院: 电气信息学院指导教师: 时 间: 2012年12月29日基于51单片机的秒表一、摘要: 在日常生活中,我们经常为了计时而采用秒表,在一些特殊场合,如体育比赛中,我们更希望计时更加精准。因此,希望我利用所学的知识设计一个计时器可以完成更精确的计时。它是利用51单片机控制LED数码管,实现00.00到99.99秒的计时,在Proteus软件上实现其电路设计和程序设计。它的设计也许比较简单,而且有可能达不到很多人的要求,但我相信通过我们过一步的学习,我们一定会制造出更好的系统,为社会大众服务。关键词:51单片机 LED数码显示管2、 设计要求1. 完成秒/微秒的依次显示并正确计数2. 秒微秒各段个位满10正确进位3. 利用四位一体数码管动态扫描完成秒、微秒显示:A:精度达10ms; B:可以启动; C:完成暂停4. 秒表暂停记录数据后能在原有基础上继续计时,而不是复位重新开始。即可以随时记时、暂停后记录数据3、 功能创新1. 在Proteus上实现电路设计,并仿真成功,且在万用板上焊接、调试成功2. 通过编程实现直接在LED数码管上显示计数值,并精确到1ms4、 硬件电路设计1. 系统设计框图 根据设计要求与思路,在Proteus软件上设计和仿真该系统的设计方案。硬件电路由5部分组成,即单片机电路,时钟电路,复位电路,显示电路,显示器控制电路 显示电路 输入电压 51单片机 时钟电路 复位电路 显示器控制电路 图3.12. 单片机系统设计电路本次设计采用ATmel生产的AT89C51作为控制芯片。AT89系列与MCS-51系列相比具有两大优势:一,片内程序存储器采用闪速存储器,使程序的写入更加方便;二,提供了更小存储的芯片,使整个电路设计更小。它以较小的体积、良好的性价比备受亲睐。51单片机如下图: 51单片机管脚图3. 时钟电路单片机工作的时间基准是由时钟电路提供的,在单片机的XTAL1和XTAL2两个管脚接一只晶振和两只电容就构成了单片机的时钟电路。电路中,电容C1和C2对震荡电路具有微调的作用,通常的取值范围为(30+10)pF。石英晶振选择6MHz或12MHz都可以,其结果只是机器周期时间不同,影响计数器的初值,此设计选择12MHz。时钟电路如下图: 时钟电路4. 复位电路复位电路时单片机的初始化操作,其主要功能是把单片机从0000 H单元开始执行程序。复位电路图如下: 复位电路5. LED显示电路LED显示器的驱动是一个非常重要的问题。显示电路有LED显示器、段驱动电路和位驱动电路组成。此设计不采用段驱动芯片和位驱动芯片,直接由单片机的P0口、P2口驱动,实现动态显示。数码管管教图如下: 7SEG-MPX4-CA数码管管教图6. 按键电路本次设计利用按键电路来完成数码管显示的启动,暂停和恢复。其电路如下: 五、软件设计与流程软件整体设计思路是以键盘扫描、中断处理和数码管显示作为三大模块。主程序调用显示扫描子程序,不断循环。采用定时器T1进行定时,外部中断及计数的开启与关闭受控于按键处理。(1) 主程序设计流程图(2)定时器中断子程序流程图:中断入口保护现场调用显示子程序恢复现场秒计数加1毫秒计数单元清010ms加1开中断重置定时器初值100次到否?60到否?秒计数单元清0分计数加1调用拆字子程序返回YYNN(3)显示子程序流程图: 子程序入口保护现场选通数码管开关数据存入缓冲区R0#50H,DPTR#DOT指针加1恢复现场返回判断一帧发送完毕?6、 仿真电路图元件规格数量单片机AT89C511按钮3晶振12MHz1个起振电容33pF瓷片电容2个复位电容30uf 25 V电解电容1个排阻RESPACK-81个四位一体显示管共阳极1个DIP封装插座40脚集成插座1个排线/若干仿真图七、利用Keil uVision4生成机器码点击 Project(专案)选单,选择弹出的下式选单中的“New VisionProject ,接着弹出一个标准 Windows 档案对话窗口,在“储存 于中选择您要存放的资夹,一个项目最好存在一个资夹内,此资夹存在, 请先建它,或按“建新资夹”按钮以建新资夹。在“档名中输入您的第二个项目名称, “存档类型为 uvproj,这是 Keil Vision4 项目档 案预设的扩展名,以后只要直接点击此项目文件,即可打开此项目。选择所要的单芯片型号,这里仍然选择常用的Ateml公司的AT89S51。在弹出的“Description”方块内,会简单的介绍 AT89S51有么功能及特点。点选 OK 按钮后,会出现询问你是否需要拷贝标准的8051启动码程式到你的项目资夹,并且将此档案加入项目“Copy Standard 8051Startup Code to Project Folder and Add File to Project”,点选“否”后,就可以进程序的编写。然后点选“file”下的“New”建立空白文档。把源程序复制到里面,并点击“file”下的“Save”进行保存,然后取“Options for target Target 1 ”,再来切换到 Output 标签页,只要勾选“Create HEX File”关闭即可。鼠在屏幕左边的 Source Group1 资夹图示上右键单击,弹出一选单,如图 2-8 所示,在这能做在项目中增加减少档案等操作。选“Add Files to Group Source Group 1 弹出档案窗口,选择刚刚储存的档案,按下 Add 按钮,将此.c档案加入到此专案中。按下 close 按钮,关闭档案窗口程序已加到此项目中。八、电路调试与故障排除电路接好后,接上电源发现LED数码管显示很暗,可在数码管位选端接NPN三极管作为驱动,使数码管变亮。九、 源程序代码ORG 0000H LJMP START ORG 0003H ;外部中断0入口地址 LJMP IN0BUT ORG 0013H ;外部中断1入口地址 LJMP IN1BUT ORG 001BH ;定时器T1中断入口地址 LJMP T1KOU START:MOV SP,#60H MOV 50H,#00 MOV 51H,#00 MOV 52H,#00 MOV 53H,#00 MOV TMOD,#10H ;定时器T1初始化 MOV TL1,#0F0H ;设定初值 MOV TH1,#0D8H MOV DPTR,#DOT SETB EA ;开中断 SETB IT0 ;开外部中断0控制位 SETB EX0 ;开外部中断0中断 SETB IT1 ;开外部中断1控制位 SETB EX1 ;开外部中断1中断 SETB TR1 ;开定时器T1控制位 SETB ET1 ;开定时器T1中断 WJ:LCALL DISPLAY ;调用显示子程序 LJMP WJ T1KOU:MOV TL1,#0F0H ;重装定时初值 MOV TH1,#0DBH LCALL NBCD ;调用定时器中断服务程序 RETI IN0BUT:SETB TR1 ;开定时器T1中断 RETI IN1BUT:CLR TR1 ;关定时器T1中断 RETI NBCD:MOV A,50H MOV 50H,A ADD A,#1 ;毫秒加一 MOV 50H,A CJNE A,#0AH,EXIT ;判断毫秒值是否为10 MOV 50H,#00 ;毫秒值清零 MOV A,51H MOV 51H,A ADD A,#1 MOV 51H,A CJNE A,#0AH,EXIT MOV 51H,#00 MOV A,52H MOV 52H,A ADD A,#1 MOV 52H,A CJNE A,#0AH,EXIT MOV 52H,#00 MOV A,53H MOV 53H,A ADD A,#1 MOV 53H,A CJNE A,#0AH,EXIT MOV 53H,#00 EXIT: RET DISPLAY:MOV R0,#50H ;显示数据缓冲区,首选地址送R0 MOV R3,#01H MOV A,R3 LOOP:CJNE R0,#52H,LOOP1 MOV P2,A MOV A,R0 ;取欲显示数据 MOVC A,A+DPTR ;查得字形码 SUBB A,#10000000B MOV P0,A LCALL DL1 ;调用延时子程序 INC R0 ;指向下一个显示数据地址 MOV A,R3 JB ACC.3,ELD1 ;扫描到第四个显示位否 RL A ;扫描到扫描位左移一位 MOV R3,A SJMP LOOP LOOP1:MOV P2,A MOV A,R0 ;取欲显示数据 MOVC A,A+DPTR ;查得字形码 MOV P0,A LCALL DL1 ;调用延时子程序 INC R0 ;指向下一个显示数据地址 MOV A,R3 JB ACC.3,ELD1 ;扫描到第四个显示位否 RL A ;扫描到扫描位左移一位 MOV R3,A SJMP LOOP ELD1:RET DOT:DB 0C0H,0F9H,0A4H,0B0H,99H DB 92H,82H,0F8H,80H,90H DL1:MOV R7,#50 ;延时子程序 DL:MOV R6,#100 DL6:DJNZ R6,DL6 DJNZ R7,DL RET END十、 心得体会该设计在单片机系统上采用数码管显示,直观简洁;采用定时器中断,计时准确。可随时启动、停止、清零。 设计、调试大型程序时,需先根据要求划分模块,优化结构;再根据各模块特点确定何为主程序,何为子程序,何为中断服务程序,相互间如何调用;再根据各模块性质和功能将各模块细化,设计出程序流程图;最后才根据各模块流程图编制具体程序。调试时应先调主程序,实现最基本最主要的功能,在此基础上再将各模块功能往主程序上堆砌,直至各模块联调、统调,实现全部功能。本例子将整个程序划分为按键扫描程序子程序,显示子程序,定时器中断服务子程序三大模块。三大模块运行协调一致,既保持了动态显示的稳定性,又保持了键盘的可靠性,还保持了秒计时的准确性,较好地实现了全部功能。 通过一周的设计学习,让我了解了设计电路的程序,以及电子秒表的原理与设计。同时在软件设计编程上,让我了解到很多编程方面的技巧,并且使我对单片机的各个引脚的功能有更深入的了解,巩固了单片机的书面知识,发现了以往在学习中忽视的东西,明白了在实际的设计工作中只有书面知识是不足的,只有在自己的实践中才能发现问题并解决问题,从而不再犯眼高手低的错误。在此次的设计过程中,更进
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 园艺工技师考试试题及答案
- 拼多多和java面试题及答案
- 铁路工程测量培训课件
- 2025年 德阳市人民医院招聘考试试卷附答案
- 感冒用药相关知识培训
- 员工异地培训差旅费会计处理指南
- 护理教师试讲15分钟范例
- 爱的教育导读课
- 2025时间管理培训:效率倍增的认识和行动实践指南
- 通风性关节炎的护理讲课
- 国开电大2023年春季期末考试《机械CAD、CAM》试题及答案(试卷代号1119)
- 审计 第7版 课件 第10章采购与付款循环审计
- 概率论与数理统计(天津理工大学)智慧树知到期末考试答案2024年
- 八年级亲子共评
- 家用冰箱市场调研报告
- 国际财务报告准则
- 初中数学-专项24 圆内最大张角米勒角问题
- 行政单位酒店住宿合同
- 机械设备安装程序、安装分类、固定方式及安装新技术应用
- 大楼维修改造工程投标方案(完整技术标)
- 《建筑施工安全检查标准》JGJ
评论
0/150
提交评论