1、第2章 常用电子电路设计第2节 键盘和显示接口电路设计2.2.2显示接口电路设计 教学目标 1了解显示器的结构、原理。 2掌握显示器的接口硬件设计、软件编制及调试。 教学重点、难点 教学重点:显示器的接口硬件设计、软件编制及调试教学难点:显示器的接口硬件设计、软件编制及调试 导言 上节课我们学习了键盘接口电路的设计,在人机对话系统中除了键盘外还有显示器,那么显示器如何设计呢?下面这节课我们来学习显示接口电路设计。 教学步骤 1、LED数码管显示器结构及原理 (1)LED的结构通常使用的LED是由7个发光二极管排列成的,七段LED的阳极连在一起称为共阳极接法,而阴极接在一起的称为共阴极接法。每段
2、LED的笔画分别称为a、b、c、d、e、f、g,另外有一段构成小数点。一位显示器数码管的结构如图2-2-2-1所示。 (a)数码管结构 (b)共阳极接法 (c)共阴极接法图2-2-2-1 LED数码管原理图(2)LED的工作原理在选用共阴极的LED是,只要在某一发光二极管加上高电平,该段即点亮,反之则暗。而选用共阳极的LED时,要使某一段发光二极管发亮,则需加上低电平,反之则暗,为了保护各段LED不被损坏,需要外加限流电阻。为了要显示某个字形,则应使此字形的相应段点亮,也即送一个不同的电平组合代表的数据来控制LED的显示字形,此数据称为字符的段码。数据字位数与LED段码的关系如表2-2-2-1
3、。表2-2-2-1 数据字位数与LED段码的关系 常用字符共阴极、共阳极时的段码即编码表,如表2-2-2-2。表2-2-2-2 常用字符显示编码表2.LED显示接口电路设计(1)单个数码管显示接口电路如图2-2-2-2所示。图2-2-2-2 单个数码管显示接口电路MOV PO, #OCOH ;显示数码0程序设计:MOV DPTR,#TAB ;段码首地址MOV A,30H ;显示缓冲区取数MOVC A,A+DPTR ;读段码MOV PO,A ;送显示(2)两个数码管显示接口电路如图2-2-2-3所示。图2-2-2-3 两个数码管显示接口电路MOV P0,#0C0H ;显示数“0”MOV P2,#
4、0F9H ;显示数“1”程序设计:MOV DPTR,#TAB ;段码首地址MOV A,30H ;显示缓冲区取数MOVC A,A+DPTR ;读段码MOV PO,A ;送显示MOV A,31H ;显示缓冲区取数MOVC A,A+DPTR ;读段码MOV PO,A ;送显示 MOV DPTR,#TAB ;段码首地址MOV RO,#30H ;显示缓冲区地址MOV A,RO ;显示缓冲区取数MOVC A,A+DPTR ;读段码MOV PO,A ;送显示INC RO ;显示缓冲区取数MOV A,RO ;显示缓冲区取数MOVC A,A+DPTR ;读段码MOV P2,A ;送显示(3)多个数码管并行扩展显
5、示接口电路如图2-2-2-4所示。图2-2-2-4 多个数码管并行扩展显示接口电路XS: MOV DPTR,#TAB ;段码表MOV A,30H ;取数据MOVC A,A+DPTR ;取段码MOV PO,A ;送数据CLR P2.0 ;发脉冲SETB P2.0 ;发脉冲MOV A,31H ;取数据MOVC A,A+DPTR ;取段码MOV PO,A ;送数据CLR P2.1 ;发脉冲SETB P2.1 ;发脉冲MOV A,32H ;取数据MOVC A,A+DPTR ;取段码MOV PO,A ;送数据CLR P2.2 ;发脉冲SETB P2.2 ;发脉冲MOV A,33H ;取数据MOVC A,
6、A+DPTR ;取段码MOV PO,A ;送数据CLR P2.3 ;发脉冲SETB P2.3 ;发脉冲RET ;返回子程序TAB:DB 0C0H ;段码表 MOV 30H,#01H ;显示数据MOV 31H,#02H ;显示数据MOV 32H,#03H ;显示数据MOV 33H,#04H ;显示数据LCALL XS ;调用子程序(4)多个数码管串行扩展显示接口电路如图2-2-2-5所示。图2-2-2-5 多个数码管串行扩展显示接口电路XS: MOV R0,#30H ;显示缓冲区 MOV R4,#04H ;显示数码管个数 MOV DPTR,#TAB ;段码表XS1: MOV A,R0 ;取数据M
7、OVC A,A+DPTR ;取段码 MOV R3,#08H ;循环8次XS2; RLC A ;左移 MOV P2.6,C ;送数据 CLR P2.7 ;发脉冲 SETB P2.7 ;发脉冲 DJNZ R3,XS2 ;减一循环 INC R0 ;下一个单元 DJNZ R2,XS1 ;减一循环 RET ;子程序返回TAB: DB 0C0H ;段码表 程序设计:MOV 30H,#01H ;显示数据MOV 31H,#02H ;显示数据MOV 32H,#03H ;显示数据MOV 33H,#04H ;显示数据LCALL XS ;调用子程序(5)多个数码管动态显示接口电路如图2-2-2-6(a)所示。图2-2
8、-2-6 多个数码管动态显示接口电路 程序设计XS: MOV DPTR,#TAB ;段码表 MOV A,30H ;取数据 MOVC A,A+DPTR ;取段码 MOV P0,A ;送数据 CLR P1.0 ;发脉冲LCALL YS ;调延时SETB P1.0 ;发脉冲XS1: MOV DPTR,#TAB ;段码表 MOV A,31H ;取数据 MOVC A,A+DPTR ;取段码 MOV P0,A ;送数据 CLR P1.1 ;发脉冲LCALL YS ;调延时SETB P1.1 ;发脉冲XS2: MOV DPTR,#TAB ;段码表 MOV A,32H ;取数据 MOVC A,A+DPTR ;
9、取段码 MOV P0,A ;送数据 CLR P1.2 ;发脉冲LCALL YS ;调延时SETB P1.2 ;发脉冲XS3:MOV DPTR,#TAB ;段码表 MOV A,33H ;取数据 MOVC A,A+DPTR ;取段码 MOV P0,A ;送数据 CLR P1.3 ;发脉冲LCALL YS ;调延时SETB P1.3 ;发脉冲RET ;子程序返回TAB: DB 0C0H ;段码表 XSS: MOV 30H,#01H ;显示数据MOV 31H,#02H ;显示数据MOV 32H,#03H ;显示数据MOV 33H,#04H ;显示数据LCALL XS ;调用子程序 LJMP XSS三、
10、课堂练习1,在6个数码管上,用动态/静态两种显示方式分别显示1、2、3、4、5、6。2,在数码管上依次循环显示1、2、3、4、5、6。小结 前面几个显示方案各有优缺点。并行扩展方案占用单片机硬件资源比较多,但软件执行速度较快;串行扩展方案占用单片机硬件资源比较少,但软件执行速度较慢;动态显示方案外围硬件少,但占用单片机软件资源比较多。可见,同学们在设计显示电路时应根据具体要求加以选择。如果显示器数量小于4个,可考虑用单片机直接驱动,大于4个应根据电路要求综合考虑,例如:对执行速度的要求;对单片机软件资源的要求;对线路板空间的要求;对单片机引脚资源的要求等。 作业 编制跳跃式显示135799;246688显示程序