数码管驱动与程序设计培训课件

上传人:日度 文档编号:149734787 上传时间:2020-10-29 格式:PPT 页数:21 大小:2.71MB
返回 下载 相关 举报
数码管驱动与程序设计培训课件_第1页
第1页 / 共21页
数码管驱动与程序设计培训课件_第2页
第2页 / 共21页
数码管驱动与程序设计培训课件_第3页
第3页 / 共21页
数码管驱动与程序设计培训课件_第4页
第4页 / 共21页
数码管驱动与程序设计培训课件_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《数码管驱动与程序设计培训课件》由会员分享,可在线阅读,更多相关《数码管驱动与程序设计培训课件(21页珍藏版)》请在金锄头文库上搜索。

1、5.4 数码管驱动与程序设计,目 录,LED数码管的内部结构,单个LED数码管,单个数码管就是用8个独立的LED发光二极管按照“日”字形排列起来的。 在实际应用中,一般会将8个LED的阳极或者阴极并联在一起组成数码管。 由此可见,一个数码管至少有9个引入端,其中ah被定义为段选端,并联在一起的公共端com被定义为位选 端。,8个独立的LED发光二极管,abcdefgh,COM,COM,abcdefgh, , ,共阴:阴极并联,共阳:阳极并联,a,b,c,d,e,f,g,h,LED数码管的工作原理,abcdefgh,GND,+5V,abcdefgh, , ,共阴极数码管,共阳极数码管,笔段发光:

2、 位选端输入低电平0; 段选端输入高电平1。,a,b,c,d,e,f,g,h,a,b,c,d,e,f,g,h,笔段发光: 位选端输入低电平1; 段选端输入高电平0。,COM,COM,10000000,10000000,通过控制笔段发光,数码管可以显示数字09,以及一些字母符号等。,单个共阳极数码管LN3161BS,Vcc,P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0,LN3161BS引脚结构图 它有10个管脚,2个内部相连的com端1和6,8个位选端。 LN3161BS测试电路 将段选端ah连接到单片机的P0口,则通过程序即可控制笔段的亮灭。,与单片机相连,R

3、8 1k R7 1k R6 1k R5 1k R4 1k R3 1k R2 1k R1 1k,一个数码管只能显示1位数字,如果要 显示多位数字怎么办? 方法一:将多只单个数码管并接在一起。 缺 点:4位并列的数码管就需要4 8=32根段 选信号,管脚过多,连线复杂。 方法二:动态扫描方式进行数码管显示。 优 点:不增加段选信号线,利用人眼的视觉暂 留效应,使数字轮流显示来实现。,1 0 0 1 1 0 0 1,10011001,4位动态数码管,LN3461AS四位动态共阴数码管内部结构,LN3461BS四位动态共阳数码管内部结构,段 选 端 复 用,段 选 端 复 用, 采用段选端复用的方法,

4、仅需12个 管脚。 两者外型尺寸大小、管脚的排列顺 序和名称完全一样。,目 录,TinyView数码管电路组成,TinyView 数码管电路,4位共阳数码管LN3461BS,限流电阻,PNP型三极管,单片机I/O口驱动能力不够,增加三极管以提高com口的电流驱动能力,与单片机相连,目 录,笔段与数值的对应关系,a,b,c,d,e,f,g,h,+5V,hgfedcba, ,共阳极数码管,11111110,数码管有8个笔段,每个笔段有亮和灭两种状态,则每个数码管有28 = 256种显示组合,去掉“点(h)”,其余7个笔段有27 = 128种显示组合。,0 x7f,0 xbf,0 xdf,0 xef

5、,0 xf7,0 xfb,0 xfd,0 xfe,11111101,11111011,11110111,11101111,11011111,10111111,01111111,假设将ah对应8位二进制数的07位:,七段共阳极数码管段码表,a,b,c,d,e,f,g,h,假设将ah对应8位二进制数的07位:,0,1,1,0,0,0,0,0,0,0 xC0,1,1,1,1,1,1,0,0,1,0 xF9,2,1,0,1,0,0,1,0,0,0 xA4,3,1,0,1,1,0,0,0,0,0 xB0,4,1,0,0,1,1,0,0,1,0 x99,实验1TinyView段码表生成,8个开关控制数码管

6、的8个显示段,JP1与JP36的segAsegH连接,将JP36的com连接到与K9相连的JP1,位选控制开关,8个段选控制开关, 当位选控制开关K9拨到位置0时,三极管导通,com1被拉到高电平,K1K8对段选端的控制才有效。 假设将K1K8对应8位二进制数的07位,通过实验验证:笔段数值对应关系表和七段共阳极数码管段码表。,实验24位数码管显示1234,实验分析:只要求在4位数码管上显示1234,但并没有要求在同一时间显示数字。 实现方法:每次只让一个数码管显示。将与K9相连的JP1先与JP36中的com1相连,拨动K1K8在第1个数码管上显示正确的数字;然后将K9拨到控制com2,依此类

7、推,实现在4个数码管上分别显示1234。,实验步骤: 第1个数码管显示1; 第2个数码管显示2; 第3个数码管显示3; 第4个数码管显示4。,根据段码表,拨到显示字符“1”的位置1111 1001,与com1相连,根据段码表,拨到显示字符“2”的位置1010 0100,与com2相连,根据段码表,拨到显示字符“3”的位置1011 0000,与com3相连,根据段码表,拨到显示字符“4”的位置1001 1001,与com4相连,目 录,数码管的动态扫描显示实验电路,与P1口相连,相当于K1K8位置,分别与P3.0、P3.1、P3.2、P3.3相连,替代手动拨插连接它们的引线,动态扫描:每次只有一

8、位数码管显示,即在实际操作过程中数字是轮流显示的,但只要轮流操作的速度达到一定的范围,人眼看到的将是整体显示的效果。,数码管的动态扫描显示程序实现,.AREAHOME(ABS, CODE) .ORG 0 x0000 Start:MOV P1 , #0 xF9 ;等效:将K1K8拨到显示字符“1”的位置CLR P3.0 ;等效:将com1连接到K9(0电平) ACALL Delay ;延时 SETB P3.0 ;等效:拔掉com1的连接线 MOV P1 , #0 xA4 ;等效:将K1K8拨到显示字符“2”的位置 CLR P3.1 ;等效:将com2连接到K9(0电平) ACALL Delay

9、;延时 SETB P3.1 ;等效:拔掉com2的连接线 MOV P1 , #0 xB0 ;等效:将K1K8拨到显示字符“3”的位置 CLR P3.2 ;等效:将com3连接到K9(0电平) ACALL Delay ;延时 SETB P3.2 ;等效:拔掉com3的连接线 MOV P1 , #0 x99 ;等效:将K1K8拨到显示字符“4”的位置 CLR P3.3 ;等效:将com4连接到K9(0电平) ACALL Delay ;延时 SETB P3.3 ;等效:拔掉com4的连接线 SJMP Start;返回Start,循环执行程序,0 xF9:1111 1001 字符“1”的数值,将0 x

10、F9送往P1口,即数码管的段选端segAsegH,P3.0置0,三极管Q11导通,com1被拉高,第1位数码管将显示字符“1”,延时长短:在保证数码管显示亮度的前提下尽量短,P3.0置1,三极管Q11关闭,第1位数码管的所有笔段全部熄灭,1 0 0 1 1 1 1 1,10011111,0,1,1,0,数码管的动态扫描显示实验现象,人眼看到的最终效果:,动态扫描:每次只有一位数码管显示,即在实际操作过程中数字是轮流显示的,但只要轮流操作的速度达到一定的范围,人眼看到的将是整体显示的效果。,目 录,数字符号的意义,1 ?,2 ?,对小孩而言,只有将数字字符和具体的事物联系起来,才能真正理解数字的

11、含义,对机器而言同样如此。,数字符号只有和具体的事物联系起来才有意义,否则将什么也不是。,让单片机能够识别数字字符,在上一个实验中,显示了“1234”,但单片机并“不知道”显示的“1234”是什么意思?,如何让单片机“知道”这些数字符号呢? 在数字字符和数值之间建立对应的关系。 比如,数字“1”和数值“0 xF9”之间的对应关系,即数值“0 xF9”在数码管上显示的符号就是数字“1”。“段码表”既建立了数字与数值之间的这种联系。,如何用程序来实现呢? 将这些无序的数据列成表格。如: 对Table表格的数据,可以用指令“MOVC A, A+DPTR”查找,其所查的表地址是由“DPTR”寄存器(1

12、6位)和A寄存器(8位)相加而来,所以可以将DPTR的数值固定在Table不动,而用A寄存器做查表指针。当A 的数值为09时,其所指向的地址偏移量正好是数值所对应的数字符号。,Table:.DB 0 xC0, 0 xF9, 0 xA4, 0 xB0, 0 x99;字符:0、1、2、3、4 .DB 0 x92, 0 x82, 0 xF8, 0 x80, 0 x90 ;字符:5、6、7、8、9,数字字符获取子程序范例,从“数字字符与数值的关系”可知,使用查表法即可找到与数字符号相对应的数值。,Get_Segment_Code: ANL A , #0 x0F ; 屏蔽高4位以便调出字符 MOV DPTR , #Table ; DPTR取表格首地址 MOVC A , A+DPTR ; 查表取得字符真值 RET Table:.DB 0 xC0, 0 xF9, 0 xA4, 0 xB0, 0 x99, 0 x92, 0 x82, 0 xF8, 0 x80, 0 x90 ; 09字符表,(数字)字符获取子程序范例:,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 专业基础教材

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号