第8章 AT89S51单片机输入输出外设接口
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
9
数码管的工作原理
数码管的结构
共阳极数码管
共阴极数码管
共阳
共阴
10
数码管是如何显示出字符的
a
数码管的结构 共阳极数码管
f
g
b
共阴极数码管
数码管的显示
e d
c dp
段码,数码管显示的内容
位码,(即com端)数码管是否点亮
11
数码管的段码(以共阴数码管为例)
MSB
dp g f e d c b
LSB
a
0x3F 0x06 0x5B 0x4F 0x66
0x6D 0x7D 0x07 0x7F 0x6F
12
0x77 0x7C 0x58 0x5E 0x79
0x71
LED数码显示方式及电路
LED显示器工作方式有两种:静态显示方式和动 态显示方式。静态显示的特点是每个数码管的段选 必须接一个8位数据线来保持显示的字形码。当送入 一次字形码后,显示字形可一直保持,直到送入新 字形码为止。这种方法的优点是占用CPU时间少,显
●以按下时间最长的键为有效键。
●将最后释放的键视为有效键。 有复合按键的设计按照复合按键的功能进行编程,无复合 按键的设计中通常采用单键按下有效,多键按下无效的原则 进行处理。
30
8.2.2 键盘接口设计举例 键盘的分类
键盘分编码键盘和非编码键盘。键盘上闭合键的识别由 专用的硬件编码器实现,并产生键编码号(如BCD、ASCII) 或键值的称为编码键盘,如计算机键盘。 而靠软件编程来识别的称为非编码键盘。 在单片机组成的各种系统中,用的最多的是非编码键盘。
RN1
1 2 3 4 5 6 7 8 220 16 15 14 13 12 11 10 9 1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
P1.0/T2 P1.1/T2EX P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 AT89C52
16
程序设计
延时扫描 段选码,位选码,每送入一次后延时1ms,因人眼的视觉 暂留时间为0.1s,所以每位显示的间隔不必超过20ms,并保 持延时一段时间,造成视觉暂留效果。
(按键)
(开关)
23
单片机多路键盘的扩展方法
并口键盘:每个IO口接一个按键,优点是编程简单可靠,可 以中断方式使用,缺点是IO口占用过多。 矩阵键盘:将多个键盘接成行列交叉的形式,采用IO口分别 控制行和列。
键盘扩展专用芯片(例如HD7279),单片机通过串口直接与
该芯片通讯获取键值。 串转并扩展芯片扩展IO口。
21
例8-2 用MAX7219 控制数码管显示
a b c d e f g dp
C1
22pF
U1 X1
12M 18 XTAL2 19 XTAL1 P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 1 12 13
14
多个数码管的控制
静态显示,每个数码管单独控制,所有数码管同时点亮
动态显示,段码共用,位码分别控制,每个数码管循环点亮
段码 输入
位码扫描
15
例8-1 8位数码管的软件扫描显示
a b c d e f g dp
C1
22pF
U1 X1
19 XTAL1 CRYSTAL 18 XTAL2 P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17 2 3 4 5 6 7 8 9 19 1
24
8.2.1 键盘接口应解决的问题 键盘的任务 (1)判断是否有键按下。 (2)识别是哪一个键按下。 (3)按下的按键对应的功能(键值处理程序)。
25
键盘设计中需要考虑的问题:
键的连击
键按下时P2.0口的逻辑电平变化:
人为按键通常 按下时间为几 百毫秒。
‘1’
未按键
‘0’
按下
‘1’
按键松开
机
存储器
人机界面
3
单片机典型应用系统组成
单片机系统组成
A/D接口:实现模拟信号的采集
并行A/D 串行A/D
D/A接口:输出模拟量的控制信号
并行D/A
串行D/A
开关量输入输出:实现开关信号的检测和控制
步进电机、PWM控制的直流电机
开关量输出的传感器(如光电、霍尔传感器等)
示便于监测和控制。缺点是硬件电路比较复杂,成
本较高。
13
8.1.1 动态显示方式
动态显示的特点是将所有位数码管的段选线并
联在一起,由位选线控制是哪一位数码管有效。选
亮数码管采用动态扫描显示。所谓动态扫描显示即
轮流向各位数码管送出字形码和相应的位选,利用
发光管的余辉和人眼视觉暂留作用,使人的感觉好 像各位数码管同时都在显示。动态显示的亮度比静 态显示要差一些,所以在选择限流电阻时应略小于 静态显示电路中的。
也有用到编码键盘的。
非编码键盘又分为:独立键盘和行列式(又称
为矩阵式)键盘。
31
独立式键盘
查询方式独立式键盘
各按键与I/O口相互的接通一条输入数据线。 优点:电路简单,编程方便。 缺点:严重占用系统资源,当键数较多时,占用较多I/O口。
32
独立式键盘
中断扫描方式独立式键盘
各按键通过门器件与单片机外部中断输入口相连。 优点:实时性强,占用系统资源少。 缺点:当键数较多时,占用I/O口仍较多。
备包括FLASHRAM、网络控制器、LCD显示驱动器、A/D转换器
和MCU等。 SPI接口是在CPU和外围低速器件之间进行同步串行数据传输,
在主器件的移位脉冲下,数据按位传输,高位在前,低位在
后,为全双工通信,数据传输速度总体来说比I2C总线要快, 速度可达到几Mbps。
20
目前许多单片机都带有SPI接口,对于AT89S51单片机,由于 不带SPI接口,SPI接口的实现,采用软件与I/O口结合来模拟 SPI时序,对器件进行操作。
4
通信接口:实现系统和外界(单片机或PC)的数据交换
RS-232C RS-485
人机界面:沟通用户和系统的渠道
键盘、显示
打印机
5
单片机应用系统实例
通信接口
输出开关量控制信号
输 入 开wenku.baidu.com关 量 控 制 信 号
单片机 存储器
6
8.1. LED数码显示器的接口设计
数码管是如何显示出字符的 数码管静态显示 数码管动态显示原理 数码管显示电路与程序设计
单片机原理与接口技术电子教案
第 8 章
AT89S51单片机与输入/输出外设的接口
成都大学工业制造学院 程 跃
本章主要内容(本章学时6学时)
1. LED数码管动态显示接口设计
2. 矩阵式键盘接口设计
3. 液晶显示器使用初步
2
单片机典型应用系统组成
A/D接口
D/A接口
单
开关量输入 开关量输出
片
通信接口
当用手按下一个按键时,往往所按按键 在闭合位置和断开位置之间弹跳几下才会稳 定到闭合状态;在释放一个按键时,也会出 现类似的情况。这就是按键抖动。这是由机 械结构的固有特性决定的,不可避免。 按键抖动的持续时间大小不一,一般在 10ms左右。
28
键盘设计中需要考虑的问题
理想按键过程:
断开 按下
实际按键过程:
33
矩阵(行列)式键盘 为减少键盘与单片机接口时所占用I/O口线数目,
在键数较多时候,通常将键盘排列成行列式键盘。
利用矩阵结构只需要N条行线和M条列线,即可组 成N*M个按键的键盘。 在这种行列矩阵式非编码键盘的单片机系统中, 键盘处理程序首先执行有无按键按下的程序段,当确 认有按键按下后,下一步识别哪个按键被按下,对键 的识别通常采用逐行(或逐列)扫描法。
C3
10uF 29 30 31 PSEN ALE EA
1 2 3 4 5 6 7 8
P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 AT89C51
R2
18 24
ISET DOUT MAX7219
22
1 2 3 4 5 6 7 8
8.2 键盘的接口设计
按键的作用:
按键是单片机系统与操作人员之间交互重要组件,用 于完成操作人员对单片机系统的输入控制。
26
键盘设计中需要考虑的问题
解决办法:等待按键弹起 连击,会在一次按键中多次产生击键的效果,对于这类问 题,在键盘编程中常采用等待按键释放的处理方法来消除连 击,使得每次按键仅产生一次键的处理效果。这样就可以避
免当某个按键还未松开时,键扫描程序和处理程序已执行多
遍。
27
键盘设计中需要考虑的问题: 消除按键抖动
C2
22pF
R1
220
9
RST
U2
DIN LOAD CLK A B C D E F G DP DIG0 DIG1 DIG2 DIG3 DIG4 DIG5 DIG6 DIG7 14 16 20 23 21 15 17 22 2 11 6 7 3 10 5 8 a b c d e f g dp 1 2 3 4 5 6 7 8
1 2 3 4 5 6 7 8
U2
A0 A1 A2 A3 A4 A5 A6 A7 CE AB/BA 74LS245 B0 B1 B2 B3 B4 B5 B6 B7 18 17 16 15 14 13 12 11 a b c d e f g dp
C2
22pF
R9
10k
9
RST
C3
10uF 29 30 31 PSEN ALE EA
断开
抖动 约10ms
按下
消除按键抖动解决办法
延时10ms后等待按键稳定再次判断是否有键按下;
采用按键消抖电路; 专用键盘接口芯片含有按键自动去抖电路。
29
键盘设计中需要考虑的问题:
多键同时闭合 当有两个或多个键同时闭合时,可以采用条件判断的方式 来确认哪个按键有效。例如以下方式。 ●以先按下的键为有效键。
18
19
SPI总线串行扩展简介
SPI(Serial Peripheral Interface--串行外设接口)总线系 统是一种同步串行外设接口,它可以使MCU与各种外围设备以 串行方式进行通信以交换信息。SPI有三个寄存器分别为:控 制寄存器SPCR,状态寄存器SPSR,数据寄存器SPDR。外围设
34
35
36
行描法识别键值的工作原理 行输出、列输入
编程思路:
1、判断是否有键按下
STEP1 :判断键盘中有无键按下,向 行线输出全扫描字00H,读取列线 的值。 STEP2 : 进行行扫描判断键值,依次
全扫描
2、确定按下的是哪一个 键(确定按键代码)
给行线送低电平,读取列线状态,
如读取的值全为1,则按下的键不 在此行,否则所按下的键必在此
7
单片机系统中常用的显示器有:
发光二极管LED(Light Emitting Diode)显示
器、液晶LCD(Liquid Crystal Display)显示器、
CRT显示器等。LED、LCD显示器有两种显示结构:
段显示(7段、米字型等)和点阵显示(5×8、
8×8点阵等)。
8
数码管: 由发光二极管阵列构 成。用于显示数字和简单 英文字符。 常用的有7段、8段LED 数码管、米字型数码管、 点阵型数码管及专用数码 管。
定时器中断刷新显示
17
8.1.2 用SPI接口显示驱动芯片控制数码管多位显示
MAX7219/MAX7221是一种集成化的串行输入/输出共阴级显示
驱动器件。它可以驱动8位7段数码管显示,也可以连接条形
LED或8×8LED点阵屏。 采用MAX7219仅占用单片机的3只引脚,大大节省了动态刷新 数码管程序对单片机资源的占用。是驱动数码管显示的最常 用的IC器件。 MAX7219采用SPI接口和单片机相连接。