MCS-51单片机接口技术_百度文库

合集下载

10MCS-51单片机常用接口电路

10MCS-51单片机常用接口电路

0000H
START
000BH
T0_INT
SP,
#5FH
TMOD, #01H
TH0, #0F8H
TL0,
#30H
TR0
ET0
EA
DISP_W, #00H
DISP_BIT
DISPLAY
LOOP
;复位入口地址。
;跳到主程序。
;定时/计数器0中断入口地址-51使用统一编址的方式每一接口芯片中的 一个功能寄存器(端口)的地址就相当于一个RAM单 元。 10.1.3 I/O数据的几种传送方式
为实现和不同的外设的速度匹配,I/O接口必须 根据不同外设选择恰当的I/O数据传送方式。I/O数据 传送的几种传送方式是:
(1)同步传送 (2)查询传送 (3)中断传送。
;定时/计数器0工作于方式1。 ;设置定时2ms的定时器初值高位。 ;设置定时2ms的定时器初值低位。 ;允许T0计数。 ;允许T0中断。 ;开单片机中断。
;指向显示的第一个数码管。
;清除定时标志DISP_BIT。 ;调显示子程序。
T0_INT: MOV
MOV
SETB RETI
;显示子程序入口: DISPLAY: JB
d
c
b
a
段码如下表所示:
显示字符 0 1 2 3 4 5 6 7 8 9 A B
共阴极段码 3FH 06H 5BH 4FH 66H 6DH 7DH 07H 7FH 6FH 77FH 7CH
共阳极段码 C0H F9H A4H B0H 99H 92H 82H F8H 80H 90H 88H 83H
显示字符 C D E F P U T y H L
第10章 MCS-51单片机常用接口电路 10.1 扩展I/O接口的设计 ➢MCS-51单片机要通过I/O接口来和外设交换信息。 ➢I/O扩展属于单片机系统扩展的一部分,MCS-51单 片机有P0~P3共4个8位的并行I/O口,由于P0和P2 在很多场合要用作16位的地址总线和8位的数据总 线,真正能用作I/O接口的只有P1口和P3口的部分 引脚。 ➢在具体应用设计中往往需要扩展I/O接口。

MCS51单片机的输入输出通道接口

MCS51单片机的输入输出通道接口
直接采用数字传感器是计算机专业学生的最佳选择!
传感器的发展方向:
传感器已经成为现代信息技术系统三大支柱之一,在工 业、农业、航空航天、军事国防等领域得到了日益广泛的应 用。其发展方向主要有以下几个方面: (1)利用新的物理现象、化学反应、生物效应设计传感器。 (2)引入数据融合技术。 (3)使用新型材料,向微功耗、集成化及无源化发展。 (4)采用新的加工技术。 (5)向微型化发展。 (6)向高可靠性、宽温度范围发展等。 ( 7)器件自身是数字化的,不需要再经过数/模、模/数变换。
5.2.1 D/A转换器的性能指标
(1)分辨率:指D/A转换器能分辨的最小输出模拟增量,即相 邻两个二进制码对应的输出电压之差称为D/A转换器的分辨率。 可用最低位(LSB)表示。如,n位D/A转换器的分辨率为 1/2n。
(2)精度:精度是指D/A转换器的实际输出与理论值之间的误 差,它是以满量程VFS的百分数或最低有效位(LSB)的分 数形式表示。
NOP
MOV A,R1
;从R1中取出低8位到A寄存器
MOV R3,#08H ;循环初值 8次
AA: RLC , A ;最低位送入C寄存器
MOV P1.1,C ;位数据送上DIN
NOP
SETB P1.2 NOP NOP CLR P1.2 DJNZ R3,AA NOV R3,#08H MOV A,R2 BB: RLC A MOV P1.1,C NOP NOP SETB P1.2 NOP NOP CLR P1.2 DJNZ R3,BB SETB P1.3 CLR P1.2 是 CLR P1.1
(5)偏移量误差:偏移量误差是指输入数字量为零时,输出模
拟量对零的偏移值。
5.2.2 D/A转换器的分类

3.1MCS-51单片机的并行IO口

3.1MCS-51单片机的并行IO口

一、并行I/O口的功能结构
2、接口功能 (2)通用I/O接口
(四)P0口
此时“控制”信号为“0”,多路开关 MUX向下,输出驱动器处于开漏状态,故需 外接上拉电阻,这种情况下,电路结构与P1 相同,所以也是一个准双向口,当要作为输 入时,必须先向口锁存器写“1”。
一、并行I/O口的功能结构
(四)P0口
这是由接口的特殊结构所决定的。每一个 口都包含一个锁存器,一个输出驱动器和两 个(P3口为3个)输入缓冲器。各口的结构也 P 3 有些差异,下面分别介绍。
一、并行I/O口的功能结构
1、接口结构
(一)P1口
P1口一位的结构如下图所示:
图2.15
一、并行I/O口的功能结构
1、接口结构
(一)P1口
接口结构中锁存器起输出锁存作用, 8位锁存器组成特殊功能寄存器P1,场 效应管和上拉电阻组成输出驱动器,以 增大负载能力,三态门1和三态门2分别 用于控制输入引脚和锁存器的状态。
作为I/O口应用的一个实例,下面介绍 8031单片机的最小应用系统如下图所示
二、产生接口控制信号的指令
(四)P0口
8051指令系统中能与接口打交道的指令 大体可分两类 1.一般的输入/输出指令 2.“读-修改-写”指 令
二、产生接口控制信号的指令
1.一般的输入输出指令
(四)P0口
输入指令执行时,内部产生“读引脚”信号, 直接从口线读入,亦称“读引脚”指令。 下面是属于这种指令的各种实例:
二、产生接口控制信号的指令
(四)P0口 2.“读-修改-写”指令 INC P2 接口锁存器加1 DEC P1 接口锁存器内容减1 DJNZ P3,LOOP 减1后不为零则跳转 还有三条虽不明显,但也属此列: MOV P1.1,C CLR P1.1 SETB P1.1 将进位位送接口的某位 清接口的某一位 接口的某一位置位

MCS-51单片机的并行接口

MCS-51单片机的并行接口

1.1 P0口
口结构
P0口
“读-改-写”类指令 先读端口,然后对读入的数据进行修改,最后再写回到端口 不直接读取引脚上的数据而读锁存器Q端内容,是为了消除错
读引脚电平的可能性
P0口
P0既可用作地址/数据总线,又可用作通用I/O端口 用作输出端口时,输出级为开漏电路,在驱动NMOS电路时应
例 某接口电路与单片机使用一条线传送握手信号。双方约定, 单片机先向接口发送一个1和一个0,随后接口电路向单片机回 送一个1
单片机原理与应用
单片机原理与应用
MCS-51单片机的并行接口
MCS-51单片机本身提供了4个8位的并行端口,分别记做P0、 P1、P2和P3,共有32条I/O口线
都是双向端口,每个口包含一个锁存器(即特殊功能寄存器P0、 P1、P2和P3)、一个输出驱动器和输入缓冲器
端口和其中的锁存器都表示为P0、P1、P2、P3 结构不同,功能各异
1.4 P3口
口结构
P3口
作为通用I/O口使用时,工作原理与P1、P2口类似,但第二功 能输出端应保持高电平,使锁存器输出端Q内容能通过与非门
P3口的各位都具有第二功能
P3口
P3口的第二功能输入信号
P3.0——RxD,串行口数据接收 P3.2—— INT0#,外部中断0请求信号输入 P3.3—— INT1#,外部中断1请求信号输入 P3.4——T0,定时器/计数器0外部计数脉冲输入 P3.5——T1,定时器/计数器1外部计数脉冲输入
ORL ANL XRL CPL
P1, #3CH ;将P1中间4位置位
P1, #0C3H ;将P1中间4位清零
P1, #03H ;将P1最低2位取反
P1.5
;取反P1.5

单片机原理与接口技术第3章

单片机原理与接口技术第3章

注意:
①目操可以是A、direct、Rn、@Ri中的任一个,源 操可以是A、direct、Rn、@Ri、#data中的任一 个。 ②#data不能作目操。 ③目操和源操不能同时出现Rn、@Ri。 ④目操和源操不能同时为A。 ⑤目操和源操可以同时为direct类型。 ⑥目操和源操数据长度应保持一致。
• 例如指令: MOVC A, @A+PC ; (A)←((A)+(PC)) MOVC A,@A+DPTR ; (A)←((A)+(DPTR)) 这两个指令中,第2操作数采用了基址寄 存器加变址寄存器的间接寻址方式,其功 能是指定以A作为变址寄存器,PC(或 DPTR)作为基址寄存器,两者内容相加所 得结果作为参与操作的数据的存储单元地 址,把此单位中的内容送到累加器A中 。
(2)以Rn为目的地址的指令 指令 操作 MOV Rn, A (Rn)←(A) MOV Rn, direct (Rn)←(direct) MOV Rn, #data (Rn)←data 这组指令的功能是将源操作数送入当前 工作寄存器区R0~R7中的某一寄存器中。 源操作数的寻址方式分别为隐含寻址、直 接寻址和立即寻址方式。
(4)注释:该字段不是汇编语言的功能部分
,只增加程序的可读性。注释前要加“;”
MCS-51单片机指令系统具有111条指令
49条单字节指令
按指令代码的 字节数分
45条双字节指令 17条三字节指令
64条单机器周期指令 按指令的执 行时间分 45条双周期指令 2条(乘,除指令)四 机器周期指令 指令系统优点:存储效率高 执行速度快
3. 乘法指令 MUL
指令 MUL AB 这条指令是把累加器A和寄存器B中的8位无符 号二进制数相乘,16位乘积的低8位留在累加器A 中,高8位存放在寄存器B中。 如果乘积大于0FFH,则OV=1,否则OV=0。 CY标志总是被清0。 设(A)=50H,(B)=0A0H,执行指令:MUL AB 结果:(B)=32H,(A)=00H(即积为3200H),OV= 1,CY=0。

第7章 MCS-51单片机常用接口技术

第7章 MCS-51单片机常用接口技术

图7.3 用8031的P1口设计的4×4键盘
第7章 MCS-51单片机常用接口技术
7.1.2 键盘按键识别方法
首先在键处理程序中将P1.3~P1.0依次按位变低, P1.3~P1.0在某一时刻只有一个为低。在某一位为低时读行线, 根据行线的状态即可判断出哪一个按键被按下。 如9号键按下时,当列线P1.2为低时,读回的行线状态中 P1.4被拉低,由此可知2号键被按下。 一般在扫描法中分两步处理按键,首先是判断有无键按下, 即使列线(P1.3~P1.0)全部为低,读行线,如行线 (P1.4~P1.7)全为高,则无键按下,如行线有一个为低,则 有键按下。当判断有键按下时,使列线依次变低,读行线,进 而判断出具体哪个键按下。
第7章 MCS-51单片机常用接口技术
7.2.2 LED显示器接口及显示方式
表7.2 段选码、位选码及显示状态表
段选码 (字型) F9H A4H B0H 99H 92H 位选码 P2.4~P2.0 11110 11101 11011 10111 01111 1 2 3 4 5 显示器显示状态
第7章 MCS-51单片机常用接口技术
7.2.1 LED显示器原理
图7.6为LED显示器的内部结构及外形。
(a)共阴极 (b)共阳极 (c)LED实物 图7.6 LED显示结构及实物
第7章 MCS-51单片机常用接口技术
7.2.1 LED显示器原理
7段LED显示数字0~F,符号等字型见表7.1,其中a段为最 低位,dp为最高位。
第7章 MCS-51单片机常用接口技术
单片机原理及应用教程
第 7章 MCS-51单片机常用接口技术
主 编 范立南 谢子殿 副主编 刘 彤 尹授远 李雪飞
第7章 MCS-51单片机常用接口技术

MCS-51单片机IO口详解

MCS-51单片机IO口详解

单片机IO口结构及上拉电阻MCS-51有4组8位I/O口:P0、P1、P2和P3口,P1、P2和P3为准双向口,P0口则为双向三态输入输出口,下面我们分别介绍这几个口线。

一、P0口和P2口图1和图2为P0口和P2口其中一位的电路图。

由图可见,电路中包含一个数据输出锁存器(D触发器)和两个三态数据输入缓冲器,另外还有一个数据输出的驱动(T1和T2)和控制电路。

这两组口线用来作为CPU与外部数据存储器、外部程序存储器和I/O扩展口,而不能象P1、P3直接用作输出口。

它们一起可以作为外部地址总线,P0口身兼两职,既可作为地址总线,也可作为数据总线。

图1 单片机P0口内部一位结构图图2 单片机P0口内部一位结构图P2口作为外部数据存储器或程序存储器的地址总线的高8位输出口AB8-AB15,P0口由ALE选通作为地址总线的低8位输出口AB0-AB7。

外部的程序存储器由PSEN信号选通,数据存储器则由WR和RD读写信号选通,因为2^16=64k,所以MCS-51最大可外接64kB的程序存储器和数据存储器。

二、P1口图3为P1口其中一位的电路图,P1口为8位准双向口,每一位均可单独定义为输入或输出口,当作为输入口时,1写入锁存器,Q(非)=0,T2截止,内上拉电阻将电位拉至"1",此时该口输出为1,当0写入锁存器,Q(非)=1,T2导通,输出则为0。

图3 单片机P2口内部一位结构图作为输入口时,锁存器置1,Q(非)=0,T2截止,此时该位既可以把外部电路拉成低电平,也可由内部上拉电阻拉成高电平,正因为这个原因,所以P1口常称为准双向口。

需要说明的是,作为输入口使用时,有两种情况:1.首先是读锁存器的内容,进行处理后再写到锁存器中,这种操作即读—修改—写操作,象JBC(逻辑判断)、CPL(取反)、INC(递增)、DEC(递减)、ANL(与逻辑)和ORL(逻辑或)指令均属于这类操作。

2.读P1口线状态时,打开三态门G2,将外部状态读入CPU。

MCS51单片机的输入输出通道接口与中断

MCS51单片机的输入输出通道接口与中断

• 要由编程控制发光二极管发光,ULN2019必须 输出低电平,而ULN2019的输入必须接89S51的P1 口,才能通过软件编程控制二极管发光,所以应借
助短路环将J2中的(1、2)、(4、5)、(7、8)、 (10、11)、(19、20)短接。 • 将J15中的(1、2)、(4、5)用短路环短接。 • 硬件电路检测。线路接好后,用万用表电阻档检 测89S51的P10、P11、P12、P13、P14、P15、P16
13
I/O接口与I/O设备
15
简单的输入接口举例
接口电路图如下:
74LS244
I0 K0
D0-D7
~
DO0
I1
K1
DO7
I2
K2
译码器
I3 K3
IOR
I4
A2
K4
A3 A4
系 统 总
A5 A6

A7
A8
≥1
I5 E1
E2
I6
K5 K6
线
A9

A15
83FCH
I7 K7

A10
~83FFH
A11
保存外设给CPU和CPU发往外设的数据
⑵ 状态寄存器(端口地址)
保存外设或接口电路的状态
⑶ 控制寄存器(端口地址)
保存CPU给外设或接口电路的命令
(4)接口电路可含有多个端口地址
39
CPU侧引脚信号: 地址信号:选择I/O接口中的不同寄存器;
数据信号:命令或数据写入到相应寄存器,或者从相 关寄存器读取数据或状态;
A12
≥1
A13 A14
+5V 16
简单的输出接口举例
➢ 锁存器:由D触发器构成

单片机原理及其接口技术--第8章 MCS-51单片机系统接口技术

单片机原理及其接口技术--第8章 MCS-51单片机系统接口技术

第二步是再识别是哪一个键按下。
键盘中哪一个键按下是由列线逐列置低电平后,检查行输 入状态,称为逐列扫描。其方法是:从列口第0位开始,依次输出
“0”,置对应的列线为低电平,然后读入行线状态,如果全为"1", 则所按下之键不在此列;如果不全为"1",则所按下的键必在此列, 而且是与0电平行线相交的交点上的那个键。
除抖动、排除多次执行键功能操作等功
能,可参考查询工作方式键盘程序。
主目录 上一页 下一页 结 束
单片机原理及其接口技术
8.1.4 键盘接口应用实例 例8.1 独立式键盘接口应用实例:电路原 理图如图所示,要求编程实现当按下任一键时,
数码管显示对应的键值。
主目录
上一页
下一页


单片机原理及其接口技术
的办法计算。
主目录
上一页
下一页


单片机原理及其接口技术 2) 定时扫描工作方式
开 始
定时扫描方式程序框图
键盘上有键闭合否
Y N KM=1 0 → KM 0 → KP Y N
Y 1 → KM
KP=1 N 查询键码 1 → KP
做两次查询,都有 键后进行键码计算。 主目录 上一页
返 回
下一页


3) 中断工作方式 单片机原理及其接口技术
1.独立式按键 2.行列式键盘
主目录
上一页
下一页


1. 独立式按键 单片机原理及其接口技术
(1).独立式按键接口结 构 一般用排阻进行上拉。
独立式按键的接口电路示意图 主目录 下一页 (b) 查询方式 结 束 (a) 中断方式 上一页
2.独立式按键的软件结构 单片机原理及其接口技术 下面是查询方式的键盘程序。 K0~K7为功能程序入口地址标号 PROM0~PROM7分别为每个按键的功能程序

MCS-51单片机原理及接口技术

MCS-51单片机原理及接口技术

3. 以直接地址为目的的传送指令: MOV direct ,#data ; direct ← data MOV direct1,direct2 ; direct1 ←(direct2) MOV direct,A ; direct ←(A) MOV direct ,@Ri ; direct ←((Ri)) MOV direct,Rn ; direct ←(Rn)

数据传送和交换类指令主要有以下几种:
1. 2. 3. 4. 5. 6. 内部数据传递指令 数据指针赋值指令 片外数据传送指令 ROM数据访问指令 栈操作指令 数据交换指令
一、内部RAM单元间的数据传递
1. 以累加器为目的的传送指令: MOV A,#data ; A ← data MOV A,direct ; A ←(direct) MOV A,Rn ; A←(Rn) MOV A,@Ri ; A←((Ri))
30H
Eg:MOV 30H,#33H 33H
30H
XX 30H
33H
30HLeabharlann 31HEg:MOV 30H,31H
55H
XX
55H
A
Eg:MOV 30H,A
30H XX
地址
30H 33H
33H
R0
Eg:MOV 30H,@R0 55H
55H
取出
30H 78H 30H
78H
30H XX
R3
Eg:MOV 30H,R3 33H
例:加数存放在内部RAM的41H(高位)和 40H(低位),被加数存放在43H(高位)和42H (低位),将它们相加,和存放在46H~44H中。 程序: CLR C MOV A, 40H ADD A, 42H MOV 44H,A MOV A, 41H ADDC A, 43H MOV 45H,A CLR A ADDC A, #00H MOV 46H,A

MCS51的片内接口及定时器计数器

MCS51的片内接口及定时器计数器

参考程序如下:
ORG 0000H LJMP MAIN
ORG 0100H MAIN:
MOV TMOD,#09H MOV TH0,#00H MOV TL0,#00H BACK1: JB P3.2,BACK1 SETB TR0
BACK2: JNB P3.2,BACK2
BACK3: JB P3.2,BACK3 CLR TR0 MOV 70H,TL0 MOV 71H,TH0 SJMP $
P1=~K;} Return; }
5.2 MCS-51定时/计数器及其应用
51系列内部有2个16位的定时/计数器T0、T1
52系列内部有3个16位的定时/计数器T0、T1、T2
功能:
定时 计数
可编程 串行口的波特率发生器
定时/计数器的可编程特性:
⑴ 确定其工作方式是定时还是计数
⑵ 预置定时或计数初值
回目录 上页 下页
计数初值X的计算方法: 计数方式:
N= 2n-X(X即为要求计数的次数)
定时方式: (2n - X)×T = 定时值
∴ X = 2n -定时值 / T 其中T为机器周期,时钟的12分频, 若晶振为6MHz,则T = 2µs, 若晶振为12MHz,则T = 1µs
回目录 上页 下页
BACK:
MOV A,P0 ;读P0口开关状态,并送入累加器A
CPL A
;对累加器A求反
MOV P1,A
;从P1口输出
SJMP BACK ;循环执行
C51参考程序如下: Sfr P0=0x80; Sfr P1=0x90; Void main(){ Volatile unsigned char k; P0=0xff; P1=0; While(1) { K=P0;

MCS-51系列单片机与微型打印机的接口设计

MCS-51系列单片机与微型打印机的接口设计

引言1 微型打印机在单片机应用系统中应用相当广泛,在智能仪器仪表、医疗仪器、消防报警、电力系统、电子衡器、电子收款机、税控机、计价器等系统中几乎成为标准配置。

微型打印机的种类很多,有针式和热敏、台式和面板式、非汉字和汉字之分。

如按接口类型划分,则有并口和串口两大类,其中串口类又可分为、、RS232C RS485及无线接口、红外线接口等。

笔者多年来一直从事微型USB 计算机方面的教学和应用研究工作,合作开发了多种电测领域的智能仪器仪表产品。

本文拟专门介绍系列单MCS-51片机与微型打印机的几种接口设计方面的实例和经验。

并行接口设计2 在某些应用系统中,单片机的串口已被其它设备(如上位机)占用,此时可选用并行接口微打,其接口与标准兼容,时序见图。

如果单片机已扩展CENTRONICS 1了外部程序存储器和(或)数据存储器,则建议直接将微打与数据总线相连而无须外加锁存器,接口电路见MCS-51图所示。

如果应用系统无外部扩展和,且2(a)ROM RAM P0~口有足够空余的话,则建议使用图所示的接口。

如P32(b)果~空余不足时,建议采用串行接口类微打。

并行接P0P3口采用查询方式时,软件流程图见图。

3串行接口设计3 大多数单片机应用系统不是高速大数据量吞吐的,因此单片结构,即不外扩展和ROM 已成为单片机RAM 系统发展的方向之一。

与之相适应,以各种串行总线来配置应用系统已成为设计者的常用手段。

打印机是低速设备,应用微型打印机打印时,数据量一般不大,因此在单片机应用系统中,应当优先考虑选用串行接口类的微型打印机。

选用台式串口微型打印机3.1 系列单片机与微型打印机的接口设计MCS-51刘西玲甘肃省机械电子职工大学专业科,甘肃天水( 741001)摘要: 介绍系列单片机与微型打印机各种接口的典型电路设计和驱动程序流程,提出在单片机应用MCS-51系统中选择打印机接口的主要原则。

关键词:单片机;微型打印机;接口设计中图分类号:文献标识码:文章编号:TP33 B 1371-1351(2004)05-0056-02图 1 并行接口定时图注:>><<≈T120ns T230ns T340ns T45us T54us图3 流程图对于掌上型仪器仪表,由于体积限制,一般均配置分体台式串口微型打印机作为可选外设,由于连线较长,其串口信号采用标准电平,即:EIA 逻辑“”(~低电平)Mark=1EIA -3V -27V 逻辑“”(~高电平)Space=0EIA +3V +27V 因此,在与单片机接口时,存在电平和TTL EIA 电平的转换问题,接口电路见图。

第04讲:MCS-51单片机的并行IO口

第04讲:MCS-51单片机的并行IO口

a)P0. X 结构图
2)P2口(地址高八位)
不P0口类似,P2口除了作I/O口之外,还作为地址总 线的高8位地址输出端。在作为I/O口用时,“控制”端 为“0”,故多路转换器MUX接在锁存器的Q端,场效应 管叐锁存器的控制。在作为地址总线输出 时,“控制” 端为“1”,多路转换器MUX接在“地址”端,故场效应 管由“地址”端来控制,此时锁存器(P2的特殊功能寄 存器SFR)的内容丌发,在外部存储器读/写完毕时, P2口的地址输出的作用也结束,则“控制”端又发为 “0”,P2口继续按锁存器原来的状态输出。由亍P2口 在CPU对外部存储器读/写过程中,始终能输出地址信 号,所以P2的地址丌需要外部锁存器的锁存。
1)P0口(BUS,数据/地址时分复用)
P0口还起了数据总线和地址总线(低八位)的作用。在迚行正常的输 出(普通IO)时,“控制”端为“0”,多路转换器MUX接在锁存器的Q端。 此时上方的场效应管关断,下方的场效应管叐锁存器的控制,P0口具有 开漏输出,这时驱动外部电路时P0口需外加上拉电阻(上拉电阻的阻值 叏5.1K或者4.7K) 。 在CPU迚行外部存储器存/叏时,P0口起数据总线或地址总线的作用, “控制”端为“1”,多路转换器MUX接反相器的输出端,即相当亍接在 “地址/数据”端。当这个“地址/数据”为“1”时,上方的场效应管导通 而下主的场效应管关断,P0.X输出高电平,反之输出低电平。这时P0口 丌需外接上拉电阻,P0口的锁存器(P0的特殊功能寄存器SFR)必须写 入“1”,以便迚行外部存储器的读操作。
b)P2. X,每一根线都可以执行不口功 能无关的第二种I/O功能。由图2-5可以看出,输出驱动器叐控 亍锁存器的状态不第二输出功能的状态。 若要迚行第二功能使用时,锁存器必须先写入“1”,否则口 线将被拉为0。

MCS-51单片机原理及接口技术

MCS-51单片机原理及接口技术

2 5 6 9 12 15 16 19
19 18 9 12 13 14 15 1 2 3 4 5 6 7 8
1Q 2Q 3Q 4Q 5Q 6Q 7Q 8Q
MCS-51
A 1 3 2 74LS32
RD WR PSEN ALE/P TXD RXD
74LS273引脚封装图 引脚封装图
MCS-51与74LS273的接口电路图 与 的接口电路图
ห้องสมุดไป่ตู้
4.3.1简单I/O接口芯片的扩展 4.3.1简单I/O接口芯片的扩展 简单I/O
简单的I/O口扩展通常是采用 电路锁存器、 简单的 口扩展通常是采用TTL或CMOS电路锁存器、三 口扩展通常是采用 或 电路锁存器 态门等作为扩展芯片( 态门等作为扩展芯片(74LS244、74LS245、74LS273、 、 、 、 74LS373、 74LS377等 ) , 通过P0口来实现扩展的一种 、 等 通过 口来实现扩展的一种 方案。它具有电路简单、成本低、配置灵活的特点。 方案。它具有电路简单、成本低、配置灵活的特点。 简单的I/O口扩展主要包括: 简单的 口扩展主要包括: 口扩展主要包括 缓冲器扩展输入口(三态门: 缓冲器扩展输入口(三态门: 74LS244、74LS245等) 、 等 锁存器扩展输出口(锁存器: 锁存器扩展输出口(锁存器: 74LS273、74LS373、 、 、 74LS377等) 等
4.3 输入 输出接口扩展 输入/输出接口扩展
• MCS-51系列单片机内部有4个双向的8位并行I/O端 MCS-51系列单片机内部有4个双向的8位并行I/O端 系列单片机内部有 I/O P0、P1、P2和P3口 口:P0、P1、P2和P3口。 • 在实际的应用系统中,P0口分时地作为低8位地址 在实际的应用系统中,P0口分时地作为低 口分时地作为低8 线和数据线,P2口作为高 位地址线。这时,P0口 口作为高8 线和数据线,P2口作为高8位地址线。这时,P0口 和部分或全部的P2口无法再作通用I/O P2口无法再作通用I/O口 和部分或全部的P2口无法再作通用I/O口。 • P3口的一些口线首先要满足第二功能的要求。这 P3口的一些口线首先要满足第二功能的要求 口的一些口线首先要满足第二功能的要求。 时就需要进行单片机I/O口的扩展。 I/O口的扩展 时就需要进行单片机I/O口的扩展。 常用的I/O扩展有以下两种形式: I/O扩展有以下两种形式 常用的I/O扩展有以下两种形式: 简单I/O I/O接口芯片的扩展 简单I/O接口芯片的扩展 可编程I/O接口电路的扩展 可编程I/O接口电路的扩展 I/O

MCS-51单片机原理及接口技术

MCS-51单片机原理及接口技术

行口和并行口的Βιβλιοθήκη 作原理1行口工作原理
行口模式由基地址和数据地址两部分组成,可以实现通过行口进行数据存储和读 取等操作。
2
并口工作原理
并口的数据线被分成了8个,可实时地读取外设的数据,并通过并口把数据传送 到主机。
通信协议和通信方法
IIC通信
基于I2C总线的通信协议,实 现微处理器模块和外设器件 之间的数据交互。
SPI通信
序列外围设备接口,提供基 于主机/从机模型的高速通信 解决方案
UART通信
通用异步收发传输,通过 UART通信模块,进行串口通 信和控制
中断和定时器中断
1
软件中断和硬件中断
2
硬件中断源包括端口IO中断、定时器中
断、ADC中断等。而软件中断源通常是
外设模块。
3
中断屏蔽和优先级
中断请求可以通过设置中断优先级中断 屏蔽,防止干扰正在执行运算的程序。
定时器中断和计数器中断
循环计算器产生中断,定时器定时时间 可通过计数器控制。
自动重装载定时器和PWM
自动重装载定时器
可以通过自动重装载功能来实现循环和自动控制。
PWM
利用外设定时器和计数器模块实现的一种调节输出 波形占空比的技术
电源管理和降功耗设计
单片机的电源管理系统可以进行待机和休眠模式控制、可伸缩电压的选择、低功耗的时钟系统架构、硬件清除 等相关控制操作。
总结与展望
MCS-51单片机广泛应用于各种领域,包括家电、电力、汽车、医疗和军事等。 随着技术的发展,相信单片机的应用领域会更加广泛。
MCS-51单片机原理及接 口技术
MCS-51单片机是一种高性能、低成本的微型计算机,具有占用空间小、功耗 低、可靠性高等特点。本次演讲将深入探讨其原理、接口技术等内容。

MCS-51单片机的并行I-O

MCS-51单片机的并行I-O

内 部总 线 写 锁存 器
D
Q
P 3.X
锁 存器
CP Q
内 部上 拉 电 阻
P 3.X 引脚 &
读 引脚
第 二输 入 功 能
P3口的位结构
P3端口(P3.0-P3.7,10-17脚); P3端口是一个带内部上拉电阻的8位I/O端口,P3端口的每一位
可以驱动4个LS型TTL负载; P3端口除了做为一般I/O端口外,每个引脚还具有第二功能。
“读—修改—写”类指令的端口输出与P0的端口输出功能相同。 3.地址总线
CPU在执行读片外ROM、读/写片外RAM或I/O口指令时,单片机 内硬件自动将控制信号C=1,MUX开关接到地址线,地址信息经非门 和驱动管V输出。
1.4 P3口的结构和功能
1.P3口的结构
读 锁存 器
第 二输 出 功 能 VCC来自1.2 P1口的结构和功能
1.P1口的结构
读锁 存器
内部 总线 写锁 存器
D
Q
P 1.X
锁存 器
CP Q
VCC
内部 上拉电阻 P 1.X 引脚
读引 脚
P1口的位结构
1.3 P2口的结构和功能
1.P2口的结构
读锁存器
内部总线 写锁存器
DQ P 2.X 锁存器
CP Q
VCC
地址 控制 MUX
内部上拉电阻
CPU在执行输入指令时,首先低8位地址信息出现在地址/数据总 线上,P0.x引脚的状态与地址/数据总线的地址信息相同。然后, CPU自动使模拟转换开关MUX拨向锁存器,并向P0口写入0FFH,同时 “读引脚”信号有效,数据经缓冲器读入内部总线。因此,可以认 为P0口作为地址/数据总线使用时是一个真正的双向口。

MCS-51单片机IO口详解

MCS-51单片机IO口详解

MCS-51单片机IO口详解单片机I O口结构及上拉电阻MCS-51有4组8位I/O口:P0、P1、P2和P3口,P1、P2和P3为准双向口,P0口则为双向三态输入输出口,下面我们分别介绍这几个口线。

一、P0口和P2口图1和图2为P0口和P2口其中一位的电路图。

由图可见,电路中包含一个数据输出锁存器(D触发器)和两个三态数据输入缓冲器,另外还有一个数据输出的驱动(T1和T2)和控制电路。

这两组口线用来作为CPU与外部数据存储器、外部程序存储器和I/O扩展口,而不能象P1、P3直接用作输出口。

它们一起可以作为外部地址总线,P0口身兼两职,既可作为地址总线,也可作为数据总线。

图1单片机P0口内部一位结构图图2 单片机P0口内部一位结构图P2口作为外部数据存储器或程序存储器的地址总线的高8位输出口AB8-AB15,P0口由ALE 选通作为地址总线的低8位输出口AB0-AB7。

外部的程序存储器由PSEN信号选通,数据存储器则由WR和RD 读写信号选通,因为2^16=64k,所以MCS-51最大可外接64kB的程序存储器和数据存储器。

二、P1口图3为P1口其中一位的电路图,P1口为8位准双向口,每一位均可单独定义为输入或输出口,当作为输入口时,1写入锁存器,Q(非)=0,T2截止,内上拉电阻将电位拉至"1",此时该口输出为1,当0写入锁存器,Q(非)=1,T2导通,输出则为0。

Newbuff图3 单片机P2口内部一位结构图作为输入口时,锁存器置1,Q(非)=0,T2截止,此时该位既可以把外部电路拉成低电平,也可由内部上拉电阻拉成高电平,正因为这个原因,所以P1口常称为准双向口。

需要说明的是,作为输入口使用时,有两种情况:1.首先是读锁存器的内容,进行处理后再写到锁存器中,这种操作即读—修改—写操作,象JBC(逻辑判断)、CPL(取反)、INC(递增)、DEC(递减)、ANL(与逻辑)和ORL(逻辑或)指令均属于这类操作。

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

第七章 MCS-51单片机接口技术本章重难点:1. 用8279芯片扩展键盘接口技术的工作原理及方法2. 单片机LED显示接口技术的原理3. A/D转换、D/A转换的工作原理4. 通过各种芯片扩展后的程序编制教学基本要求:通过学习本章内容,让同学基本掌握各种芯片扩展后的基本原理,能够读懂扩展后的程序,对程序的结构有一定的了解;了解A/D转换、D/A转换的工作原理。

教学内容:§7-1 MCS-51单片机键盘接口技术从按一个键到键的功能被执行主要应包括两项工作:一项是键的识别,即在键盘中找出被按的是哪个键,另一项是键功能的实现。

第一项工作是使用接口电路实现的,而第二项工作则是通过执行中断服务程序来完成。

我们只讨论其中的第一项,即键盘接口问题。

具体来说,键盘接口应完成以下操作功能:①键盘扫描,以判定是否有键被按下(称之为“闭合键”)。

②键识别,以确定闭合键的行列位置。

③产生闭合键的键码。

④排除多键、串键(复按)及去抖动。

以为MCS-51单片机实现键盘接口的方法和接口芯片有:①使用单片机芯片本身的并行口;②使用单片机芯片本身的串行口;③使用通用接口芯片(例如8255、8155等);④使用专用接口芯片8279。

一、单片机键盘接口和键功能的实现(一)键盘接口处理的内容1.键扫描键盘上的键按行列组成矩阵,在行列的交点上都对应有一个键。

为判定有无键被按下(闭合键)以及被按键的位置,可使用两种方法:扫描法和翻转法。

现以图7-1所示的4行×8列键盘为例,对键扫描进行说明。

图7-1 键行列扫描法示意图首先是判定有没有键被按下。

如图7-2所示,键盘的行线一端经电阻接+5V电源,另一端接单片机的输入口线。

各列线的一端接单片机的输出口线,另一端悬空。

若行线状态皆为高电平,则表明无键按下;若行线状态中有低电平,则表明有键被按下。

然后再判定被按键的位置。

因为在键盘矩阵中有键被按下时,被按键处的行线、列线被接通,使穿过闭合键的那条行线变为低电平。

假定图7-2中A键被按下,则判定键位置的扫描是这样进行的:先使输出口输出0FEH,然后输入行线状态,测试行线状态中是否有低电平的(图7-1(a))。

如果没有低电平,再使输出口输出0FDH,再测试行线状态(图7-1(b))。

到输出口输出0FBH时,行线中有状态为低电平者,则闭合键找到(图7-1(c)),通过此次扫描的列线值和行线值就可以知道闭合键的位置。

至此行扫描似乎可以结束,但实际上扫描往往要继续进行下去,以发现可能出现的多键同时被按下。

2.去抖动当扫描表明有键被按下之后,紧接着应进行去抖动处理。

因为常用键盘的键实际上就是一个机械开关结构,被按下时,由于机械触点的弹性及电压突跳等原因,触点闭合或断开的瞬间会出现电压抖动,如图7-2所示。

抖动时间长、短与键的机械特性有关,一般为5~l0ms。

而键的稳定闭合时间和操作者的按键动作有关,大约为十分之几秒到几秒不等。

图7-2 键输入电路(a)和电压抖动(b)为保证键扫描的正确,需进行去抖动处理。

去抖动有硬件和软件两种方法。

硬件方法就是在键盘中附加去抖动电路,从根本上消除抖动产生的可能性;而软件方法则是采用时间延迟以躲过抖动(大约延时20~30ms即可),待行线上状态稳定之后,再进行状态输入。

一般为简单起见多采用软件方法。

3.键码计算各行的首号依次是00H、08H、l0H、l8H,如列号按0~7顺序,则键码的计算公式为:键码:行首号+列号图7-3 键码图4.等待键释放计算键码之后,再以延时后进行扫描的方法等待键释放。

等待键的释放是为了保证键的一次闭合仅进行一次处理。

5.键盘接口小结综上所述,键盘接口处理的核心内容是测试有无闭合键,对闭合键进行去抖动处理,求得闭合键的键码。

这些操作内容通常都是由软硬件相结合的方法实现。

(二)键盘接口的控制方式在单片机的运行过程中,何时执行键盘扫描和处理,可有以下3种情况:(1)随机方式,每当CPU空闲时执行键盘扫描程序。

(2)中断方式,每当有键闭合时才向CPU发出中断请求,中断响应后执行键盘扫描程序。

(3)定时方式,每隔一定时间执行一次键盘扫描程序,定时可由单片机的定时器完成。

(三)键处理子程序键处理的流程如图7-4所示。

在计算机中每一个键都对应一个处理子程序,得到闭合键的键码后,就可以根据键码转相应的键处理子程序(分支是使用JMP等散转指令实现的),进行字符、数据的输入或命令的处理。

这样就可以实现该键所设定的功能。

二、用8155作单片机键盘接口(一)接口电路逻辑图以8155作8×4键盘的接口为例。

A口为输出口,接键盘列线。

C口为输入口,以PC3~PC0接键盘的4条行线。

如图7-5所示。

假定A口地址为010lH,C口地址为0103H。

(二)判定有无闭合键的子程序判定有无键闭合的子程序为KS1,供在键盘扫描程序中调用。

图7-5 8155键盘接口判断有无键闭合的子程序:MOV KS1: DPTR,MOV MOVX INC INC MOVX CPL ANL RET A , DPTR DPTR A , A A , # 0101H # 00H @DPTR # 0FH ;A口送00H ;建立 C口地址;读C口;A取反,无键按下则全“0” ;屏蔽 A高半字节 @DPTR , A执行KSl子程序的结果是:有闭合键则(A)≠ 0,无闭合键(A)= 0。

(三)键盘扫描程序如前所述,在单片机应用系统中常常是键盘和显示器同时存在,因此可以把键盘扫描程序和显示程序配合起来使用,即把显示程序作为键盘扫描的延时子程序。

这样做既省去了一个专门的延时子程序,又能保证显示器常亮的客观效果。

假定本系统中显示子程序为DIR,执行时间约为6ms。

键盘扫描程序如下:;检查有键闭合否 ACALL KS1 KEYl:;A非“0”则转移 JNZ LK1;显示一次(延时 6ms) AJMP KEY1;有键闭合二次延时 ACALL DIR LK1:;共l2 ms去抖动 ACALL DIR;再检查有键闭合否 ACALL KS1;有键闭合,转LK2 JNZ LK2ACALL DIR;无键闭合延时6ms,后转 KEY1 AJMP KEY1;扫描初值送R2 MOV # 0FEH LK2: R2 ,LK4:LONE:LTWO:LTHR:LKP:LK3:NEXT:MOV MOV MOV MOVX INC INC MOVX JB MOV AJMP JB MOV AJMP JB MOV AJMP JB MOV ADD PUSH ACALL ACALL JNZ POP RET INC MOV JNBR4 , DRTP , A ,@DPTR , DPTR DPTR A ,ACC.0 , A , LKPACC.1 , A , LKPACC.2 , A , LKPACC.3 , A , A , ACC DIR KS1 LK3 ACC R4 A ,ACC.7 ,# 00H # 0101H R2 A@DPTR LONE # 00HLTWO # 08HLTHR # 10HNEXT # 18H R4 R2 KND;扫描列号送R4 ;建立A口地址;扫描初值送A口;指向C口;读C口;ACC.0 =1,第0行无键闭合,转 LONE ;装第0行行值;ACC.1=1,第1行无键闭合,转LTWO ;装第1行行值;ACC.2=1,第2行无闭合,转LTHR ;装第2行行值;ACC.3=1,第3行无键闭合,则转NEXT ;装第3行行值;计算键码;保护键码;延时6ms;检查键是否继续闭合,若闭合再延时;若键起,则键码送A;扫描列号加1;第7位为“0”,已扫完最高列则转KND;循环左移一位 RL AMOV A R2 ,;进行下列扫描 AJMP LK4;扫描完毕,开始新的一轮 AJMP KEY1 KND:键盘扫描程序的运行结果是把闭合键的键码放在累加器A中,接下来的程序是根据键码进行程序转移,转去执行该键对应的操作。

三、小结使用8155作键盘接口,只能为键扫描信号的输出和列状态的输入提供输出/输入口,几乎没有其他功能,有关键闭合的判定、延时去抖动、键位置的确定和键码的计算等工作全由程序完成,这样就使键处理软件比较复杂。

可见使用8155这样的通用接口芯片作键盘接口并不是理想的选择,最好还是采用专用的键盘接口芯片8279。

§7-2 MCS-51单片机显示器接口技术一、LED显示器接口LED(Light Emiting Diode)是发光二极管的缩写。

LED显示器是由发光二极管构成的,所以在显示器前面冠以“LED”。

LED显示器在单片机中的应用非常普遍。

(一) LED显示原理通常所说的LED显示器由7个发光二极管组成,因此也称之为七段LED显示器,其排列形状如图7-6所示。

此外,显示器中还有一个圆点型发光二极管(在图中以dp表示),用于显示小数点。

通过七段发光二极管亮暗的不同组合,可以显示多种数字、字母以及其他符号。

LED显示器中的发光二极管共有两种连接方法:(1)共阳极接法把发光二极管的阳极连在一起构成公共阳极。

使用时公共阳极接+5V,这样阴极端输入低电平的段发光二极管就导通点亮,而输入高电平的则不点亮。

符号和引脚共阴极共阳极图7-6 七段LED显示器(2)共阴极接法把发光二极管的阴极连在一起构成公共阴极。

使用时公共阴极接地,这样阳极端输入高电平的段发光二极管就导通点亮,而输入低电平的则不点亮。

使用LED显示器时要注意区分这两种不同的接法。

为了显示数字或符号,要为LED显示器提供代码。

因为这些代码是为显示字形的,因此称之为字形代码。

七段发光二极管,再加上一个小数点位,共计八段,因此提供给LED显示器的字形代码正好一个字节。

各代码位的对应关系如下:用LED显示器显示十六进制的字形代码列如表7-1。

表7-1 十六进制数的字形代码表(二)用8155作LED显示器接口 1.LED显示器接口概述LED显示器的接口比较简单,例如使用如图7-7所示的译码驱动器就可以实现BCD码到七位段码的转换,完成一位LED显示器的接口。

在实际应用中使用较为普遍的是以软件来代替硬件译码,这样只需要一个接口芯片就可以实现多位LED显示器的显示,例如以8155作接口电路。

2.用8155作接口电路的连接实际使用的LED显示器都是多位的。

对多位LED显示器,通常都是采用动态扫描的方法进行显示,即逐个地循环地点亮各位显示器。

这样虽然在任一时刻只有一位显示器被点亮,但是由于人眼具有视觉残留效应,看起来与全部显示器持续点亮效果完全一样。

图7-8是使用8155作6位LED显示器的接口电路。

其中C口为输出口(位控口),以PC5~PC0输出位控线。

由于位控线的驱动电流较大,8段全亮时约40~60mA,因此PC口输出加74LS06进行反相和提高驱动能力,然后再接各LED显示器的位控端。

相关文档
最新文档