秒表的设计ppt课件

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

CreatedbyXiangLiPing©2010秒表的设计与制作项目四单片机原理及应用1CreatedbyXiangLiPing©2010秒表的设计与制作项目四利用单片机和数码管制作一个秒表。项目要求CreatedbyXiangLiPing©2010秒表的设计与制作项目四在单片机应用系统中,通常要使用显示器作为输出设备显示系统的状态,常用的显示器有LED数码管、点阵显示器和液晶显示器。项目要求CreatedbyXiangLiPing©2010秒表的设计与制作项目四学习目标知识目标了解数码管的基础知识。熟悉LED静态显示电路和显示程序的设计方法。掌握LED动态显示电路和动态扫描显示程序的设计方法。进一步掌握中断系统和定时器的应用。CreatedbyXiangLiPing©2010秒表的设计与制作项目四学习目标能力目标能进行单片机数码管显示系统设计。会使用单片机的开发工具。能完成秒表的设计、制作与调试。CreatedbyXiangLiPing©2010秒表的设计与制作项目四一、数码管简介abcdegcomfdpcomabcefgd·dpabcdefgdpdpgfedcba+5V(a)数码管外形及引脚图(b)共阴极、共阳极数码管1.数码管的结构及工作原理CreatedbyXiangLiPing©2010秒表的设计与制作项目四单片机系统扩展LED数码管时多用共阳LED:共阳数码管每个段笔画是用低电平(“0”)点亮的,要求驱动功率很小;而共阴数码管段笔画是用高电平(“1”)点亮的,要求驱动功率较大。通常每个笔段要串一个数百欧姆的限流电阻。2.数码管的编码方式代码位D7D6D5D4D3D2D1D0显示段dpgfedcba一、数码管简介CreatedbyXiangLiPing©2010秒表的设计与制作项目四共阴极和共阳极的字段码互为反码。显示字符共阳极字段码共阴极字段码显示字符共阳极字段码共阴极字段码0C0H3FH990H6FH1F9H06HA88H77H2A4H5BHB83H7CH3B0H4FHCC6H39H499H66HDA1H5EH592H6DHE86H79H682H7DHF8EH71H7F8H07H“灭”FFH00880H7FHLED数码管的字形码表一、数码管简介CreatedbyXiangLiPing©2010秒表的设计与制作项目四二、显示程序的任务1、设置显示缓冲区,存放待显示数据和字符。2、显示译码:程序存储器中建立字形码常数表,查表得出对应数据和字符的字形码。3、输出显示:输出字形码到显示端口。CreatedbyXiangLiPing©2010秒表的设计与制作项目四二、显示程序的任务例:电路如图所示,要求数码管依次显示0~F,每位数字显示1S。设晶振频率为12MHz。CreatedbyXiangLiPing©2010秒表的设计与制作项目四二、显示程序的任务解:ORG00HSJMPSTARTORG0030HSTART:MOVP0,#0FFH;数码管的8段LED全暗MOVDPTR,#TABST1:MOVR0,#0;显示初值ST2:MOVA,R0MOVCA,@A+DPTR;根据显示数字查字形码MOVP0,A;字形码送P0口显示ACALLDELAY;延时1sINCR0;显示数字加1CJNER0,#10h,ST2;16个数没显示完转ST2SJMPST1;16个数显示完转ST1,循环显示CreatedbyXiangLiPing©2010秒表的设计与制作项目四二、显示程序的任务DELAY:MOVR7,#10;1S延时子程序D1:MOVR6,#200D2:MOVR5,#250DJNZR5,$DJNZR6,D2DJNZR7,D1RETTAB:DB0C0H,0F9H,0A4H,0B0H;0~3的共阳极字形码DB99H,92H,82H,0F8H;4~7的共阳极字形码DB80H,90H,88H,83H;8~B的共阳极字形码DB0C6H,0A1H,86H,8EH;C~F的共阳极字形码ENDCreatedbyXiangLiPing©2010秒表的设计与制作项目四练习:在“Proteus软件”中绘制电路图。用“Keil”模拟仿真软件进行程序的编辑、编译。将“.HEX”文件装载到Proteus中,观察程序运行结果。二、显示程序的任务CreatedbyXiangLiPing©2010秒表的设计与制作项目四三、显示方式多位数码管的两种显示方式:静态显示和动态显示abdpCOMabdpCOMabdpCOMafbgecddp段选控制位选控制段选:显示什么字符位选:哪位显示CreatedbyXiangLiPing©2010秒表的设计与制作项目四三、显示方式1.静态显示各数码管的位选控制线连在一起接+5V(地);各数码管的段选控制线分别接一个8位的并行I/O口;CreatedbyXiangLiPing©2010秒表的设计与制作项目四三、显示方式1.静态显示数码管在显示某一字符时,只要通过相应的I/O口送出该字符的字形码。例:编程在两个LED数码管上显示数字“1”“2”ORG0000HSJMPSTARTORG0030HSTART:MOVP0,#0F9HMOVP2,#0A4HENDCreatedbyXiangLiPing©2010秒表的设计与制作项目四练习:在“Proteus软件”中绘制电路图。用“Keil”模拟仿真软件进行程序的编辑、编译。将“.HEX”文件装载到Proteus中,观察程序运行结果。静态显示的特点?无闪烁,编程简单,占I/O线多。三、显示方式CreatedbyXiangLiPing©2010秒表的设计与制作项目四2.动态显示三、显示方式各数码管的段选控制线共用一个8位的并行I/O口,位选控制线分别由相应的I/O口控制;CreatedbyXiangLiPing©2010秒表的设计与制作项目四三、显示方式2.动态显示例:编程在两个LED数码管上分别显示数字“1”“2”选通第一个数码管P2.1送0送“1”的字形码延时关断第一个数码管P2.1送1选通第二个数码管P2.0送0送“2”的字形码延时关断第二个数码管P2.0送1显示时逐位扫描,即:选通某位,从段选口送出该位的字形码,显示一段时间,再换下一位。CreatedbyXiangLiPing©2010秒表的设计与制作项目四ORG000HSJMPSTARTORG0030HSTART:MOVP2,#0FDH;选通P2.1所接的数码管;关断P2.0所接的数码管MOVP0,#0F9H;1的字形码送P0口LCALLDLY1MS;延时1msMOVP2,#0FEH;选通P2.0所接的数码管;关断P2.1所接的数码管MOVP0,#0A4H;2的字形码送P0口LCALLDLY1MS;延时1msSJMPSTART三、显示方式CreatedbyXiangLiPing©2010秒表的设计与制作项目四DLY1MS:MOVR7,#2;1ms延时子程序DLY:MOVR6,#250DJNZR6,$DJNZR7,DLYRETEND三、显示方式延时时间分别为1ms和1s有什么不同现象?有闪烁,元器件少,占I/O线少,编程复杂。动态显示的特点?CreatedbyXiangLiPing©2010秒表的设计与制作项目四利用单片机和2位数码管制作一个秒表。1、显示时间为00~99s,每秒自动加1;2、开机时显示“00”;3、设置一个按键,当按键第一次被按下松开时,秒表开始计时;当第二次按下按键松开时,秒表停止计时;当第三次按下按键松开时,秒表复位。四、秒表的设计CreatedbyXiangLiPing©2010秒表的设计与制作项目四时钟电路单片机AT89S51LED显示复位电路电源电路按键位选驱动秒表总体设计框图1.总体设计方案四、秒表的设计CreatedbyXiangLiPing©2010秒表的设计与制作项目四四、秒表的设计2.硬件设计CreatedbyXiangLiPing©2010秒表的设计与制作项目四练习:按右图搭建秒表的硬件平台。注意测量所选数码管的类型和引脚。四、秒表的设计CreatedbyXiangLiPing©2010秒表的设计与制作项目四设计思路:(1)秒信号的产生。(2)计数器:每过1s计数器加1,加到99就停止。(3)把计数器的值转换成十进制并显示。(4)按键数的统计及处理(5)按键去抖处理比较指令除法指令三、显示方式用一个50ms的定时器定时20次。3.软件设计加1、比较指令CreatedbyXiangLiPing©2010秒表的设计与制作项目四内存单元分配:四、秒表的设计内存单元功能初值R050ms计数器00HR11s计数器00HR2按键次数统计00H3.软件设计CreatedbyXiangLiPing©2010秒表的设计与制作项目四四、秒表的设计按键的抖动及去抖处理按键在闭合和断开时,触点会存在抖动现象。一般﹤10ms按下抖动释放抖动理想波形实际波形稳定闭合+5V+5VAB无抖动有抖动3.软件设计CreatedbyXiangLiPing©2010秒表的设计与制作项目四四、秒表的设计按键的抖动及去抖处理去抖动的方法:①硬件去抖&&+5v+5v消除抖动电路开关3.软件设计CreatedbyXiangLiPing©2010秒表的设计与制作项目四四、秒表的设计按键的抖动及去抖处理去抖动的方法:②软件去抖LOOP:JBP3.2,LOOPLCALLDLY10MSJBP3.2,LOOPJNBP3.2,$LCALLKEY键是否按下?延时10ms键确实按下?等键松开NYN处理按键Y3.软件设计CreatedbyXiangLiPing©2010秒表的设计与制作项目四四、秒表的设计3.软件设计本任务可以划分成以下几个功能程序模块:主程序:定时器、中断、内存单元初始化、按键的查询KEY键处理子程序:统计按键次数,并进行相应处理DIS显示子程序:秒计数器的计数值转换成十进制数,并显示SEG7段码转换子程序:十进制数转换成段码DLY10MS延时子程序:去抖DLY1MS延时子程序:动态扫描时间定时中断服务程序:1S时间到,修改秒计数器编程技巧:采用模块化的设计方法。CreatedbyXiangLiPing©2010秒表的设计与制作项目四各模块关系如下:四、秒表的设计开始主程序…ACALLDIS……ACALLDLY10MS……ACALLKEY…DIS子程序…ACALLSEG7…ACALLDLY1MS…RETSEG7子程序…RET继续执行主程序…定时中断服务子程序…RETI结束DLY1MS子程序…RETKEY子程序…RET断点DLY10MS子程序…RETCreatedbyXiangLiPing©2010秒表的设计与制作项目四ORG00HLJMPMAINORG000BHLJMPTIME0ORG0030HMAIN:MOVR0,#0MOVR1,#0MOVR2,#0MOVTMOD,#01HMOVTH0,#3CHMOVTL0,#0B0HSETBEASETBET0LOOP:LCALLDISJBP3.2,LOOPLCALLDLY10MSJBP3.2,LOOPJNBP3.2,$LCALLKEYAJMPLOOP四、秒表的设计CreatedbyXiangLiPing©2010秒表的设计与制作项目四KEY:INCR2CJNER2,#1,KEY2SETBTR0RETKEY2:CJNER2,#2,KEY3CLRTR0RETKEY3:CJNER2,#3,BACKMOVR0,#0MOVR1,#0MOVR2,#0BACK:RETTIME0:MOVTH0,#3CHMOVTL0,#0B0HINCR0CJNER0,#20,I_RETMOVR0,#0INCR1CJNER1,#100,I_RETMOVR1,#0I_RET:RETI四、秒表的设计CreatedbyXiangLiPing©2010秒表的设计与制作项目四DIS:MOVA,R1MOVB,#10DIVABMOVDPTR,#TABMOVP2,#11111101BACALLSEG7M

1 / 39
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功