C7第七章单片机接口技术.

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DI0-DI7:转换数据输入 CS:片选信号
因此,DAC0832可以 有三种工作形式:直通、 单级锁存、两级锁存。
ILE,WR1:控制输入寄存器
ILE=1,WR1=0时:直通 ILE=1,WR1=1时:锁存
XFER,WR2:控制DAC寄存器
XFER=0,WR2=0时:直通 XFER=1 or WR2=1时:锁存
21 22 23 24 25 26 27 28
PB 0 PB 1 PB 2 PB 3 PB 4 PB 5 PB 6 PB 7
29 30 31 32 33 34 35 36
PC 0 PC 1 PC 2 PC 3 PC 4 PC 5
37 38 39 1 2 5
PB0~PB7
200Ω×8
0
1
7
6
4
PA0~PA7
键按下/释放判断
KS: MOV MOV MOV
MOV CPL ANL
RET
A,#00H P1,A P1,#0FH
A,P1 A A,#0FH
;全扫描字#00H送P1口
;读入P1口状态
;变正逻辑,高电平表示有键按下 ;取低4位 ;返回,A≠0表示有键按下
按键识别——扫描法
原理: 在某一时刻只让一条列线处于低电平,其余列线均
WW:
ORG 0200 MOV DPTR,#0E000H MOV A,#00H MOVX @DPTR,A
;指向输入寄存器地址 ;转换初值 ;WR1有效,启动D/A转换
INC A NOP
;延时
NOP
AJMP WW
产生的锯齿波的过程
255/28 254/28
3/28 2/28 1/28
0
用同样的方法也可以产生三角波、矩 形波、梯形波。
电路的接法决定了必须采用逐位扫描显示方式。
即从段选口送出某位LED的字型码,然后选通该位LED,
并保持一段延时时间。然后选通下一位,直到所有位扫
描完。
要注意的两个问题:
1.字型码通常通过查表指令MOVC来求得.
2.换位显示时通常要加一段程序使所有的LED全灭.
动态显示程序流程图
采用动态扫描方式依次循环点亮各位数码管,构成
STAR:MOV TMOD,#60H ;定时器T1工作在方式2计数
MOV TH1,#00H
;T1置初值
MOV TL1,#00H
MAIN:MOV P1,#0C0H
;数码管显示0
DISP:JB
P3.3,DISP
;监测按键信号
ACALL DELAY
;消抖延时

JB
P3.3,DISP
;确认低电平信号
DISP1:JNB P3.3,DISP1
处于高电平,则当这一列有键按下时,该键所在的行 电平将会由高电平变为低电平,可判定该列相应的行 有键按下。
流程:
当第0列处于低电平时,逐行查找是否有行线变低, 若有,则第0列与该行的交叉点按键按下;若无,则表示 第0列无键按下,再让下一列处在低电平,依此循环,这 种方式称为键盘扫描。
键号=行首键号(0、4、8、12)+列号(0、1、2、3)
接口电路:

关键:如何 判断键号?

式 按 键
P1.7
P1.6
P1.5
+5V
P1.4
0123
P1.3
P1.2
45 67
8 9 10 11
P1.1
P1.0
12 13 14 15
MCS-51
特点:按键识别应采用扫描法或线路反转法
编程较为复杂,节省口资源,8键以上使用
键盘扫描子程序一般包括以下内容:
1.判别有无键按下; 2.扫描获取闭合键的行、列值; 3.用计算法或查表法得到键值; 4.判断闭合键释放否,如没释放则继续等待; 5.保存闭合键号。
按键的特点及输入原理
按键的分类: 触点式:机械;无触点式:电气
键输入原理: 通过按键的接通与断开,产生两种相反的逻辑
状态 低电平“0”与高电平“1”。 键功能的实现:
对于一组键或一个键盘,需通过接口电路与单 片机相连。可采用查询或中断方式测试有无键按下, 再确定是哪一个键按下,将该键号送入累加器ACC, 然后判断是数字键还是功能键,若是数字键,则将 键号对应的数字送入相关输入缓冲区;若是功能键, 则通过跳转指令转入执行该键的功能程序,执行完 后再返回主程序。
多位动态数码管显示电路。
1
开始
指向段选口,送字型码
显示缓冲区首地址送R0 显示位数送R2
指向位选口,送位选码 延时
起始显示位送R3
指向显示缓冲区下一个单元
禁止所有位(关显示) 从缓冲区取要显示的数
查表得字型码
1
位选码左移
N
扫描完一遍吗?
Y
结束
课堂练习
+5V
P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0
ADC0809和单片机的连接
80 31
&
IN T0
P 1.0 P 1.1 P 1.2 P 1.3
P 1.4 P 1.5 P 1.6 P 1.7
7.2 显示器接口技术
LED的结构和显示原理 静态显示方式 动态显示方式 动态显示的实现
问题引入: LED显示器如何显示出指定数字/字符?
com
com
例:模拟产品计数显示电路
ORG 1000H
定时扫描方式
定时扫描方式就是每隔一段时间对键 盘扫描一次,它利用单片机内部的定时器 产生一定时间(例如10 ms)的定时,当定 时时间到就产生定时器溢出中断。CPU响应 中断后对键盘进行扫描,并在有键按下时 识别出该键,再执行该键的功能程序。
中断扫描方式
为提高CPU工作效率,可采用中断扫描工作方式。 其工作过程如下:当无键按下时,CPU处理自己的工作, 当有键按下时,产生中断请求,CPU转去执行键盘扫描 子程序,并识别键号。
转换精度(分辨率):决定于输入数字量的位数,位数越多, 精度越高。
典型芯片-DAC0832介绍
DAC0832是一个八位D/A转换器,转换时间1微秒,结构如下:
可输 转出 换为 为模 电拟 压电 。流

LE1或LE2=1,当前寄存器的输出跟随输入 LE1或LE2=0,锁存数据
DAC0832功能分析
8031
试编制程序,要求当其中某一按键压下时与 其对应的二极管将被点亮。
7.3 D/A转换器接口
D/A转换器的作用 典型芯片DAC0832 DAC0832的应用
D/A转换器的作用
将数字量转换为模拟量,以便操纵控制对象。
单片机
D/A转换
控制对象
D/A转换器的主要指标
转换速度:一般几十微秒到几百微秒,快速的可达1微秒。
例2:键盘扫描程序
SERCH: MOV R2,#0EFH MOV R3,#00H
LINE0: MOV A,R2 MOV P1,A MOV A,P1 JB ACC.3,LINE1 MOV A,#00H AJMP TRYK
LINE1: JB ACC.2,LINE2 MOV A,#04H AJMP TRYK
LINE2: JB ACC.1,LINE3 MOV A,#08H
AJMP TRYK LINE3: JB ACC.3,LINE4
MOV A,#0CH AJMP TRYK LINE4: INC R3 MOV A,R2 RL A JNB ACC.0,BACK MOV R2,A AJMP LINE0 TRYK: ADD A,R3 BACK: RET
D/A转换产生的锯齿波
若将A的初值改为
FF INC改为DEC?
ORG 0200 MOV DPTR,#0E000H MOV A,#0FFH
WW: MOVX @DPTR,A
;指向输入寄存器地址 ;转换初值
;WR1有效,启动D/A转换
DINECC A NOP
;延时
NOP
AJMP WW
双缓冲方式的接口和应用
原理简单;显示亮度强,无闪烁;占用I/O资源较多。
动态显示方式 连接
所有LED的段选线共同连接在一起共用一个 8位I/O口,而每个LED的位选分别由一根相应 的I/O口线控制。因此必须采用动态扫描显示 方式,每一个时刻只选通其中一个LED,同时 在段选口送出该位LED的字型码。
动态显示基本原理
——两个锁存器都接成受控锁存方式。
WR
8031

P0.7~P0.0


A7
C
A6
B
A5
A
74LS138
ALE
Y6
EA
Y7
WR1
WR2
Y6 XFER
译 码
Y7 CS
器 +5V
ILE
DAC0832
DI7-DI0
你知道它与第二种 单缓冲方式的区别
吗?
输入寄存器地址:00E0H DAC寄存器地址:00C0H

Single Chip Microcomputer

本章பைடு நூலகம்容

人机接口 键盘接口

显示器接口

模拟量输入/输出接口

D/A转换接口

A/D转换接口 通信接口


PC机除了主 机以外还需要 哪些部分呢?
单片机电路有时候也需要键盘、显示等外设。
7.1 键盘接口
按键的特点及输入原理 独立式按键 矩阵式按键
键盘接口需要解决的问题
按键识别: 是否有键按下 求键号
键抖动及消除: 机械按键抖动时间在 5ms~10ms之间 消除方法: 硬件方案——双稳态去抖电路
软件方案——延时10ms~20ms后再次判断
独立式按键
接口电路:
特点:一线一键,按键识别(编程)简单;但占用 较多口线,适合8键以下使用。
例1:用P1口检测三个按键的状态并完成相应的功能
ADC0809是一个8位8通道的AD转换器。
ADC0809功能分析
转换有以下几步:
1. ALE信号上升沿有 效,锁存地址并 选中相应通道。
2. ST信号有效,开 始转换。A/D转换 期间ST为低电平。
3. EOC信号输出高电 平,表示转换结 束。
4. OE信号有效,允 许输出转换结果。 CLK:时钟信号,可由单片机ALE信号分 频得到。
对一个数字量的转换,需 两步完成,程序如下:
MOV DPTR,#00E0H
MOVX @DPTR,A
MOV DPTR,#00C0H
MOVX @DPTR,A
7.4 A/D转换器接口
A/D转换器的作用 典型芯片ADC0809 ADC0809的应用
A/D转换器的作用
将模拟量转换为数字量,以便计算机接收处理
单缓冲方式的接口(1)
——一个处于直通方式,另一个处于受控的锁存方式
译码器输出
单缓冲方式的接口(2)
——两个输入寄存器同时受控的方式
“同时”做何解释?
单缓冲方式的应用
——产生锯齿波
假定采用接口(1)方式,即输入寄存器受控,而DAC寄存器直通, 输入寄存器地址为E000H,产生锯齿波。
源程序清单如下:
解: 资源分配: 用P1口的低3位检测3个按键的输入,为1则表 示按键没有按下,为0则表示相应按键被按下。 流程图:
编程:按三个按键中 的任一键都对应一个 特定功能。
若判断键释 放应如何修 改?
ORG 0000H KB: MOV P1,#0FFH
MOV A,P1 CPL A ANL A,#0FH JZ KB LCALL D10MS MOV A,P1 CPL A ANL A,#0FH JZ KB CJNE A,#01H,KB01 LCALL PGM1 SJMP KB KB01:CJNE A,#02H,KB02 LCALL PGM2 SJMP KB KB02:CJNE A,#04H,KB LCALL PGM3 SJMP KB END
;监测按键信号

ACALL DELAY JNB P3.3,DISP1
;消抖延时 ;确认高电平信号
SETB TR1
;启动计数器
DISP2:MOV A,TL1
MOVC A,@A+DPTR ;查表获取数码管显示值
MOV P1,A
;数码管显示计数值
CJNE A,#8E,DISP2
LJMP STAR
TAB:0C0H,0F9H,0A4H … …
传感器
A/D转换
单片机
•双积分式A/D转换器 •逐次逼近式A/D转换器。
A/D转换器概述
逐次逼近式典型A/D转换器芯片有: (1)ADC0801~ADC0805型8位MOS型A/D转换器 (2)ADC0808 / 0809型8位MOS型A/D转换器 (3) ADC0816 / 0817
典型芯片—ADC0809介绍
a 5
b
c
d
f 3
e
g
dp 2
12 13 14 15 16 17 18 19
AD0 AD1 AD2 AD3 AD4 AD5 AD6 AD7
8 9 10 7 11
CE RD WR IO/M AL E
8155
6
T MROUT
3
T MRIN
4
RE SE T
PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7
DELAY:MOV R2,#14H
DELAY1:MOV R3,#0FAH
DJNZ R3,$
DJNZ R2,DELAY1
RET
END
静态显示方式 连接
所有LED的位选均共同连接到+VCC或GND,每个LED的8 根段选线分别连接一个8位并行I/O口,从该I/O口送出 相应的字型码显示字型。
特点
相关文档
最新文档