单片机第7章-秒表计数器设计课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《单片机第7章-秒表计数器设计课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 秒表 计数器 设计 课件
- 资源描述:
-
1、第第7章章 秒表计数器设计秒表计数器设计数码管动态显示数码管动态显示7.1 功能要求功能要求7.2 任务分析任务分析 7.3 LED动态显示工作原理动态显示工作原理7.3.1 采用动态显示的原因采用动态显示的原因7.3.2动态显示的工作原理动态显示的工作原理 7.4 数码管动态显示程序设计方法数码管动态显示程序设计方法7.4.1 显示班机学号的双位数显示班机学号的双位数7.4.2 秒表计数器显示秒表计数器显示0059 7.1功能要求功能要求 一基本要求一基本要求动态数码计数显示器能显示本人完整的双位学号。二发挥部分二发挥部分每隔1秒,在二个LED数码管上进行加“1”计数,显示0059,实现秒钟
2、计数,为设计时钟电路打下基础。回目录回目录 7.2 任务分析任务分析 要完成此任务,主要需解决如下四方面的问题:要完成此任务,主要需解决如下四方面的问题:1.为什么要采用数码管动态显示2.LED动态显示的工作原理;3.LED数码管与单片机动态显示接口电路的设计方法;4.LED数码管动态显示程序的设计方法。回目录回目录7.3.1 7.3.1 采用数码管动态显示的原因采用数码管动态显示的原因 从上一章的数码管静态显示工作原理可知,要使数码管能正常的显示数字,必须根据数码管的类型(共阴或共阳)给数码管的各段(a、b、c、d、e、f、g与一个小数点dp)输入和显示数字相对应的高低电平,既进行段控制;同
3、时还要给数码管公共端所接的三极管输入相应的高低电平,使其导通给数码管供电,控制整个数码管的亮灭,既进行位控制。因此数码管的有效控制包括二个方面,其一是控制整个数码管的亮灭,既位控制,需要一位单片机I/O端口;另一方面控制数码管具体显示什么数据,既段控制,需要八位单片机I/O端口。7.3 LED动态显示工作原理动态显示工作原理 回目录回目录7.3.1 7.3.1 采用数码管动态显示的原因采用数码管动态显示的原因 本项目中显示的数据为双位学号,因此必须采用二个数码管分别显示学号的个位和十位,如果依然采用静态显示的方案,分别对个位和十位的数码管单独采用位控制和段控制,进行位控制需要二位单片机I/O端
4、口,而段控制则需要十六位单片机I/O端口。而在很多设备中,显示的数据可能达到4位、6位、8位甚至更多,如果依然采用静态显示的方法,所需的I/O端口可达到几十位之多,而在单片机中,I/O端口的数量是非常有限的,如89C51单片机的I/O端口只有32位(P0、P1、P2、P3),而89C2051才16位I/O端口(P1、P3),而且大部分的I/O端口还具有第二功能,如89C51中的P3、P2、P0。因此,如果采用静态显示的方案,将占有太多的I/O资源,甚至根本无法实现,必须采用其它的显示方案,既数码管的动态显示。回目录回目录7.3.2 LED7.3.2 LED数码管动态显示的工作原理数码管动态显示
5、的工作原理 上面在讨论数码管的静态显示问题时,知道静态显示的最大缺点是占用太多的I/O端口,因此我们必须设法减少I/O端口的占用。如果我们在多位数码管显示数据时,将各数码管相同的段并联在一起,如所有的a段都连在一起,既共用段控制端口,这样每增加一个数码管,只需要增加一个位控制端口即可,从而大量地减少了I/O端口的占用,如图71所示。图中数码管DLED1和数码管DLED2连接的各段分别连接在一起,共用段控制端口P1,而位控制分别由端口P2.7和P2.6分别控制,从而大量的减少了I/O端口的占用。回目录回目录图71 共阳数码管动态显示接口电路 1显示个位数据显示个位数据2 2位控制:要在个位数码管
6、DLED2上显示数据2,即要使DLED2亮,而DLED1灭,相应的要使三极管Q2导通,Q1截止,而三极管为PNP型管,在发射极为高电平的情况下,基极必须为低电平才能导通,所以位控制端口P2.6要接低电平,P2.7接高电平。段控制:要使共阳数码管显示数据2,即a、b、d、e、g段亮,而c、f、dp段要灭,即a、b、d、e、g段需接低电平,而c、f、dp段接高电平(也可查表51得到共阳数码管的笔段码A4H),因此必须给其段控制端口P1送笔段码A4H(10100100B)。显示个位数字2的控制电平和显示效果如下图所示。显示个位数字显示个位数字2 2的控制电平和显示效果的控制电平和显示效果 2显示十位
7、数字显示十位数字1 1位控制:同理,要在十位数码管DLED1上显示数据1,即要使DLED1亮,而DLED2灭,所以位控制端口P2.6要接高电平,P2.7接低电平。段控制:要使共阳数码管显示数据1,即b、c二段亮,而其它各段要灭,既b、c二段接低电平,而其它段接高电平,也可查表51得到共阳数码管的笔段码F9H,因此必须给其段控制端口P1送笔段码F9H(11111001B)。显示十位数字的控制电平和显示效果如下图所示。显示十位数字显示十位数字1 1的控制电平和显示效果的控制电平和显示效果 3二数码管不断交替显示二数码管不断交替显示重复以上步骤1和步骤2,只要交替显示的速度足够快(每秒循环显示48次
8、以上),利用人眼的视觉残留特性,人眼在数码管看到的就是完整的数字12,而不会有闪烁感,如下图所示。回目录回目录7.4.1 7.4.1 显示班级学号的双位数显示班级学号的双位数本任务要求固定的显示某一个数(即班级学号,如12),此程序设计较简单,只要先显示个位数字2,延时一定时间,再显示十位数字1,又延时一定时间,然后交替循环显示即可。程序流程图如右图所示:7.4 数码管动态显示程序设计方法数码管动态显示程序设计方法 程序开始个位数码管位控制个位数码管段控制(查表取个位段码)延时十位数码管位控制十位数码管段控制(查表取十位段码)延时回目录回目录显示数据显示数据12的完整程序清单(的完整程序清单(
9、1)ORG 0000H ;伪指令,规定下面的指令保存在程序存储器的0000H单元 AJMP MAIN ;跳转到主程序,以保留0003H开始的中断入口地址 ORG 0050H ;伪指令MAIN:SETB P2.7 ;十位数码管熄灭 CLR P2.6 ;个位数码管亮 MOV A,02H ;个位要显示的数据送累加器A MOV DPTR,#TABLE1 ;DPTR用于保存表的首地址 MOVC A,A+DPTR ;查表指令,取出DPTR所对应表中的第A个数据(此处A为累加器,同时应注意数据的序号从0开始编号),即取出要显示数据的段码A4H MOV P1,A ;将取得的段码A4H送到P1口显示 ACALL
10、 DELAY ;调用延时程序 SETB P2.6 ;个位数码管熄灭 CLR P2.7 ;十位数码管亮 MOV A,01H ;十位要显示的数据送累加器A MOV DPTR,#TABLE1 ;DPTR用于保存表的首地址(即到哪一个表中取数)MOVC A,A+DPTR ;查表指令,取出DPTR所对应的表中的第A个数据(此处A为累加器,同时应注意数据的序号从0开始编号),即取出要显示数据的段码F9H 显示数据显示数据12的完整程序清单(的完整程序清单(2)MOV P1,A ;将取得的段码F9H送到P1口显示 ACALL DELAY ;调用延时程序 AJMP MAIN ;跳回交替继续显示DELAY:MO
11、V R7,#0FH ;二层循环延时程序LOOP2:MOV R6,#0FFHLOOP1:DJNZ R6,LOOP1 DJNZ R7,LOOP2 RET 0 1 2 3 4 5 6 7 8 9 TABLE1:DB 0COH,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H 共阳数码管段码表 显示数据显示数据12的完整程序清单(的完整程序清单(3)提示:程序调试时可以调节延时时间(延时程序中R7的数据大小),逐步由大到小,观察数码管的显示效果:当数据较大时,延时较长,可以明显看到二数码管交替显示的情况;当数据足够小时,人眼将看不到数码管交替显示产生的闪烁感,从效果上看好
展开阅读全文