51单片机接口(并口串口人机接口)10
基于51单片机的人机接口电路设计(贺铁梅)2012.09.08

基于51单片机的人机接口电路设计一、功能描述键盘和显示是单片机应用系统中实现人机对话的一种基本形式,两种接口设计的好坏,直接影响到人机接口的友好程度。
在对一个系统进行操作时,往往离不开人与机器的对话,人机接口界面可以满足人与机器之间的交流。
可以通过按键将所需要信号与信息输入给系统,经过系统处理后,所期待的效果又可以通过屏幕来显示出来,这样就可以很好的达到人与机器的交流目的。
二、硬件电路图基于51单片机的人机接口电路如图1.1所示。
电路结构包括基本的复位电路、晶振电路、串口程序下载电路、键盘电路及屏幕显示电路。
图1.1 基于51单片机的人机接口电路设计显示电路键盘控制AT89C51图1 人机接口电路结构框图复位电路 晶振电路三、接口定义接口定义说明包括单片机的I/O 口的定义、中断的选择。
在键盘电路中引入了外部中断方式0,减少了CPU 的工作强度。
屏幕接口电路采用的是并行工作方式,51单片的的I/O 口较多,采用并行方式可以增大数据传输的速度,可以将信息实时显示。
具体接口定义如表1.1所示。
表1 A T89C51接口定义I/O 口 定义引脚号 引脚名 接口说明 备注 1~8 P1口 接矩阵键盘 10 RXD 接MAX232 11TXD 接MAX23212 /INT0 接74ls13四输入与非门输出引入中断21 P2.0 接屏幕的RST 22 P2.1 接屏幕的RS 23 P2.2 接屏幕的RW 24 P2.3 接屏幕的E32~38 P0口接屏幕的数据口DB0~DB7 中断类型 中断方式 按键中断中断方式0四、程序流程图1、主程序在主程序中,执行两个任务:1)初始化,键盘初始化,屏幕初始化;2)判断中断是否发生。
程序开始,进行初始化,若有中断发生,则屏幕有相应的显示;若无中断发生,则屏幕不显示或保留原显示,继续等待中断发生。
主程序流程图如图2.1所示。
2、初始化初始化函数主要包括键盘初始化和屏幕初始化。
单片机:第八章 51单片机IO接口

51单片机I/O接口
本章内容
8.1 P0-P3口的功能 (重点) 和内部结构(了解) 8.2 I/O口编程举例 (重点) 8.3 用并行口设计LED数码显示器 (掌握) 8.4 用并行口设计键盘电路 (掌握)
8.1 P0-P3口的功能和内部结构
(1)所谓双向,是既能做输入,又能做输出。
所谓准双向口,是指该端口在用作输入线时,必须先 写入“1”。 (2)内部结构是设计芯片时决定的,如果以后不设计单片 机,那么不必在意。只简单的了解即可。
g
d
(b) e
c
e
f
g
1 2 34 5
com ed c
dp
com
dp
xgf ed cba 0 1 0 1 1 0 1 1 =5bh
8.3 用并行口设计LED数码显示器
8.3 用并行口设计LED数码显示器
• (1)数码管显示方式
静态方式
动态方式
8.3 用并行口设计LED数码显示器
• (2)数码管译码方式
8.2 I/O口编程举例
• 解:4个开关对应4个LED灯,因此适合用字节的方式进行操作。
ORG 0000H
ABC: MOV P1, #0FH 的正确读入
;高四位灭,低四位送“1”,确保开关状态
MOV A, P1
;读P1口引脚开关状态至A
SWAP A
;低四位开关状态转换到高四位
ANL A, #0F0H
8.3 用并行口设计LED数码显示器
• (3)举例 –软件译码
【例8-3】 接有五个共阴极数码管的动态显示接口电路, P1.7接开关,当 开关打向位置“1”(GND)时, 显示“12345”字样,当开关打向 “2”(高电平)时,显示“HELLO”字样,试编写其程序。
51单片机串行通信接口

工 作 方 式 选 择 位
多允 机许 通接 信收 控控 制制 位位
发 接发接 送 收送收 数 数中中 据 据断断 第 第标标 九 九志志 位位
北京交通大学
18
各位功能说明如下: SM0 SM1:串口工作方式选择位
00 方式0: 同步移位寄存器 波特率=主振频率/12
01 方式1: 8位异步,波特率可变
⑵在双机通信中,该位作为奇偶校验位; ⑶在多机通信中用来表示D7-D0是地址帧或数据帧
即:
D8=0:表示数据帧; D8=1:表示地址帧
北京交通大学
20位是接收到的第9位数据。 方式1,SM2=0,停止位。方式0,不用。
⑵在多机通信中是地址帧(RB8=1)和数据帧 (RB8=0)的标识位。
北京交通大学
34
方式2、3的区别是:波特率设置不同 方式2的波特率是固定的。即:
波特率=fosc/32或fosc/64 方式3的波特率是可变的。即:
波特率 2smod
fosc
32 12 (256 X )
X
256
fosc (2s mod ) 384 波特率
北京交通大学
35
表1 波特率与时间常数
第6章 串行通信接口
本章主要内容 • 串行数据通信基本原理 • MCS-51单片机串行口 • 串行口应用举例
北京交通大学
1
一、串行数据通信基本原理
计算机的两种方式数据传送:并行和串行
并行传送的特点:
各数据位同时传送,传送速度快、效率高。
但需要的数据线多,因此传送成本高。并行数据
传送的距离通常小于30米。
3.直到停止位到来之后把它送入到RB8中,并 置位RI,通知CPU从SBUF取走接收到的一个字符。
51单片机串口设置及应用

51单片机串口设置及应用单片机的串口设置及应用是指通过单片机的串口功能来进行通信的一种方式。
串口通信是一种全双工通信方式,可以实现双向数据传输。
单片机通过串口可以与其他设备进行通信,如计算机、传感器、LCD显示屏等。
1. 串口设置:单片机的串口通信一般需要进行以下设置:(1)串口模式选择:要根据实际情况选择串口工作模式,一般有异步串口和同步串口两种。
(2)波特率设置:串口通信需要设置一个波特率,即数据传输速率。
常见的波特率有9600、19200、115200等,需要与通信的设备保持一致。
(3)数据位设置:设置传输的数据位数,常见的有8位、9位等。
(4)停止位设置:设置停止位的个数,常见的有1位、2位等。
(5)校验位设置:可以选择是否启用校验位,校验位主要用于检测数据传输的正确性。
2. 串口应用:串口通信在很多领域都得到广泛应用,下面列举几个常见的应用场景:(1)串口与计算机通信:通过串口可以实现单片机与计算机的通信,可以进行数据的读写、控制等操作。
例如,可以通过串口将传感器采集到的数据发送给计算机,由计算机进行进一步处理分析。
(2)串口与传感器通信:串口可以与各种传感器进行通信,可以读取传感器采集到的数据,并进行处理和控制。
例如,可以通过串口连接温度传感器,读取实时的温度数据,然后进行温度控制。
(3)串口与LCD显示屏通信:通过串口可以实现单片机与LCD显示屏的通信,可以将需要显示的数据发送给LCD显示屏进行显示。
例如,可以通过串口将单片机采集到的数据以数字或字符的形式显示在LCD上。
(4)串口与外部存储器通信:通过串口可以与外部存储器进行通信,可以读写存储器中的数据。
例如,可以通过串口读取SD卡中存储的图像数据,然后进行图像处理或显示。
(5)串口与其他设备通信:通过串口可以和各种其他设备进行通信,实现数据的传输和控制。
例如,可以通过串口与打印机通信,将需要打印的数据发送给打印机进行打印。
总结:单片机的串口设置及应用是一种实现通信的重要方式。
MCS-51单片机的人机界面接口技术知识讲解

Y
图
输入键号
A
返回
-
图 8
6 定 时 扫 描 方 式 程 序 框 图
-
图 8
7 中 断 方 式 键 盘 接 口
3.键盘扫描方式 扫描法:在判定有键按下后逐列(或逐行)置 低电平,同时读入行(或列)的状态,如果行 (或列)的状态出现非全1状态,这时0状态的行、 列交点的键就是所按下的键。特点是逐列(或逐 行)扫描查询。这时相应行(或列)应有上拉电 阻接高电平。 反转法:只要经过两个步骤就可获得键值。反 转法原理如图8-8所示。
l 硬件译码器LED显示器接口(如图8-14所示) l 软件译码LED显示器接口(如图8-15 ~8-16所 示)
图8-14 利用硬件译码器的七段LED接口电路
图8-15 通过8155扩展I/O口控制的 8位LED动态显示接口
-
图 8 16 动 态 显 示 子 程 序 流 程 图
返回本节
8.2.2 LCD显示器接口
电路。每根I/O口线上按键的工作状态不会影响 其他I/O口线的工作状态。独立式按键电路如图 8-1所示。 2.独立式按键的软件结构
包括按键查询、键功能程序转移。FP0~FP7 为功能程序入口地址标号,PROM0~PROM7分 别为每个按键的功能程序。
图8-2为使用扩展I/O的独立式按键电路,按键 数量可多可少。
a b c d e f Rdpa b c d e f Rdp a b c d e f Rdp a b c d e f Rdp a b c d e f Rdp
…
3.8
3.8
3.8
3.1 N位LED显示器
I/O(1)
I/O(2)
I/O(3)
I/O(4)
第15讲:MCS-51单片机系统的人机接口设计

单片机与控制技术
电气学院:胡学军
第06章:人机接口设计【教材第8章】
2、LED显示技术
LED显示器用于显示工业控制参数、 过程状态。 1)LED数码管 共阴极LED和共阳极LED 当LED字段引线与数据线连接,每个 显示字形对应一个字形码。
a
b
h
COM D7 D6 D5 D4 D3 D2 D1 D0 h g f e d c b a
LED的字形码(字段码)
显示字符 共阴极 共阳极
本讲小结
1、非编码键盘(独立式、行列式)的硬件与编程 2、七段LED的显示原理(静态显示、动态显示) 3、掌握利用8155扩展键盘和显示器的方法!(教材实例) 4、掌握利用8255扩展键盘和显示器的方法!(课后习题T5)
课后习题:
P252
D1
D2
D3
D4
D5
a f g e c d h
COM COM COM
显示缓冲区 地址 内容
b
7AH 7BH 7CH 7DH 7EH 7FH
D0 D1 D2
显示缓冲区与多位LED对应关系:
显示程序 DIS: MOV R0,#7AH ;指向显示缓冲区起始单元 MOV R3,#01H ;字位码初值→R3 MOV A,R3 ;取字位码 DLP: MOV DPTR,#PAAR;指向字位口 (PA口) MOVX @DPTR,A ;输出字位码,显示其中1位 MOV A,@R0 ;取一个显示数据 ADD A,#0CH ;查表偏移量 MOVC A,@A+PC ;取出字形码 INC DPTR ;指向字段口(PB口) MOVX @DPTR,A ;输出字形码 ACALL DLY1MS ;延时1ms INC R0 ;指向显缓区下一单元 MOV A,R3 ;修改字位码 RL A ;显示下一位 MOV R3,A JNB ACC.6,DLP ;未显示到最右边LED,继续显示 RET ;全部扫描一遍,结束 DTAB:DB 0C0H,0F9H,0A4H ;字形表 DB 0B0H,99H, DLY1MS:… ;延时1ms子程序
第5章 MCS–51单片机的接口与应用 99页 5.8M

(1) 用键盘连接的I/O线的二进制组合表示键码。例如用4行、
4列线构成的16个键的键盘,可使用一个8位I/O口线的高、低4 位口线的二进制数的组合表示16个键的编码,如图5.4(a)所示。 各键相应的键值为88H、84H、82H、81H、48H、44H、42H、 41H、28H、24H、22H、21H、18H、14H、12H、11H。这种键 值编码软件较为简单直观,但离散性大,不便安排散转程序的 入口地址。
第5章 MCS–51单片机的接口与应用 JNB ACC.2,K2 JNB ACC.3,K3 JNB ACC.4,K4 JNB ACC.5,K5 JNB ACC.6,K6 ;检测2号键是否按下,按下转 ;检测3号键是否按下,按下转 ;检测4号键是否按下,按下转 ;检测5号键是否按下,按下转 ;检测6号键是否按下,按下转
;0号键功能程序
;0号键功能程序执行完返回 ;0号键功能程序
JMP START
……………………… PROM7: ……………………… JMP START …
;1号键功能程序执行完返回
;7号键功能程序 ;7号键功能程序执行完返回
第5章 MCS–51单片机的接口与应用
5.1.4 行列式键盘
行列式键盘又叫矩阵式键盘。用I/O口线组成行、列结构, 按键设置在行列的交点上。例如4×4的行列结构可组成16个键 的键盘。因此,在按键数量较多时,可以节省I/O口线。 1.行列式键盘的接口 行列式键盘的接口方法有许多,例如直接接口于单片机的 I/O口上;利用扩展的并行I/O接口;用串行口扩展并行I/O口接 口;利用一种可编程的键盘、显示接口芯片8279进行接口等。 其中,利用扩展的并行I/O接口方法方便灵活,在单片机应用系
MOVX @DPTR,A
MCS-51单片机的人机接口

1.2 LED显示接口
显示接口是应用系统实时自动地向操作人员提供必要状态信息 的手段和途径之一,能使操作人员及时地观察到系统的运行情 况和对操作命令的响应结果
基于运行环境、可靠性、体积、功耗、成本等综合因素考虑, 发光二极管LED和数码管使用最为广泛,LCD以其显示信息丰 富也有较多应用
1.2.1 单个LED接口
所有情况
行反转法
可加快按键的识别速度 行线和列线所连接的并行端口都应是双向端口 先让连接行线的并行口工作在输出方式,让连接列线的并行口
工作在输入方式。通过程序向行线上全部送0,然后读入所有列 线的值。若有某键按下,必定某位列线值为0 之后,程序重新设置两个并行口的数据传输方向,并将刚才读 得的列线数据从列线所接并行口输出,然后读入所有行线的值
会自动增1或减1
状态标志位:指示LCD是否忙 光标/闪烁控制:用于控制光标是否显示和闪烁频率
1.3.2 LCD模块的CPU接口
LCD模块引线定义
引线号
符号
1 2 3 4 5 6 7~14
VSS VDD VEE RS R/W# E DB0~DB7
名称
功能
地 电源 液晶驱动电压 寄存器选择 读/写选择 片选
单片机原理与应用
人机接口
要了解系统的运行状态、适时干预系统处理过程 最常见的人机接口是键盘和显示器
键盘和显示电路通常由开发人员自行设计
1.1 键盘接口
利用按键可以向单片机输入数据和命令、选择系统功能 是人工操作介入单片机程序运行的主要手段 一组按键称为键盘 硬件上需要解决键盘与单片机的接口电路 软件则要实现对不同按键输入的识别解释功能
动态显示
将所有的段选线并联在一起,由一个8位输出口控制,而每位的 共阴极或共阳极点分别由单独的I/O口线控制
51单片机的串行接口

51单片机的串行接口串行接口的一般概念单片机与外界进行信息交换称之为通讯。
8051单片机的通讯方式有两种:并行通讯:数据的各位同时发送或接收。
串行通讯:数据一位一位顺序发送或接收。
参看下图:串行通讯的方式异步通讯:它用一个起始位表示字符的开始,用停止位表示字符的结束。
其每帧的格式如下:在一帧格式中,先是一个起始位0,然后是8个数据位,规定低位在前,高位在后,接下来是奇偶校验位(可以省略),最后是停止位1。
用这种格式表示字符,则字符可以一个接一个地传送。
在异步通讯中,CPU与外设之间必须有两项规定,即字符格式和波特率。
字符格式的规定是双方能够在对同一种0和1的串理解成同一种意义。
原则上字符格式可以由通讯的双方自由制定,但从通用、方便的角度出发,一般还是使用一些标准为好,如采用ASCII标准。
波特率即数据传送的速率,其定义是每秒钟传送的二进制数的位数。
例如,数据传送的速率是120字符/s,而每个字符如上述规定包含10数位,则传送波特率为1200波特。
同步通讯:在同步通讯中,每个字符要用起始位和停止位作为字符开始和结束的标志,占用了时间;所以在数据块传递时,为了提高速度,常去掉这些标志,采用同步传送。
由于数据块传递开始要用同步字符来指示,同时要求由时钟来实现发送端与接收端之间的同步,故硬件较复杂。
通讯方向:在串行通讯中,把通讯接口只能发送或接收的单向传送方法叫单工传送;而把数据在甲乙两机之间的双向传递,称之为双工传送。
在双工传送方式中又分为半双工传送和全双工传送。
半双工传送是两机之间不能同时进行发送和接收,任一时该,只能发或者只能收信息。
2.8051单片机的串行接口结构8051串行接口是一个可编程的全双工串行通讯接口。
它可用作异步通讯方式(UART),与串行传送信息的外部设备相连接,或用于通过标准异步通讯协议进行全双工的8051多机系统也可以通过同步方式,使用TTL或CMOS 移位寄存器来扩充I/O口。
51单片机 串行接口

第8章串行接口MCS-51单片机内部的串行接口是全双工的,即它能同时发送和接收数据。
发送缓冲器只能写入不能读出,接收缓冲器只能读出不能写入。
串行口还有接收缓冲作用,即从接收寄存器中读出前一个已收到的字节之前就能开始接收第二字节。
两个串行口数据缓冲器(实际上是两个寄存器)通过特殊功能寄存器SBUF来访问。
写入SBUF的数据储存在发送缓冲器,用于串行发送;从SBUF读出的数据来自接收缓冲器。
两个缓冲器共用一个地址99H(特殊功能寄存器SBUF的地址)。
8.1 串行口控制寄存器控制串行口的寄存器有两个特殊功能寄存器:即串行口控制寄存器SCON和电源控制器PCON。
1、PCON中的波特率选择位PCON是一个特殊功能寄存器(如下图所示),没有位寻址功能,字节地址为87H。
其中D7位(SMOD)为波特率选择位(波特率定义见8.3节)。
其他均无意义。
复位时的SMOD值为0。
可用MOV PCON,#80H或MOV 87H,#80H指令使该位置1。
当SMOD=1时,在串行口方式1,2或3情况下,波特率提高一倍。
2、串行口控制寄存器SCON特殊功能寄存器SCON用于定义串行口的操作方式和控制它的某些功能。
其字节地址为98H。
寄存器中各位内容如下:① SM0,SM1 串行口操作方式选择位,两个选择位对应于四种状态,所以串行口能以四种方式工作,见表8-1。
② SM2 允许方式2和3的多机通信使能位,在方式2或3中,若SM2置为1,且接收到的第9位数据(RB8)为0,则接收中断标志RI不会被激活,在方式1中,若SM2=1,则只有收到有效的停止位时才会激活RI。
在方式0中,SM2必须置为0。
③ REN 允许串行接收位。
由软件置位或清零,使允许接收或禁止接收。
④TB8 是在方式2和3中要发送的第9位数据可按需要由软件置位或复位。
⑤RB8 是方式2和3中已接收到的第9位数据。
在方式1中,若SM2=0,RB8是接收到的停止位。
在方式0中,不使用RB8位。
第8章 51单片机人机接口设计

(3)键盘的三种工作方式
① 编程扫描方式(查询方式) ② 中断工作方式 ③ 定时扫描方式
P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
8.3
键盘抖动及消除
由于键盘的机械特性,键盘在按下和松开的过程中会存在 抖动过程,具体如图所示:
键抖动可能导致计算机将按键操作识别为多次操作。为 了消除干扰,必须采取措施消除抖动。
④
按键的识别过程及程序
(1)逐行/列扫描法 ① 所有输出口输出0,读取输入口; ② 如果输入口全为1,重新执行第1步, 否则; ③ 输出(列)口逐个送0,读取输入口 全为1,下一个输出口送0,否则; ④ 记录当前列值N,同时进行行扫描; 记录行值M。 计算获取键值=(M-1)×4+N
8051
P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
8.2.2非编码键盘
(1)独立式键盘
特点: 一键一线。 优点: 结构简单,键容易识别。 缺点: 占用较多I/O口线, 不便组成大型键盘。
P0 .0 P0.1 P0.2 P0.3
+5V
S1 S2 S3 S4
8051
(2)矩阵式键盘
特点: 把检测线分成二组,一组为行线,另一组为列线,按键放 在行线和列线的交叉点上。或称为:输入口和输出口。 优点: 键盘规模可扩大。 8051 缺点: 键盘分析程序较复杂。
f
g e d
b
c dp
共阴极
共阳极
+5V
a b c
d e f g dp (a)
a b c d e f g dp (b)
为了让数码管能正确显示数字或字母,须点亮相 应的段,这样就需要对其译码。在译码方式上主要有 两种,硬件和软件。 无论是硬件译码还是软件译码,实际是都是给出 要显示数字或者字符的段码。
51单片机串口通信原理

51单片机串口通信原理详解1. 引言串口(Serial Port)是一种常用于计算机与外部设备之间进行数据传输的接口,它是一种逐位传输的方式。
51单片机是一种非常常用的单片机,串口通信是其重要的通信方式之一。
本文将详细解释51单片机串口通信的基本原理,包括串口通信的定义、硬件连接示意图、通信协议、数据传输过程以及数据接收处理等方面的内容。
2. 串口通信定义串口通信是一种通过串行通路进行数据传输的通信方式。
它是一种点对点的通信协议,即通信的两端通过共享数据线进行数据交换。
3. 硬件连接示意图完成串口通信,需要将单片机与外部设备进行连接。
下图是一个常见的串口通信连接示意图:___| |TXD <-|---|---> RXD| |RXD <-|---|---> TXD|___|单片机外部设备通常,单片机的TXD引脚连接到外部设备的RXD引脚,而单片机的RXD引脚连接到外部设备的TXD引脚。
4. 串口通信协议串口通信需要明确一种通信协议,以规定数据的传输格式和相关参数。
在51单片机中,常用的串口通信协议有UART(Universal Asynchronous ReceiverTransmitter)和USART(Universal Synchronous Asynchronous Receiver Transmitter)。
UART是指不使用时钟信号而直接利用起始位、数据位和停止位来传输数据的协议,属于异步通信。
USART是指同步和异步传输都能实现的通信协议。
5. 数据传输过程串口通信的数据传输过程可以分为发送和接收两个部分。
5.1 发送数据发送数据的步骤如下:1.配置串口通信参数,包括波特率、数据位、停止位和校验位等。
2.将要发送的数据存放在发送缓冲区中。
3.设置发送开始标志位。
4.如果发送缓冲区为空,则等待直到缓冲区不为空。
5.将发送缓冲区中的数据通过串口发送出去。
6.等待发送完成。
MCS-51单片机的人机界面接口技术

PA 0
PA 1
PA 2
PA PA PA PA PA
3 4 5 6 7
8155
P2.7 8031
P2.0
CE
PC PC PC PC
0 1 2 3
IO/M
WR WR
RD RD
ALE ALE
P0 8 D 0
~
PB 0 PB 1 PB 2
D7 +5V 20μF RESET
PB PB PB PB PB
3 4 5 6 7
键盘中有无按键按下是由列线送入全扫描字、 行线读入行线状态来判断的。键盘中哪一个键按 下可由列线逐列置低电平后,检查行输入状态来 判断。
图8-3 行列式键盘原理电路
2.键盘工作方式(如图8-4~8-7所示) 键盘的工作方式: 编程扫描方式、定时扫描方式、中断扫描方式
三种。 在键盘扫描子程序中完成下述几个功能。
Cr
B
CP
TXD
P3.3 +5V
&
V CC Cr
CP
Q
74LS164
7
A B Q0
+5
a b
V
c
de
gf
dp
2.7k × 8
+5V V CC Cr
Q7
CP 74LS164
Q0
A B
…
+5V
2.7k × 8
图8-21 串行口扩展的键盘/显示器接口
3.8279键盘/显示器接口 8279是专用键盘/显示器控制芯片,能对显示器
返回本章首页
8.2.1 LED显示器接口
1.LED显示器结构与原理 LED显示块是由发光二极管显示字段的显示器
51单片机的基本端口

51单片机的基本端口单片机是一种集成电路芯片,具有微处理器核心、存储器、I/O端口和各种外设接口等功能。
其中,基本端口是单片机最常用的功能之一,用于与外部设备进行数据交互和信号传输。
本文将介绍51单片机的基本端口及其使用方法。
一、引脚功能51单片机的引脚一共有40个,其中包括了多个基本端口引脚。
这些引脚的功能可以根据实际需要进行配置,比如作为输入端口、输出端口、中断源等。
以下是常用的几个基本端口引脚和其功能描述:1. P0口:P0.0~P0.7分别对应引脚号32~39,可用作通用I/O端口。
默认情况下,P0口是上拉输入模式,需要通过对应的寄存器设置为输出模式。
2. P1口:P1.0~P1.7分别对应引脚号1~7和40,同样可用作通用I/O端口。
在默认情况下,P1口是上拉输入模式,也需要通过寄存器进行配置。
3. P2口:P2.0~P2.7分别对应引脚号21~28,是可编程的8位I/O端口。
与P0和P1不同,P2口默认是输出模式,不需要进行配置。
二、使用方法在使用51单片机的基本端口之前,需要理解相关的寄存器和位控制。
以下是基本的使用方法:1. 配置端口模式:通过相应的寄存器设置,将需要使用的引脚设置为输入模式或输出模式。
2. 引脚输入:通过读取相应端口的寄存器,可以获取引脚的输入状态。
3. 引脚输出:通过写入相应端口的寄存器,可以控制引脚的输出状态。
4. 端口中断:通过对应的中断使能设置,可以使端口引脚成为一个中断源,触发中断服务程序。
需要注意的是,在编写代码时,应根据实际需要选择合适的端口和引脚进行配置和操作,以达到所需的功能。
三、示例代码下面是一个简单的示例代码,演示了如何使用51单片机的基本端口来控制LED灯的亮灭:```c#include <reg52.h>sbit LED = P1^0; // 将P1.0引脚定义为LEDvoid delay(unsigned int count){unsigned int i, j;for(i = 0; i < count; i++)for(j = 0; j < 1000; j++);}void main(){while(1){LED = 0; // LED亮delay(1000); // 延时LED = 1; // LED灭delay(1000); // 延时}}```通过以上示例代码,可以看到将P1.0引脚定义为LED,并通过改变LED引脚的输出状态来控制LED的亮灭。
51单片机各引脚及端口详解

51单片机各引脚及端口详解51单片机引脚功能:MCS-51是标准的40引脚双列直插式集成电路芯片,引脚分布请参照----单片机引脚图:l P0.0~P0.7 P0口8位双向口线(在引脚的39~32号端子)。
l P1.0~P1.7 P1口8位双向口线(在引脚的1~8号端子)。
l P2.0~P2.7 P2口8位双向口线(在引脚的21~28号端子)。
l P3.0~P3.7 P2口8位双向口线(在引脚的10~17号端子)。
这4个I/O口具有不完全相同的功能,大家可得学好了,其它书本里虽然有,但写的太深,对于初学者来说很难理解的,我这里都是按我自已的表达方式来写的,相信你也能够理解的。
P0口有三个功能:1、外部扩展存储器时,当做数据总线(如图1中的D0~D7为数据总线接口)2、外部扩展存储器时,当作地址总线(如图1中的A0~A7为地址总线接口)3、不扩展时,可做一般的I/O使用,但内部无上拉电阻,作为输入或输出时应在外部接上拉电阻。
P1口只做I/O口使用:其内部有上拉电阻。
P2口有两个功能:1、扩展外部存储器时,当作地址总线使用2、做一般I/O口使用,其内部有上拉电阻;P3口有两个功能:除了作为I/O使用外(其内部有上拉电阻),还有一些特殊功能,由特殊寄存器来设置,具体功能请参考我们后面的引脚说明。
有内部EPROM的单片机芯片(例如8751),为写入程序需提供专门的编程脉冲和编程电源,这些信号也是由信号引脚的形式提供的,即:编程脉冲:30脚(ALE/PROG)编程电压(25V):31脚(EA/Vpp)接触过工业设备的兄弟可能会看到有些印刷线路板上会有一个电池,这个电池是干什么用的呢?这就是单片机的备用电源,当外接电源下降到下限值时,备用电源就会经第二功能的方式由第9脚(即RST/VPD)引入,以保护内部RAM中的信息不会丢失。
在介绍这四个I/O口时提到了一个“上拉电阻”那么上拉电阻又是一个什么东东呢?他起什么作用呢?都说了是电阻那当然就是一个电阻啦,当作为输入时,上拉电阻将其电位拉高,若输入为低电平则可提供电流源;所以如果P0口如果作为输入时,处在高阻抗状态,只有外接一个上拉电阻才能有效。
51单片机功能接口说明

相信很多人都对单片机与计算机或者芯片通信时,RXD与TXD如何连接比较困惑。
因为在一些电路图中,有的是直连接法,有的是交叉接法,让人有点摸不着头脑。
首先需要明白两个概念,就是DTE和DCE。
DTE是指数据终端设备,典型的DTE就是计算机和单片机。
DCE是指数据通信设备,典型的DCE就是MODEM。
RS232串口标准中的RXD和TXD都是站在DTE立场上的,而不是DCE。
明白了这一点,再讲下面的接线方法,就很好理解了。
单片机与计算机进行串口通信时,单片机的RXD接计算机的TXD,单片机的TXD接计算机的RXD。
(1)使用串口直通线。
设计电路时,单片机的RXD连接电路板DB9的TXD,单片机的TXD连接电路板DB9的RXD,具体实现可在232电平转换芯片处反接。
(2)使用串口交叉线。
设计电路时,因为串口线已做交叉,单片机的RXD连接电路板DB9的RXD,单片机的TXD连接电路板DB9的TXD,均直连即可。
这就可以解释为什么有的电路中使用直连接法,有的电路中使用交叉接法,就是因为使用的串口线不同。
单片机与串口设备(如GPRS模块、载波芯片等)通信时,一律将RXD与TXD反接,即单片机的RXD接设备的TXD,单片机的TXD接设备的RXD。
(特殊标注其RXD与单片机RXD直连的除外,如华为的EM310)高阻态高阻态这是一个数字电路里常见的术语,指的是电路的一种输出状态,既不是高电平也不是低电平,如果高阻态再输入下一级电路的话,对下级电路无任何影响,和没接一样,如果用万用表测的话有可能是高电平也有可能是低电平,随它后面接的东西定。
高阻态的实质:电路分析时高阻态可做开路理解。
你可以把它看作输出(输入)电阻非常大。
它的极限状态可以认为悬空(开路)。
也就是说理论上高阻态不是悬空,它是对地或对电源电阻极大的状态。
而实际应用上与引脚的悬空几乎是一样的。
高阻态的意义:当门电路的输出上拉管导通而下拉管截止时,输出为高电平;反之就是低电平;如上拉管和下拉管都截止时,输出端就相当于浮空(没有电流流动),其电平随外部电平高低而定,即该门电路放弃对输出端电路的控制。
第8章51单片机常用接口

第8章 51单片机常用接口
8.1 MCS-51单片机的最小系统 所谓最小系统,是指一个真正可用的单片机
最小配置系统。对于单片机内部资源已能满足 系统需要的,可直接采用最小系统。MCS-51单 片机根据片内有无程序存储器最小系统分两种 情况。
8.1.1 8051/8751的最小系统
XTAL1
P0
第8章 51单片机常用接口
4.扩展存储器所需芯片数目的确定
若所选存储器芯片的字长与单片机的字长一致,则只 需扩展容量。所需芯片数目按下式确定:
芯片数目= 系统扩展容量 存储器芯片容量
若所选存储器芯片字长与单片机字长不一致,则不仅 需要扩展容量,还需要字扩展。所需芯片数目按下式确 定:
芯片数目=
系统扩展容量 存储器芯片容量
第8章 51单片机常用接口
其两片的地址空间分别为: 第一片:00000000000000000~0001111111111111,即0000H~1FFFH;
00100000000000000~0011111111111111,即2000H~3FFFH; 01000000000000000~0101111111111111,即4000H~5FFFH; 01100000000000000~0111111111111111,即6000H~7FFFH。 第二片:10000000000000000~1001111111111111,即8000H~9FFFH; 10100000000000000~1011111111111111,即A000H~BFFFH; 11000000000000000~1101111111111111,即C000H~DFFFH; 11100000000000000~1111111111111111,即E000H~FFFFH。
单片机51接口原理

单片机51接口原理单片机51接口原理单片机51接口原理是指单片机与外部器件或设备进行通信和控制的原理。
单片机51是一种常见的嵌入式微控制器,具有广泛的应用领域,包括工业控制、家电控制、自动化设备等。
其接口原理是通过单片机的引脚和外部器件或设备进行电气连接和通信,实现数据传输和控制操作。
单片机51接口原理包括数字接口和模拟接口两种类型,下面将详细介绍这两种接口的原理和应用。
数字接口原理数字接口是单片机与数字型器件进行通信和控制的接口,其原理是通过单片机的数字I/O引脚和外部器件的数字输入输出引脚进行连接和通信。
单片机通过设置输出引脚的电平(高电平或低电平)来控制外部器件的状态,同时也可以通过读取输入引脚的电平来获取外部器件的状态信息。
在单片机51中,有多个通用I/O引脚可以作为数字接口使用,例如P0口、P1口、P2口和P3口。
这些引脚可以通过编程设置为输入或输出模式,以实现与外部数字器件的通信和控制。
数字接口原理还包括串口通信接口和并行总线接口两种类型。
串口通信接口可以实现单片机与外部设备的串行数据传输,常用的串口通信协议包括UART、SPI 和I2C。
而并行总线接口可以实现单片机与外部设备的并行数据传输,通常用于连接存储器、显示器、键盘等外部设备。
模拟接口原理模拟接口是单片机与模拟型器件进行通信和控制的接口,其原理是通过单片机的模拟输入输出引脚和外部模拟器件的模拟输入输出引脚进行连接和通信。
单片机通过模数转换器(ADC)将外部模拟信号转换为数字信号,在单片机内部进行处理和分析,然后再通过数模转换器(DAC)将数字信号转换为模拟信号输出到外部器件。
在单片机51中,模拟接口通常包括一个或多个模拟输入引脚和一个或多个模拟输出引脚。
单片机内部的ADC和DAC模块可以对外部模拟信号进行高速、高精度的转换,从而实现对外部模拟器件的采集和控制。
模拟接口原理还包括定时器和比较器两种类型。
定时器可以通过编程设置计数器的计数范围和计数方式,从而实现对外部模拟信号的定时采样和触发控制。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
并行、串行接口
10.1 总线和接口
总线 (串行接口、并行接口)(同步,异步) 接口
串行通讯与并行通讯
发送方 数据准备好 数据D0~D7 接收方
8条数据线
数据收到
甲方 发送数据 接收数据
上图:并行单向通讯 下图:串行双向通讯
乙方 接收数据 发送数据
10.1 接口/存储器的扩展
常用译码器
图中E;E1;E2;E3;G1;G2均为使能控制端,可以连接到地址线, 也可以连接固定电平。当这些引脚“有效”时才能译码,否则 芯片输出高电平。ABCD连接低位地址。
3-8译码器举例
高3位地址用于译码, 可得8条选择线,每线 可以选择(64/8=8) 8KB的地址范围: Y0选择0000H~1FFFH;
线选法地址重叠及避免方法
MCU
芯片1 CS
P2.5 P2.6 P2.7
芯片2 CS
芯片3 CS
芯片1地址:110X,XXXX,XXXX,XXXX,起始地址: C000H,最高2位必须保证是1,避免与其它芯片 冲突。末地址:DFFFH 芯片2地址:101X,XXXX,XXXX,XXXX,起始地址: A000H,A15,A13必须是1,避免与其它芯片冲突。 末地址必须小于C000H。 芯片3地址:011X,XXXX,XXXX,XXXX,起始地址: 6000H,A14,A13必须是1,避免与其它芯片冲突。 显然末地址必须小于A000H 上面所说的“必须/保证”由软件完成,如果违反 规定,则可能同时不止访问一个芯片。 常用的0000H~05FFH地址在这里是禁止使用的。 从本例可以看出,线选法比较浪费地址,但是不 需要的地址浪费了也无所谓。其优点是少用一个 译码器。
传送程序,内部RAM30H~3FH单 元置初值00H~0FH,然后传送到 外部RAM(6264)的0000H~000FH 单元中,再将0000H~000FH中内 容求和送到P1口显示。 Org 0000h AJMP main Org 0030h
Main: Mov r0,#10h Mov a,#0 Mov r1,#30h WriAga: mov @r1,a inc a inc r1 djnz r0,WriAga 转移
并口的扩展举例
左边两图使用8D锁存器扩展输出并口 右边图使用8位三态门作为输入并口。74LS245也是三态门。 注意三者CS的使用;73LS377可以免去一个或门。或门作为“负逻 辑与门”使用。
RAM 的扩展
地址 控制时序 编程
RAM 的扩展
根据前面的电路原理图,编写数据
如图,采用8051做CPU,请给出RAM的地址,如果 将#30H放如RAM的第一个单元,如何编写程序
线选法
由于单片机通常不需要太多的扩展,往往只需 扩展2~3个芯片即可,因此没有必要使用译码 器。 直接使用P2.X连接到CS,称为“线选法” 线选法客观上会导致“地址重叠”,软件上需 要考虑不去访问重叠地址。译码法没有这个问 题。
并口应用中已经介绍了地址/数据总线的扩 展,本节举例应用要点。 数据线D0~D7(P0口AD0~AD7),8位 地址线A0~A15(P074LS373=A0~A7,P2=A8~A15) 控制线: CS/CE,WR/RD(OE) ALE
WR RD (PSEN):数据流方向 CS/CE引脚称为“片选:Chip Select”或者“芯 片使能:Chip Enable”.CPU将其用于选中芯片 以确定访问对象,它通常代表一个地址范围, 由“地址译码器”提供。 ALE 地址数据分离信号
Y1选择2000H~3FFFH;
Y2选择4000H~5FFFH;
对于存储器RAM 6264或EPROM 2764;E2PROM 2864,地址A0~A12 可以直接连接到存储器的地址线,Yi连接到CS就行了。对于某些芯片, 它们不需要太多的地址线时,我们只需连接低位地址。例如8255,只 需连接A0和A1就行。
串行通讯基本概念
串行通讯方式分为:单工、双工、半双工。 串行通讯模式分为:同步通讯和异步通讯。
串行通讯方式的
单工、双工、半双工
TXD TXD RXD TXD RXD TXD RXD
RXD
TXD RXD
TXD
RXD
串行通讯的同步模式(位同步)
串行数据
同步时钟
写入并行数据
D Q 同步时钟
CK
地址设计和推导
1. 2.
设计:
确定各芯片地址范围,以最大容量芯片作为参考。 设计高位地址连接译码器的方法。
1. 2. 3. 4.
推导: (分析图纸)
推导地址时,按译码器连接方法将高位地址用二进制的0/1表达出来。 连接到芯片的地址用0000…和1111…表达出来。 没有连接芯片的地址用XXXX…表达。 将2进制地址码换算成16进制地址。换算时,XXXX…一般理解为 0000…。作地址范围推导时,先设为0000…看作起始地址,1111…看 作末地址。
(2)在扩展外部ROM时,用控制信号PSEN, 而在扩展外部RAM时,用控制信号RD和WR。 (3)在选用外接存储器时,应注意ALE信号 与锁存器选通信号的配合。
CS/CE的产生和使用
目的:将64K地址分配给多个芯片使用,各个芯片占用不同的地址 段。(51单片机I/O和存储器采用统一编址) 被扩展的芯片,无论是存储器还是接口都有相应引脚CS/CE ,其 意义是:1.选中此芯片,CPU要对其进行访问。2.它代表地址信息。 CS/CE一般为低电平有效。 地址分配方法(产生CS/CE的方法)有两种,经典方法是使用 “译码器”;单片机还可以使用“线选法”。 使用译码器译码,称为“译码法”。常用的译码器有:双二四译 码器74LS139,三八译码器74LS138,四十六译码器74LS154。 使用高位地址线直接作为CS/CE使用,称为“线选法”。
10.2 并行总线的发展(简介)
测控专用总线 GPIB PXI VXI
测控系统组成技术的发展
总线技术发展
1. GPIB 结构
控制图
硬件结构
优点 结构简单 使用便利 抗干扰 缺点 传输速度低 体积大 无法同步触发
2. VXI 结构
优点 开放 高速传输 灵活 体积小 缺点 价格高
异步通讯数据格式
波特率:数据传送速率BPS,即“位/每秒” 空闲:高电平,宽度不限 起始位:低电平,1位宽度 数据位数:通常是8位,还可设为:6位;7位和9 位等。 数据顺序:通常D0先发,也可以反过来D7先发。 数据逻辑:通常是正逻辑,也有使用负逻辑的 休止位:高电平,1~1.5位宽度 以上全部并含三个“通常”都是默认的,除非特殊 强调。
校验
同步方式分为软件同步和硬件同步 软件同步是一种连续传送(块/包)方式,字节间不需要起始位, 休止位,因而节约传送时间。 同步字符用于判断数据开始,现代通讯还包含了“传输速率”的 信息。 接受方利用“同步字符”校准锁相环电路从而产生自适应的接收 波特率。 这种方式具有异步通讯不需要移位时钟的特点,又有“块方式” 特点,因此传输效率高,自适应能力强。 硬件同步是利用同步时钟信号同步 数据格式通常称为“通讯协议”,不同公司开发的产品使用的协 议可能不同。例如同步帧/字符位数,代码等。
2.
UART电路可以集成在MCU中,也可以是独立芯片。例如常
见的独立芯片UART有:Ins 8250;Intel8251;MC6850; MC6852;Z80SIO等。它们通常需要外接波特率发生电路:振荡 器+分频器。
同步方式
同步字符 同步字符 数据长度
数据
数据
…………
3. PXI
优点: 传输速度快,兼容PCI
特点
并行通讯一次传送1字节(1BYTE),串行通 讯一次传送一位(1Bit)。 并行通讯需要大量导线(>10),串行通讯需 要线路少(1~3)。 通过改善通讯线路驱动方式,传送距离和传送 速度上,串行通讯都远远大于并行通讯。
51 单片机的3总线结构
读写时序
P0 ALE 373出 P2
A0~A7 A8~A15 A0~A7 A8~A15 A0~A7 A8~A15 D0~D7 A0~A7 D0~D7 A0~A7 D0~D7 A0~A7
• 74LS373 是一种“透明”的8D锁存器,当LE引脚为 “高”时,输出=输入。低电平时锁定数据。 • Intel 8282 类似,但引脚不一样。 • 不能用其它锁存器代替。
; r0为循环计数器 ; ; r1为片内RAM地址指针
;写片内RAM一个单元 ;地址指针加1 ;循环计数器减1,不等于0,
mov mov mov
dptr,#0 r2,#10h r0,#30h
;DPTR为片外RAM地址指针 ;r2为循环计数器 ; r0为片内RAM地址指针
;读片内RAM一个单元 ;写入外部RAM一个单元 ;片外RAM地址指针加1 ;片内RAM地址指针加1 ;循环计数器减1,不等于0,转移
扩展电路可以是存储器,也可以是接口芯片。 存储器: 6116(2K),6264(8K),62256(32K),2716(2K),27 64(8K),27256(32K)…… 接口:8255,8253,8279,8259,8251…以 及ADC0809,0804,DAC0832,AD75176……
地址推导举例
图中:A15,A14为限定状态,只有 它们全为0时,译码器才能译码, 因此在表中写0。