




已阅读5页,还剩88页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 D/A 、A/D 接口芯片,1.1 D/A转换器的工作原理,1.2 典型D/A器件的应用,2 显示键盘及接口,2.2 LCD显示器及接口,2.3 键盘及接口,2.1 LED显示器及接口,存储器扩展技术部分-目录,1.3 A/D转换器的工作原理,2.4 专用键盘、显示接口芯片8279的应用,1.4 典型A/D器件的应用,总 目 录,D/A是将数字量转换成模拟量的器件, D/A的输出是电压或电流信号。衡量D/A性能的主要参数是:,分辨率: 即输出的模拟量的最小变化量。 满刻度误差:即输入为全1时,实际输出电压与理 想值之差。 输出范围: 转换时间:从转换器的输入改变到输出稳定的时间间隔。 是否容易与CPU接口,1 D/A 、A/D 接口芯片,1.1 D/A转换器的工作原理,目 录,(1)D / A转换器的转换特性,对n位D/A转换器,其输入是n位二进制数字输入信号Din,将Din看成小数二进制数码,则Din可表示为:,设D/A转换器的基准电压为UR,则理想D/A转换器的输出电压为:,则满量程输出电压值为:,即满量程值比基准电压小一个最低有效位(LSB)的数码。,R2R梯形电阻式D/A转换原理,目 录,即模拟输出电压Uo与二进制输入信号成正比。但电路用到的电阻规格太多,则电阻差别大,故精度不高。,(2)D / A转换器结构及原理,单片D/A转换器的基本组成包括基准电压源、解码网络、电子开关阵列和相加运算放大器等部分,其中电阻解码网络是其核心,常用的解码网络有二进制加权电阻网络和R2R梯形电阻网络。,a、加权电阻网络电路,模拟开关由相应位的二进制数码控制,当某位为1时,模拟开关与参考电压源接通,则流向求和点A的总电流为:,目 录,b、R2R梯形电阻网络电路,图中A1An各节点往右看,对地的电阻值均等于R。从左到右,各路电流分配规律是IR/2, IR/22,, IR/2n,则输出电压为:,即模拟输出电压Uo与二进制输入信号成正比。,目 录,1.2 典型D/A器件的应用,1.2.1、 D/A芯片DAC0832的应用,目 录,图11 DAC0832的内部结构图,目 录,图12 DAC0832引脚图,图13 DAC0832外围连接图,目 录,目 录,二、DAC0832工作方式,DAC0832可以有三种工作方式:,(1)、单缓冲方式 若应用系统中只有一路D/A转换或虽然有多路转换,但并不要求各路信号同步输出时,则采用单缓冲方式来接口。方法是:使锁存器和DAC寄存器同时接收数据。 (2)、双缓冲方式 当多路D/A信号要求同步输出时,则采用双缓冲方式。方法是:分别使其输入锁存器接收数据;同时传送数据到其 DAC寄存器,以实现多路转换同步输出。,目 录,四、DAC0832与MCS51的接口方法,(3)、直通方式 所有控制信号均有效,适宜于连续控制时。,三、电流输出转换成电压输出,MCS51执行下面的程序后运放的输出端产生一个锯齿型的电压波形: MAIN:MOV DPTR,#7FFFH MOV A,#0 LOOP: MOVX DPTR,A INC A AJMP LOOP,目 录,三、DAC0832的应用,(1)、单缓冲方式,图14 DAC0832单缓冲方式接口电路,目 录,执行下面的几条指令就能完成一次D/A转换: MOV DPTR, 7FFFH ; 指向DAC0832 MOV A, DATA ; 数字量装入A MOVX DPTR, A ; 完成一次D/A输入与转换,(2)、双缓冲方式,目 录,图15 DAC0832组成同步双通道输出,目 录,MOV DPTR, 0DFFFH ; 指向DAC0832(1) MOV A, data1 ; data1送入DAC0832(1)中锁存 MOVX DPTR, A ; MOV DPTR, 0BFFFH ; 指向DAC0832(2) MOV A, data2 ; data2送入DAC0832(2)中锁存 MOVX DPTR, A MOV DPTR, 7FFFH ; 给0832(1)和(2)提供WR信号 MOVX DPTR, A ; 同时完成D/A转换输出,目 录,【例1.1】利用DAC0832产生阶梯波,图16 DAC0832产生的阶梯波形图,目 录,参考程序如下:,START: MOV A, 00H ; MOV DPTR, 7FFFH ; 0832 的地址送DPTR MOV R1, 0AH ; 台阶数为 10 LP: MOVX DPTR, A ; 送数据至 0832 CALL DELAY ; 1 ms延时 DJN2 R1, NEXT ; 不到 10 台阶转移 SJMP STRT ; 产生下一个周期 NEXT: ADD A, 10 ; 台阶增幅 SJMP LP ; 产生下一台阶 DELAY: MOV 20H, 249 ; 1 ms延时程序 AGAIN: NOP NOP DJNZ 20H, AGAIN,目 录,作 业:,目 录,P223 4,衡量A / D性能的主要参数是: 分辨率: 即输出的数字量变化一个相邻的值所对应的输入 模拟量的变化值。 满刻度误差:即输出全1时输入电压与理想输入量值之差。 转换速率: 完成一次转换所需时间的倒数。 转换精度: 量化值与一个理想A/D转换器进行模/数转换的差 值。或者说是实际A/D与理想A/D的差别。 是否可方便地与CPU接口,1.3 A/D转换器的工作原理,目 录,MCS51个别单片机内部具有A/D转换线路(例如:8XC51GA/GB内具有8路8位逐次逼近式A/D)。 A/D种类:,逐次逼近式 双积分式(单积分、四积分) 电荷平衡式 并行式,一、双积分A/D转换原理,由积分器、过零电压比较器、控制逻辑电路、时钟和计数器等部分组成。双积分A/D工作时分为两个步骤:固定时间积分; 固定斜率积分。,目 录,双积分A/D输出是采样周期内输入信号Ui的平均值,因此对叠加在输入信号的交流干扰有很强的抑制能力,但转换速度较慢。,二、逐次逼近式A/D转换原理,逐次逼近A/D由比较器、D/A转换器、时钟电路、逐次逼近寄存器、逻辑控制电路、输出缓冲器等组成,它是采用逐次比较法来实现的。转换开始后,在逻辑控制电路控制下,,时钟电路使逐次逼近寄存器的最高位置1,其他各位置0,,目 录,然后经D/A转换成对应的模拟电压Us,送到比较器的一个输入端并与比较器另一个输入端的模拟电压Ui比较,若UsUi,则表明预设的这一数码太大,逻辑控制电路将逐次逼近寄存器的该位置0;若UsUi,则表明预设的这一数码不够大,逻辑控制电路将逐次逼近寄存器的该位保持为1,再将逐次逼近寄存器的下一位置1,其他,各位仍为0,然后再经D / A转换成对应的模拟电压Us,再比较以确定这一位的1是保留还是要清除。这样逐位进行比较,直至D/A转换器输出电压Us与Ui相等或Ui-Us小于最大量化误差值为止。比较结束时,寄存器中所保留的代码就是与Ui相应的数字代码,从而完成了A/D转换。这种A/D只需n次操作就能完成n位的转换,转换速度较高,精度也较高,电路结构简单。,目 录,一 、ADC0809的结构,ADC0809是一种8路模拟输入,8位逐次逼近式A/D。,IN0IN07:8路模拟量输入线; A、B、C:通路选择输入线; EOC:转换结束信号输出线,转换结束后EOC输出一个宽为8个CLK周期的正脉冲。,1.4 典型A/D器件的应用,1.4.1、 A/D芯片ADC0809的应用,目 录,图17 ADC0809的内部结构图,目 录,图18 ADC0809的引脚图,目 录,图19 ADC0809的时序图,目 录,二、MCS51与ADC0809接口方法,在一个8路数据采集系统中。要求在P1.0输入的同步脉冲控制下对8路模拟量依次各采集256个数据,存放在外部0B000H0BFFFH单元中(0B000H0B0FFH中为IN0的采样数据, 0B100H0B1FFH中为IN1的采样数据, 0B700H0B7FFH中为IN07的采样数据。程序如下:,AD0816: MOV R0,#00 MOV P2,#0B0H MOV R7,#0 MOV R5,#0 MOV R6,#08H MOV DPTR,#7FF8H ;置IN0地址 WAIT: JB P1.0,WAIT L0: MOVX DPTR,A,目 录,二、MCS51与ADC0809接口方法,(1) 查询方式,图110 ADC0809查询方式连接图,目 录,下面的程序是采用查询方法, 分别对 8 路模拟信号轮流采样一次, 并依次把结果转存到数据存储区的采样转换程序。,MOV R1, data ; 置数据区首址 MOV DPTR, 7FF8H ; P2.7=0, 指向通道 0 MOV R7, 08H ; 置通道数 LP1: MOVX DPTR, A ; 启动A/D转换 MOV R6, 0AH ; 软件延时 DALY: NOP NOP NOP,目 录,NOP NOP DJNZ R6, DALY MOVX A, DPTR ; 读取转换结果 MOV R1, A ; 存储数据 INC DPTR ; 指向下一个通道 INC R1 ; 修改数据区指针 DJNZ R7, LP1 ; 8 个通道全采样完了吗?,目 录,(2) 中断方式,图 111ADC0809 中断方式硬件接口,目 录,这里将ADC0809 作为一个外部扩展的并行I/O口, 直接由8031的P2.0和WR脉冲进行启动。因而其端口地址为 0FEFFH。用中断方式读取转换结果的数字量, 模拟量输入通道选择端ADD A、ADD B、ADD C分别与8031的P0.0、 P0.1、P0.2 直接相连, CLK由 8031 的ALE提供。其读取通道 0 转换后的数字量程序段如下:,ORG 1000H INADC: SETB IT1 ; INT1设为边沿触发 SETB EA ; 开中断INT1 SETB EX1,目 录,MOV DPTR, 0FEFFH ; 端口地址送DPTR MOV A, 00H ; 选择 0 通道输入 MOVX DPTR, A ; 启动输入 ORG 0013H AJMP PINT1 PINT1: MOV DPTR, 0FEFFH ; 端口地址送DPTR MOVX A, DPTR ; 读取IN0 的转换结果 MOV 50H, A ; 存入 50H单元 MOV A, 00H MOVX DPTR, A ; 启动A/D, IN0 通道输入并转换 RETI ; 返回,目 录,【例1.2】:在一个8路数据采集系统中。要求在P1.0输入的同步脉冲控制下对8路模拟量依次各采集256个数据,存放在外部0B000H0BFFFH单元中(0B000H0B0FFH中为IN0的采样数据, 0B100H0B1FFH中为IN1的采样数据, 0B700H0B7FFH中为IN07的采样数据。参考程序如下:,AD0809: MOV R0,#00 MOV P2,#0B0H MOV R7,#0 MOV R5,#0 MOV R6,#08H MOV DPTR,#7FF8H ;置IN0地址 WAIT: JB P1.0,WAIT L0: MOVX DPTR,A,目 录,图 112 【例1.2】硬件电路连接图,目 录,MOV 30H,#0AH DELAY: DJNZ 30H,DELAY FINISH: JB P3.3,FINISH MOVX A,DPTR MOVX R0,A INC DPTR INC P2 DJNZ R6,L0 DJNZ R7,L1 LCALL AD0809 L1: INC R5 MOV P2,#0B0H MOV A,R5 MOV R0,A MOV R6,#08H AJMP L0,目 录,作 业:,目 录,P223 6,在单片机应用系统中,使用的显示器主要有LED(发光二极管显示器)和LCD(液晶显示器)。 一、LED显示器的结构 LED显示器是由发光二极管来显示字段的器件。,目 录,2 显示键盘及接口,2.1 LED显示器及接口,共阴极与共阳极的段选码互为反码。,目 录,二、显示器的显示方式 (1)、静态显示方式 静态显示方式就是当显示器显示某一个字符时,相应的发光二极管恒定地导通或截止,直到显示另一个字符为止。静态显示时的亮度较高,编程容易,管理也较简单,但占用I/O口资源较多,因此在显示位数较多时,一般采用动态显示方式。 设8255的PA、PB、PC三个8位I/O口输出分别显示字符“1”、“2”、“3”的程序如下(设8255控制口地址为7FFFH): MOV DPTR,#7FFFH ;8255控制口 MOV A,#80H MOV DPTR,A ;设8255 PA、PB、PC都为输出口 MOV DPTR,#7FFCH ;指向8255 PA口地址,目 录,MOV A,#0F9H MOVX DPTR,A ;显示字符“1” MOV DPTR,#7FFDH ;指向8255 PB口地址 MOV A,#0A4H MOVX DPTR,A ;显示字符“2” MOV DPTR,#7FFEH ;指向8255 PC口地址 MOV A,#0B0H MOVX DPTR,A ;显示字符“3” RET,目 录,(2)、动态显示方式 在多位LED显示时,为了节省I/O口线,一般采用动态显示方式。动态显示方式是一位一位地分时轮流点亮各位显示器,对每一位显示器来说,每隔一段时间轮流点亮一次。显示器的亮度既与导通电流有关,也与点亮和熄灭时间的比例有关。调整导通电流和时间参数,可实现亮度较高较稳定的显示。这种显示方式将七段LED显示器的所有段选位并联在一起,由一个8位I/O口控制,而共阴极或共阳极的公共端分别由相应的I/O口控制,实现各位显示器的分时选通。,图658中设6位显示器的显示缓冲器单元为内部RAM 79H7EH,分别存放6位显示器的显示数据。显示程序如下:,目 录,1008,图23 用8155 I/O口的6位动态显示器接口,8155,+5V,COM0,COM1,COM2,COM3,COM4,COM5,共阴极显示器,PA5 PA4 PA3 PA2 PA1 PA0,PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7,MCS51,74LS07,74LS06,目 录,DIR6:MOV R0,#79H ;置显示缓冲区首地址 MOV DPTR,#7F00H ;设8155的命令字寄存器地址 ;为7F00H MOV A,#03H MOVX DPTR,A ;设8155 PA、PB口为输出口 MOV R3,#01 MOV A,R3 ;为PA口输出准备数据 LD0: MOV DPTR,#7F01H ;指向8155 PA口地址 MOVX DPTR,A ;设一个显示器的公共端为0 INC DPTR ;指向8155 PB口地址 MOV A,R0 ;取显示缓冲区的数据 ADD A,#0DH MOVC A,A+PC ;查表找出与该显示器显示缓 ;冲区对应的字符数据 DIR1:MOVX DPTR,A ;从8155 PB口输出数据,目 录,ACALL DL1 ;进行适当的延时,延时程序从略 INC R0 ;指向下一个显示缓冲区地址 MOV A,R3 JB ACC.5,LD1;是否显示到第6个显示器? RL A ;为显示下一个数据准备PA口数据 MOV R3,A SJMP LD0 ;6个数据未显示完,则继续显示 LD1: RET DSEG: DB 3FH,06H,5BH,4FH,66H,6DH;0、1、2、3、4、5 DSEG1:DB 7DH,07H,7FH,6FH,77H,7CH;6、7、8、9、A、b DSEG2:DB 39H,5EH,79H,71H,73H,3EH ;C、D、E、F、P、U DSEG3:DB 31H,6EH,1CH,23H,40H,03H;、y、 ;、 DSEG4:DB 18H,00,00,00 ;、,目 录,LCD显示器件工作电流小、重量轻、功耗低、寿命长,字迹清晰美观,在便携式仪表、低功耗应用的较高档仪器仪表中被广泛采用。,一、LCD显示器的基本结构及工作原理,LCD器件的基本结构是在上、下两玻璃电极之间注入向列型液晶材料,密封透明 。,目 录,2.2 LCD显示器及接口,液晶显示器从显示的形式上可分为段式、点阵字符式和点阵图形式。 段式LCD显示器显示字型的笔画与LED显示器相同,也有ag七个段选位,另外小数点和其它一些符号,也可作为一个电极出现。同样它也有一个公共端COM。其显示方式也有静态显示方式和动态显示方式。,静态显示方式需加直流电,动态显示方式需加交流电。液晶分子在长时间的单向电流作用下容易发生电解,使LCD的寿命减少,因此液晶的驱动很少用需用直流电的静态驱动方式,而是通常采用动态驱动方式。且因液晶在高频交流电作用下也不能很好地显示,故一般采取125150Hz的方波来驱动液晶。,目 录,实用时,当前、背两极之间电压为0V时,该字段不亮,当两极电压为2倍幅值时,该字段呈现黑色显示。 极间电压0V产生的原理:当VB0V,因是异或门,所以总有VCVA,即前背两电压相等,从而电位差为0或VAVC0。故可以用B端作为液晶段的显示控制端。,目 录,目 录,二、LCD驱动器ICM7211简介,显示数字的液晶显示板有:3位半(如3555)、4位半(如YXY4501)、5位(如YXY5001)、6位(如YXY6500)、8位(如YXY8002)等。用于驱动的集成电路的型号很多,一般选用一次能驱动多位数的芯片,如ICM7211。,目 录,目 录,目 录,三、LCD驱动器ICM7211(A)M与MCS51的接口,一片ICM7211(A)M只能驱动4位LCD,故共需两片ICM7211(A)M采取级联方式才能驱动YXY8002。图中,P2.7作为第一片ICM7211(A)M的片选信号,则地址为7FFFH;P2.6作为第二片ICM7211(A)M的片选信号,则地址为0BFFFH。,目 录,在8位LCD显示器上显示字符串“12345678”,经过一段时间延时后再显示字符串“HPHELP”的参考程序如下: LCD_DISP: MOV R2,#4 CLR A DS_LCD0: MOV R1,#0 MOV DPTR,#7FFFH ;准备清除第一片显示 ADD A,# 7 DS_LCD1: MOVC A,A+PC MOVX DPTR,A ;清除第一片显示(顺 ;序为LCD1LCD4) INC R1 MOV A,R1 DJNZ R2,DS_LCD1,目 录,SJMP DS_LCD2 LCDD11:DB 3FH,2FH,1FH,0FH DS_LCD2: MOV R2,#4 CLR A MOV R1,#0 MOV DPTR,#0BFFFH ;准备清除第二片显示 ADD A,# 7 DS_LCD3: MOVC A,A+PC MOVX DPTR,A ;清除第二片显示(顺 ;序为LCD1LCD4) INC R1 MOV A,R1 DJNZ R2,DS_LCD3 SJMP DS_LCD4 LCDD12:DB 0CFH,8FH,4FH,0FH,目 录,DS_LCD4: MOV R2,#4 CLR A MOV R1,#0 MOV DPTR,#7FFFH ;准备在第一片显示“1234” ADD A,# 7 DS_LCD5: MOVC A,A+PC ;在第一片显示“1234” MOVX DPTR,A INC R1 MOV A,R1 DJNZ R2,DS_LCD5 SJMP DS_LCD6 LCDD21:DB 31H,22H,13H,04H DS_LCD6: MOV R2,#4 CLR A,目 录,MOV R1,#0 MOV DPTR,#0BFFFH ;准备在第二片显示“5678” ADD A,# 7 DS_LCD7: MOVC A,A+PC ;在第二片显示“5678” MOVX DPTR,A INC R1 MOV A,R1 DJNZ R2,DS_LCD7 SJMP DS_LCD8 LCDD22:DB 0C5H,86H,47H,08H DS_LCD8: ACALL DELAY ;延时,延时程序这里未给出 MOV R2,#4 CLR A MOV R1,#0 MOV DPTR,#7FFFH ;备在第一片显示“HP” ADD A,# 7,目 录,DS_LCD9: MOVC A,A+PC ;在第一片显示“HP” MOVX DPTR,A INC R1 MOV A,R1 DJNZ R2,DS_LCD9 SJMP DS_LCD10 LCDD31:DB 3CHH,2EH,1AH,0AH DS_LCD10: MOV R2,#4 CLR A MOV R1,#0 MOV DPTR,#0BFFFH ;准备在第二片显示“HELP” ADD A,# 7 DS_LCD11: MOVC A,A+PC ;在第二片显示“HELP” MOVX DPTR,A,目 录,INC R1 MOV A,R1 DJNZ R2,DS_LCD11 SJMP DS_LCD12 LCDD32:DB 0CCH,8BH,4DH,0EH DS_LCD12: RET,目 录,作 业:,P190 5,2.3 键盘及接口,键盘是由若干个按键组成的开关矩阵,是实现人机会话或人机通信的常用工具。由硬件识别键的闭合编码键盘,由软件识别键的闭合未编码键盘。在由单片机组成的测控系统及智能化仪器中,用得较多的是未编码键盘。 通常按键开关为机械弹性开关,机械开关在闭合及断开瞬间均伴随有一连串的抖动 ,时间一般为520ms。,消除键抖动可用硬件和软件两种方法,一、独立式未编码键盘接口及处理程序,独立式键盘是各按键相互独立地接通一条输入数据线 。,目 录,START: MOV A,#0FFH MOV P1,A ;P1口作为输入时,其口锁存 ;器必须保持为1 MOV A,P1 ;取P1口的值,即读键状态 JNB ACC.0,K0 ;0号键按下转K0 JNB ACC.1,K1 ;1号键按下转K1 JNB ACC.2,K2 ;2号键按下转K2 JNB ACC.3,K3 ;3号键按下转K3 JNB ACC.4,K4 ;4号键按下转K4 JNB ACC.5,K5 ;5号键按下转K5 JNB ACC.6,K6 ;6号键按下转K6 JNB ACC.7,K7 ;7号键按下转K7 JMP START ;无键按下返回 K0: LJMP PK0 ;转0号键按下处理程序 K1: LJMP PK1 ;转1号键按下处理程序 K7: LJMP PK7 ;转7号键按下处理程序,目 录,PK0: ;0号键处理程序 JMP START PK7: ;7号键处理程序 JMP START,二、行列式未编码键盘原理及处理程序,对于未编码键盘一般排列成nm矩阵形式,即由n行m列组成。当无键按下时,Xi均为高电平;当有键按下时,Xi的电平由Yi决定。如果把行线接单片机的输入口,列线接单片机的输出口,则可在单片机的控制下,先使,目 录,列线Y0为低电平,其它列线为高电平,读行线状态,如所有行线均为高电平,则表明Y0这一列没有键闭合;如读出的行线状态不全为高电平,则为低电平的行线和Y0相交的键闭合。依次类推可获得与其它列线相交的闭合键。获取键状态的方式有:CPU空闲时扫描键盘; 定时扫描键盘; 中断方式扫描键盘。,三、行列式未编码键盘与MCS51的接口方法,目 录,目 录,KD1: MOV A,#03H MOV DPTR,#7F00H ;设8155命令字地址为7F00H MOVX DPTR,A ;PA、PB为输出,PC为输入KEY1:ACALL KS1 ;调用判别有无键闭合子程序 JNZ LK1 ;有键闭合,则转LK1 ACALL DIS ;无键闭合,调用显示延时 AJMP KEY1 ;返回继续判键是否闭合 LK1 : ACALL DIS ;调用显示程序延时消除抖动 ACALL DIS ACALL KS1 ;消抖后,再次判键是否闭合 JNZ LK2 ;有键闭合,则转LK2 ACALL DIS AJMP KEY1 ;无键闭,继续判键是否闭合LK2: MOV R2,#01H ;先扫描第一列 MOV R4,#00H ;设第一列键序号为0 LK4: MOV DPTR,#7F01H ;指向8155 PA口地址 MOV A,R2,目 录,MOVX DPTR,A ;8155 PA输出 INC DPTR INC DPTR ;指向PC口地址 MOVX A,DPTR ;读PC口的内容 JB ACC.0,LONE ;表明0行无键按下 MOV A,#0 ; 0行有键按下,行起始键号为0 AJMP LKP ;跳转至LKP,计算键号 LONE: JB ACC.1,NEXT ;表明1行无键按下 MOV A,#6 ; 1行有键按下,行起始键号为6 AJMP LKP LKP: ADD A,R4 ;行起始键号与列号之和为键号 PUSH ACC ;保存键号 LK3: ACALL DIS ;延时 ACALL KS1 ;判键是否释放 JNZ LK3 ;等待键释放 POP ACC ;取键号 ;对应的键处理程序从略,目 录,RET NEXT: INC R4 ;指向下一列,列号加1 MOV A,R2 JB ACC.5,KND ;是否6列全部扫描一遍 RL A ;没有,则准备扫描下一列 MOV R2,A ;即准备扫描下一列 AJMP LK4 KND: AJMP KEY1 ;继续扫描键盘 KS1: MOV DPTR,#7F01H ;指向8155 PA口 MOV A,#0FFH MOVX DPTR,A ;输出0FFH,即选中全部键盘列 INC DPTR INC DPTR ;指向8155 PC口 MOVX A,DPTR ;读8155 PC口内容 CPL A ;读出的内容取反 ANL A,#03H ;只有低位两行键 RET,目 录,以上键盘扫描程序,CPU需不停的扫描键盘,影响其它功能的执行,工作效率较低。在实际使用键盘时常采用定时扫描键盘的方式或中断方式。图671为一个44键盘与MCS51采用中断方式的一种接口电路。当键盘上有任一个键闭合时P3.3变为低电平,向CPU发出中断请求 。,目 录,实际是一种可编程的集成监控器件。 可为64键提供键阵扫描式接口。 可以自动消抖,自动识别按键,给出键码。 可对双键和多键同时按下实行保护。 对发光二极管荧光屏及其他显示器提供扫描式接口。 对于LED数码管可显示多达16位的字符 和数字显示。,目 录,2.3 专用键盘、显示接口芯片8279的应用,一、 8279内部结构和电路工作原理,目 录,(1)、I/O控制及数据缓冲器 I/O控制是计算机对8279进行控制的引线,包括读、写、片选以及数据/命令(状态)控制A0。 数据缓冲器是计算机与8279之间传送数据或命令。,(2)、控制与定时寄存器及定时控制 控制与定时寄存器用来寄存键盘及显示的工作方式,以及由CPU编程的其它操作方式。 定时控制决定一个由软件编程的分频数(值为231),以便从外部时钟CLK分频得到内部所需要的100KHz时钟。然后再经过分频,为键盘扫描提供适当的逐行扫描频率和显示扫描时间。,目 录,(3)、扫描计数器 编码方式,扫描计数器作二进制计数。4位计数状态从扫描线SL0SL3输出,经外部译码器译码后,为键盘和显示器提供扫描线(十六选一);,译码方式,扫描计数器的最低二位被译码后,从SL0SL3输出(四选一)。 在编码方式下,扫描线为输出高电平有效,在译码方式下扫描线为输出低电平有效。,目 录,(4)、回复缓冲器、键盘去抖及控制,a、 键盘工作方式 寻找一行中是否有闭合键 消抖:若发现RL70中某行有键按下,则延时10ms,再查RL70,仍有则形成键描述码,放入先进先出寄存器(FIFO)。,描述码格式,目 录,b、选通方式 回复线的内容在CNTL/STB信号的脉冲上升沿被送入到FIFO存贮器。,c、 传感器开关状态矩阵方式 回复线的内容在每次按键扫描时被直接存贮到传感器RAM(即FIFO存贮器)的相应单元中。,(5)、FIFO/传感器RAM及其状态寄存器,a、盘或选通工作方式 FIFO/传感器 RAM是双重功能得88RAM。 此时FIFO状态寄存器存放FIFO的工作状态,如空、满、多少字符、是否出错等。当FIFO装有内容时,状态逻辑产生IRQ1,向CPU发出中断请求。,目 录,b、 传感器开关状态矩阵方式 FIFO/传感器RAM为传感器RAM ,检测到一个传感器的状态变化,则IRQ变为高电平向CPU。,(6)、显示RAM和显示地址寄存器,a、显示RAM 显示RAM用来存放显示数据,容量为168位。在显示过程中,存贮的显示数据轮流从显示寄存器输出。 显示寄存器分为A、B两组,OUTA03和OUTB03可以单独送数,也可以组成一个8位的字。,b、 显示地址寄存器 用来寄存由CPU进行读/写显示RAM的地址。 它可以由命令设定设置成每次读出或写入之后自动递增或递减 。,目 录,二、 8279的管脚、引线与功能,目 录,图215 键盘、显示接口芯片8279引脚图,三、 命令字及命令字格式,(1)、键盘/显示方式设置命令字,目 录,预分频器对外部输入CLK端的时钟信号进行PPPPP分频 ,分频取值范围为231。,该命令只在传感器方式时使用,在键盘工作方式中,读出操作严格按照先入先出顺序进行。,AI(D4)为自动增量特征位。当AI = 1时,则每次读出传感器RAM后地址自动加1使地址指针指向下一个存贮单元,下一个数据便从该地址读出。,X(D3)为无关位。,AAA(D2 D1 D0)为传感器RAM中的字节地址。,目 录,AI(D4)为自动增量特征位。AI = 1时,每次读出后地址自动加1,指向下一次读地址。,AAAA(D3 D2 D1 D0)为读显示RAM中的存贮单元地址。,X(D4)为无关位。,当IW/A = 1或IW/B = 1时,可分别屏蔽该组端口,这样CPU送信息到显示RAM时就不影响该端口的内容。,目 录,当BL/A = 1或BL/B = 1时,表示该组的显示输出被消隐。当BL/A = 0或BL/B = 0时,表示该组的显示输出恢复显示。,CF(D1)=1用来置空FIFO存贮器,传感器RAM的读出地址也被置为0。,CA(D0)为总清除位。当CA = 1时,则同时清除FIFO与显示用RAM,目 录,在N键轮回工作方式时,E=1则8279将以一种特定的错误方式工作。其特点是:在8279的消抖周期内,若有多个键同时按下,则置位FIFO状态字中的错误特征位S/E,并产生中断请求信号和阻止写入FIFO RAM。,在传感器工作方式中使用,每当传感器状态出现变化时,使IRQ变高,向CPU请求中断,禁止写入传感器RAM。,目 录,DU:显示无效特征位, DU1表示显示无效。 S/E:传感器信号结束/错误特征值。 传感器方式:S/E1表示最后一个传感器信号已经进入传感器RAM中。 特殊错误方式时:S/E1表示出现多键同时按下错误。 O: FIFO溢出特征位:若FIFO已满还企图写入,则出现超出错误,置O为1。 U: 不足错误特征位:若FIFO已经空,还要读出,则出现不足错误,置U为1。 F: F1表示FIFO已经满。 NNN:FIFO RAM中的字符数,最多8个。,目 录,五、 数据输入/输出,在键盘扫描方式中,发读FIFO命令后,从数据口读入数据的格式为:,CNTL(D7)为控制键CNTL的状态位。,SHIFT(D6)为控制键SHIFT的状态位。,扫描值(D5D4D3)为指示输入键所在列(行)号(由SL2SL0的状态确定)。,回送值(D2D1D0)为指示输入键所在行(列)号(由RL7RL0的状态确定)。,目 录
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 文山州麻栗坡县消防救援大队招聘考试真题2024
- 国殇考试题及答案
- 历年考试题及答案
- 中级财务会计学(安徽财经大学)知到智慧树答案
- 中级微观经济学(双语)(山东联盟)知到智慧树答案
- 中外陶瓷商务英语知到智慧树答案
- 血液肿瘤科PICC专项技术理论考题(附答案)
- 2025版商品房认购及智能家居安装协议范本
- 2025年度专业地板砖铺装施工服务合同
- 2025版汽车经销商品牌授权及销售支持合同
- 小儿上呼吸道感染
- 2025年CCAA国家注册审核员考试(产品认证基础)历年参考题库含答案详解(5卷)
- 2025-2030中国骨科手术导航机器人医生培训体系与手术量增长关联报告
- 北京市西城区2024-2025学年七年级下学期期末道德与法治试题(解析版)
- 苏州工业园区外国语学校语文新初一均衡分班试卷
- 《智能建造概论》高职完整全套教学课件
- 2025-2026小学学年度第一学期教学工作安排表:启智育心绘蓝图筑梦前行谱新篇
- GB/T 30807-2025建筑用绝热制品浸泡法测定长期吸水性
- 无限极中医秋季养生课件
- GB/T 23806-2025精细陶瓷断裂韧性试验方法单边预裂纹梁(SEPB)法
- 妇科常规手术器械处理流程
评论
0/150
提交评论