资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Led,显示器接口设计,第八章单片机人机接口,计算机科学与软件学院计算机基础教学部,主讲教师,赵晓安,计算机硬件技术基础,8.1,LED,显示器接口,LED,显示器结构与原理,LED,显示接口,显示程序设计,(无条件,I/O,传送),P290,LED,显示器结构与原理,LED,显示器是由个发光二极管显示字段的显示器件, 通过点亮不同的字段可显示,09、,AF,及小数点等字形。其外形结构与原理见图,8-1,所示。,(,a)LED,管脚图;(,b),共阴极;(,c),共阳极,要使数码管显示指定的字符,对共阴极接法的电路:,1,、共阴极端接低电平,2,、要发光的二极管段加高电平,称0,CFH,为字形码,G,端称为字位,dp,g f e d c b a,d7 d6 d5 d4 d3 d2 d1 d0,1 0 0 1 1 1 1,0CFH,+5v,“1”,“0”,8,0,1,1,7FH,段码,(,字形码)各位定义如下:,LED,显示器有静态显示与动态显示两种形式 :,1,、静态显示,就是当显示某个字符时,相应的发光二极管恒定导通或截止。每一个显示器都需要一个带有锁存功能的,I/O,口控制字形码。单片机把要显示的字符的的字形码送到接口电路使得显示器显示相应字符,直到要显示新的数据时,再发送新的字形。,2.,动态显示,就是一位一位地轮流点亮每个显示器(动态扫描),每一位显示器每隔一段时间点亮一次,但由于人视觉的滞留效应,看到的是每个显示器都在显示各自的字符。,LED,显示接口,P290,.,静态显示接口,MC14495,芯片作为,LED,的静态显示器接口,它是,MOTOROLA,公司,生产,CMOS BCD,七段十六进制锁存、译码驱动芯片。它的作用是输入被显示的字符的二进制码,并把它自动转换成相应的字形码,送,LED,显示。,图8-2,MC14495,引脚和逻辑框图,(,a),引脚,(,b),逻辑框图,A、B、C、D,端,为二进制码(或,BCD,码)输入端;,LE,为锁存控制端,LE,为低电平时可以输入数据,,LE,为高电平时锁存输入数据;,为输入数据大于等于,10,指示位,若输入数据大于或等于,10,,,则输出高电平,,否则输出低电平;,VCR,为输入等于,15,指示位,若输入数据等于,15,,,则输出低电平,,否则为高阻状态。,a,b,c,d,e,f,g,字形码输出,.,静态显示接口电路,1,亮,0,灭,.,动态显示接口,所谓动态显示就是一位一位地轮流点亮各位显示器(称为动态扫描),对于每一位显示器来说,每隔一段时间点亮一次。显示器的亮度即与导通电流有关,也与点亮时间和间隔时间的比例有关。调整电流和时间参数,可实现亮度较高较稳定的显示。,常用可编程并行接口芯片,8155,作为,LED,动态显示器的接口。实验设备中,8031,通过,8155,接六只,共阴极,LED,显示器的接口电路。图中,8155 的,B,口经,8,路反相驱动器,74,LS240,与,LED,的,a、b、c、d、e、f、g、,dp,相连,,A,口经六路反相驱动器和各,LED,控制端,G,相连,故,B,口为段选口(字形码口),,A,口为位选口(字位码口),,CPU,可以通过,A,口控制各,LED,是否点亮。,.,动态显示接口电路,图723 8155,的逻辑结构及引脚,8155可编程的并行,I/O,扩展接口,P251,8155,I/O,地址编码,表78,8155,口地址编码,作扩展,I/O,口使用时,8155,工作方式控制字格式,字位表,N6,N5,N4,N3,N2,N1,未,用,20,H,10,H,08,H,04,H,02,H,01,H,0,FF20H,命令,0,FF21H A,口,0,FF22H B,口,0,FF23H C,口,在实验设备中,8155,的端口地址分配,.,动态显示接口电路,段码,(,字形码)各位定义如下:,显示缓冲区,每个显示块对应一个存储单元,存放该块欲显示,字符,的,字形码在表中的项数,(即地址偏移量),。,将01,H,送字位码口;查字形码表,得到字符,1,的字形码,0,F9H,送字形码口,则该位显示,1,,,其它位的显示类同,依次循环往复从低位到高位将字位码,送字位码口;根据显示缓冲区中的数据查字形码表,将对应的字形码送字形码口,其由于视觉残留,六个不同的字符就同时显示出来。,7EH,7DH,7CH,7BH,7AH,79H,06H,05H,04H,03H,02H,01H,20H,10H,08H,04H,02H,01H,ORG 0000H,MOV,79H, #01H,;,将数据送入显示缓冲区,MOV 7AH, #02H,DISP: MOV SP,#5FH,MOV A,#03H,;,对8155,初始化,,A、B,口输出,MOV DPTR,#0FF20H,MOVX DPTR,A ;,方式控制字送,8155,命令口,DISP1: MOV,R0,#79H ;,置显示缓冲区指针初值,MOV,R5,#01H ;,置字位码初值,MOV A,R5,LD0: MOV DPTR,#0FF21H ;,字位码送,8155,A,口,MOVX DPTR,A,MOV DPTR,#0FF22H;B,口地址送,DPTR,MOV A,R0;,待显示字符地址偏移量送,A,ADD A,#0EH;,对,A,进行地址修正,MOVC A,A+PC ;,查字形码表,MOVX DPTR,A ;,字形码送,8155,B,口,ACALL DLAY ;,延时,1,MS,INC R0,MOV A,R5,JB ACC.5,LD1,RL A,字位码左移一位,MOV R5,A,AJMP LD0,LD1: SJMP DISP1,DB 0C0H,0F9H,0A4H,0B0H,99H,92H,DB 82H,0F8H,80H,90H,88H,83H,0C6H,DB 0A1H,86H,8EH,0FFH,0CH,89H,DB 0C8H,0C1H,7FH,0BFH,DLAY: MOV R7,#02H ;,延时子程序,DL1: MOV R6,#0FFH,DL2: DJNZ R6,DL2,DJNZ R7,DL1,RET,END,;,字形码表,口指针,DPTR,,查表,PC,MOV R0, #79H,;,将数据送入显示缓冲区,MOV A,#01,MOV R2, #06,SD: MOV R0,A,INC A,INC R0,DJNZ R2,SD,ORG 0000H,DISP: MOV SP,#5FH,MOV,P2,#0FFH,MOV A,#03H;,对8155,初始化,,A,口、,B,口输出,MOV,R1,#20H,MOVX,R1,A,DISP4: MOV R5,#01H ;,置字位码初值,MOV R0,#79H ;,置显示缓冲区指针初值,MOV A,R5,LD0: MOV,R1,#21H,;,字位码送,8155,A,口,MOVX,R1,A,MOV A,R0,MOV DPTR,#TAB,MOVC A,A+,DPTR,;,查字形码表,INC R1,MOVX,R1,A ;,字形码送,8155,B,口,ACALL DLAY ;,延时,1,MS,INC R0,MOV A,R5,JB ACC.5,LD1,RL A,MOV R5,A,AJMP LD0,LD1: SJMP DISP4,TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,DB 82H,0F8H,80H,90H,88H,83H,0C6H,DB 0A1H,86H,8EH,0FFH,0CH,89H,DB 0C8H,0C1H,7FH,0BFH,;,字形码表,DLAY: MOV R7,#02H ;,延时子程序,DL1: MOV R6,#0FFH,DL2: DJNZ R6,DL2,DJNZ R7,DL1,RET,END,口指针,R1,,查表,DPTR,
展开阅读全文