键盘显示接口芯片的应用

合集下载

键盘接口协议在输入输出芯片中的应用

键盘接口协议在输入输出芯片中的应用
性 能. 实 现 与 IA接 口 的对 应 , 4 为 S 有 O只 PN脚 I
2 有 2个 异 步访 问数据 寄存 器 和 一个 状 态 寄 )
存 器 以及 8 定 时器/ 数器 . 位 计 3 具备 Itl 02单片 机 的软件 兼容 性 , 持 ) ne 84 支
P /2鼠标 . S
蔡 琼, 辉, 杨 伍儒彬
( 武汉工程大学计算机科 学与工程学院, 湖北 武汉 , 304 4 07 )
摘 要: 针对 P / 设 备在 10m延长线下无 法正常使用 的问题 , S2 0 基于 W86 7和 P / 32 S 2协议的特点 , 通过对原
始模 型和电路 图的分析 , 采用最优化方 法中 的一 维搜索思 路进行 实验 , 得到可行 电阻取值 范 围, 最终 使问题 得以解决. 解决问题过程 中所获得的模型 ( 取值范 围) 可作 为未来设 计的参考和依 据.
武汉工程大学学报
第3 4卷
2 P/ S 2协 议
18 9 7年 , M公 司提 出 P / I B S 2协议 , 协 议 可 该 支持 8 4~1 1类 型 的键 盘 . 物理 接 口上 采 用 的 0 在 是 6i pn针脚 的 mii I 连 接器 , 之前 的 5 i n —D N 与 pn 针 脚 的连接 器不相 同 . 可用 的 pn脚 定义 依然 不 其 i 变 , : 据 线 (D T , 地 ( N ,电 源 即 数 A A) 接 G D) (+5V) 时钟信 号 ( L . , C K)
备 10m延 长线 不 能 正 常使 用 的 问 题 进 行研 究 , 0 着重 于解 决实 际 问题 并进 行必 要 的分析 .
鼠标 ) 制器 有如 下特点 : 控 1 适 合 在 It 02单 片机 的基 础 上 与 相关 ) ne 84 l 的控制 架构 ( 如凤 凰公 司 的 M hK y4 T 结 构 ) u ie/ 2 M 结 合实 现 的键 盘 或者提 供存储 空 间 ( 2k字节 可 编

单片机芯片8279用法讲解

单片机芯片8279用法讲解

0:写入后地址不变 1:每次写入地址自动加
键盘显示接口芯片8279
⑥ 禁写显示RAM/消隐命令
1 0 1 IWA IWB BLA BLB
特征 无 A组 B组 A组 B组

效 禁写 禁写 消隐 消隐
IWA:禁止A组显示 RAM写。D3=1,A组禁写;D3=0,允许A组写。
OUTA3~OUTA0与OUTB3~OUTB0单独使用时,若只想改变B组的输出 值而A组的输出不受影响,就可以让D3=1即禁止向A组显示RAM写数据,这 样在向显示RAM的一个单元写入8位字节数据时就只写入字节的低4位而字节 的高4位不写入RAM单元。
3.8279的工作方式
8279有三种工作方式——键盘输入(键扫描)、传感器扫描、选通输入 键盘输入方式:有键按下时,回复缓冲器缓冲并锁存行列式键盘的列输入线。在
逐行列扫描时,回复线用来搜寻每一行列中闭合的键,当某一键闭合时,去抖 电路被置位,延时等待10ms后,再检查该键是否仍处在闭合状态,如不是闭合, 则当做干扰信号不予理睬;如是闭合,则将该键的列扫描码、行回复码、引脚 CNTL和引脚SHIFT的状态(两个独立附加的开关)一起形成键盘数据被送入 8279内部的FIFO(先进先出)存储器。键盘数据格式如下:
FIFO RAM的状态寄存器: (a)键盘输入方式或选通输入方式,寄存FIFO RAM的工作状态,FIFO
RAM不空时,会使IRQ变高; (b) 传感器方式,若检测出传感器的状态发生了变化,会使IRQ变高
⑥ 显示RAM及显示地址寄存器
显示RAM:16×8位,存储字符的字形码,显示时,从OUTA3~0和OUTB3~0输出
8个数码管从左至右依次 0 1 2 3 4 5 6 7
显示RAM地址单元

最新-数码管显示驱动和键盘扫描控制器CH451及其应用 精品

最新-数码管显示驱动和键盘扫描控制器CH451及其应用 精品

数码管显示驱动和键盘扫描控制器CH451及其应用摘要介绍一种新型的键盘显示驱动芯片451的性能特点和工作原理,给出了451键盘显示驱动芯片与-51单片机的接口方法与相应的软件驱动程序。

关键词键盘显示控制;单片机;451单片机在开发过程中,常常会因为资源不足而不得不大量扩展接口芯片以满足应用系统的需要,其中原因之一是人机界面中的键盘显示占用了系统太多资源,从而造成系统庞大,同时降低了系统的可靠性。

在单片机应用系统中,键盘显示通常可采用以下几种方式1采用并行接口的键盘显示专用芯片8279。

但8279所需外围元件多显示驱动、译码等、占用电路板面积大、综合成本高,在中小系统中常常大材小用;2采用通用并行I/O芯片扩展如用8155等,但此方案同样需要驱动显示,同时键盘显示扫描还需占用CPU大量时间;3采用专用显示控制器,并用CPU的I/O引脚完成键盘输入如MC14499、PS7219、MAX7219、ICM7218、TLC5921等,大多是串行接口并有显示驱动能力,I/O占用少。

这种接口方式省去了显示的扫描,而且电路大多也很简单,通常在系统需要的按键较少时比较适用;4采用带I2C总线的键盘显示芯片如显示用SAA1064,键盘用PCF8574,不过这种方式对于无I2C总线接口的CPU来说,编程显得有些不便;5采用串行接口的键盘显示专用芯片,如BC7280/81、HD7279、CH451等。

这类芯片占用CPU的资源少,传输速度较快,外围器件要求也较少,在中小系统中都可得到广泛的应用。

BC7280/81与HD7279中已有介绍,本文着重介绍CH451的主要特性及接口应用方法。

1CH451的功能与引脚介绍CH451是一个整合了数码管显示驱动和键盘扫描控制以及μP监控的多功能外围芯片。

CH451内置RC振荡电路,可以直接动态驱动8位数码管或者64位LED,具有BCD译码或不译码功能,可实现数据的左移、右移、左循环、右循环、各数字独立闪烁等控制功能。

键盘显示智能控制芯片HD7279及应用实例

键盘显示智能控制芯片HD7279及应用实例

键盘显示智能控制芯片HD7279及应用实例
袁静萍;厉荣卫
【期刊名称】《常州技术师范学院学报》
【年(卷),期】1999(005)004
【摘要】介绍一种新型串行接口的8位LED数码管及64例键键盘智能控制芯片,论述了该芯片的特点和使用方法,并给出其在医院门诊呼号系统中的具体应用。

使用该芯片,占用的I/O口线少。

较常规的动态扫描电路具有硬件电路简单、软件工作量少、使产品的性价比高等优点。

【总页数】7页(P18-24)
【作者】袁静萍;厉荣卫
【作者单位】无
【正文语种】中文
【中图分类】TP273
【相关文献】
1.显示和键盘智能控制芯片zlg7289A的原理及应用 [J], 吴敏;汤黎明;刘铁兵;凌刚
2.显示键盘智能控制芯片ZLG7289A在数控切割系统中的应用 [J], 杨恢先;杨穗;
王子菡;陶霞
3.键盘显示智能控制芯片HD7279A的应用设计 [J], 陈光绒;胡克满
4.键盘显示智能控制芯片HD7279A的应用 [J], 李振国;李志刚
5.智能控制芯片HD7279及其应用 [J], 李学海;王有才
因版权原因,仅展示原文概要,查看原文内容请购买。

键键盘管理芯片

键键盘管理芯片

在单片机应用系统中,存在多种形式的外部数据输入接口界面,例如RS-232C串行通信、键盘输入等[1,4]。

其中利用键盘接口输入数据,是实现现象实时调试、数据调整和控制最常用的方法。

单片机的外围键盘扩展电路有多种实现方式,例如直接利用I/O接口线或外接8255A接口芯片,配合适当的接口管理程序,就可以实现外围键盘扩展功能。

但是,在这些方法中,键盘扩展电路需要占用单片机的资源对按键进行监控和处理,这对要求高实时性处理的单片机系统是不实现的。

为了解决这一问题,可以使用专用键盘接口芯片(例如Intel8279)[2]来组建键盘子系统。

而且,这类专用键盘接口芯片在使用灵活性方面尚有欠缺,尤其当用户需要实现某些特定功能时,其缺点更为明显。

针对上述问题,本文提出一种利用复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)设计技术[3]实现专用键盘接口芯片的方案。

1 系统原理图1是单片机系统中键盘子系统的构成原理框图。

其中键盘接口芯片KB-CORE是该子系统的核心部分,它应具备如下功能:第一,产生按键扫描时序,并进行硬件去抖动。

如果直按键按下,实现按键编码、中断处理等功能。

第二,可以区分处理数字键和功能键。

数字键钭由接口芯片暂存,而当功能键被按下时申请CPU中断处理;对多个按键同时按下,按一定的编码优先级处理。

第三,提供与MCS-51系列单片机兼容的接口,单片机可以读取芯片中保存的数据或功能代码。

第四,提供数据显示接口,可以直接驱动4位七段LED数码管,并进行动态扫描显示。

按键根据键盘子系统的服务对象拟设置子数字键(0~9)、功能键(ROW、COL、DAT)、清零键(CLR)共14个,排成4×4的矩阵,有两个未定义。

2 专用键盘接口芯片功能结构设计根据上述专用键盘芯片KB-CORE的功能要求,图2示出本芯片内部应有的结构框图。

其工作原理如下:(1)键盘扫描控制及编码电路中内含一个环形计数器。

新型键盘显示驱动芯片MAX6954及其应用

新型键盘显示驱动芯片MAX6954及其应用
国 Mai xm公 司 推 出 的 MAX 9 4 动 器 65 驱
可用 以降低E 。 MI
主 要 弓 脚 功 能 l
P ~ 4 通 用 I 口 ,其 中 P ~ 3 0P: / 0 0 P 可 配 置 成 矩 阵 键 盘 的 输 入 ,但 应 带 有
一一 一洲 一一
内部 上 拉 ;P 则 可 配置 为 中断 请 求输 4
袁 泉 夏应 清 周 兆 丰 向 常 州 华中 师范大学物理科学与技术学院
引 言
允 段 、或 18 分 立 的 L D,且 电 源 电 压 模 式 、 限 制 扫 描 位 寄 存 器 ( 许 用 户 2个 E
. 选 择 1 1位 用 于 显 示 ) ~6 、段 闪 烁 控 制 在 工 业 控 制 和 仪 器 仪 表 中 ,通 常 可 低 至 27V。 此 外 ,该 器 件 还 包 括 5 I 条 / 展 ( 果 需 要 ,可 通 过 驱 动 器 实 现 同 步 ) O扩 如 、 需 要 有 显 示 和 键 盘 等 人 机 界 面 , 而 显
D0UT
图 1 MAX 9 4的 功 能框 图 65
1 6 电 予 元 嚣 件 壶 硐 2 0 . W 'C ia C . t 0 0 66 W .hnE Dn W e
维普资讯
Ne De i e w v c
DO T:串行 数据 输 出端 。 由D N ◇ 数据 类型 寄存 器 U I 端 串 行输 入 的数 据 可 在 1.个 时 钟 周 5 5
结合 具 体 实例 分 析 了MAX6 5 在 应 用 中应 注 意 的几 个 问题 。 实际 应 用表 94 明 ,MAX6 5 在嵌入 式 系统 应 用 中,其硬 件接 I和 软件 编程 简单 ,工作稳 94 : 7

多功能外围芯片CH451及其应用

多功能外围芯片CH451及其应用

多功能外围芯片CH451及其应用CH451是一个整合了数码管显示驱动和键盘扫描控制以及μP监控的多功能外围芯片。

用CH451扩展键盘显示接口,具有接口简单、占用CPU资源少、外围器件简单、性价比高等优点,可在各种单片机系统中得到广泛的应用。

功能说明CH451内置RC振荡电路,可以直接动态驱动8位数码管或者64位LED,具有BCD译码或不译码功能,可实现数据的左移、右移、左循环、右循环、各数字独立闪烁等控制功能。

CH451内置大电流驱动级,段电流不小于30mA,字电流不小于160mA,并有16级亮度控制功能。

该器件内置64键键盘控制器,可实现8×8矩阵键盘扫描,并内置去抖动电路,可提供按键中断与按键释放标志位等功能。

CH451可选择简洁的1线串行接口或高速4线串行接口,且内置上电复位,可提供高电平有效复位和低电平有效复位两种输出,同时内置看门狗电路。

封装及引脚功能CH451有28引脚的DIP28与SOP28封装以及DIP24S封装形式,28脚与24脚在功能上稍有差别,它们的引脚定义见表1所列。

操作命令CH451共有11条操作命令,每条操作命令均为12位,其中高4位为标识码,低8位为参数,x可为任意值(下同)。

空操作(0000xxxxxxxxB)空操作命令对CH451不产生任何影响,该命令可以在多个CH451级联的应用中透过前级CH451向后级CH451发送操作命令,而不影响前级CH451的状态。

例如,要将操作命令001000000001B发送给两级级联电路中的后级CH451(后级CH451的DIN引脚连接到前级CH451的DOUT 引脚),只要在该操作命令后添加空操作命令000000000000B再发送,那么,该操作命令将经过前级CH451到达后级CH451,而空操作命令留给了前级CH451。

另外,为了在不影响CH451的前提下变化DCLK以清除看门狗计时器,也可以发送空操作命令。

在非级联的应用中,空操作命令可只发送高4位。

实验一--键盘显示实验

实验一--键盘显示实验

实验一键盘显示系统实验1.实验目的:(1)了解8155芯片的工作原理以及应用(2)了解键盘、LED显示器的接口原理以及硬件电路结构(3)掌握非编码键盘的编程方法以及程序设计2.实验内容:将程序输入实验系统后,在运行状态下,按下数字0~9之一,将在数码管上显示相应数字,按下A、B或C之一,将在数码管上显示“0”、“1”或“2”循环3.程序框图:4. 实验程序下面程序有四部分组成,程序的地址码、机器码、程序所在行号(中间)和源程序。

字型码表和关键字表需要同学们自己根据硬件连接填在相应位置。

地址码机器码 1 源程序0000 2 org 0000h0000 90FF20 3 mov dptr,#0ff20h0003 7403 4 mov a,#03h ;方式字0005 F0 5 movx @dptr,a ;A和B口为输出口,C口为输入口0006 753012 6 mov 30h,#12h ;LED共阴极,开始显示“H”,地址偏移量送30h0009 1155 7 dsp: acall disp1 ;调显示子程序000B 11FE 8 acall ds30ms000D 1179 9 acall scan ;调用键盘扫描子程序000F 60F8 10 jz dsp ;若无键按下,则dsp0011 11B7 11 acall kcode ;若有键按下,则kcode0013 B40A00 12 cjne a,#0ah,cont ;是否数字键,若是0-9则是,a-c则否0016 400F 13 cont: jc num ;若是,则num0018 90001F 14 mov dptr,#jtab ;若否,则命令转移表始址送dptr 001B 9409 15 subb a,#09h; 形成jtab表地址偏移量001D 23 16 rl a ;地址偏移量*2001E 73 17 jmp @a+dptr ;转入相应功能键分支程序001F 00 18 jtab: nop0020 00 19 nop0021 8008 20 sjmp k1 ;转入k1子程序0023 800B 21 sjmp k2 ; 转入k2子程序0025 800E 22 sjmp k3 ; 转入k3子程序0027 F530 23 num: mov 30h,a0029 80DE 24 sjmp dsp ; 返回dsp002B 7531C0 25 k1: mov 31h,#0c0h ; "0" 循环显示002E 800A 26 sjmp k40030 7531F9 27 k2: mov 31h,#0f9h ; "1" 循环显示0033 8005 28 sjmp k40035 7531A4 29 k3: mov 31h,#0a4h ; "2" 循环显示0038 8000 30 sjmp k4003A 7B01 31 k4: mov r3,#01h ;显示最末一位,注意共阴极003C EB 32 k5: mov a,r3003D 90FF21 33 mov dptr,#0ff21h0040 F0 34 movx @dptr,a ;字位送81550041 E531 35 mov a,31h0043 90FF22 36 mov dptr,#0ff22h; 字型口0046 F0 37 movx @dptr,a ;字型送8155的B口0047 11EC 38 acall delay ;延时1ms***0049 74FF 39 mov a,#0ffh004B F0 40 movx @dptr,a ;关显示,在此使LED各位显示块都灭004C EB 41 mov a,r3004D 23 42 rl a004E FB 43 mov r3,a004F BB40EA 44 cjne r3,#40h,k5 ;还没有循环玩一遍,则循环继续0052 80E6 45 sjmp k4 ;若循环完一遍则返回k4;又开始新一轮的循环0054 22 46 ret0055 90FF21 47 disp1: mov dptr,#0ff21h; 字位口A,注意led是共阴极接法0058 7401 48 mov a,#01h005A F0 49 movx @dptr,a005B 90FF22 50 mov dptr,#0ff22h;字型口005E E530 51 mov a,30h0060 2402 52 add a,#02h0062 83 53 movc a,@a+pc0063 F0 54 movx @dptr,a ;字型码输入,N1点亮0064 22 55 ret ;下面是0到c的字型码0065 ? 56 db ????0066 ?0067 ?0068 ?0069 ?006A ? 57 db ????006B ?006C ?006D ?006E ?006F ? 58 db ????0070 ?0071 ?0072 ?0073 ?0074 ? 59 db ????0075 ?0076 ?0077 ?0078 ?0079 74FF 60 scan: mov a,#0ffh; 关显示码a007B 90FF22 61 mov dptr,#0ff22h; B口地址送dptr007E F0 62 movx @dptr,a ;关led显示007F 7400 63 mov a,#00h0081 90FF21 64 mov dptr,#0ff21h ;A口地址,字位码0084 F0 65 movx @dptr,a0085 90FF23 66 mov dptr,#0ff23h ;C口地址0088 E0 67 movx a,@dptr0089 540F 68 anl a,#0fh; 取出列值送a008B B40F02 69 cjne a,#0fh,next1;若有键按下,则next1008E 8025 70 sjmp next40090 11F5 71 next1: acall ds10ms ;延时10ms0092 7A00 72 mov r2,#00h ;窜键标志位清零0094 79FE 73 mov r1,#0feh; 行扫描初值送a0096 90FF21 74 loop: mov dptr,#0ff21h ;dptr指向A口0099 E9 75 mov a,r1 ;行扫描值送a009A F0 76 movx @dptr,a009B 90FF23 77 mov dptr,#0ff23h009E E0 78 movx a,@dptr ;读c口009F 540F 79 anl a,#0fh ; 取出列值00A1 B40F02 80 cjne a,#0fh,next2 ;若被按键在本行,则next2 00A4 8007 81 sjmp next3;若不在本行,则next300A6 0A 82 next2: inc r2 ;窜键标志位加100A7 BA010B 83 cjne r2,#01h,next4 ;若为窜键,则返回监控00AA FC 84 mov r4,a ;列值送r400AB E9 85 mov a,r100AC FB 86 mov r3,a ; 行值送r300AD E9 87 next3: mov a,r1 ;行扫描值送a00AE 23 88 rl a ;左移一位00AF F9 89 mov r1,a ;送回r100B0 B47FE3 90 cjne a,#7fh,loop ;若未扫描完一遍,则loop 00B3 01B6 91 ajmp next5 ;若扫描完一遍,则next500B5 E4 92 next4: clr a00B6 22 93 next5: ret00B7 7900 94 kcode: mov r1,#00h00B9 EB 95 mov a,r300BA D3 96 setb c00BB 13 97 loop1: rrc a00BC B4FF02 98 cjne a,#0ffh, next6100BF 8003 99 sjmp next600C1 09 100 next61: inc r100C2 80F7 101 sjmp loop100C4 E9 102 next6: mov a,r100C5 C4 103 swap a00C6 F9 104 mov r1,a00C7 EC 105 mov a,r400C8 540F 106 anl a,#0fh00CA 49 107 orl a,r100CB F5F0 108 mov b,a00CD 9000DF 109 mov dptr,#ktab00D0 7800 110 mov r0,#00h00D2 E4 111 clr a00D3 93 112 pepe: movc a,@a+dptr00D4 B5F002 113 cjne a,b,next700D7 8004 114 sjmp resv00D9 08 115 next7: inc r000DA E8 116 mov a,r000DB 80F6 117 sjmp pepe00DD E8 118 resv: mov a,r000DE 22 119 ret;下面表格存放0到C的关键字00DF ? 120 ktab: db ????00E0 ?00E1 ?00E2 ?00E3 ?00E4 ?00E5 ? 121 db ????00E6 ?00E7 ?00E8 ?00E9 ?00EA ?00EB ? 122 db ?;;表示0到C的关键字00EC 7F02 123 delay: mov r7,#02h ;延时1ms00EE 7EFF 124 delay1: mov r6,#0ffh00F0 DEFE 125 delay2: djnz r6,delay200F2 DFFA 126 djnz r7,delay100F4 22 127 ret00F5 7F14 128 ds10ms: mov r7,#14h ;延时10ms00F7 7EFF 129 dely1: mov r6,#0ffh00F9 DEF5 130 dely2: djnz r6,delay200FB DFF1 131 djnz r7,delay100FD 22 132 ret00FE 7F3C 133 ds30ms: mov r7,#3ch ;延时30ms0100 7EFF 134 dely3: mov r6,#0ffh0102 DEEC 135 dely4: djnz r6,delay20104 DFE8 136 djnz r7,delay10106 22 137 ret138 end5. 实验步骤:(1) 输入程序,本实验系统有两种输入方法. a)可以直接通过系统上的小键盘输入机器码也可以采用b)把实验系统和PC机的串口直接相连,在PC机上通过专用软件编译程序,然后通过串行口把编译后的程序机器码下载到实验系统中.(2) 输入程序首地址,按运行键EX,程序运行,观察此时显示结果.(3) 按下0~9数字键,观察在数码管上显示的结果,按下A,B或C观察显示的结果.(4) 在循环显示程序段中,调不同的时间延时子程序,观察显示效果6. 习题每人应该认真读懂程序,在源程序的基础上根据硬件电路判断其他按键对应的关键字,要求每个人应该至少在原来程序基础上再加一个按键,来显示相应的循环或其他功能.7. 思考题?(1) 思考动态显示的原理.(2) 思考以上程序还有那些不完善的地方,如何改?。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.8279功能介绍8279是可编程的键盘、显示接口芯片。

它既具有按键处理功能,又具有自动显示功能,在单片机系统中应用很广泛。

8279内部有键盘FIFO(先进先出堆栈)/传感器,双重功能的8*8=64BRAM,键盘控制部分可控制8*8=64个按键或8*8阵列方式的传感器。

该芯片能自动消抖并具有双键锁定保护功能。

显示RAM容量为16*8,即显示器最大配置可达16位LED数码显示。

(1)数据线DB0→DB7是双向三态数据总线,在接口电路中与系统数据总线相连,用以传送CPU和8279之间的数据和命令。

(2)地址线/CS=0选中8279,当A0=1时,为命令字及状态字地址;当A0=0时,为片内数据地址,故8279芯片占用2个端口地址。

(3)控制线CLK:8279的时钟输入线。

IRQ:中断请求输出线,高电平有效。

图3.18279引脚图/RD、/WR:读、写输入控制线。

SL0---SL3:扫描输出线,用来作为扫描键盘和显示的代码输出或直接输出线。

RL0---RL7:回复输入线,它们是键盘或传感器矩阵的信号输入线。

SHIFT:来自外部键盘或传感器矩阵的输入信号,它是8279键盘数据的次高位即D6位的状态,该位状态控制键盘上/下档功能。

在传感器方式和选通方式中,该引脚无用。

CNTL/S:控制/选通输入线,高电平有效。

键盘方式时,键盘数据最高位(D7)的信号输入到该引脚,以扩充键功能;选通方式时,当该引脚信号上升沿到时,把RL0---RL7的数据存入FIFORAM中。

OUTA0---OUTA3:通常作为显示信号的高4位输出线。

OUTB0---OUTB3:通常作为显示信号的低4位输出线。

/BD:显示熄灭输出线,低电平有效。

当/BD=0时将显示全熄灭。

2.8279的工作方式8279有三种工作方式:键盘方式、显示方式和传感器方式。

(1)键盘工作方式8279在键盘工作方式时,可设置为双键互锁方式和N键循回方式。

双键互锁方式:若有两个或多个键同时按下时,不管按键先后顺序如何,只能识别最后一个被释放的键,并把该键值送入FIFORAM中。

N键循回方式:一次按下任意个键均可被识别,按键值按扫描次序被送入FIFORAM中。

(2)显示方式8279的显示方式又可分为左端入口和右端入口方式。

显示数据只要写入显示RAM,则可由显示器显示出来,因此显示数据写入显示RAM的顺序,决定了显示的次序。

14左端入口方式即显示位置从显示器最左端1位(最高位)开始,以后显示的字符逐个向右顺序排列;右端入口方式即显示位置从显示器最右端1位(最低位)开始,已显示的字符逐个向左移位。

但无论左右入口,后输入的总是显示在最右边。

(3)传感器方式传感器方式是把传感器的开关状态送入传感器RAM中。

当CPU对传感器阵列扫描时,一旦发现传感器状态发生变化就发出中断请求(IRQ置1),中断响应后转入中断处理程序。

3.8279的命令字及其格式(说明:读者也可直接根据本实验讲义第24页8279命令一览表设置命令字)8279的各种工作方式都要通过对命令寄存器的设置来实现。

8279共有8种命令,通过这些命令设置工作寄存器,来选择各种工作方式。

命令寄存器共8位,格式为: D7 D6 D5 D4 D3 D2 D1 D0命令类型命令内容如上图,8279的一条命令由两大部分组成,一部分表征命令类型,为命令特征位,由命令寄存器高3位D7---D5决定。

D7---D5三位的状态可组合出8种形式,对应8类命令。

0 0 0 键盘/显示命令0 0 1 时钟编程命令0 1 0 读FIFO/传感器RAM命令0 1 1 读显示器RAM命令D4D3 显示方式0 0 8个字符显示,左端入口方式0 1 16个字符显示,左端入口方式1 0 8个字符显示,右端入口方式1 1 16个字符显示,右端入口方式表3.5键盘/显示扫描方式D2D1D0 键盘、显示扫描方式0 0 0 编码扫描键盘,双键锁定0 0 1 译码扫描键盘,双键锁定0 1 0 编码扫描键盘,N键轮回0 1 1 译码扫描键盘,N键轮回1 0 0 编码扫描传感器矩阵OUTA0---OUTA3和OUTB0---OUTB3输出。

表3.3、表3.4、表3.5三个表相互组合可得到各种键盘显示命令。

例1:若希望设置8279为键盘译码扫描方式、N键轮回,显示8个字符、右端入口方式,确定其命令字。

根据题目要求可进行分析,因为具有下列条件:是键盘/显示命令特征位:D7D6D5=000(表3.3);8个字符右端入口显示:D4D3=10(表3.4);键盘译码扫描,N键轮回:D2D1D0=011(表3.5);所以8位命令器存器状态D7---D0=00010011B,即该命令字13H送入命令寄存器口地址则可满足题目要求。

例2:若已知命令字为08H,判断8279工作方式。

因为命令字为08H即D7---D0=00001000B,显然D7D6D5=000,该条命令为键盘/显示命令,D4D3=01为16字符左端入口显示方式,D2D1D0=000,键盘为编码扫描、双键锁定方式。

(2)时钟编程命令特征位D7D6D5=001D4---D0用来设定分频系数,分频系数范围在0---31之间。

有的设计会用单片机的ALE端接8279的CLK端,但ALE端输出的脉冲频率比8279所需工作时钟频率(100KHz)高出很多,通过设置分频系数就可使8279得到所需的时钟频率。

(注意:实验板上8279的CLK并不直接连到ALE)。

例:若8279CLK的输入信号频率为3.1MHz,则分频系数应为31D=1FH,于是D4---D0=11111,则控制字为:D7---D0=00111111B=3FH16(3)读FIFO/传感器RAM命令。

特征位D7D6D5=010D2---D0为8279中FIFO及传感器RAM的首地址。

D3无效位。

D4控制RAM地址自动加1位:D4=1时,CPU读完一个数据,RAM地址自动加1,准备读下一个单元数据;D4=0时,CPU读完一个数据,地址不变。

例:欲编程使单片机连续读8279内FIFO/传感器RAM中000---111单元的数据,设置读命令。

分析:因为要连续读数,地址又连续。

所以最好设置为自动加1方式,即D4=1,RAM内首地址000即D2---D0=000,再加上特征位,所以该命令控制字为:D7---D0=01010000B=50H(无用位D3设为0)。

送入50H控制字,在执行读命令时,先从FIFO/传感器RAM中000单元读数,读完一个数,地址自动加1,又从001单元读数,依次类推,直到读完所需数据。

(4)读显示RAM命令特征位D7D6D5=011D4=1RAM地址自动加1,D4=0不加1。

D3---D0为显示RAM中的地址。

例:欲读显示RAM中1000单元地址,求命令字。

分析:因为只读一个数,地址不需自动加1,即设置D4=0,特征位为011,地址为1000,所以其控制命令字为D7---D0=01101000B=68H。

(5)写显示RAM命令特征位D7D6D5=100。

D4是地址自动加1控制,D4=1,地址自动加1;D4=0,地址不加1。

D3---D0是欲写入的RAM地址,若连续写入则表示RAM首地址。

命令格式同读显示RAM。

(6)显示器禁止写入/熄灭命令特征位D7D6D5=101D4:无用位。

D3:禁止A组显示RAM写入,D3=1,禁止。

D2:禁止B组显示RAM写入,D2=1,禁止。

D1:A组显示熄灭控制。

D1=1,熄灭;D1=0,恢复显示。

D0:B组显示熄灭控制。

D0=1,熄灭;D0=0,恢复显示。

利用该命令可以控制A、B两组显示器,哪组继续显示,哪组被熄灭。

例:假设A、B两组灯均已被点亮,现在希望A组灯继续亮,B组灯熄灭,确定其命令字。

分析:根据命令格式,A组灯继续亮应禁止A组RAM再写入其他数据,故D3=1;B组显示熄灭D0=1,除特征位外其余位设为“0”。

故其控制命令字为。

(7)清除(显示RAM和FIFO中的内容)命令特征位D7D6D5=110D0为总清除特征位,D0=1把显示RAM和FIFO全部清除。

17D1=1清除FIFO状态,使中断输出线复位,传感器RAM的读出地址清0。

D4---D2:设定清除显示RAM的方式,如表3.6所示。

表3.6清除显示RAM方式D4 D3D2 清除方式0X 将全部显示RAM清为01 1 0 将显示RAM置为20H(A组=0010,B组=0000)1 1 将显示RAM置为FFH0 D0=0,不清除;D0=1,仍按上述方式清除例:将全部显示RAM清0,其命令字为:入传感器RAM,同时发出中断申请,即将IRQ置高电平,并禁止再写入传感器RAM。

中断响应后,从传感器RAM读走数据进行中断处理,但中断标志IRQ的撤除分两种情况。

若读RAM地址自动加1标志位为“0”,中断响应后IRQ自动变低,撤消中断申请;若读RAM地址自动加1标志位为“1”,中断响应后IRQ不能自动变低,必须通过结束中断命令来撤消中断请求。

第二:在设定为键盘扫描N键轮回方式时作为特定错误方式设置命令。

在键盘扫描N键轮回工作方式,又给8279写入结束中断/错误方式命令,则8279将以一种特定的错误方式工作,即在8279消抖周期内,如果发现多个按键同时按下,则将FIFO状态字中错误特征位置“1”,并发出中断请求阻止写入FIFORAM。

根据上述8种命令可以确定8279的工作方式。

在8279初始化时把各种命令送入命令地址口,根据其特征位可以把命令存入相应的命令寄存器,执行程序时8279能自动寻址相应的命令寄存器。

4.8279的状态字及其格式状态字显示出8279的工作状态。

状态字和8种命令字共用一个地址口。

当A0=1时,从8279命令/状态口地址读出的是状态字。

状态字各位意义如下:D7:D7=1表示显示无效,此时不能对显示RAM写入。

D6:D6=1表示至少有一个键闭合;在特殊错误方式时有多键同时按下错误。

D5:D5=1表示FIFORAM已满,再输入一个字则溢出。

D4:D4=1表示FIFORAM中已空,无数据可读。

D3:D3=1表示FIFORAM中数据已满。

D2---D0:FIFORAM中数据个数。

显然,状态字主要用于键盘和选通工作方式,以指示FIFORAM中的字符数及有无错误发生。

185. 8279数据输入/输出格式对8279输入/输出数据不仅要先确定地址口,而且数据存放也要按一定格式,其格式在键盘和传感器方式有所不同。

(1)键盘扫描方式数据输入格式键盘的行号、列号及控制键位置如下:D7 D6 D5 D4 D3 D2 D1 D0 CNTL SHIFT SL2 SL1 SL0 由RLx 的x 决定D7:控制键“CNTL ”状态。

D6:控制键“SHIFT ”状态。

相关文档
最新文档