第05章 MCS-51单片机输入输出接口-080927

合集下载

第五章单片机的输入输出设备接口

第五章单片机的输入输出设备接口

2.键盘输入接口解决的任务
⑴键盘扫描和去抖动 按键开关在电路中的连接图
按键未按下时,A点的电平位 +5V; 按下时,A点的电平位低电平; 由于按键是机械的弹性开关,在按下和断开时,触点在 闭合和断开时,会引起A点电位的不稳定,一般有 5~10ms的抖动,导致误信号,使CPU产生错误的处理。
硬件去抖动方法:
利用串行口扩展两片静态显示电路
设显示缓冲区为30H、31H,由R1作显示缓冲区的地址指 针,74LS164的清零端CLR由P1.0控制,低电平有效。 程序设计如下: DISP:MOV R6, #02H ;显示位数 MOV R1, #30H ;设显示区指针 MOV SCON, #00H ;设串行口控制寄存器,方式0 LOOP:MOV A, @R1 MOV DPTR, #TAB MOVC A, @A+DPTR ;查表,获得显示码 MOV SBUF ,A ;送去显示 JNB TI,$ ;等待发送完毕 CLR TI INC R1 ;取下一个数 DJNZ R6, LOOP RET TAB:DB C0H,F9H,A4H,B0H,99H, 92H,82H,F8H,80H,90H
2.程序流程及程序清单 (1)主程序(MAIN) 主程序的主要功能是进 行定时器/计数器的初 始化编程,然后通过反 复调用显示子程序的方 法,等待125ms定时中 断的到来。 (2)显示子程序 (DISUP)
ORG 0000H START:LJMP MAIN ORG 000BH LJMP PITO ORG 1000H MAIN:MOV SP,#60H MOV R0,#79H MOV R7,#06H ML1:MOV @R0,#00H INC R0 DJNZ R7,ML1 MOV TMOD,#01H MOV TL0,#B6H MOV TH0,#17H SETB TR0 SETB EA SETB ET0 MOV 30H,#08H ML0:LCALL DISUP SJMP ML0

MCS-51单片机输入输出口

MCS-51单片机输入输出口

MCS-51单片机输入输出口8051有4组8位I/O口:P0、P1、P2和P3口,P1、P2和P3为准双向口,P0口则为双向三态输入输出口,下面我们分别介绍这几个口线:·P0口和P2口:右图为P0口和P2口其中一位的电路图,由图可见,电路中包含一个数据输出锁存器和两个三态数据输入缓冲器,另外还有一个数据输出的驱动和控制电路。

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

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

参考图2。

P2口作为外部数据存储器或程序存储器的地址总线的高8位输出口AB8-AB15,P0口由ALE选通作为地址总线的低8位输出口AB0-AB7。

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

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

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

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

其二是:读P1口线状态时,打开三态门G2,将外部状态读入CPU。

·P3口:P3口的电路如上图所示,P3口为准双向口,为适应引脚的第二功能的需要,增加了第二功能控制逻辑,在真正的应用电路中,第二功能显得更为重要。

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

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

41
3、接口电路芯片的分类
接口电路通常采用中大规模、超大规模集成 电路接口芯片: 通用接口芯片
支持通用的数据I/O和控制的接口芯片 如:并行接口芯片、串行接口芯片等。
面向外设的专用接口芯片
针对某种外设设计接口 如:显示接口电路、磁盘驱动接口电路等。
面向微机系统的专用接口芯片
与CPU和系统配套使用,以增强其总体功能 如:8259A、8237、8253、8251、8255等。
接口电路的内部结构
1、 接口硬件
数据输入寄存器 (or 三态门) 数据输出寄存器 (锁存器) DB 状态寄存器 (or 三态门) 状态线
AB
译码 电路
数据线
接 主 机
CB
控制 逻辑
接 外 设
控制线 命令寄存器
37
接口功能
CPU与外设主要有数据、状态和控制信息需要 相互交换,从应用角度看内部: ⑴ 数据寄存器(端口地址)
MCS-51系列单片机输入/输出端口控制
MCS-51系列单片机输入/输出概述 MCS-51系列单片机有4个8位双向并行输入/输 出(I/O)端口:P0、P1、P2和P3,共32位,P0口 为三态双向口,可驱动8个TTL电路,P1、P2、P3 口为准双向口(作为输入时,口线被拉成高电平)。 此四个端口都可以做为单独的输入或输出使 用,即每一支I/O脚位都可以做输入用,也可以做 为输出使用。当做为输出时,则每一只管脚可位编 程输出高电平“1”或低电平“0”驱动外部电路。
I/O接口要解决的问题
• • • • • • 速度匹配(Buffer) 信号电平和驱动能力(电平转换器、驱动器) 信号形式匹配(A/D、D/A) 信息格式(字节流、块、数据包、帧) 时序匹配(定时关系) 总线隔离(三态门)

单片机中的输入输出接口技术讲解

单片机中的输入输出接口技术讲解

单片机中的输入输出接口技术讲解单片机(Microcontroller Unit,简称MCU)作为一种集成了微处理器核心、内存、输入输出接口和外部设备接口的集成电路,广泛应用于各种嵌入式系统中。

其中,输入输出接口技术是单片机的核心组成部分之一,它能够实现单片机与外部设备的高效通信和数据交换。

本文将就单片机中的输入输出接口技术进行详细讲解。

一、基本概念输入输出接口(Input/Output Interface,简称I/O Interface)是单片机与外设之间传输数据、信号的桥梁。

它负责转换单片机内部的电信号与外部设备的电信号之间的逻辑和电平转换。

在单片机应用中,常见的外部设备包括按键、LED灯、LCD显示屏、步进电机等。

二、数字输入输出接口1. 数字输入接口数字输入接口主要通过端口的工作方式与外设通信,常见的数字输入接口有通用并行接口(General Purpose Parallel Interface,简称GPIO)和外部中断(External Interrupt)。

GPIO是单片机中最常见的通用输入输出接口,它具有多种工作模式,可以通过软件控制单片机与外设之间的数据传输。

GPIO的主要功能是将单片机的高低电平与外部设备的高低电平进行转换。

通过控制GPIO的输入输出状态,可以实现与外设之间的数据交换和通信。

外部中断是一种特殊的输入接口,它能够实现对外部事件的高效响应。

当外部事件触发时,单片机会立即跳转到相应的中断服务程序进行处理。

外部中断常用于读取按键输入、检测传感器状态等场合。

2. 数字输出接口数字输出接口是单片机将数据传输出给外部设备的接口。

常见的数字输出接口有通用并行接口(GPIO)、定时器(Timer)和比较器(Comparator)。

GPIO作为通用输入输出接口,在数字输出方面同样起到重要作用。

通过控制GPIO的输出状态,单片机可以向外设发送数据、控制外设的开关状态等。

定时器是一种重要的数字输出接口。

第5章 MCS-51单片机的输入 输出通道接口

第5章  MCS-51单片机的输入  输出通道接口

换时间、与CPU的接口方式等。
5.2.1
D/A转换器的性能指标
(1)分辨率:指D/A转换器能分辨的最小输出模拟增量,即 相邻两个二进制码对应的输出电压之差称为D/A转换器的分 辨率。可用最低位(LSB)表示。如,n位D/A转换器的分 辨率为1/2n。
(2)精度:精度是指D/A转换器的实际输出与理论值之间的 误差,它是以满量程VFS的百分数或最低有效位(LSB)的 分数形式表示。
• 将数据写入输入寄存器

双缓冲方式(标准方式)



直通方式

使内部的两个寄存器都处于直通状态。模拟输出始终跟随输入变化。 不能直接与数据总线连接,需外加并行接口(如74LS373、8255 等)。
5.3 A/D转换器及接口技术
A/D转换器(Analog To Digit Converter):将模拟 量转换为与之成比例的数字量的器件称为A/D转换器,常用 ADC表示。
第5章
MCS-51单片机的输入/输出通道接口
主要内容:
输入/输出通道的组成与配置,A/D、D/A转 换器及其接口技术。通过本章的学习,了解输入/ 输出通道设计的基本原理和方法,掌握常用A/D、 D/A芯片及其与MCS-51单片机的接口电路与程序 设计。重点和难点在于不同方式的A/D、D/A芯片 与MCS-51的接口及其程序设计。
DAC0832框图
8 位 4--7 输入 寄存 13--16 器 19 1 2 8 位 DAC 寄存 器 LE2 8 位 D/A 转换 器 R fb 8 12 11 V REF I OUT2 I OUT1 R fb AGND(模拟地) VCC(+5V或+15V) DGND(数字地)
输入 D 0 数据 D 7

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

最新MCS51单片机的输入输出通道接口
(3)隔离放大技术
在某些要求输入和输出电路彼此隔离的情况下,必须使 用隔离放大器。常用隔离放大器有变压器耦合隔离放大器和 光耦合隔离放大器两种。
5.2 D/A转换器及接口技术
D/A转换器(Digit to Analog Converter):将数字量转换 成模拟量的器件称为D/A转换器,通常用DAC表示。 D/A转换接口器设计中主要考虑的问题:D/A转换芯片的选择、 数字量的码输入、精度、输出模拟量的类型与范围、转换时 间、与CPU的接口方式等。
(3)线性误差:D/A的实际转换特性(各数字输入值所对应的 各模拟输出值之间的连线)与理想的转换特性(始、终点连 线)之间是有偏差的,这个偏差就是D/A的线性误差。即两 个相邻的数字码所对应的模拟输出值(之差)与一个LSB所 对应的模拟值之差。常以LSB:从D/A转换器输入的数字量发 生变化开始,到其输出模拟量达到相应的稳定值所需要的时 间称为转换时间。
(1)开关量输入
被控对象的一些开关状态可以经开关量输入通道输入到 单片机系统,这些开关信号根据实际情况需要经过电平匹配、 电气隔离或互感器后才能够通过单片机接口,接入到单片机 系统。
(2)小信号放大技术
输入通道中,对小信号需要经过测量放大器、可编程增 益放大器及带有放大器的小信号双线发送器等电路进行放大 调节。
方案设计; (3)一般是模拟、数字等混杂电路; (4)常需要放大电路; (5)抗干扰设计非常重要。 输入通道的结构类型:
输入通道结构形式取决于被测对象的环境、输出信号的 类型、数量、大小等。其结构如下页图所示。
2.输出通道 特点:
(1)小信号输出,大功率控制; (2)输出伺服驱动控制信号; (3)电磁和机械干扰较为严重。 通道结构:
5.2.1 D/A转换器的性能指标

第5章 80C51单片机中的输入输出口

第5章 80C51单片机中的输入输出口

一、并行I/O口的功能结构
作为I/O口应用的一个实例,下面介绍80C31 单片机的最小应用系统如下图所示:
80C31
一、并行I/O口的功能结构
二、产生接口控制信号的指令
80C51指令系统中能与接口打交道的指令 大体可分两类:
1、一般的输入/输出指令 2、“读-修改-写”指令
二、产生接口控制信号的指令
发送缓冲器和接收缓冲器共用一个地址,但它 们是独立的物理空间。
二、80C51单片机的串行通信接口
1、 功能特点 3)可用程序控制
内部有专用寄存器SCON(98H)和PCON(87H) 用于控制串行通信,包括方式的选择、接收控制、 多机通信控制、波特率是否加倍等;定时器T1可作 为串行口的波特率发生器,可改变串行口通信的定 时。
P1口一位的结构如下图所示:
一、并行I/O口的功能结构
(一)P1口
1、接口结构
锁存器起输出锁存作用,8位锁存器组成 特殊功能寄存器P1;
场效应管和上拉电阻组成输出驱动器,以 增大负载能力;
三态门1和三态门2分别用于控制输入引脚 和锁存器的状态。
一、并行I/O口的功能结构
2、接口功能
(一)P1口
P1口只有一种功能——通用输入输出接口, 有以下三种工作方式:输出、输入和端口操 作。 (1)输出方式:
二、80C51单片机的串行通信接口
1、功能特点 4)有四种工作方式能适应不同用途 (1)方式0 为移位寄存器I/O方式,数据从RXD端串行输入 或输出,以8位为一帧,按先低位后高位依次传送; 同步信号从TXD端输出,波特率固定为fosc/12。
二、80C51单片机的串行通信接口
1、功能特点 4)有四种工作方式能适应不同用途 (2)方式1 为8位的异步通信接口,传送一帧信息为10位,其 中,1位起始位(0),8位数据位(低位在前),1 位停止位(1)。

单片机的输入输出设备接口

单片机的输入输出设备接口

单片机的输入输出设备接口1. 简介在嵌入式系统开发中,单片机是最常用的核心处理器之一。

单片机通过输入输出设备接口与外部设备进行通信,实现数据的输入和输出。

本文将介绍常见的单片机输入输出设备接口,包括数字输入输出口、模拟输入输出口、串行通信接口等。

2. 数字输入输出口(GPIO)数字输入输出口(General Purpose Input Output,简称GPIO)是一种常见的单片机输入输出设备接口。

它可以通过程序控制对内部资源的输入和输出。

单片机的GPIO包括多个引脚,每个引脚可以作为输入口或输出口使用。

在使用过程中,我们可以通过将引脚设置为输入模式或输出模式,并通过编程对引脚进行读写操作。

2.1. 输入模式在输入模式下,GPIO可以用作输入接口,接收外部设备的信号。

在单片机中,通常使用输入状态寄存器(Input Status Register)来存储外部信号的状态。

当外部设备产生一个高或低电平信号时,单片机可以通过读取输入状态寄存器来获取该信号的状态。

2.2. 输出模式在输出模式下,GPIO可以用作输出接口,控制外部设备的状态。

在单片机中,通常使用输出数据寄存器(Output Data Register)来存储输出数据。

通过向输出数据寄存器写入高或低电平信号,单片机可以控制外部设备的状态。

3. 模拟输入输出口(ADC和DAC)除了数字输入输出口,单片机还可以提供模拟输入输出口。

模拟输入输出口分为模拟数字转换器(ADC)和数字模拟转换器(DAC)两种。

3.1. 模拟数字转换器(ADC)模拟数字转换器(Analog-to-Digital Converter,简称ADC)可以将模拟信号转换为数字信号。

通过电压分压、采样等方法,单片机的ADC模块可以将外部模拟信号转换为数字量,供单片机进行处理和分析。

3.2. 数字模拟转换器(DAC)数字模拟转换器(Digital-to-Analog Converter,简称DAC)可以将数字信号转换为模拟信号。

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

;5个数码管显示完否
DELAY: DL2: DL1:
TAB1: TAB2:
MOV MOV NOP NOP DJNZ DHNZ RET DB DB
R6,#20 R7,#7DH
;延时子程序
R7,DL1 R6,DL2 06H,5BH,4FH,66H,6DH 78H,79H,38H,38H,3FH ;”1-5”的字形码 ;”HELLO”的字形码
单片机的键盘电路及程序
VCC
S? R?
S? R?
S? R?
S? R?
S00 S01 S02 U? 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 VCC P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 EA/VP ALE/P PSEN P2.7/A15 P2.6/A14 P2.5/A13 P2.4/A12 P2.3/A11 P2.2/A10 P2.1/A9 P2.0/A8 8XX51 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RESET RXD/P3.0 TXD/P3.1 INT0/P3.2 INT1/P3.3 T0/P3.4 T1/P3.5 WR/P3.6 RD/P3.7 X2 X1 GND 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 S03
0100H P1,#0F0H A,P1 A,#0F0H A,#0F0H,HAVE TEST A,#0FEH B,A P1,A A,P1 A,#0F0H A,#0F0H,YES A,B A A,#0EFH,NEXT DELAY A,P1 A,#0F0H R2,A A,B A,#0FH A,R2 B,A SAM38
DS? DPY_7-SEG_DP 1 2 3 4 5 6 7
a b c d e f g DPY a f e g d K b c
DS? DPY_7-SEG_DP 1 2 3 4 5 6 7
a b c d e f g DPY a f e g d K b c
8
8
8
8
U? NOT
U? NOT
U? NOT
U? NOT
8 U? NOT
RES2 R? RES2 S? SW SPDT GND VCC R? RES2 S? SW-PB R01 10K 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 GND U? P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RESET RXD/P3.0 TXD/P3.1 INT0/P3.2 INT1/P3.3 T0/P3.4 T1/P3.5 WR/P3.6 RD/P3.7 X2 X1 GND 8XX51 VCC P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 EA/VP ALE/P PSEN P2.7/A15 P2.6/A14 P2.5/A13 P2.4/A12 P2.3/A11 P2.2/A10 P2.1/A9 P2.0/A8 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 VCC
a b c d e f g DPY a f e g d K b c
DS? DPY_7-SEG_DP 1 2 3 4 5 6 7
a b c d e f g DPY a f e g d K b c
DS? DPY_7-SEG_DP 1 2 3 4 5 6 7
a b c d e f g DPY a f e g d K b c
S00 S01 S02 S03
S00 S01 S02 S03
S00 S01 S02 S03
TEST:
HAVE: NEXT: READ:
YES: AREAD:CJNE SJMP MOV MOV MOV MOV ANL CJNE MOV RL CJNE ACALL MOV ANL MOV MOV ANL ORL MOV LJMP
0100H P3,#00H P1.7 P1.7,DIR1 DPTR,#TAB1 DIR DPTR,#TAB2 R0,#00H R1,#01H A,R0 A,@A+DPTR P1,A A,R1 P3,A DELAY R0 A R1,A R1,#20H,NEXT TEST
;清显示 ;检测开关 ;开关打向1,置”12345”字形表头地址 ;开关打向1,置”12345”字形表头地址 ;R0存字形表偏移量 ;R1置数码表位选代码 ;查字形码表1 ;送P1口输出 ;输出位选码 ;延时 ;指向下一位
+ C01 105
R? RES2
GND 11.0592M X01 C02 30p GND C03 30p
TEST:
DIR1: DIR: NEXT:
ORG MOV SETB JB MOV SJMP MOV MOV MOV MOV MOVC MOV MOV MOV ACALL INC RL MOV CJNE SJMP
;读键盘,检测有无键按下 ;屏蔽低4位,检测高4位是否全为1 ;不全为1,有键按下 ;全为1,无键按下,重新检测 ;有键按下,逐行扫描键盘,置扫描初值 ;扫描码暂存于B ;输出扫描码 ;读键盘 ;屏蔽低4位,检测高4位是全否为1 ;高4位不全为1,有键按下 ;该行无键按下,准备检测下一行 ;置下一行扫描码 ;未扫描到最后一行循环 ;延时去抖动 ;再读键盘 ;屏蔽低4位,保留高4位 ;暂存列码 ;取行扫描码 ;行码、列码合并为键编码 ;键编码存于B ;转键分析处理程序
共阴极数码管动态显示电路及程序
U? 3 4 7 8 13 14 17 18 1 11 R? D0 D1 D2 D3 D4 D5 D6 D7 OE LE 74LS373VCC Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 2 5 6 9 12 15 16 19 1 2 3 4 5 6 7
DS? DPY_7-SEG_DP
相关文档
最新文档