C51与显示器LED的接口设计.ppt_第1页
C51与显示器LED的接口设计.ppt_第2页
C51与显示器LED的接口设计.ppt_第3页
C51与显示器LED的接口设计.ppt_第4页
C51与显示器LED的接口设计.ppt_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第10章 89C51与键盘、显示器、拨盘、打印机的接口设计 输入外设:键盘、BCD码拨盘等; 输出外设:LED显示器、LCD显示器、打印机等。 10.1 LED显示器接口原理 LED(Light Emitting Diode):发光二极管的 缩写。显示器前面冠以“LED”。 10.1.1 LED显示器的结构 常用的LED显示器为8段(或7段,8段比7段多 了一个小数点“dp”段)。有共阳极和共阴极 两种。如图10-1所示。 图10-1 LED显示器的扩展(结构) LED数码管的结构:共阳与共阴 单片机系统扩展LED数码管时多用共阳LED: 共阳数码管每个段笔画是用低电平(“0”)点亮的,要求驱 动功率很小;而共阴数码管段笔画是用高电平(“0”)点亮 的,要求驱动功率较大。 通常每个段笔画要串一个数百欧姆的降压电阻。 公共阳极 h g f e d c b a a b c d g e f h 公共阴极 h g f e d c b a a b c d g e f h h g f a h g f a 高电平点亮 低电平点亮 接高电平 接地 LED数码管的译码:硬件译码与软件译码 硬件译码特点:采用专用的译码/驱动器件,驱动功 率较大;增加了硬件的开销;软件编程简单;字型固 定(比如:只有七段,只可译数字,字型不好看)。 共阴LED a b c d g e f h g f e d c b a D C B A P1.3 P1.2 P1.1 P1.0 CD4511AT89C51 74LS48/CD4511是“BCD码七段共阴译码/驱动”IC; 74LS47是“BCD码七段共阳译码/驱动”IC LED显示器的扩展(结构) LED显示器的扩展(软件译码) LED数码管的译码:软件译码 软件译码特点: 不用专用的译码/驱动器件,驱动功率较小;不增 加硬件的开销;软件编程较复杂;字型灵活(比如 :有八段,只可译多种字符,字型好看)。 共阳LED a b c d g e f h P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 +5V AT89C51 硬件译码特点: 采用专用译码/驱动器件 ,驱动功率较大;增加了 硬件的开销;软件编程简 单;字型固定(比如:只 有七段,只可译数字,字 型不好看)。 LED数码管的软件译码 八段LED数码管段代码编码表(连线不同可有多种表): 公共阳极 h g f e d c b a a b c d g e f h 公共阴极 h g f e d c b a a b c d g e f h h g f a h g f a 高电平点亮 低电平点亮 接高电平 接地 字形0123456789黑 共阳0C00F90A40B09992820F880900FF 共阴3F065B4F666D7D077F6F00 LED数码管分类: 按其内部结构可分为共阴型和共阳型; 按其外形尺寸有多种形式,使用较多的 是0.5“和0.8“; 按显示颜色也有多种形式,主要有红色 和绿色; 正向压降一般为1.52V,额定电流为 10mA,最大电流为40mA。静态显示时取10mA 为宜,动态扫描显示,可加大脉冲电流,但 一般不超过40mA。 按亮度强弱可分为超亮、高亮和普亮。 N个LED显示块有N位位选线和8N根段码线。段码线控制显示 的字型,位选线控制该显示位的亮或暗。 10.1.2 LED显示器工作原理 图10-2是4位 LED显示器的结构原理图。 图10-2 静态显示和动态显示两种显示方式。 1. LED静态显示方式 2. 各位的公共端连接在一起(接地或+5V)。 3. 每位的段码线(adp)分别与一个8位的锁存器输出相 连。 4. 显示字符一确定,相应锁存器的段码输出将维持不变, 直到送入另一个段码为止。显示的亮度高。 5. 图10-3: 4位静态LED显示器电路。该电路各位可独立显 示 2. LED动态显示方式 所有位的段码线相应段并在一起,由一个8位I/O口控制,形 成段码线的多路复用,各位的公共端分别由相应的I/O线控制 ,形成各位的分时选通。 图10-4:4位8段LED动态显示电路。其中段码线占用一个8位 I/O口,而位选线占用一个4位I/O口。 图10-5为8位LED动态显示2008.10.10的过程。 图(a)是显示过程,某一时刻,只有一位LED被选通显示,其 余位则是熄灭的; 图(b)是实际显示结果,人眼看到的是8位稳定的同时显示 的字符。 图10-5 1、并行扩展静态显示电路 应用:静态显示电路 【例1】按上图编制显示子程序,显示数(255)存在内 RAM 30H中。 DIR1: MOV A,30H ;读显示数 MOV B,#100 ;置除数 DIV AB ;产生百位显示数字 MOVC A,A+DPTR ;读百位显示符 MOV DPTR,#0DFFFH ;置74377(百位)地址 MOVX DPTR,A ;输出百位显示符 MOV A,B ;读余数 MOV B,#10 ;置除数 DIV AB ;产生十位显示数字 MOV DPTR,#TAB ;置共阳字段码表首址 MOVC A,A+DPTR ;读十位显示符 MOV DPTR,#0BFFFH ;置74377(十位)地址 MOVX DPTR,A ;输出十位显示符 MOV A,B ;读个位显示数字 MOV DPTR,#TAB ;置共阳字段码表首址 MOVC A,A+DPTR ;读个位显示符 MOV DPTR,#7FFFH ;置74377(个位)地址 MOVX DPTR,A ;输出个位显示符 RET ; TAB: DB 0C0H,0F9H,0A4H,0B0H,99H;共阳字段码表 DB 92H,82H,0F8H,80H,90H; 2、串行扩展静态显示电路 DIR2: MOV SCON,#00H ;置串口方式0 CLR ES ;串口禁中 SETB P1.0 ;“与”门开,允许TXD发移位脉 冲 MOV SBUF,30H ;串行输出个位显示字段码 JNB TI,$ ;等待串行发送完毕 CLR TI ;清串行中断标志 MOV SBUF,31H ;串行输出十位显示字段码 JNB TI,$ ;等待串行发送完毕 CLR TI ;清串行中断标志 MOV SBUF,32H ;串行输出百位显示字段码 JNB TI,$ ;等待串行发送完毕 CLR TI ;清串行中断标志 CLR P1.0 ;“与”门关,禁止TXD发移位脉 冲 RET ; 【例2】按上图编制显示子程序,显示字段码已分别存在 32H30H内RAM中。 解: 要求:根据上图编写通过串行口和74LS164驱动共 阳LED数码管查表显示的子程序。 条件:系统有6个LED数码管,待显数据(00H09H) 已放在35H30H单元中(分别对应十万位个位), DSPLY:MOV DPTR, #TABLE ;共阳LED数码管译码表首址 MOV R0,#30H ;待显数据缓冲区的个位地址 REDO:MOV A, R0 ;通过R0实现寄存器间接寻址 MOVC A, A+DPTR ;查表 MOV SBUF, A ;经串行口发送到74LS164 JNB TI, $ ;查询送完一个字节的第8位? CLR TI ;为下一字节发送作准备 INC R0 ;R0指向下一个数据缓冲单元 CJNE R0,#36H,REDO ;判断是否发完6个数? RET ;发完6个数就返回 TABLE:DB 0C0H,0F9H,0A4H,0B0H,99H ;共阳LED译码表 DB 92H, 82H, 0F8H, 80H,90H 3、BCD码输出静态显示电路 CD4511是“BCD码 七段共阴译码/ 驱动”IC; 4511是 4线-7段锁存/译码 /驱动电路,能将 BCD码译成7段显示 符输出。图中: 4511 ABCD为09 二进制数输入端(A 是低位),abcdefg 为显示段码输出端 ,LE为输入信号锁 存控制(低电平有 效),数码管为共 阴数码管。 利用4511实现静态显示与一般静态显示电路 不同,一是节省I0端线,段码输出只需4根;二 是不需专用驱动电路,可直接输出;三是不需译 码,直接输出二进制数,编程简单;缺点是只能 显示数字,不能显示各种符号。 解:编程如下: DIR3: MOV P1,#11100000B ;选通个位 ORL P1,30H ;输出个位显示数 MOV P1,#11010000B ;选通十位 ORL P1,31H ;输出十位显示数 MOV P1,#10110000B ;选通百位 ORL P1,32H ;输出百位显示数 RET ; 【例4】按图9-5试编制显示子程序(小数点固定 在第二位),已知显示数存在内RAM 30H32H中 。 动态显示电路 连结形式: 显示各位的所有 相同字段线连在一起, 共8段,由一个8位 I/O口控制; 每一位的公共端 (共阳或共阴COM) 由另一个I/O口控制。 应用:动态显示方式 及其典型应用电路 LED数码管动态显示举例 P1.5 P1.4 P1.3 P1.2 P1.2 P1.0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 7406 OC门 X 3 上拉 电阻 14 +5V AT89C51 工作原理:从P0口送段代码,P1口送位选信号。段码虽同时 到达 6个LED,但一次仅一个LED被选中。利用“视觉暂留 ”,每送一个字符并选中相应位线,延时一会儿,再送/选 下一个循环扫描即可。 共阴 数码管 位 选 线 段 代 码 P1.5 P1.4 P1.3 P1.2 P1.2 P1.0 P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0 7406 OC门 X 3+5V AT89C51 位 选 线 段 代 码 要求:此处为共阴数码管,P0口送段代码,P1口送位选信号 。通过查表实现动态显示。 条件:待显数据(00H09H)已放在: 7FH7AH单元中(分别对 应十万位个位) 说明:由于用了反相驱动器7406,要用共阳译码表。 共阴 数码管 上拉 电阻 14 7406 OC门 X 3+5V (7FH) (7EH) (7DH) (7CH) (7BH) (7AH) 十万 万位 千位 百位 十 位 个位 数据缓冲区 / 显示缓冲区 P0口送段 代码,P1 口送位选 信号。 待显数据 已经放在: 7FH7AH 单元(分别 对应十万 位个位) 使用共阳 译码表。 DIR: MOV DPTR, #DSEG ;数码管译码表首址 MOV R0,#7AH ;待显缓冲区个位地址 MOV R3,#01H ;个位的位选信号=01H LD1: MOV A, R0 ;通过R0间接寻址 MOVC A, A+DPTR ;查表 MOV P0, A ;字段码送到P0口 MOV P1,R3 ;字位选择送到P1口 LCALL DELY ;调延时1ms子程序 INC R0 ;R0 指向下一字节 MOV A,R3 JB ACC.5,LD2 ;判是否发完6个数? RL A ;R1指向下一个位 MOV R3,A ;位选信号存回R1 SJMP LD1 ;跳去再显示下一个数 LD2: RET ;发完6个数就返回 DSEG:DB 0C0H,0F9H,0A4H,0B0H,99H;共阳译码表 DB 92H, 82H, 0F8H, 80H,90H P0口送段 代码,P1 口送位选 信号。 待显数据 已经放在: 7FH7AH 单元(分别 对应十万 位个位) 使用共阳 译码表。 1、共阴型8位动态显示电路 DIR4:MOV R2,#10 ;置循环扫描次数 MOV DPTR,#7FFFH ;置74377口地址 DLP1:ANL P1,#11111000B ;第0位先显示 MOV R0,#30H ;置显示字段码首址 DLP2:MOV A,R0 ;读显示字段码 MOVX DPTR,A ;输出显示字段码 LCALL DY2ms ;调用延时2ms子程序(参阅例4.13) INC R0 ;指向下一位字段码 INC P1 ;选通下一位显示 CJNE R0,#38H,DLP2 ;判8位扫描显示完否?未完继续 DJNZ R2,DLP1 ;8位扫描显示完毕,判10次循环完否? CLR A ;10次循环完毕,显示暗 MOVX DPTR,A ; RET ;子程序返回 【例5】按上图,试编制循环扫描(10次)显示子程序,已知 显示字段码存在以30H(低位)为首址的8字节内RAM中。 解:编程如下: 2、共阳型3位动态显示电路 DIR5: MOV DPTR,#0BFFFH ;置74377地址 MOV R2,#100 ;置循环显示次数 DIR50: SETB P1.2 ;百位停显示 MOV A,40H ;取个位字段码 MOVX DPTR,A ;输出个位字段码 CLR P1.0 ;个位显示 LCALL DY2ms ;调用延时2ms子程序(参阅例4.13) DIR51: SETB P1.0 ;个位停显示 MOV A,41H ;取十位字段

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论