《小键盘接口技术》PPT课件.ppt
7.1数码管显示与接口技术,第七章 常用的简单外部设备与接口技术,七段显示器的原理,共阴极,共阳极,1.单个LED显示器结构和字段码关系,段LED字型码(段码),LED驱动电路可以由普通三极管和电阻构成,也可以用大电流器件来实现:,共阴极LED的驱动,共阳极LED的驱动,2.LED的驱动电路,单个共阴极数码管驱动示意图,3.多位LED接口电路,显示多位数据的两种电路:静态显示静态显示是指LED显示屏的上的灯点在显示时是同时点亮发光的;,共阴极LED静态显示方式,每位LED分别用一组8位字段口分别输出显示不同字形。,动态显示,选用1ms左右的时间轮流点亮各个LED数码管,由于人眼的视觉暂留现象,看起来就像是4个数码管同时显示不同的内容。这种扫描显示的方法也叫动态显示。,优点:LED数码管显示降低接口电路的成本;缺点:微处理器频繁访问显示端口;,动态显示举例,以六位共阴极LED数码管显示接口电路为例,共阴数码管显示123456字形码。,设置显示数码管个数:6减至0显示结束,字形码:06H,5BH,4FH,66H,6DH,7DH,位选码,:01H,02H,04H,08H,10H,20H,位选码,D7D0,7.2 小键盘接口技术,独立式键盘,1.键盘分类,为了节省并行端口的IO资源,通常小键盘采用矩阵开关的结构,微处理器通过并行端口读取开关的通断情况,用软件来判断是否有键按下,以及按下的是什么键等信息。,矩阵开关键盘,0,4,8,12,以1个44的开关矩阵为例,采用8255的C端口作为并行端口,设置PC7PC4为输出端口,PC3PC0为输入端口。,PC7PC4输出全0,然后读取PC3PC0如果不为全1,则有按键。,2.按键识别的方法,首先判断是否有键按下:,有键按下,则逐位向PC7PC4输出0,然后读取PC3 PC0,便可知按键的情况。,同行的重键,很好识别;不同行的重键,依扫描顺序识别,行列扫描法,0,4,8,12,3.按键去抖,抖动:一般每个键在按下和松开时,都会经历短时间的抖动才达到稳定接通或稳定断开,因此在脉冲的开头和末尾部位总要出现些毛齿波。,1)硬件消抖法。2)软件延时法。,在第一次检测到有键按下时,执行这段延时子程序使键的前沿抖动消失后再检测该键状态,如果该键仍保持闭合状态电平,则确认为该键已稳定按下,否则无键按下,从而消除了抖动的影响。同理,在检测到按键释放后,也同样要延迟一段时间,以消除后沿抖动,然后转入对该按键的处理。,去抖动的方法通常有两种:,3.LED显示与小键盘接口实例,PA0,PA3,PC0,PC3,输出,输入,PB口,输出,第0行,第1行,第3行,第2行,第0列,第1列,第2列,第3列,LED显示与小键盘接口实例,利用Intel 8255的A端口和C端口,读取44键盘矩阵和显示4位16进制数。在读取键盘时,关闭LED显示,以免相互干扰。,该程序没有设置程序出口,是一个死循环程序。,则设置PA7 PA0为输入端口,PB3PB0为输出端口。再向PB3PB0输出刚才读取的列值,然后读取PA7PA0的行值,将行列值组合后查表即得对应按键。,行翻转法,首先判断是否有键按下,有键按下,设置PA7PA0为输出端口,PB3PB0为输入端口。向PA7PA0输出全0,然后读取PB3PB0,如果不为全1,则有按键。,3.LED显示与小键盘接口实例,利用Intel 8255的A端口和C端口,读取44键盘矩阵和显示4位16进制数。在读取键盘时,关闭LED显示,以免相互干扰。,7.3数模转换,数模转换原理,一般情况下,输入数字量的各位是同时进行D/A转换的,所以也将其称为并行DAC。以输出电压量为例,DAC输出电压u0与输入数字量N之间的关系为:u0kNk为比例系数,N为输入的数字量,是n位的二进制代码,权电阻解码网络,一个四位权电阻网络DAC。主要包括四部分:参考电压源VREF模拟开关S0S3电阻译码网络求和运算放大器,设输入一个四位二进制代码Dd3d2d1d0,根据图可得,流入求和运算放大器输入端的电流为:,设反馈电阻RFR/2,求出电路输出电压为:,所以,电路的输出电压u0与输入的四位二进制代码成正比:,若输入一个四位二进制代码Dd3d2d1d01010,转换成十进制为10,电路的输出电压为:,依此类推,n位权电阻网络DAC的求和运算放大器输入端电流、输出电压表达式分别为:,T型电阻网络DAC,只使用阻值为R和2R的两种电阻,比权电阻网络的制造要简单易行。,T型电阻网络DAC,推广到n位的T型电阻网络,有:,可见,输出的模拟电压VO正比于输入的二进制数字量Bn。,6.2 D/A(数模)转换器,7.3.2 DAC0832简介,三种工作方式:,直通工作方式,单缓冲工作方式,双缓冲工作方式,DI7DI0:8位数字量输入信号,DI7为最高位。CS:片选信号,低电平有效;WR1:输入寄存器写信号,低电平有效;ILE:允许输入寄存器锁存信号,高电平有效。上述3个控制信号共同作用选通输入寄存器。WR2:DAC寄存器写信号,低电平有效;XFER:传送控制信号,低电平有效;上述2个控制信号共同作用选通DAC寄存器。IOUT1:模拟电流输出1,电流的大小与DI7DI0成正比。IOUT2:模拟电流输出2,IOUT1+IOUT2=常数。,RFB:反馈电阻引出端,可以直接连接运算放大器的输出端。VREF:参考电压输入,-10V+10V。VCC:芯片工作电压,+5V+15V。AGND:模拟信号地;DGND:数字信号地。,使用DAC0832的一级锁存器锁存数字量,构成下图所示电路。假设IO地址为DA_PORT时选通CS,产生锯齿波的程序如下,锯齿波的周期由延迟子程序控制。,利用DAC0832产生锯齿波,模数转换原理,7.4模数转换,计数式A/D转换原理,逐次逼近式A/D转换,ADC0809是8通道逐次逼近式ADC芯片,一次A/D转换的时间取决于CLK的频率,CLK的频率可以在101280kHz范围内,典型值为640kHz,对应的典型转换时间为100s。,7.4.2 8位ADC芯片ADC0809简介,CLK(I):时钟信号,其频率决定转换速度。IN7IN0(I):8路模拟量输入信号。ADDC、ADDB、ADDA(I):通道选择信号。ALE(I):通道地址锁存允许信号,高电平有效。START(I):A/D转换启动信号,高电平有效。EOC(O):A/D转换结束信号,高电平有效。D7D0(O):数字量输出信号。OE(I):允许数字量输出信号,高电平有效。VREF+(I):参考电平+,典型值为Vcc。VREF-(I):参考电平-,典型值为GND。Vcc(I):供电引脚,+5V。,ADC0809引脚功能,ADC0809与8086微处理器的连接示意图如下。占用2个IO地址,假设为210H和211H。210H是数据端口,211H是状态端口:,ADC0809转换举例,