键盘显示器接口技术.ppt_第1页
键盘显示器接口技术.ppt_第2页
键盘显示器接口技术.ppt_第3页
键盘显示器接口技术.ppt_第4页
键盘显示器接口技术.ppt_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

显示器接口技术 键盘显示器接口 可编程键盘/显示器接口芯片8279 第 9 章 键盘显示器接口技术 本章内容 键盘接口技术 9.3 82799.3 8279接口芯片接口芯片 Intel专用键盘、显示器接口芯片8279能完成对键盘、显示器的自动扫描 ,能自动消除按键抖动、自动识别按键,减轻CPU的负担。 一、8279的内部结构 由键盘输入、显示器 输出以及相应的寄存 器和控制电路组成。 8279的内部结构 1数据缓冲器及I/O控制逻辑 接单片机的数据总线,传送数据、命令和状态,引脚为D0D7。 读写控制,片选及端口选择 2控制与定时寄存器及定时控制 有一个5位计数器,对外部输入的时钟信号分频得到内部所需的 100KHz时钟,提供键盘扫描和显示扫描时间。 用来存放8279的命令字,控制8279各部件协调工作。 3扫描计数器 提供的键盘键盘 和显显示器扫描信号,有: 外部译码方式 内部译码方式 8279的内部结构 也称译码方式,直接从SL0SL3输出4位扫描信号,扫描键盘/显示器 。 内部译码产生的译码信号比外部译码少得多。 4回复缓冲器、键盘去抖动与控制电路 RL0RL7,回复线用来捕捉闭合键、去抖动、延时10ms,并将键盘数 据(键值)存入8279的内部FIFO(先进先出)缓冲存储器RAM中。 5FIFO/传感器及其状态寄存器 也称编码方式,4位计数器从 SL0SL3输出,经外部译码器 (如4-16译码器74LS154)译 码后形成16位扫描信号,扫描 键盘和显示器。 外部译码方式: 内部译码方式: FIFO RAM是FIFO存储器,能存放8个键盘数据,遵循先入先出的原则 。 8279的内部结构 6显示RAM和显示地址寄存器 8279提供有16个单元的显示缓冲器,将显示数据写入显示RAM后, 8279会自动将显示RAM中的16个数据轮流从显示寄存器输出,与显示扫 描信号配合,达到动态显示的目的。 显示寄存器8个输出引脚OUTA3OUTA0及OUTB3OUTB0,组成 一个字节字形码时,对应D7D4、D3D0。也可分为A、B两组分别输 出4位BCD码,经外部BCD码译码/驱动器后接显示器。 16个显示RAM单元的地址为015。 双向数据口D7D0 写入:命令字、字型码(段码); 读出:状态字、键盘数据(键值) 输出口OUTA、OUTB 段码输出口,显示字符。或输出BCD码。 回复线RL7RL0 键盘列扫描时的行信号,提供行码 扫描线SL30 提供键盘/显示器扫描信号。键盘列码, 显示器位选码。 控制线 见表 二、8279的引脚功能 1)与8031的接口 D0D7;读、写、片选等 2)与键盘接口 回复线RL0RL7;功能扩展CNTL、SHIFT。 3)与显示器接口 OUTA03、OUTB03;扫描信号SL03。 8279芯片控制引脚 三、8279的工作方式 1键盘的工作方式 1)双键互锁方式 有两键或多个键同时按下,则它只识别最后一个释放的键,并把 该键的键值送入FIFO RAM中。 2)N键轮回方式 若有多个键同时按下,这些键均被识别,并按键顺序将键值送入 FIFO RAM中。 2显示器工作方式 CPU将显示数据写入显示缓冲器RAM时,可设置为左端输入和右 端输入两种方式。左端输入为依次填入方式,右端输入为移位输入方 式。 8279内部显示缓冲器RAM共有16个单元(地址为015)。一个 RAM单元对应一个LED显示器,8279最多可以连接16位LED显示器, 可连8位或16位显示器两种方案。 显示方式 : 左端输入又称左端填入方式显示字符。 右端输入又称右端移位方式显示字符。 8279的工作方式是通过命令字来设置的。8279共有8个命令字,1个状态 字。当CS=0、A0=1时,使用控制口。 命令字格式: “ 特征位设置位 ” 1. 键盘/显示方式设置命令字 用来设置键盘、显示器的工作方式。 D4D0位功能见教材。 注意: 左端输入、右端输入; 外部译码(外接译码器)、内部译码(直接使用扫描线); 双键互锁、N键轮回。 四、8279的命令字 外部译码方式,SL0SL3接4-16译码器,可外接16位显示器、88 键盘;SL0SL2接3-8译码器,可外接8位显示器、88键盘。 内部译码方式,只能接4位显示器、48键盘。 设置为00H时,为外接8个显示器,采用外部译码扫描,双键互锁。 2. 时钟编程命令字 用来设置分频系数,使外部时钟分频达到8279所需的工作频率100kHz。 PPPPP用来设定分频系数,其值可在231之间。 8279内部时钟100KHz,若CLK输入的时钟为2MHz,则分频系数20 即PPPPP10100B,时钟编程命令字001 10100B34H。 3读FIFO/传感器RAM命令字 特征位RAM单单元地址自动动加1 此命令字用来设设置要读读的FIFO RAM单单元的地址 D7D6D5D4D3D2D1D0 010AIAAA 在键盘扫键盘扫 描方式时时,读读出数据按先进进先出的原则则,不需使用此命令 4读显示RAM命令字 用来设置要读的显示RAM单元的地址 D7D6D5D4D3D2D1D0 100AIAAAA 特征位显显示RAM地址自动动加1 设置读显示RAM后,CPU再读数据,该命令字常不要用。 5写显示RAM命令字 用来设置将显示数据写入显示RAM单元的地址(设置显示位置): 用该命令字设置好显示RAM地址后,CPU写显示数据,即显示。 定位显示时,AI不用,每次写显示数据前,用此命令字设置RAM地址。 写显示 RAM例: 【例如】:定位显示,在显示器第3位显示字符“A”。 设控制口:7FFFH、数据口:7FFEH,共阴极。 【解】:设置显示RAM地址命令字 = 83H;显示A字型码 = 77H。 MOV DPTR,#7FFFH;控制口 MOV A,#83H;命令字 MOVX DPTR,A;写命令字 MOV DPTR,#7FFEH;数据口 MOV A,#77H;字形码 MOVX DPTR,A;写字型码 控制程序为: 6显示禁止写入/消隐命令字 用来设置禁止数据写入到显示RAM或向显示RAM写入空格(即熄灭) D7D6D5D4D3D2D1D0 101IWAIWBBLABLB A组消隐 B组禁止写入 A组禁止写入 特征位 B组消隐 当IWA1时,A组显示RAM禁止写入。IWB的用法相同,可屏 蔽B组显示器。实现半字节操作,如BCD码的显示。 BLA或BLB1,则对应的组显示熄灭。 注意:CF仅清键盘RAM ;CA兼清键盘、显示RAM。 7清除命令字 用来清除键盘缓冲RAM和显示缓冲RAM CF用于清除键盘缓冲RAM。CF1,将FIFO RAM清空(无数据状态) CA为总清位,CA1,键盘RAM清空,清显示RAM由D3,D2确定 对共阴极显示器清屏,命令字为C1H或D1H(11010001B) 8结束中断/出错方式设置命令字 用来设置中断结束及出错方式 D7D6D5D4D3D2D1D0 111E 特征位 该该命令字一般不用。 上述8个命令字写入8279命令寄存器,通过过特征位自动识别动识别 ,能自动动找 到相应应的寄存器,共用一个口地址控制口。 1. 8279的状态字 五、8279的状态字及键盘数据格式 读8279的控制口,得到8279的状态字。 状态字反映了键盘RAM的状态,指出键盘缓冲器中的数据个数等信息 DU为显示无效特征位。DU1,表示正在清显示,写入显示数据无效 。 S/E(D6)为错误特征位。S/E1 表示出现了多键同时按下错误。 O(D5)为溢出标志位。O1 表示输入数据已超过8个,发生了溢出。 U(D4)为空标志位。U1 表示FIFO RAM中无数据。 F(D3)为满标志位。F1 表示FIFO RAM中装满8个键盘数据。 N N N(D2、D1、D0)表示键盘数据的个数。 通过读状态字可以了解到键盘输入情况,用于查询键盘数据缓冲区。 查询键盘时,一般只要用后三位,不为0则有键按下了,可读键值; 为0则无键按下,不读,继续查询。 2. 键盘数据格式 键盘数据包括三个部分:列码(扫描)、行码(回复)、键盘扩展码。 读8279的数据口,得到键盘输入数据,即键值。 键盘扫描方式中,按下一个键产生一个键值进入FIFO RAM CNTL为控制键CNTL的状态。CNTL接一个按键,扩充键盘 SHIFT为控制键SHIFT的状态。SHIFT接一个按键,扩充键盘 CNTL 、SHIFT是8279的两个引脚,不用时接地,此时D70、D60 SCAN为扫描值,采用列扫描时为按下键所在的列号。 外部译码列扫描方式下,8列扫描值: 000、001、010、011、100、101、110、111(即列号07) RETURN为回送值,采用列扫描时为按下键所在的行号 由行线RL0RL7的状态确定。回送值编码为: 000、001、010、011、100、101、110、111(即行号07) 列扫描时 键盘数据格式 例如:按下的键在3行4列,则: 行号3,编码为RETURN011 列号4,编码为SCAN100 如D70、D60 键值00 100 011B23H 图8-23 88键盘的键值与键号 键盘应用举例: 【例如】:查询按键是数字“5”,将R7置FFH ,试编程实现。 【分析】:假设按键名=键值,列码+行码,则数字“5”应为键盘数据屏 蔽扩展码。 【解】:设8279控制口7FFFH;数据口7FFEH。 程序: MOV DPTR,#7FFFH MOV A,#0C2H MOVX DPTR,A MOVX A, DPTR JNB ACC.7,$ MOV A,#00H MOVX DPTR,A MOV A,#2AH MOVX DPTR,A MOV DPTR,#7FFEH MOVX A, DPTR ANL A,#3FH CJNE A,#05H ,LP MOV R7,#0FFH SJMP $ LP:MOV R7,#00H SJMP $ C2H为清除,00H为设工作方式,2AH为设分频系数 六、8279键盘显示器接口 键值数据中,只安排了3位表示列号(SCAN),最大8列;表示行号也只 有3位(RETURN),最大8行。因此8279的键盘最大是88个键,显示器 的最大配置是16位。 与CPU的接口 与键盘显示的接口 8279键盘显示器接口 1硬件连接 单片机的数据总线P0口接8279的数据口D0D7 地址总线的A0通过地址锁存器74LS373接8279的端口选择信号A0 8279的中断请求信号IRQ反相后接单片机的外部中断 1 与CPU的接口 P2.7接片选 读写信号对应相连 ALE接8279的时钟信号CLK,内部分频 CNTL、SHIFT不用,直接接地 8279键盘显示器接口 1硬件连接 键盘数据输入线RL0RL7接矩阵键盘 的行线,SL0SL2译码后的Y0、Y1接键盘 的列线,构成28键盘。 键盘为28的矩阵式键 盘,显示器为8位 8279的字形码输出线 OUTB0OUTB3、 OUTA0OUTA3通过驱 动接显示器的字选端a、b 、c、d、e、f、g、dp 扫描输出线SL0SL2 外接3-8译码器,译码输出 经过驱动接显示器的位选 端,作8个显示器的动态显 示扫描信号 与键盘显示的接口 8279键盘显示器接口 2软件设计 1)读读取键值键值 采用查询查询 方式时时,每次读键值读键值 前,先读读入8279状态态字,查查看状态态字 中的D3D0(这这4位反映FIFO RAM中是否有数)是否全为为0,若有一位非0 ,说说明FIFO RAM中有数据,可读读出键值键值 ;否则则,继续查询继续查询 。 采用中断方式时时,8279的中断请请求线线IRQ需经经反相器反相后,接单单片 机的外部中断。FIFO RAM中一输有数据,8279便向CPU申请中断。 CPU响应中断,在中断服务程序中读取键值。 2)键值 键盘的列扫描线接Y0、Y1,一列8个按键,故16个键的键值依次排列 为00H0FH,与键号一致。 3)显示 自动扫描显示,只要将字形码写入显示RAM中,便显示出相应的字符。 4)端口地址 由和A0确定 0,A00,选择数据端口,0,A01,选择控制端口 8279键盘显示器接口 2软件设计 4)端口地址 由和A0确定 0,A00,选择数据端口,0,A01,选择控制端口 写控制口为写入命令字,读控制口为读取状态字 写数据口为将显示字形码写入显示RAM,读数据口为读取键值 数据口地址为7FFEH,控制端口的地址为7FFFH。 5)程序设计 8279键盘显示程序首先是初始化,将8279的命令字写入控制口。一 般不需要写全部8个命令字,只要写与键盘显示有关的34个命令字即可 。其作用是设置工作方式、设置分频系数、设置写显示RAM的地址、清 键盘和显示RAM。 初始化后向8279写入显示字形码,有键按下在中断程序中读取键值 。 MOV DPTR,#7FFFH ;控制口地址 MOV A,#0D1H;清除命令字 MOVX DPTR,A;写清除命令字 WAIT:MOVX A,DPTR ;读状态字 JB ACC.7,WAIT;等清除完 MOV A,#00H;工作方式命令字 MOVX DPTR,A;写工作方式命令字 MOV A,#34H;分频命令字 MOVX DPTR,A;写分频命令字 SETB IT1;下降沿触发 SETB EA;CPU开中断 SETB EX1;开放外部中断1 LOOP: LCALL DISP;调显示子程序 SJMP LOOP PKEY:MOV DPTR,#7FFEH;数据口地址 MOVX A,DPT

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论