单片机教案码管显示器接口技术).docVIP

  • 5
  • 0
  • 约3.18万字
  • 约 11页
  • 2017-01-26 发布于河南
  • 举报
单片机教案码管显示器接口技术)

数码管显示器接口技术 一、 LED数码管的结构 由8段发光二极管组成。其中7段组成“8”字,1段组成小数点。通过不同的组合,可用来显示数字0~9、字母A~F及符号“.”。 LED数码管有共阴极和共阳极两种结构。 二、 LED数码管的工作原理 发光二极管导通→亮,不导通→暗。这样就构成了字符的显示。其十六进制的编码表如下: 显示字符 h g f e d c b a 字形代码 0 0 0 1 1 1 1 1 1 3FH 1 0 0 0 0 0 1 1 0 06H 2 0 1 0 1 1 0 1 1 5BH 3 0 1 0 0 1 1 1 1 4FH 4 0 1 1 0 0 1 1 0 66H 5 0 1 1 0 1 1 0 1 6DH 6 0 1 1 1 1 1 0 1 7DH 7 0 0 0 0 0 1 1 1 07H 8 0 1 1 1 1 1 1 1 7FH 9 0 1 1 0 0 1 1 1 67H A 0 1 1 1 0 1 1 1 77H b 0 1 1 1 1 1 0 0 7CH C 0 0 1 1 1 0 0 1 39H d 0 1 0 1 1 1 1 0 5EH E 0 1 1 1 1 0 0 1 79H F 0 1 1 1 0 0 0 1 71H . 1 0 0 0 0 0 0 0 80H 三、数码管接口电路 1、 静态显示方式(硬件接口方法) 这就是我们在数字电路中所学的内容,在数据总线上的信号须经I/O接口电路并锁存,然后通过译码器,就可以驱动LED显示器中的段发光。 这种方式使用的硬件较多(显示器的段数和位数越多,电路越复杂),缺乏灵活性,且只能显示十六进制数。 2、 动态显式方式(软件接口方法) 这种接口方法是以软件查表来代替硬件译码,既省去了译码器,又能显示更多段的字符和更多位的LED显示器。所以广泛应用于单片机系统的显示。 ⑴ 连接方式 ① 将单片机的输出送入可编程的8155芯片,然后利用8155的I/O口提供两路输出信号(一路是段控信号,另一路是位控信号)。 ② 将各位数码管的a~h端分别并在一起(若有6个数码管,则将它们6个a对a,6个b对b......6个h对h相并接),再和上面的一路I/O口输出的8位段控信号相连,以获得显示代码,对应要发光的段。 ③ 将各位数码管的公共端(共阴极或共阳极)分别与上面的另一路I/O口相连(每一位公共端对应I/O口中的一位),以获得位控信号使该位LED发亮。 ④ 为了存放显示的数字或字符,通常在8155的内部RAM中设置显示缓冲区,其存储单元个数与LED显示器的位数相同。 ⑵ 显示原理 ① 每一时刻只有一位LED被点亮,在显示代码的作用下显示信息。 ② 各位LED轮流被点亮,在各自的显示代码的作用下分别显示各自的信息。 ③ 只要利用发光二极管的余光和人眼的驻留效应(即适当调整每位LED的 点亮时间和时间间隔),就可以获得稳定的显示输出。 [应用实例] 使用并行接口芯片8155扩展6位动态数码管显示电路,轮流点亮各LED数码管,每位点亮2ms,重复此过程。 [硬件设计] 1、将8155的PA口和PB口选择在基本输出方式,PA口输出位选码,PB口输出段显示代码。 2、设定PA口(位控口)地址为7F01H,PB口(段控口)地址为7F02H,命令寄存器地址为7F00H。 3、设显示缓冲区地址(8155片内RAM)为:60H~65H(显示器有6位),每一个单元对应一位LED显示器。因为动态扫描是从右向左进行的,所以缓冲区的首地址为60H。用R0存放当前位控码的地址,用R2存放位控码的初值及递增值。若要显示“ . d 6 a 5 0 ”则按下面的顺序依次进行。 [软件设计] 1、编程说明: ① 在动态扫描过程中,调用延时子程序DELAY,其延迟时间为2ms,这是为了让扫描到的那位显示器稳定的亮(驻留)一段时间以保证显示亮度。 ② 显示数据是以查表方法得到其字形代码,故在程序中设置了字形代码表DSEG,因此在编程中采用了查表指令MOVC A,@A+PC,由PC提供16位基址,由A提供变址rel。 ③ 在实用单片机系统中,LED显示程序都是作为一个子程序供监控程序调用,因此在扫描完各位LED后,就返回监控程序,然后再由监控程序调用显示子程序。通过反复调用实现动态扫描。 2、显示程序流程图 START:MOV A,#03H ;将命令字0000 0011B送入A(即将送入8155的命令寄存器) MOV DPTR,#7F00H ;对8155的命令寄存器初始化 MOVX @DPTR,A ;设置PA口、PB口为输

文档评论(0)

1亿VIP精品文档

相关文档