已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
动态扫描秒表课程设计目 录前言 基于AT89S51的编汇语言动态扫描秒表设计- 1 -第一章 设计的目的- 1 -第二章 功能说明- 2 -第三章 设计思路- 2 -第四章 设计方案- 3 -第五章 软件设计- 4 -第六章 仿真电路图- 7 -第七章 源程序清单- 8 -第八章 设计总结- 12 - - - 12 - -前言 基于AT89S51的汇编语言动态扫描秒表设计利用一块芯片完成除时钟源、按键和显示器(数码管)之外的所有数字电路功能。所有数字逻辑功能都在AT89S51器件上用汇编语言实现。这样设计具有体积小、设计周期短(设计过程中即可实现时序仿真)、调试方便、故障率低、修改升级容易等特点。该芯片可以完成彩灯控制、音乐播放器、交通灯、秒表、数字电压表等等一些功能的实现,在我们生活中运用很广泛,希望我利用所学的知识设计一个计时器可以完成更精确的计时。它也许比较简单,而且有可能达不到很多人的要求,但我相信通过我们过一步的学习,我们一定会制造出更好的系统,为社会大众服务。第一章 设计的目的基于单片机的综合实验仪器,利用汇编语言来编写一个秒表计时器。通过该课程设计进一步了解单片机硬件组成的目的以掌握它的整机工作原理,掌握单片机的中断系统,以便掌握对单片机随机事件的高效响应和处理手段。通过秒表的计时进一步掌握计数器的4种工作方式以及在不同工作方式下的时间和计数器常数的设定方法,并掌握中断功能在定时计数器中的应用。1、利用单片机定时器中断和外部中断1来分别完成秒表的计时和暂停。2、利用动态扫描的方式来实现数值的显示。3、通过阅读和调试简易秒表整体程序,掌握如何编制含LED动态显示定时器中断外部中断等多种功能的综合程序,初步体会到大程序的编制和调试技巧。第二章 功能说明已完成功能1. 完成秒微秒的依次显示并正确计数;2. 秒微秒各段个位满10正确进位;3. 利用四位一体数码管动态扫描完成秒、微秒显示:A、精度达10ms;B、可以起动;C、完成暂停4. 秒表暂停记录数据后能在原有基础上继续计时,而是复位重新开始。可以随时记时、暂停后记录数据。待改进功能:1. 秒表不能向秒进位,也就是最多只能记时100ms;2. 多次电子秒表功能、倒计时电子秒表功能等。第三章 设计思路 软件整体设计思路是以键盘扫描、中断处理和数码管显示作为三大模块。主程序调用显示扫描子程序,不断循环。采用定时器T1进行定时,外部中断及计数的开启与关闭受控于按键处理。 1、要求:用四位一体显示管来实现秒表的计时显示,在现实时秒的个位要加小数点,用按键来实现秒表的开始和暂停。 2、方法:利用单片机定时器T1中断方式来实现10ms的计时,用逢十进一来实现进位,误差小,用判断到了秒的个位位时在秒的个位加一个小数点,用复位键来实现秒表的计时开始,用外部中断1来实现秒表的暂停,用外部中断0来实现秒表秒表暂停记录数据后能在原有基础上继续计时。 3、软件设计:软件设计的整体思路是以中断、动态显示、加法累加器的运用。主程序中用到外部中断0来控制秒表暂停后能在原有 基础上继续计时的启动功能,外部中断1来控制秒表计时的暂停功能,定时器中断1来控制秒表以10ms为单位的计时功能,调用显示程序来显示秒表的数值。显示程序用动态扫描将数值送到P0口,用p2口位来控制每一位的亮灭,延时时间很短,所以就可以看到四个显示管同时显示数值。1s定时采用定时器T1中断,每10ms中断一次,用50H做10ms计数单元,每10次一个循环,计满10次,100ms计数单元(51H)计数一次,每10次一个循环,计满10次,1s计数单元(52H)计数一次,每10次一个循环,计满10次,10s计数单元(53H)计数一次。第四章 设计方案 主程序模块中断设置、显示程序调用 中断模块外部中断0、外部中断1、定时器中断1 计数模块定时器中断1计数、逢十进一 显示模块动态扫描、小数点显示第五章 软件设计主程序流程图:定时器中断子程序流程图:中断入口保护现场调用显示子程序恢复现场秒计数加1毫秒计数单元清010ms加1开中断重置定时器初值100次到否?60到否?秒计数单元清0分计数加1调用拆字子程序返回YYNN显示子程序流程图:子程序入口保护现场选通数码管开关数据存入缓冲区R0#50H,DPTR#DOT指针加1恢复现场返回判断一帧发送完毕?第六章 仿真电路图 元器件清单元件规格数量单片机AT89S511按钮3晶振12MHz1个起振电容30pF瓷片电容2个复位电容10uf 25 V电解电容1个电阻10k、4.7、2202/4/8个三极管90124个四位一体显示管共阳极1个DIP封装插座40脚集成插座1个排线/若干 仿真图第七章 源程序清单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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生物(黑吉辽蒙卷02)(考试版及全解全析)-2026年高考考前预测卷
- 水风光一体化多能互补系统优化设计方案
- 停车场经营收益公示管理办法
- 成型段质量异常通报处理制度
- 精密设备点检作业指导书
- 新生儿体重记录标准执行方案
- 新生儿窒息复苏急救操作规范流程
- 企业邮件安全防护策略文档
- 多语言服务本地化质量审查方案
- 宠物美容预约滞留客户督导规范
- 淇河流域水文地球化学环境对缠丝鸭蛋形成的影响探究
- 2026山东济南市中城市发展集团有限公司社会招聘备考题库附答案详解
- 乐山国有资产投资运营(集团)有限公司乐山产业投资(集团)有限公司2026年社会公开招聘考试备考试题及答案解析
- 市政道路工程旁站监理实施细则
- 2026年蜀道投资集团有限责任公司校园招聘笔试备考试题及答案解析
- 交通安全设施施工安全技术交底记录
- 海南省海口市2024-2025学年八年级下学期期中考试道德与法治试卷(含答案)
- GB/T 17622-2008带电作业用绝缘手套
- GA 1236-2015非线性结点探测器
- 2023年安徽农商银行审计资格考试模拟试卷
- 禁化武知识竞赛题库(含答案)
评论
0/150
提交评论