单片机技术及应用项目化教程章图文 (1)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
项目三 键盘及显示接口的应用
项目三 键盘及显示接口的应用
任务1 八路抢答器的设计与制作 任务2 数字秒表的设计 任务3 密码锁的设计 任务4 简单的LED点阵显示
——用LED点阵模拟显示电梯的楼层 扩展任务 液晶显示器接口设计
——用字符液晶向朋友问好
1
项目三 键盘及显示接口的应用
任务1 八路抢答器的设计与制作
用LED显示器显示十六进制数的字形码见表3-1。
17
显示字形
0 1 2 3 4 5 6 7 8
项目三 键盘及显示接口的应用
表3-1 字 形 码
共阳极 字段码 C0H F9H A4H B0H 99H 92H 82H F8H 80H
共阴极 字段码 3FH 06H 5BH 4FH 66H 6DH 7DH 07H 7FH
5
项目三 键盘及显示接口的应用
图3-1 单个按键构成的键盘电路
6
项目三 键盘及显示接口的应用
图3-2 按键的电压抖动
7
项目三 键盘及显示接口的应用
为使CPU能正确地读出P1.0口的状态,对每一次按钮只 作一次响应,就必须考虑如何去除抖动,常用的去抖动的办 法有两种:硬件办法和软件办法。单片机中常用较简单的软 件法,其流程图如图3-3所示。即在单片机获得P1.0口为低 的信息后,不是立即认定S已被按下,而是延时10 ms或更长 一些时间后再次检测P1.0口,如果仍为低,说明S的确按下 了,这实际上是避开了按钮按下时的抖动时间。而在检测到 按钮释放后(P1.0为高)再延时5~10 ms,消除后沿的抖动, 然后再对键值处理。不过一般情况下,我们常常不对按钮释 放的后沿进行处理,实践证明,也能满足一定的要求。当然, 实际应用中,对按钮的要求也是千差万别,要根据不一样的 需要来编制处理程序,但以上是消除键抖动的原则。
13
项目三 键盘及显示接口的应用
独立式键盘的结构比较简单,但每个按键都占用了一个 口线,因此只适用于按键数量比较少的情况。
在单片机应用系统中,通常要使用显示器作为输出设备 显示系统的状态,常用的显示器有LED数码显示器、点阵显 示器及液晶显示器三种。
LED数码显示器内部的发光二极管有共阴极和共阳极两 种连接方法,如图3-5所示。
4
项目三 键盘及显示接口的应用
按钮开关的抖动问题:组成键盘的按钮有触点式和非触 点式两种。单片机中应用的按钮一般是机械触点,当按键动 作时,会出现抖动现象,要对按键进行消抖处理。下面以图 3-1单个按键电路为例介绍抖动的产生及如何消除。
当开关S未被按下时,P1.0口输入为高电平,当开关S闭 合后,P1.0口输入为低电平。由于按钮是机械触点,当机械 触点断开、闭合时,会有抖动,P1.0口输入端的波形如图32所示。这种抖动对于人来说是感觉不到的,但对计算机来 说,则是完全能感应到的,因为计算机处理的速度是在微秒 级,而机械抖动的时间至少是毫秒级,对计算机而言,这已 是一个“漫长”的时间了。
8
项目三 键盘及显示接口的应用
图3-3 软件去抖动流程图
9
项目三 键盘及显示接口的应用
软件去抖就是在检测到有按键按下时执行一个10 ms左 右(具体时间应视所使用的按键进行调整)的延时程序后;再 确认该键电平是否仍保持闭合状态电平,若仍保持闭合状态 电平,则确认该键是处于闭合状态。
2) 独立式键盘 在设计独立式键盘电路时,每个按键的一端与Px口的 一个引脚相连,另一端接地。CPU可以通过检测Px的8个I/O 口线哪个是“0”就可以识别是否有键按下,并能识别出是哪 一个键按下,如图3-4所示。
图3-8 中断系统结构框图
32
项目三 键盘及显示接口的应用
3) 中断的响应过程 (1) 中断响应条件: ① 有中断源发出中断请求。 ② 中断总允许位EA=1,即CPU开放中断;且申请中断 的中断源对应的中断允许位为1,即没有被屏蔽。 ③ 没有更高级或同级的中断正在处理中。 ④ 执行完当前指令。若当前指令为返回指令RET、 RETI或访问IE、IP的指令,CPU必须在执行完当前指令后, 再继续执行一条指令,然后才响应中断。
2.硬件电路的设计与制作 1) 键盘概述 键盘是由若干按钮组成的开关矩阵,它是单片机系统中 最常用的输入设备,用户能通过键盘向计算机输入指令、地 址和数据。键盘分为编码键盘和非编码键盘,一般单片机系 统中采用非编码键盘,非编码键盘是由软件来识别键盘上的 闭合键,它具有结构简单、使用灵活等特点,因此被广泛应 用于单片机系统。
代码位
D7
D6
D5
D4
D3
D2
D1
D0
显示段
Dp
g
f
D
d
e
b
a
15
项目三 键盘及显示接口的应用
图3-5 LED数码显示器内部的连接方法
16
项目三 键盘及显示接口的应用
若为共阴极接法,则输入高电平使发光二极管点亮;若 为共阳极接法,则输入低电平使发光二极管点亮。使用LED 显示器时,要注意区分两种不同的接法。为了显示数字或符 号,要为LED显示器提供代码(字形码),在两种接法中字形 码是不同的。
D6
D5
D4
D3
D2
D1
D0
EA
X
X
ES
ET1
EX1
ET0
EX0
EX1外部中断,ET1定时,ES串行口中断。 要想哪位中断,哪位就得置一。必备EA=1! 4) IP中断优先级控制寄存器
D7
D6
D5
D4
D3
D2
D1ຫໍສະໝຸດ Baidu
D0
X
X
X
PS
PT1
PX1
PT0
PX0
PX0、PX1是外部中断,PT0、PT1是定时,PS是串行口 优先级控制位。
10
项目三 键盘及显示接口的应用
图3-4 独立式键盘
11
项目三 键盘及显示接口的应用
其典型的程序结构如下:
KEY: MOV A,#0FFH ;对P0口写“1”,为输入作准备
MOV P1,A
MOV A,P1
;输入按键状态
JNB
ACC.0,KEY0 ;若K0按键按下,则
转KEY0处理程序
JNB
ACC.1,KEY1 ;若K1按键按下,则
D7
D6
D5
D4
D3
D2
D1
D0
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
28
项目三 键盘及显示接口的应用
TR0/TR1是T0/T1的启动控制位,当TR0 = 0时,T0不能 计数,当TR1 = 0时,T1不能计数。
TF0是T0的溢出中断标志位。当TR0 = 1时,一直保持 CPU的响应中断。
任务2 数字秒表的设计
知识目标:掌握单片机中断系统结构及工作原理;掌握 单片机中断程序的编写方法;掌握单片机定时计数器的工作 方式;掌握单片机定时计数器不同工作方式程序的编写方法; 掌握数码管动态扫描的原理及软件编写。
能力目标:单片机开发工具及软件使用;设计并制作2 位LED动态显示电路;动态显示程序、中断程序和定时/计 数程序的编写及调试;编写程序实现数字秒表的功能。
14
项目三 键盘及显示接口的应用
3) LED数码显示器及其接口电路 LED(Light Emitting Diode)是发光二极管的缩写,LED 数码显示器是由若干段发光二极管构成的,当某些段的发光 二极管导通时,显示对应的字符。LED显示器控制简单,使 用方便,在单片机中应用非常普遍。 7段发光二极管再加上一个小数点位,共计8段,提供给 LED显示器的字形码正好一个字节,各字形码的对应关系如 下:
22
项目三 键盘及显示接口的应用
NEXT7: JB
P1.7,MAIN
MOV A,#8
AA:
MOV DPTR,#SEG
MOVC A,@A+DPTR
MOV P2,A
SLJMP $
SEG:
DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
END
23
项目三 键盘及显示接口的应用
TI0是INT1非触发方式,当IT0 = 0时是低电平触发方式, 当IT0 = 1时是下降沿触发方式。
IE0是外部中断INT0非的中断标志位。 SCON的中断标志位:
D1
D0
T1
RI
D1是串行口发送中断源,RI是串行口接收中断源。
29
项目三 键盘及显示接口的应用
(3) 中断允许控制寄存器IE:
D7
显示字形
9 A b C d E F “熄灭”
共阳极 字段码 90H 88H 83H C6H A1H 86H 8EH FFH
共阴极 字段码 6FH 77H 7CH 39H 5EH 79H 71H 00H
18
项目三 键盘及显示接口的应用
LED显示器的显示方式分为静态显示和动态显示两种。 静态显示:实际使用的LED显示器通常由多位构成,对 多位LED显示器的控制包括字形控制(显示什么字符)和字位 控制(哪些位显示)。在静态显示方式下,每一位显示器的字 形控制线是独立的,分别接到一个8位I/O接口上,字位控制 线连在一起,接地或 +5 V。八路抢答器即为一位数码管构 成的静态显示电路,如图3-6所示。
26
项目三 键盘及显示接口的应用
图3-7 中断处理过程
27
项目三 键盘及显示接口的应用
2) 中断源和中断请求标志 (1) 中断源包括:2个外部、3个内部。 2个外部包括:INTO非P3.2口、INT1非P3.3口。 3个外部包括:定时T0 P3.4口、计数T1 P3.5口、串行口 中断RXD P3.0口、RXD P3.1口。 (2) TCON中的中断标志位:
21
项目三 键盘及显示接口的应用
NEXT3: JB
P1.3,NEXT4
NEXT4: NEXT5:
MOV SJMP JB MOV SJMP JB
A,#4 AA P1.4,NEXT5 A,#5 AA P1.5,NEXT6
MOV A,#6
NEXT6:
SJMP JB MOV SJMP
AA P1.6,NEXT7 A,#7 AA
知识目标:掌握独立式键盘和LED数码管显示器的应用 特性,掌握键盘去抖动的方法及键盘程序编写的步骤。
能力目标:会使用Proteus设计独立键盘与单片机的接口 电路及一位LED数码管显示器与单片机的接口电路,能熟练 使用开发环境进行简单程序的输入和调试,并会编写八路抢 答器的控制程序。
2
项目三 键盘及显示接口的应用
25
项目三 键盘及显示接口的应用
(3) 中断处理过程主要包括:中断请求、中断响应、中 断服务、中断返回,如图3-7所示。
中断源是中断响应的必备条件。 中断功能包括:硬件电路和软件程序。 中断程序包括:中断控制和中断服务程序。 中断控制包括:触发方式、允许中断响应(设置IE)、优 先级控制(设置IP)。
1.任务要求 设计制作八个独立按键电路和一位静态数码管显示电路, 和单片机最小系统开发板,构成八路抢答器小系统。实现如 下功能:当按下K1时,数码管显示1,按下K2时,数码管显 示2,…,按下K8时,数码管显示8,如果同时有两个或两 个以上的按键按下,数码管不显示,从而实现八路抢答器的 功能。
3
项目三 键盘及显示接口的应用
19
项目三 键盘及显示接口的应用
图3-6 八路抢答器电路图
20
项目三 键盘及显示接口的应用
3. 软件程序的设计 程序清单如下:
MAIN: NEXT1: NEXT2:
ORG LJMP ORG JB MOV SJMP JB MOV SJMP JB MOV SJMP
0000H MAIN 0050H P1.0,NEXT1 A,#1 AA P1.1,NEXT2 A,#2 AA P1.2,NEXT3 A,#3 AA
转KEY1处理程序

12
项目三 键盘及显示接口的应用
独立键盘控制流水灯的程序:
KEY: KEY0:
ORG 0000H AJMP KEY ORG 0050H MOV P1,#0FFH MOV A,#0FFH MOV P2,A MOV A,P2 JNB ACC.0,KEY0 SJMP KEY MOV P1,A SJMP KEY END
30
项目三 键盘及显示接口的应用
控制高优先级令PX0 = 1,控制低优先级令PX0 = 0。 系统复位时均为低优先级,同级按自然顺序排列,出现 高级,先高后低。优先级从高到低是D0到D7。 响应次序为:定时器0→外中断1→外中断0→实时器1→ 串行中断。 中段系统结构框图如图3-8所示。
31
项目三 键盘及显示接口的应用
24
项目三 键盘及显示接口的应用
1.任务要求 设计制作三个独立按键电路和二位动态数码管显示电路, 构成数字秒表小系统。实现如下功能:当按下K1时,数码 管开始计时, K2按键按下,数码管停止计时,K3按下时, 秒表清零。 2.中断系统 1) 中断的基本概念 (1) 中断源是指引起中断的事件。 (2) 中断的优点: ① CPU与外设并行工作。 ② 实时处理。 ③ 故障处理。
相关文档
最新文档