⊙IC-8279
g. 消除
命令代码: 1 1 0 CD CD CD CF CA
此命令用于按一定格式清显示器RAM的FIF0状态,其中CD规定清除格式:
CD CD CD
0 X 全"0"(x为任意)
1 0 AB =16 进制
1 0 20(0 O 1 0 0 0 0 0)
1 1 全册"1"
当为"1"时允许清除显示器(或用CA=1)
CF清除FIFO状态(包括中断),若CF=1,则清除FIF0状态,并对中断线复位自传感器RAM的指示器
亦被置于0行CA为总清,其效果相当于CD和CF的合成,当CA=1时,利用CD指示的清除格式清除显
示器RAM,并清除FIF0状态,C孔也使内部定时重新同步.在显示器RAM被清除期间(约16us)不能
写入,同时在此期间FIFO的最高有效位被置"1"当显示RAM再度变为可用时即自动复位.
h. 中断结束/出错方式设置
命令代码: 1 1 1 E X X X X X=任意
在传感器阵列方式时,此命令使IRQ线变低,并允许对RAM再写(检测到一个传感器位变化时,
IRQ线可能已升高了,因此这样做可阻止在其复位以前把信息再度写入RAM).在N键巡回工作方
式,若E位被编程为"1",则芯片电路将在特殊出错方式下运行.
在N键巡回方式的特殊出错方式下主要用于检查键的多重按下,若在一个回弹周期中发现两个
键被按下,即可看成同时多重按下,并建立出错标志,阻止任何对FIF0的进一步写入,同时设置
中断(如中断尚末设置的话),在此方式中,可用读
FIFO 状态字命令读出错误标志,而发CF=1
的清除命令,可使出错标志复位.
☆8279 编程举例
通用键盘显示接口板,能直接挂在Z80.8031.6502总线上编程方法全部相同,通常可按下列顺序:
设定分频系数(复位后分频系数为31);选择键盘/显示工作方式;消除显示
RAM 和 FIF0 状态;将
显示的数据写入显示RAM中……
下面用8031汇编程序对8279初始化
ORG 0000H
MOV DPTR,#7000H ; 指向8279数据口
INC DPTR ; 指向8279控制口
MOV A, #00H ; 设定8279工作方式
M0VX @DPTR,A
MOV A , #0GFH ; 清除8279内部显示RAM状态
MOVX @DPTR, A
MOV A , #22H
MOVX @DPTR , A ; 设定8279分频系数
LOOP:MOVX A , @DPTR
JB ACC.7 , LOOP ; 显示RAM清除完毕吗?
MOV A , 80H ; 指向第一位数码管
MOVX @DPTR , A
MOV A , 9FH ; 输出"1"一个字形
MOV DPTR ,#7000H
MOVX @DPTR , A
INC DPTR
LOOP1:M0VX A , @DPTR
AND A , #07H
CJNE A , #00H,L00P2
AJMP LOOP1 ; 无键按下转
LOOP2:MOV DPTR ,#7000H ;有键按下将键值送累加器AMOVX A , @DPTR
.
.
.
键值,由8279的行扫描信号(SL0-SL3)与列信号(RL0-RL7)组成,不同组合的矩阵将得到不同键,但
在同一矩阵中不会有相同的键值,这对初学者编制键显示程序大为方便.下表是通用键盘板键值:
名称 0 1 2 3 4 5 6 7 8 9
键值 C1 C8 C9 D0 D8 E0 C2 CA D1 D9
名称 A B C D E F LAST NEXT EXEC
键值 DA C3 CB D2 D3 DB E3 E2 E1
字形,与数码管的极性.连接方式有关,8279上一般选用
共阴极数码管,通用键盘板字形代码如下:
字形 0 1 2 3 4 5 6 7
代码 0C 9F 4A 0B 99 29 28 8F
字形 8 9 A B C D E F
代码 08 09 88 38 6C 1A 68 F8
要点亮一个数码管必须选通位和字形,键盘显示板的8个数码管的位地址如下:
数码管 LED1 LED2 LED3 LED4 LED5 LED6 LED7 LED8
位地址 80 81 82 83 84 85 86 87
BACK<< |
|