接口与通讯技术接口与通讯技术接口与通讯技术接口与通讯技术((((第第第第八八八八章章章章))))武汉科技大学计算机学院武汉科技大学计算机学院武汉科技大学计算机学院武汉科技大学计算机学院第八章人机交互设备接口第八章人机交互设备接口第八章人机交互设备接口第八章人机交互设备接口本章内容本章内容本章内容本章内容8.1键盘接口键盘接口键盘接口键盘接口8.2CRT显示器接口显示器接口显示器接口显示器接口8.3打印机接口打印机接口打印机接口打印机接口8.4LCD接口接口接口接口8.5鼠标器接口鼠标器接口鼠标器接口鼠标器接口本章要点本章要点本章要点本章要点8.18.18.18.1键盘接键盘接键盘接键盘接口口口口章章章章章章章章内容提要内容提要内容提要内容提要内容提要内容提要内容提要内容提要编码键盘编码键盘编码键盘编码键盘:内部设有键盘编码器,能识键、生成键码、去抖动、防串键非编码键盘非编码键盘非编码键盘非编码键盘:只提供键盘矩阵,按键的识别、键码的提供都由软件来完成本节内容本节内容本节内容本节内容1键盘接口的功能和原理键盘接口的功能和原理键盘接口的功能和原理键盘接口的功能和原理2可编程键盘可编程键盘可编程键盘可编程键盘/LED接口芯片接口芯片接口芯片接口芯片82793PC微机键盘及接口微机键盘及接口微机键盘及接口微机键盘及接口1.1.1.1.键盘接口的功能和原键盘接口的功能和原键盘接口的功能和原键盘接口的功能和原理理理理章章章章章章章章内容提要内容提要内容提要内容提要内容提要内容提要内容提要内容提要节节节节节节节节内容提要内容提要内容提要内容提要内容提要内容提要内容提要内容提要1111))))接口功能接口功能接口功能接口功能2222))))接口原理接口原理接口原理接口原理————————非编码键盘,行扫描,低有效去抖动去抖动去抖动去抖动:时间5~20ms,软件延时或硬件完成防串键防串键防串键防串键:多键同时按下或前一按键未释放又按下新键的处理按键识别按键识别按键识别按键识别:键码产生键码产生键码产生键码产生:得到反映键功能的键码,查表法双键锁定双键锁定双键锁定双键锁定:后释放者有效NNNN键轮回键轮回键轮回键轮回:所有键依顺序产生键码行扫描行扫描行扫描行扫描:逐行扫描,由列线状态识别线反转线反转线反转线反转:行列颠倒两次扫描识别接口原理接口原理接口原理接口原理——非编码键盘非编码键盘非编码键盘非编码键盘,,,,行扫描行扫描行扫描行扫描,,,,低有效低有效低有效低有效返回返回返回返回返回返回返回返回是否有键按下是否有键按下是否有键按下是否有键按下:输出扫描码,使所有行线为0,读列线,全1则无键按下非编码键盘举例非编码键盘举例非编码键盘举例非编码键盘举例1111))))硬件接口硬件接口硬件接口硬件接口2222))))键扫描程序流程图键扫描程序流程图键扫描程序流程图键扫描程序流程图4×8键盘,8255A作接口,PA作行扫描口,PB读取列值3333))))软件编程软件编程软件编程软件编程去抖动去抖动去抖动去抖动:延时20ms按键识别按键识别按键识别按键识别:逐行扫描确定按键(相应行线为0,读列线,是否非全1)并得键号产生键码产生键码产生键码产生键码:根据键号查键盘编码表非编码键盘硬件接口非编码键盘硬件接口非编码键盘硬件接口非编码键盘硬件接口返回返回返回返回返回返回返回返回PB7PB6PB5PB4PB3PB2PB1PB0非编码键盘接口原理非编码键盘接口原理非编码键盘接口原理非编码键盘接口原理76543210+5VFEDCBA9817161514131211101F1E1D1C1B1A1918PA0PA1PA2PA3CPU8255A8255A的PA方式0、输出PB方式0、输入方式字方式字方式字方式字:82H设8255A地址300H~303H键扫描程序键扫描程序键扫描程序键扫描程序流程图流程图流程图流程图返回返回返回返回返回返回返回返回8255A初始化Y置所有行线为低电平读取列线值是否有键按下?所有行扫描完?修改行扫描码延时,去抖动NNYY行扫描码初值→AH置行数、列数、键号初值当前行有键按下?N行扫描法程序流程图输出行扫描码读取列值Y键号+1列值右移移出位为0?N已得到键号软件编程软件编程软件编程软件编程返回返回返回返回返回返回返回返回SEGMENTDWn;延时常数(使延时时间约20ms)DB?;存储按键的键号ENDS…;8255A初始化MOVDX,303HMOVAL,82HOUTDX,AL;检测是否有键按下MOVDX,300HMOVAL,0OUTDX,AL;令所有行线为低电平MOVDX,301HINAL,DX;读取列线值CMPAL,0FFHJZWAIT;所有列线为高,无键按下;有键按下,延时去抖动MOVCX,NUMLOOPDLYWAIT:SCAN:DLY:DATADATANUMBUF;按键识别MOVAH,0FEH;行扫描码初值MOVBL,4;行数MOVBH,8;列数MOVCL,0FFH;键号初值设为-1MOVDX,300HMOVAL,AHOUTDX,AL;输出行扫描码MOVDX,301HINAL,DX;读取列值CMPAL,0FFHJNZF_KEY;找到按键,转去计算键号ROLAH,1;修改扫描码ADDCL,BH;按键,使键号取该行末列的键号值DECBLJNZNEXT;未扫完,进入下一行扫描JMPSCANINCCLRCRAL,1JCF_KEYMOVBUF,CL;根据键号查找键盘编码表,获取与键功能对应的键码NEXT:F_KEY:KEY:2.2.2.2.可编程键盘可编程键盘可编程键盘可编程键盘/LED/LED/LED/LED接口芯片接口芯片接口芯片接口芯片8279827982798279章章章章章章章章内容提要内容提要内容提要内容提要内容提要内容提要内容提要内容提要节节节节节节节节内容提要内容提要内容提要内容提要内容提要内容提要内容提要内容提要1111))))外部特性外部特性外部特性外部特性(40脚)2222))))内部结构及各部分功能内部结构及各部分功能内部结构及各部分功能内部结构及各部分功能3333))))工作方式工作方式工作方式工作方式与键盘接口的信号与键盘接口的信号与键盘接口的信号与键盘接口的信号(14)面向面向面向面向CPUCPUCPUCPU的信号的信号的信号的信号(15)输入输入输入输入:扫描键盘、扫描传感器、选通输入方式输出输出输出输出:8段LED显示器接口,8个或16个,左(右)入口4444))))命令字命令字命令字命令字(8个,D0~7特征位)5555))))状态字状态字状态字状态字(指示FIFORAM中字符数及是否有错误)6666))))8279827982798279芯片应用举例芯片应用举例芯片应用举例芯片应用举例与与与与LED显示器接口的信号显示器接口的信号显示器接口的信号显示器接口的信号(专用9根)8279827982798279面向面向面向面向CPUCPUCPUCPU的信号的信号的信号的信号(15)(15)(15)(15)返回返回返回返回返回返回返回返回DDDD0000~~~~7777、、、、CSCSCSCS、、、、RDRDRDRD、、、、WRWRWRWRAAAA0000:RESETRESETRESETRESET:IRQIRQIRQIRQ:CLKCLKCLKCLK:复位,高有效,复位后工作于16字符,左入口;编码扫描键盘,双键互锁;时钟分频系数31端口选择,=0,数据口,=1,命令口或状态口中断申请,高有效,通常键盘有数据输入请求时有效时钟,为8279提供内部工作时钟8279827982798279与键盘接口的信号与键盘接口的信号与键盘接口的信号与键盘接口的信号(14)(14)(14)(14)返回返回返回返回返回返回返回返回SLSLSLSL0000~~~~3333:RLRLRLRL0000~~~~7777:SHIFTSHIFTSHIFTSHIFT:CNTL/STBCNTL/STBCNTL/STBCNTL/STB:回复信号,返回键盘矩阵或传感器阵列的列信号扫描信号,扫描键盘及LED显示器(既与键盘接口,也与LED接口).由编程设定为编码输出或译码输出.编码扫描实现16选1;译码扫描实现4选1移位信号,入,高有效,键盘数据D6位,用于扩充键功能(上、下档功能键);传感器输入及选通输入无效控制/选通信号,入,高有效,键盘输入中,键盘数据D7位,也用于扩充键功能,(作为控制功能键);选通输入方式,其上升沿将RL0~7上的数据存入先入先出存储器(FIFORAM)8279827982798279与与与与LEDLEDLEDLED显示器接口的信号显示器接口的信号显示器接口的信号显示器接口的信号((((专用专用专用专用9999根根根根))))返回返回返回返回返回返回返回返回除了除了除了除了SLSLSLSL0000~~~~3333外的LED专用信号线OUTAOUTAOUTAOUTA0000~~~~3333、、、、OUTBOUTBOUTBOUTB0000~~~~3333:BDBDBDBD:A组、B组显示数据输出与SL0~3同步两组可独立使用或合并使用显示消隐信号,出,低有效,显示消隐时,有效(显示数据切换或执行消隐命令时,显示消隐)8279827982798279内部结构及各部分功内部结构及各部分功内部结构及各部分功内部结构及各部分功能能能能返回返回返回返回返回返回返回返回8279的内部结构框图数据缓冲器I/O控制器FIFORAM状态寄存器显示RAM地址寄存器16×8显示RAM控制与定时寄存器8×8FIFORAM键盘去抖动与控制显示寄存器定时控制扫描计数器回复缓冲器A0CLKRESETD0~7RDCSWRIRQ片内总线OUTA0~3OUTB0~3BDSL0~3RL0~7SHIFTCNTL/STB①①①①I/OI/OI/OI/O控制及数据缓冲器控制及数据缓冲器控制及数据缓冲器控制及数据缓冲器③③③③控制与定时寄存器及定时控制控制与定时寄存器及定时控制控制与定时寄存器及定时控制控制与定时寄存器及定时控制②②②②扫描计数器扫描计数器扫描计数器扫描计数器④④④④恢复缓冲器恢复缓冲器恢复缓冲器恢复缓冲器、、、、键盘去抖动及控制逻辑键盘去抖动及控制逻辑键盘去抖动及控制逻辑键盘去抖动及控制逻辑⑤⑤⑤⑤FIFO/FIFO/FIFO/FIFO/传感器传感器传感器传感器RAMRAMRAMRAM及其状态寄存器及其状态寄存器及其状态寄存器及其状态寄存器⑥⑥⑥⑥显示显示显示显示RAMRAMRAMRAM及显示地址寄存器及显示地址寄存器及显示地址寄存器及显示地址寄存器I/OI/OI/OI/O控制及数据缓冲控制及数据缓冲控制及数据缓冲控制及数据缓冲器器器器返回返回返回返回返回返回返回返回读状态字1010读FIFORAM或显示RAM0010写命令字1100写显示RAM0100操作操作操作操作AAAA0000RDRDRDRDWRWRWRWRCSCSCSCSI/OI/OI/OI/O控制操作控制操作控制操作控制操作扫描计数器扫描计数器扫描计数器扫描计数器返回返回返回返回返回返回返回返回译码译码译码译码方式:最低两位经译码,由SL0~3输出,作为键盘及显示器的扫描信号.(任何时刻,SL0~3只有一个信号有效,实现4选1)4位的计数器,有译码、编码两种方式,由编程设定编码编码编码编码方式:计数器的状态由SL0~3直接输出,再经外部译码,才能作为扫描信号.(实现16选1)控制与定时寄存器及定时控制控制与定时寄存器及定时控制控制与定时寄存器及定时控制控制与定时寄存器及定时控制返回返回返回返回返回返回返回返回控制与定时寄存器控制与定时寄存器控制与定时寄存器控制与定时寄存器:定时控制定时控制定时控制定时控制:包括基本计数器,首级计数器是可编程N计数器,N由编程指定(2~31)对CLK分频,获得内部所需100kHz工作时钟;再分频,为键盘及显示器扫描提供扫描时钟寄存键盘及显示器工作方式完成控制功能恢复缓冲器恢复缓冲器恢复缓冲器恢复缓冲器、、、、键盘去抖动及控制逻辑键盘去抖动