最新《单片机原理及应用》第八章单片机的人机接口

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

ACALL JUDGE
JNZ NT
POP ACC
9
第八章 单片机的人机接口
RET NEXT:INC R4 MOV A,R2 JNB ACC.3,KND RL A MOV R2,A AJMP LK3 KND:AJMP KEY1
;判断整个4×4键盘是否扫描结束 ;扫描下一列
10
第八章Байду номын сангаас单片机的人机接口
JNZ LK1
;看有否键按下 ;有键按下,跳转至按键处理
ACALL DELAY
AJMP KEY1
;无键则延时后再扫描
LK1 :ACALL DELAY ;延时去抖动
JNZ LK2
;再次判断有无键
ACALL DELAY
ALMP KEY1
;无键则延时后再扫描
LK2 :MOV R2,#0EH ;扫描列线
MOV R4,#00H ;列号
8.2 LED显示器接口
LED显示器是由发光二极管构成的字段组成的显示器 分类:8段和16段LED显示器 连接方法:共阴极和共阳极
a
f
b
g
a
j fi
g
kb h
e
c
d
e
l m nc
d
11
第八章 单片机的人机接口
字型码表:通过字符查到相应 排列顺序:dp/g/f/e/d/c/b/a 例如“0”的字型码,共阴 极为3FH,共阳极为0C0H
MOV A,#04H
AJMP LKP LINE2: JB ACC.2,LINE3
MOV A,#08H
;第2行为1表示无键,则转3行
AJMP LKP LINE3: JB ACC.3,NEXT ;第3行为1表示无键,则转NEXT
MOV A,#0CH
LKP: ADD A,R4
PUSH ACC
NT: ACALL DELAY
JUDGE: MOV DPTR,#0FFDDH ;8255A口地址
MOV A,#00H
MOVX @DPTR,A
;A口输出低电平
INC DPTR
INC DPTR MOVX A,@DPTR CPL A ANL A,#0FH RET
;从C口读数据 ;取低四位
7
第八章 单片机的人机接口
(2.读键程序) KEY1:ACALL JUDGE
❖ 求键号。过程如下:先置PA0=0,PA1~PA3均为1, 再读C口,由C口低电平的位置便可确定按下键的位 置。例如,若在PA0=0时PC0=0,那么是0号键按下 。键码值高4位是键所在行号,低4位是键所在列的 号码。
6
第八章 单片机的人机接口
8.1.3 键盘输入程序设计方法
扫描与读键程序:
(1.判断有无键按下子程序)
电路连接; 2)、利用本身的串行端口TXD和RXD与LED电路连接(让串行
接口工作在方式0:RXD-串行I/O、TXD-移位脉冲)。
14
第八章 单片机的人机接口
1.静态显示程序 DIR:SETB P3.3
MOV R7 ,#08H ;循环次数为8次 MOV R0 ,#6FH ;先送最后一个显示字符 DI0: MOV A ,@R0 ;取显示的数据 ADD A, #e ;加上字形码表的偏移量 MOVC A ,@A+PC ; 取字形码 MOV SBUF ,A ;送出显示 DI1: JNB TI ,DIl ;查询输出完否? CLR TI DEC R0 DJNZ R7, DI0 CLR P3.3 RET
4
第八章 单片机的人机接口
键盘处理程序的步骤 判断键盘中有无键按下。单片机先使8255A的A口的各位
PA0~PA3均为低电平,再读C口(PC0~PC3)。若C口的各 位不全为高电平 ,则表示有键按下。 消除抖动。先延时10ms,然后再读C口,此时,若C口各位仍 不全为高电平,说明确实有键按下。
5
第八章 单片机的人机接口
MOV R3 ,#01H ;指向最右位
MOV A ,R3
DIO: MOV DPTR,#0101H ;DPTR指向8155PA口
MOVX @DPTR,A
INC DPTR
MOV A ,@R0
ADD A ,#12H ;加上字形码表的偏移量
MOVC A ,@A+PC
MOVX @DPTR ,A
ACALI,DELAY1
;调1ms子程序
INC R0
MOV A,R3
JB ACC.6, DI1 ;查6个显示位扫完否?
RL A
LK3 :MOV DPTR,#0FFDDH
MOV A,R2 MOVX @DPTR,A ;送0EH至A口 INC DPTR
INC DPTR MOVX A,@DPTR ;从C口读入
8
第八章 单片机的人机接口
JB ACC.0,LINE1 ;第0行为1表示无键,则转1行 MOV A,#00H
AJMP LKP LINE1: JB ACC.1,LINE2 ;第1行为1表示无键,则转2行
15
第八章 单片机的人机接口
TBT: DB 0COH,0F9H,0A4H TBLl: DB 0BOH,99H,92H TBL2: DB 82H,0F8H,80H TBL3: DB 90H,00H,00H
16
第八章 单片机的人机接口
2.动态显示电路
17
第八章 单片机的人机接口
2.动态显示程序
DIR:MOV R0 ,#6AH ; 显示缓冲区首地址送R0
《单片机原理及应用》第八章单 片机的人机接口
1
第八章 单片机的人机接口
2、矩阵式键盘
+。5V
按键
P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0
2
第八章 单片机的人机接口
❖ 3种键盘扫描方式
1、程序控制扫描方式——在主程序中用一段专门的
扫描和读键程序来检查有无键按下,并确定键值。
2、定时扫描方式——利用单片机内的定时器来产生
定时中断,然后在定时中断的服务程序中扫描和读 键,检查有无键按下,并确定键值。
3、中断扫描方式——当有键按下时由相应的硬件电
路产生中断信号,单片机在中断服务程序中扫描和 读键,再次检查有无键按下,并确定键值。
3
第八章 单片机的人机接口 ❖ 用8255实现的键盘接口电路
的字型码。
12
第八章 单片机的人机接口 LED显示器的工作原理
❖ 静态显示——需要显示的字符的各字段连续通电
,所显示的字段连续发光。
❖ 动态显示——所需显示字段断续通以电流,在需
要多个字符同时显示时,可以轮流给每一个字符 通以电流,逐次把所需显示的字符显示出来。
13
第八章 单片机的人机接口
❖ 1.静态显示电路 1)、本身的静态端口(P1口)或扩展的I/O端口直接与LED
相关文档
最新文档