数码管显示常用外围设备接口电路.ppt
《数码管显示常用外围设备接口电路.ppt》由会员分享,可在线阅读,更多相关《数码管显示常用外围设备接口电路.ppt(84页珍藏版)》请在三一办公上搜索。
1、第9章 常用外围设备接口电路,本章要点:,LED数码管及编码方式静态显示方式及其典型应用电路动态显示方式及其典型应用电路虚拟I2C总线串行显示电路键盘去抖动和连接、控制方式独立式按键及其接口电路矩阵式键盘及其接口电路并行A/D ADC0809及其接口电路串行A/D ADC0832及其接口电路I2C串行A/D典型应用电路DAC0832及其接口电路I2C串行D/A典型应用电路开关量驱动输出接口电路,9-1 LED数码管显示接口,一、LED数码管,LED显示器的扩展(结构),LED数码管的结构:共阳与共阴,单片机系统扩展LED数码管时多用共阳LED:共阳数码管每个段笔画是用低电平(“0”)点亮的,要
2、求驱动功率很小;而共阴数码管段笔画是用高电平(“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数码管段代码编码表(连线不同可有多种表):,公共阳极,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
3、,高电平点亮,低电平点亮,接高电平,接地,LED数码管分类:,按其内部结构可分为共阴型和共阳型;,按其外形尺寸有多种形式,使用较多的是0.5和0.8;,按显示颜色也有多种形式,主要有红色和绿色;,正向压降一般为1.52V,额定电流为10mA,最大电流为40mA。静态显示时取10mA为宜,动态扫描显示,可加大脉冲电流,但一般不超过40mA。,按亮度强弱可分为超亮、高亮和普亮。,二、LED数码管编码方式,表9-1 共阴和共阳LED数码管几种八段编码表,【例9-1】已知显示数存在内RAM 30H(高位)、31H中,试将其转换为5位共阴字段码(顺序),存在以30H(高位)为首址的内RAM中。,从显示数
4、中分离出显示的每一位数字 方法是将显示数除以十进制的权,显示数转换为显示字段码的步骤:,将分离出的显示数字转换为显示字段码 方法是查表,SPRT:MOV R0,#30H;置万位BCD码间址 MOV A,30H;置被除数 MOV B,31H;MOV R6,#27H;置除数10000=2710H MOV R5,#10H;LCALL SUM;除以10000,万位商存30H,余数存A、B MOV R6,#03H;置除数1000=03E8H MOV R5,#0E8H;INC R0;指向千位商间址(31H)LCALL SUM;除以1000,千位商存31H,余数存A、B MOV R6,#0;置除数100 M
5、OV R5,#100;INC R0;指向百位商间址(32H)LCALL SUM;除以100,百位商存32H,余数存A(B=0)MOV B,#10;置除数10 DIV AB;除以10 INC R0;指向十位商间址(33H)MOV R0,A;十位商存33H XCH A,B;读个位数 INC R0;指向个位间址(34H)MOV R0,A;个位存34H RET;,解:连续调用下列二个子程序即可。分离显示数字子程序,说明:SUM是16位除以16位子程序:(A、B)(R6、R5)=商R0,余数(A、B)。(参阅例4-9),转换显示字段码子程序,CHAG:MOV DPTR,#TAB;置共阴字段码表首址 MO
6、V R0,#30H;置显示数据区首址CGLP:MOV A,R0;取显示数字 MOVC A,A+DPTR;读相应显示字段码 MOV R0,A;存显示字段码 INC R0;指向下一显示数字 CJNE R0,#35H,CGLP;判5个显示数字转换完否?未完继续 RET;转换完毕,结束TAB:DB 3FH,06H,5BH,4FH,66H;共阴字段码表 DB 6DH,7DH,07H,7FH,6FH;,三、静态显示方式及其典型应用电路,动态显示方式,在某一瞬时显示一位,依次循环扫描,轮流显示,由于人的视觉滞留效应,人们看到的是多位同时稳定显示。特点:占用I/O端线少,电路较简单,编程较复杂,CPU要定时扫
7、描刷新显示。一般适用于显示位数较多的场合。,LED数码管显示分类:静态显示方式和动态显示方式。,静态显示方式,每一位字段码分别从I/O控制口输出,保持不变直至CPU刷新。特点:编程较简单,但占用I/O口线多,一般适用于显示位数较少的场合。,LED显示器的扩展(显示方式),LED数码管的显示方式:静态与动态,动态显示特点:有闪烁,用元器件少,占I/O线少,必须扫描,花费CPU时间,编程复杂。(有多个LED时尤为突出),静态显示特点:无闪烁,用元器件多,占I/O线多,无须扫描,节省CPU时间,编程简单。,静态显示:各数码管在显示过程中持续得到送显信号,与各数码管接口的I/O口线是专用的。,动态显示
8、:各数码管在显示过程中轮流得到送显信号,与各数码管接口的I/O口线是共用的。,1、并行扩展静态显示电路,【例9-2】按图9-3编制显示子程序,显示数(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;读十位显
9、示符 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;“与”门开,允许T
10、XD发移位脉冲 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;,【例9-3】按图9-4编制显示子程序,显示字段码已分别存在32H30H内RAM中。,解:,要求:根据上图编写通过串行口和74LS164驱动共 阳LED数码管查表显示的子程序。
11、条件:系统有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,0F
12、9H,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根;二是不需专用驱动电路,可直接输出;三是不需译码,直接输出二进制数,编程简单;缺点是只能显示数字,不能显示各种符号
13、。,解:编程如下:DIR3:MOV P1,#11100000B;选通个位 ORL P1,30H;输出个位显示数 MOV P1,#11010000B;选通十位 ORL P1,31H;输出十位显示数 MOV P1,#10110000B;选通百位 ORL P1,32H;输出百位显示数 RET;,【例9-4】按图9-5试编制显示子程序(小数点固定在第二位),已知显示数存在内RAM 30H32H中。,动态显示电路连结形式:显示各位的所有相同字段线连在一起,共8段,由一个8位I/O口控制;每一位的公共端(共阳或共阴COM)由另一个I/O口控制。,四、动态显示方式及其典型应用电路,LED数码管动态显示举例,
14、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被选中。利用“视觉暂留”,每送一个字符并选中相应位线,延时一会儿,再送/选下一个循环扫描即可。,共阴 数码管,位选线,段代码,P0.7 P0.6 P0.5 P0.4 P0.3 P0.2 P0.1 P0.0,7406 OC门 X 3,+5V,AT89C51,位选线,段代码,要求:此处为共阴数码管,P0口送段代码,P1口送位选信号。通过查表实现动态显示。条件:待显数
15、据(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;个位的位选信号=01HLD1:MOV A,R0;通过R0间接寻址 M
16、OVC 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单元(分别对应十万位个位)使用共阳
17、译码表。,动态显示举例(循环显示“8”的实验)实验箱从P0口扩展了两个8位的简单I/O口:一个送段代码(字形状),地址是0DCH;一个送位选信号(字位置),地址是0DDH。,ORG 0000H MOV R0,#0DCH;指向字形口 MOV A,#80H;送“8”的字形代码 MOVX R0,A;输出字形代码 MOV R1,#0DDH;指向字位口 MOV A,#20H;从最高位开始LEDO:MOVX R1,A;输出字位代码 ACALL DEYS;调延时子程序 RR A;右移一位 SJMP LEDO;循环显示“8”,1、共阴型8位动态显示电路,DIR4:MOV R2,#10;置循环扫描次数 MOV
18、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;子程序返回,【例9-5】按图9-7,试编制循环扫描(10
19、次)显示子程序,已知显示字段码存在以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;取十位字段码 MOVX DPTR,A;输出十位字段码 CLR P1.1;十位显示 LCALL DY2ms;延
20、时2msDIR52:SETB P1.1;十位停显示 MOV A,42H;取百位字段码 MOVX DPTR,A;输出百位字段码 CLR P1.2;百位显示 LCALL DY2ms;延时2ms DJNZ R2,DIR50;判循环显示结束否?未完继续 ORL P1,#00000111B;3位灭显示 RET;,【例9-6】根据图9-8电路,试编制3位动态扫描显示程序(循环100次),已知显示字段码存在以40H(低位)为首址的3字节内RAM中。解:编程如下:,1、SAA1064引脚功能,五、虚拟I2C总线串行显示电路,VDD、VEE:电源、接地端。电源4.515V;P1P16:段驱动输出端。分为两个8位
21、口:P1P8;P9P16。P8、P16为高位。口锁存器具有反相功能,置1时,端口输出0。MX1、MX2:位码驱动端。静态显示驱动时,一片SAA1064可驱动二位LED数码管;动态显示驱动时,按图9-10连接方式,一片SAA1064可驱动四位LED数码管;SDA、SCL:I2C总线数据端、时钟端;CEXT:时钟振荡器外接电容,典型值2700pF ADR:地址引脚端。SAA1064引脚地址A1、A0采用ADR模拟电压比较编址。当ADR引脚电平为0、3VDD/8,5VDD/8、VDD时,相应引脚地址A2、A1、A0 分别为000、001、010、011;,2、硬件电路设计,片内寄存器,3、片内可编程
22、功能,控制命令COM,CO:静动态控制,C0=1,动态显示,动态显示时,data1、data2轮流从P8P1输出,data3、data4轮流从P16P9输出;C1:显示位1、3亮暗选择,C1=1,选择亮;C2:显示位2、4亮暗选择,C2=1,选择亮;C3:测试位,C3=1,所有段亮;C4、C5、C6:驱动电流控制位,C4、C5、C6分别为1时,驱动电流分别为3mA、6mA、12mA;C4、C5、C6全为1时,驱动电流最大,可达21mA。,写数据操作格式,红色部分由80C51发送,SAA1064接收;黑色部分由SAA1064发送,80C51接收。SLAW为写SAA1064寻址字节,按图9-10所
23、示连接电路:SAA1064(1)SLAW=01110000B;SAA1064(2)SLAW=01110110B。其中0111(D74)为SAA1064器件地址,D31为A2A1A0寻址字节,末位D0为R/W;SADR为片内寄存器地址;COM为控制命令。,解:,VSAA:MOV MTD,#00H;置SAA1064控制命令寄存器COM片内子地址 MOV 31H,#01000111B;置控制命令字,动态显示,驱动电流12mA MOV NUMB,#6;置发送数据数:SADR+COM+data14=6SAA1:MOV RO,#51H;将51H54H显示符数据移至32H35H LCALL MOVB;MOV
24、 SLA,#01110000B;置SAA1064(1)写寻址字节SLAW LCALL WRNB;发送给SAA1064(1)SAA2:MOV R0,#55H;将55H58H显示符数据移至32H35H LCALL MOVB;MOV SLA,#01110110B;置SAA1064(2)寻址字节SLAW LCALL WRNB;发送给SAA1064(2)RET;MOVB:MOV R1,#32H;显示符数据移至32H35H子程序MOVB1:MOV A,R0;读出 MOV R1,A;存入 INC RO;指向下一读出单元 INC R1;指向下一存入单元 CJNE R1,#36H,MOVB1;判4个数据移完否?
25、未完继续 RET;,【例9-7】已知8位显示符(共阴编码)已依次存入内RAM 51H58H中,试按图9-10编程将其输入SAA1064(1),(2)动态显示,驱动电流为12mA。设VIIC软件包已装入均已按软件包小结中协议定义。,4、程序设计,1、按键开关去抖动问题,9-2 键盘接口,一、键盘接口概述,键盘的抖动时间一般为510ms,抖动现象会引起CPU对一次键操作进行多次处理,从而可能产生错误。,硬件去抖动,消除抖动不良后果的方法:,其中RC滤波电路去抖动电路简单实用,效果较好。,软件去抖动 检测到按键按下后,执行延时10ms子程序后再确认该键是否确实按下,消除抖动影响。,2、按键连接方式
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数码管 显示 常用 外围设备 接口 电路
链接地址:https://www.31ppt.com/p-6297432.html