问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何用8279实现键盘显示?

发布网友 发布时间:2022-04-21 22:43

我来回答

2个回答

热心网友 时间:2024-03-03 11:16

已测试程序供参考!
;键盘和LED显示程序
;
;*********************************************
;* 8279 初始化 *
;* KEYCOM为8279命令口 KEYDAT为8279数据口 *
;*********************************************
KEYCOM XDATA 0E601H
KEYDAT XDATA 0E600H
KEYCAM EQU 30H ;定义存放按键值RAM起始地址
ORG 0000H
AJMP START
ORG 0003H
LJMP AAA
ORG 0060H
START: MOV R0,#10
MOV DPTR,#KEYCOM ;命令口地址
MOV A, #10H ;键盘/显示方式命令字8字符显示左入口,编码键盘,双键锁定
MOVX @DPTR,A
MOV A,#34H ;程序时钟命令 26分频对外部输入时钟
MOVX @DPTR,A
MOV A,#0DFH ;清除显示缓冲区命令
MOVX @DPTR,A
BUSY1: MOVX A,@DPTR
JB ACC.7,BUSY1
MOV IE,#81H
MOV DPTR,#KEYDAT
MOV A,#0C8H
MOVX @DPTR,A ;字型送入8279
INC DPTR
MOV A,#90H
MOVX @DPTR,A ;字位送入8279(显示P)
HA7S2: MOV 30H,#80H
MOV 31H,#40H
HA7S3: MOV DPTR,#KEYCOM
MOVX A ,@DPTR
ANL A,#07H
CJNE A,#00H ,HA7S4;
AJMP HA7S3
HA7S4: MOV DPTR ,#KEYDAT
MOVX A,@DPTR
MOV B,A ;取键值
MOV R1,#00H
MOV DPTR ,#KEYTAB ;数字键键值表
HA7S5: MOV A , #00H
MOVC A,@A+DPTR
CJNE A , B ,HA7S6;查键值表是否相同
AJMP HA7SA; 转数字键处理程序
HA7S6: INC DPTR ;键值表地址加1
INC R1 ;查找次数加1
MOV A,R1
JB ACC.4 ,HA7S7 ;是功能键吗?
AJMP HA7S5 ; 继续查找
HA7S7: MOV R1,#00H
MOV DPTR ,#KEYTAB1 ;功能键表地址
HA7S8: MOV A,#00H
MOVC A,@A+DPTR ;取出功能键键值
CJNE A,B,HA7S9 ;键值相同吗?
AJMP HA7SC ;转功能键处理子程序
HA7S9: INC DPTR
INC R1
MOV A,R1
JNB ACC.2,HA7S8 ;继续查找
LJMP START
;;; AJMP HA7SD ;无按键返回
HA7SD: LJMP START
HA7SA: MOV A ,30H
MOV DPTR ,#0FE01H
MOVX @DPTR ,A; 字位送入8279
MOV A,R1
MOV R0,31H
MOV @R0,A
INC 31H
MOV DPTR ,#CDATA
MOVC A,@A+DPTR;取字型代码
MOV DPTR,#KEYDAT
MOVX @DPTR,A ;送8279显示
INC 30H
MOV A,30H ;字位加1
CJNE A,#88H,HA7SB ;
LJMP HA7S2
HA7SB: AJMP HA7S3
HA7SC: MOV DPTR ,#KJPADDR
MOV A,R1
RL A
;; ADD A,R1
ADD A,#00H
JMP @A+DPTR ;
KJPADDR: LJMP LOOP0
LJMP LOOP1
LJMP LOOP2
KEYTAB: DB 0C1H,0C8H,0C9H,0D0H,0D8H,0E0H,0C2H,0CAH,0D1H,0D9H
DB 0DAH,0C3H,0CBH,0D2H,0D3H,0DBH
KEYTAB1:DB 0E3H,0E2H,0E1H
CDATA: DB 0CH,9FH,4AH,0BH,99H,29H,28H,8FH,08H,09H,88H,38H,6CH,1AH,68H,0E8H
LOOP0:MOV R5,#0CH ;0
LJMP DISPC
LOOP1:MOV R5,#9FH ;1
LJMP DISPC
LOOP2:MOV R5,#4aH ;2
DISPC: MOV R6,#80H
DISPC1: MOV DPTR ,#KEYCOM
MOVX @DPTR,A ;字位送8279
MOV A ,R5
MOV DPTR ,#KEYDAT ;字形送8279
MOVX @DPTR ,A
LCALL DELAY1
; MOV A ,#0FFH
; MOVX @DPTR ,A ;关显示
; INC R6 ;
; CJNE R6,#88H,DISPC1
; AJMP DISPC;
LJMP HA7S2
AAA: NOP
NOP
RETI
DELAY1:MOV R1,#0FAH
DELAY2:NOP
NOP
DJNZ R1,DELAY2
DJNZ R0,DELAY1
RET
END

热心网友 时间:2024-03-03 11:16

Windows XP
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
vivo y18l 死机卡在开机界面 vivoy18l手机频繁黑屏死机怎么办? vivo y18l 死机了怎么办 vivoY18l黑屏死机解决办法 vivo y18l刷机很久都开不了机怎么? 湖北自考专升本会有学籍吗? 湖北自考专升本后可以考研吗 湖北自考申请毕业证的时间在什么时候 湖北自考专升本学历怎么查询 湖北自考专升本为什么没有学籍 距离广州市八旗二马路40号中国人寿保险股份有限公... 我最近鼻孔右下方长了许多一粒一粒的痘痘,生了什... 8279控制键盘与显示实验 您好,我想了解下中国人寿保险股份有限公司广州分... 鼻子右下方按下去会痛 杨枝遍洒 是什么意思 鼻子下面有痣代表什么 广州中国人寿的电销与客服岗位有什么不同? 怎么用8279 将数据输出 佛教取杨枝是什么意思? 右鼻孔下有个黑痣是常被误会是鼻子不干净想点掉又... intel 8279 芯片主要应用在什么场合?干什么用 八旗二马路人寿保险明天是否上班? 为什么观音菩萨手持杨枝甘露瓶 杨汁甘露的名字由来 鼻子下面有个痣 求8279的键盘扫描和显示的C语言程序 中国人寿保险 八旗二马路 我采用89C51控制8279实现键盘扫描和显示功能,prot... 杨枝甘露孕妇可以喝吗? 从越秀公园到八旗二马路广州人寿保险公司坐那号公交车 女朋友给我点外卖点的杨枝甘露和厚芋泥是什么意思? 荣耀8XMAX支持无线充电吗? 广州的八旗二马路在哪儿啊? 杨枝甘露形容人什么意思 提问到百度 我的鼻孔右下边长了很多痣像个鼻屎,能... 8279芯片和8255扩展连接数码管和键盘哪个好用 利用51单片机定时器及8279驱动LED,设计一个实时时... 我觉得我长得很丑,右鼻孔下面还有一科痣!很没有... 一碗绝妙的杨枝甘露的标准是什么? 右鼻孔下面长了个大猴子有寓意吗? 求单片机(键盘输入LED显示)实验代码注释 苹果8puls手机屏幕设置自动锁屏30秒,有时候长亮这... 从上涌村去越秀区八旗二马路那个中国人寿怎么坐地铁去 单片机与8279芯片的应用 数码管显示方式及特点? 手机上下了个rar格式的游戏怎么安装,求大神指导 8279可编程键盘/显示器接口芯片在protues的芯片库... 中国人寿如何办理退保,都需要哪些手续,请大家指... 8279的8279引脚说明