当前位置:文档之家› C7第七章单片机接口技术.

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


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
例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
ADC0809和单片机的连接
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
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口送出 相应的字型码显示字型。
特点
ADC0809是一个8位8通道的AD转换器。
ADC0809功能分析
转换有以下几步:
1. ALE信号上升沿有 效,锁存地址并 选中相应通道。
2. ST信号有效,开 始转换。A/D转换 期间ST为低电平。
3. EOC信号输出高电 平,表示转换结 束。
4. OE信号有效,允 许输出转换结果。 CLK:时钟信号,可由单片机ALE信号分 频得到。
电路的接法决定了必须采用逐扫描显示方式。
即从段选口送出某位LED的字型码,然后选通该位LED,
并保持一段延时时间。然后选通下一位,直到所有位扫
描完。
要注意的两个问题:
1.字型码通常通过查表指令MOVC来求得.
2.换位显示时通常要加一段程序使所有的LED全灭.
动态显示程序流程图
采用动态扫描方式依次循环点亮各位数码管,构成
键按下/释放判断
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表示有键按下
按键识别——扫描法
原理: 在某一时刻只让一条列线处于低电平,其余列线均

Single Chip Microcomputer

本章内容

人机接口 键盘接口

显示器接口

模拟量输入/输出接口

D/A转换接口

A/D转换接口 通信接口


PC机除了主 机以外还需要 哪些部分呢?
单片机电路有时候也需要键盘、显示等外设。
7.1 键盘接口
按键的特点及输入原理 独立式按键 矩阵式按键
——两个锁存器都接成受控锁存方式。
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
转换精度(分辨率):决定于输入数字量的位数,位数越多, 精度越高。
典型芯片-DAC0832介绍
DAC0832是一个八位D/A转换器,转换时间1微秒,结构如下:
可输 转出 换为 为模 电拟 压电 。流

LE1或LE2=1,当前寄存器的输出跟随输入 LE1或LE2=0,锁存数据
DAC0832功能分析
解: 资源分配: 用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
单缓冲方式的接口(1)
——一个处于直通方式,另一个处于受控的锁存方式
译码器输出
单缓冲方式的接口(2)
——两个输入寄存器同时受控的方式
“同时”做何解释?
单缓冲方式的应用
——产生锯齿波
假定采用接口(1)方式,即输入寄存器受控,而DAC寄存器直通, 输入寄存器地址为E000H,产生锯齿波。
源程序清单如下:
传感器
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介绍
;监测按键信号

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 … …
对一个数字量的转换,需 两步完成,程序如下:
MOV DPTR,#00E0H
MOVX @DPTR,A
MOV DPTR,#00C0H
MOVX @DPTR,A
7.4 A/D转换器接口
A/D转换器的作用 典型芯片ADC0809 ADC0809的应用
A/D转换器的作用
将模拟量转换为数字量,以便计算机接收处理
接口电路:

关键:如何 判断键号?

式 按 键
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.保存闭合键号。
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
定时扫描方式
定时扫描方式就是每隔一段时间对键 盘扫描一次,它利用单片机内部的定时器 产生一定时间(例如10 ms)的定时,当定 时时间到就产生定时器溢出中断。CPU响应 中断后对键盘进行扫描,并在有键按下时 识别出该键,再执行该键的功能程序。
中断扫描方式
为提高CPU工作效率,可采用中断扫描工作方式。 其工作过程如下:当无键按下时,CPU处理自己的工作, 当有键按下时,产生中断请求,CPU转去执行键盘扫描 子程序,并识别键号。
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
双缓冲方式的接口和应用
相关主题