51系列单片机的串口扩展方案

合集下载

第7章MCS-51单片机的常用外设扩展

第7章MCS-51单片机的常用外设扩展

(2)数据线
2732的8位数据线直接与单片机的P0口相连。P0口作 为地址/数据线分时复用。
(3)控制线
CPU执行2732中存放的程序指令时,取指阶段就是对 2732进行读操作。注意,CPU对EPROM只能进行读操作, 不能进行写操作。CPU对2732的读操作控制都是通过控制线 实现的。2732控制线的连接有以下几条:
2.硬件电路 单片机与6116的硬件连接如图7-4所示。
3.连线说明
• 地址线:A0~A10连接单片机地址总线P0.0~P0.7、P2.0、P2.1、P2.2 共11根;
• 数据线:I/O0~I/O7连接单片机的数据线,即P0.0~P0.7;
• 控制线:片选端连接单片机的P2.7,即单片机地址总线的最高位A15; 读允许线连接单片机的读数据存储器控制线;
• 对于没有内部ROM的单片机或者程序较长、片内ROM容 量不够时,用户必须在单片机外部扩展程序存储器。 MCS-51单片机片外有16条地址线,即P0口和P2口,因此 最大寻址范围为64K字节(0000H—FFFFH)。
• 这里要注意的是,MCS-51单片机有一个管脚 EA跟程序存 储器的扩展有关。如果接高电平,那么片内存储器地址范 围是0000H—0FFFH(4K字节),片外程序存储器地址范 围是1000H—FFFFH(60K字节)。如果接低电平,不使 用片内程序存储器,片外程序存储器地址范围为0000H— FFFFH(64K字节)。
1. 芯片选择
单片机扩展数据存储器常用的静态RAM芯片有6116(2K×8 位)、6264(8K×8位)、62256(32K×8位)等。
根据题目容量的要求我们选用SRAM6116,采 用单一+5V供电,输入输出电平均于TTL兼容,具有 低功耗操作方式,管脚如图7-3所示。

51单片机_片内外设汇总

51单片机_片内外设汇总

锁存器
写锁存器
读引脚 返回
片内外设
1.3 P2口
特点: “通用数据I/O端口”和“高八位地址总线”端 口
读锁存器
地址/数据 1/0
控制
Vcc
内部上拉电阻
内部总线
D CL
Q /Q MUX
(地址/数据=0)
锁存器 写锁存器
P2.x 引脚
读引脚
返回上一次
片内外设
与P0口一样,P2口在系统使用外部存储器时,做高八位的 地址总线。 应当注意的是:仅使用外部数据存储器时,P2口分两种情 况: 1)仅仅使用256B的外部RAM时,即使用movx a,@r0指令 访问外部RAM,此时用8位的寄存器R0或R1作间址寄存器, 这时P2口无用,所以在这种情况下,P2口仍然可以做通用 I/O端口。 2)如果访问外部ROM或使用大于256BRAM时,P2口必须 作为外存储器的高八位地址总线。 如:movx a,@dptr ;访问外部数据存储器 movc a,@a+dptr ;访问外部程序存储器 这里使用了16位的寄存器DPTR
片内外设
1. 5 并行端口在使用时应注意的几个问题

“拉电流”还是“灌电流”----与大电流负载的连 接 (我们以美国ATMEL公司生产的AT89C51为例) 1, 使用灌电流的方式与电流较大的负载直接 连接时, 端口可以吸收约20mA的电流而保证端 口电平不高于0.45V(见右上图)。
2,采用拉电流方式连接负载时,AT89C51所 能提供“拉电流”仅仅为80μA,否则输出的 高电平会急剧下降.如果我们采用右下图的方式, 向端口输出一个高电平去点亮LED,会发现,端 口输出的电平不是“1”而是“0”! 当然,不是所有的单片机都是这样,PIC单 片机就可以提供30mA的拉电流和灌电流。单对 于大多数IC电路,最好还是使用“灌电流”去 推动负载。

51单片机-串行口ppt课件

51单片机-串行口ppt课件

为发送时CPU是主动的,不会产生重叠错误。
最新课件
21
8.2.2 80C51串行口的控制寄存器
SCON 是一个特殊功能寄存器,用以设定串行口的工 作方式、接收/发送控制以及设置状态标志:
SM0和SM1为工作方式选择位,可选择四种工作方式:
最新课件
22
●SM2,多机通信控制位,主要用于方式2和方式3。 当接收机的SM2=1时可以利用收到的RB8来控制是否 激活RI(RB8=0时不激活RI,收到的信息丢弃; RB8=1时收到的数据进入SBUF,并激活RI,进而在 中断服务中将数据从SBUF读走)。当SM2=0时,不 论收到的RB8为0和1,均可以使收到的数据进入 SBUF,并激活RI(即此时RB8不具有控制RI激活的 功能)。通过控制SM2,可以实现多机通信。
起 空始 闲位
一个字符帧 数据位
校停 验止 位位
空 下一字符 闲 起始位
LSB
MSB
异步通信的特点:不要求收发双方时钟的
严格一致,实现容易,设备开销较小,但 每个字符要附加2~3位用于起止位,各帧 之间还有间隔,因此传输效率不高。
最新课件
9
2、同步通信
同步通信时要建立发送方时钟对接收方时钟的直接控制, 使双方达到完全同步。此时,传输数据的位之间的距离均 为“位间隔”的整数倍,同时传送的字符间不留间隙,即 保持位同步关系,也保持字符同步关系。发送方对接收方 的同步可以通过两种方法实现。
波特率=2SMOD/32×T1的溢出率 = 2SMOD × fosc/[ 32 × 12×(2K-初值)]
最新课件
19
回目录 上页 下页
3、传输距离与传输速率的关系
串行接口或终端直接传送串行信息位流的

51单片机串行口扩展电路设计及其应用

51单片机串行口扩展电路设计及其应用
h r wae cru ta d p o rm o c at o u r iin s se i e wae w r s ad r ic i n r ga f w h rsfr s p vso y tm n t tr o k . l e h Ke r s: ige c i o u e ; e a p e d n ; n o sv n e tn i g y wo d sn l— hp c mp tr s r ls r a i g o e t e xe d n i e
随着 单 片机 技 术 的 不 断 发展 , 别是 网络 技 术 特 在测 控领 域 的广 泛应 用 , 由单 片 机 构成 的多 机 网络 测 控系统 已成 为单 片 机技术 发 展 的一个 方 向 l。笔 1 j 者在 研究 水 厂 的数 据 采 集 和控 制 系 统 的过 程 中 , 设 计 了 主从 式 多机 测控 系 统 。在 系 统 中 ,1 片机 一 5单 方面要和 P C机 通 信 , 方 面 又 要 和 下 位 机 及 仪 表 一
扩展 串 口数 量 多 、 扩 展单 片机 的软 硬 件 资 源 占用 对 少 、 占用 上位 机外 部 中断资 源 ( 不 其他并 口数据 总线 扩 展方 案都 需 要至 少一 条或 者多 条外 部 中断 )使 用 ,
方法简单 、 待扩展串口可实现较高的波特率 、 l o t f 1Sn l hpMi oo S M ) ei r igeC i c c ( C ap o 5 y
L U n - u I Xig h a
( ua n e i f eh o g ,uhu30 1 ,hn) Fj nU i rt oT cnl yF zo 504 C ia i v sy o
Jn u.
2 0 07

mcs-51系列单片机基本结构与工作原理

mcs-51系列单片机基本结构与工作原理


1)电源引脚VCC和VSS

VCC:40脚,电源端,+5V

VSS:20脚,接地端(GND)

2)时钟电路引脚

XTAL1:19脚,外接晶振输入引脚。

XTAL2:18脚,外接晶振输出引脚。

3)控制线引脚

共4根,其中3根为双功能

①RST/VPD :9脚,复位/备用电源。

RST---通过外接复位电路实现上电复位或按键复位。
直接寻址 寄存器寻址
(4)MOV 60H,@R1 直接寻址 寄存器间接寻址
表2-2 特殊功能寄存器SFR的名称及地址(一)
§ MCS-51的扩展应用
▪ 一、单片机Байду номын сангаас展的基本概念 ▪ 1、单片机最小系统:使单片机运行的最少器件构成的 ▪ 系统,就是最小系统。 ▪ 无ROM芯片:8031 必须扩展ROM,复位、晶振电路 ▪ 有ROM芯片:89C51等,不必扩展ROM,只要有复位、 ▪ 晶振电路 ▪ 2、扩展使用的三总线:
▪ 清零,用来选择8051的工作寄存器区。其选择方法见表2-1
▪ OV、( PSW.2)溢出标志位。当带符号数运算(加法或减法)结果超 ▪ 出范围(-127-+127)时,有溢出,OV=1;否则OV=0。 ▪ --、( PSW.1)用户定义标志位。 ▪ P、( PSW.0)奇偶校验位。在每个指令周期由硬件按累加器A中“1”的 ▪ 个数为奇数或偶数而为“1”或“0”。因此,P可用指示操作结果(累加器
direct
8 位内部RAM单元的地址
#data:
指令中的8 位常数。
#data16
指令中的16位常数。

51系列单片机与外围接口芯片的实验和技巧

51系列单片机与外围接口芯片的实验和技巧

51系列单片机与外围接口芯片的实验和技巧51系列单片机是一种常用的微控制器,具有广泛的应用领域。

为了提高单片机的功能和扩展其外围接口,常常需要使用外围接口芯片。

本文将介绍一些与51系列单片机配合使用的外围接口芯片的实验和技巧。

一、LCD液晶显示屏LCD液晶显示屏是一种常见的外围接口设备,可以用来显示各种信息。

与51系列单片机配合使用时,需要通过IO口进行数据和控制信号的交互。

在使用LCD液晶显示屏时,需要注意以下几点:1. 配置IO口的工作模式:将IO口设置为输出模式,以便向液晶显示屏发送控制信号和数据。

2. 使用延时函数:由于LCD液晶显示屏的响应速度较慢,需要在发送完数据后进行适当的延时,以确保数据能够被正确接收和显示。

3. 熟悉液晶显示屏的命令和数据格式:LCD液晶显示屏有自己的一套命令和数据格式,需要根据具体型号的要求进行设置。

二、ADC模数转换芯片ADC模数转换芯片可以将模拟信号转换为数字信号,常用于采集和处理模拟信号。

与51系列单片机配合使用时,需要注意以下几点:1. 配置IO口的工作模式:将IO口设置为输入模式,以便接收来自ADC芯片的模拟信号。

2. 设置ADC模数转换的精度:根据需要,可以调整ADC芯片的工作精度,以获得更高的准确性或更快的转换速度。

3. 调用ADC转换函数:通过调用相应的函数,可以启动ADC芯片进行模数转换,并获取转换结果。

三、DAC数模转换芯片DAC数模转换芯片可以将数字信号转换为模拟信号,常用于控制模拟设备的输出。

与51系列单片机配合使用时,需要注意以下几点:1. 配置IO口的工作模式:将IO口设置为输出模式,以便向DAC芯片发送数字信号。

2. 设置DAC数模转换的精度:根据需要,可以调整DAC芯片的工作精度,以获得更高的准确性或更大的输出范围。

3. 调用DAC转换函数:通过调用相应的函数,可以向DAC芯片发送数字信号,并控制其输出模拟信号的大小。

四、串口通信芯片串口通信芯片可以实现与其他设备的串口通信,常用于数据传输和远程控制。

51单片机串口工作方式0和1解析

51单片机串口工作方式0和1解析

RXD
7.1.1 串行口控制寄存器SCON b7 b6 b5 b4 b3 b2 b1 TI b0 RI
SM0 SM1 SM2 REN TB8 RB8
9FH 9EH 9DH 9CH 9BH 9AH 99H 98H
SM0、SM1 —— 串行接口工作方式定义位
• SM0、SM1 = 00 —— 方式 0,8位同步移位寄存器 • SM0、SM1 = 01 —— 方式 1,10 位异步接收发送 • SM0、SM1 = 10 —— 方式 2,11 位异步接收发送 • SM0、SM1 = 11 —— 方式 3,11 位异步接收发送 注意: 方式 0 的特点,方式 2、方式 3 的差异
寄存器 SCON、PCON、SBUF
寄存器 IE、IP
• MCS-51 单片机串Fra bibliotek接口工作方式 方式 0 方式 2 方式 1 方式 3
有两个数据缓冲寄存器 SBUF,一个输入移位寄存器,一个 串行控制寄存器SCON和一个特殊功能寄存器PCON等组成。 8 位SBUF是全双工串行接口寄存器, 它是特殊功能寄存器, 地址为 99H,不可位寻址;串行输出时为发送数据缓冲器,发送
时钟振荡频率为6MHz或12 MHz时,产生的比特率偏差较大, 故用到串口通信时通常选用11.0592MHZ晶体振荡器。
串行口的结构
• MCS-51 单片机串行接口的硬件
P3.0 位的第二功能 —— 收端 RXD P3.1 位的第二功能 —— 发端 TXD
• MCS-51 单片机串行接口的控制
比特率 比特率
= /12
P.110
=
/32 计1次 计3次 计3次 计6次 计12次 计24次
=
/12/计次/16

第8章 单片机存储器扩展

第8章  单片机存储器扩展

译码法的另一个优点是若译码器输出端留 有剩余端线未用时,便于继续扩展存储器或I/O 口接口电路。
译码法和线选法不仅适用于扩展存储器(包 括外RAM和外ROM),还适用于扩展I/O口(包括各 种外围设备和接口芯片)。
译码有两种方法:部分译码法和全译码法。
部分译码:存储器芯片的地址线与单片机系统的地址线顺 次相接后,剩余的高位地址线仅用一部分参加译码。部分 译码使存储器芯片的地址空间有重叠,造成系统存储器空 间的浪费。 部分译码法的一个特例是线译码。所谓线译码就是 直接用一根剩余的高位地址线与一块存储器芯片的片选 信号CS相连,同时通过非门与另一块存储器芯片的片选 信号CS相连。 全译码:存储器芯片的地址线与单片机系统的地址线顺次 相接后,剩余的高位地址线全部参加译码。这种译码方法 存储器芯片的地址空间是唯一确定的,但译码电路相对复 杂。
2 2764
8031
CE GND
EA Vss
上图为8XX51单片机扩展单片程序存储器2764的电路 图。
其8个重叠的地址范围为如下: 0000000000000000~0001111111111111,即:0000H~1FFFH; 0010000000000000~0011111111111111,即:2000H~3FFFH; 0100000000000000~0101111111111111,即:4000H~5FFFH; 0110000000000000~0111111111111111,即:6000H~7FFFH; 1000000000000000~1001111111111111,即:8000H~9FFFH; 1010000000000000~1011111111111111,即:A000H~BFFFH; 1100000000000000~1101111111111111,即:C000H~DFFFH; 1110000000000000~1111111111111111,即:E000H~FFFFH。

MCS-51单片机串行通信

MCS-51单片机串行通信

9.1 串行通信概述
• ④停止位 表示发送一个数据的结束,用高电平表示,占1 位、1.5 位或2 位。 • 线路空闲时,线路处于逻辑“1”等待状态,即空闲位为1。 空闲位是异步通信特征之一。异步通信中数据传送格式如 图9.1 所示。 • 图9.1 异步通信数据帧格式
图9.1 异步通信数据帧格式
9.1 串行通信概述
9.1 串行通信概述
• 3.波特率 • 波特率是数据传递的速率,指每秒传送二进制数据的位数, 单位为位/秒(bit/s)。 • 例9.1 假设微型打印机最快的传送速率为30 字符/秒,每 个字符为10 位,计算波特率。 • 解: • 波特率=10 b/字符×30字符/s=300 b/s • 每一位代码的传送时间Td 为波特率的倒数: • Td=1/300=3.3 ms • 异步通信的波特率一般在50~19 200 b/s 之间,常用于 计算机到终端机和打印机之间的通信、直通电报以及无线 电通信的数据发送等。
异步10位收发 异步11位收发 异步11位收发
9.2 串行口结构与工作原理
• SM2:多机通信控制位。 • a.用于方式2和方式3。若SM2=1,则允许多机通信。 多机通信协议规定,若第9位数据(RB8)为1,则表明本帧 数据为地址帧。否则,若第9位数据(RB8)为0,则表明本 帧数据为数据帧。 • 当一个8051(主机)与多个8051(从机)进行通信时,令所有 从机的SM2都置1。主机要与某个从机通信,首先发送一 个与该从机相一致的地址帧(每个从机的地址必须惟一), 且第9位为1,所有从机接收到数据后,将第9位送入RB8 中。 • 若RB8=1,说明是地址帧,将数据装入SBUF,且置RI =1,即中断所有从机,若从机判断出该地址帧数据与本 机号(地址)一致,则置SM2=0,准备接收主机发来的数 据。其他从机仍然保持SM2=1。

51单片机双机通信原理(一)

51单片机双机通信原理(一)

51单片机双机通信原理(一)51单片机双机通信简介•什么是51单片机双机通信•双机通信的作用和应用场景基本原理•单片机串口通信原理–串口通讯协议–数据帧的构成•串口通信的硬件连接–引脚连接方式–串口信号格式设置单向通信实现•主从模式–主机发送数据–从机接收数据•编程实现–主机端程序设计–从机端程序设计双向通信实现•主从模式–主机发送数据–从机接收数据–主机接收数据–从机发送数据•编程实现–主机端程序设计–从机端程序设计通信协议的设计•自定义通信协议–协议的格式–数据的解析与封装高级功能扩展•多机通信实现•数据加密与解密•异常处理与误码纠错总结•51单片机双机通信的基本原理和实现方式•可能遇到的问题及解决方案•双机通信的进一步应用展望简介51单片机双机通信是指使用51系列单片机实现两台或多台单片机之间的数据传输和通信。

双机通信可以实现在多个单片机之间传递数据、完成控制指令的下发、数据的采集和处理等功能。

在各种电子设备和嵌入式系统中,双机通信被广泛应用,可以实现设备之间的互联和协同工作,提高系统的灵活性和智能化水平。

基本原理单片机串口通信原理串口通信是一种将数据通过串行线路进行传输的通信方式。

在51单片机的串口通信中,常用的是UART(通用异步收发传输器)通信协议。

UART通信采用的是异步传输方式,数据按照固定的数据帧格式进行传输。

串口通信的硬件连接在51单片机的串口通信中,需要将主机和从机的UART引脚连接起来。

常用的连接方式是通过一对直线的串行数据线(TXD和RXD)连接主从机,其中TXD是发送数据的引脚,RXD是接收数据的引脚。

为了确保数据的正确传输,还需要进行串口信号格式的设置,包括波特率、数据位数、停止位数和校验位等。

单向通信实现主从模式在单向通信中,主机负责发送数据,从机负责接收数据。

主机通过串口发送数据帧,从机通过串口接收数据帧,并进行相应的处理。

编程实现在主机端程序设计中,需要配置串口通信的参数,并使用串口发送数据的相关函数来发送数据。

如何扩展51单片机的串行口?

如何扩展51单片机的串行口?

在以单片机为核心的多级分布式系统中,常常需要扩展单片机的串行通信口,本文分别介绍了基于SP2538专用串行口扩展芯片及Intel8251的两种串行口扩展方法,并给出了实际的硬件电路原理及相应的通信程序段。

关键词:串口扩展;单片机;SP2538;Intel82511 引言在研究采场瓦斯积聚模拟试验台的过程中,笔者设计了主从式多机采控系统结构。

主从式多机控制系统是实时控制系统中较为普遍的结构形式,它具有可靠性高,结构灵活等优点。

当选用单串口51单片机构成这种主从式多机系统时,51单片机一方面可能要和主机Computer通信,一方面又要和下位机通信,这时就需要扩展串行通道。

本文具体介绍了两种串行通道的扩展方法。

2 串行口的扩展方法常用的标准51单片机内部仅含有一个可编程的全双工串行通信接口,具有UART的全部功能。

该接口电路不仅能同时进行数据的发送和接收,也可作为一个同步移位寄存器使用。

当以此类型单片机构成分布式多级应用系统时,器件本身的串口资源就不够用了。

笔者在实际开发中,查阅了有关资料,总结出如下两种常用而有效的串行通道扩展方法。

2.1 基于SP2538的扩展方法SP2538是专用低功耗串行口扩展芯片,该芯片主要是为解决当前基于UART串口通信的外围智能模块及器件较多,而单片机或DSP原有的UART串口又过少的问题而推出的。

利用该器件可将现有单片机或DSP 的单串口扩展至5个全双工串口。

使用方法简单、高效。

在应用SP2538扩展串行通道时,母串口波特率K1=2880*Fosc_in,单位是MHz,且Fosc_in小于20.0MHz 在SP2538输入时钟Fosc_in =20.0MHz时母串口可自适应上位机的56000bps和57600bps两种标准波特率输入。

子串口波特率K2=480*Fosc_in。

母串口和所有子串口都是TTL电平接口,可直接匹配其他单片机或TTL数字电路,如需连接PC机则必须增加电平转换芯片如MAX202 、MAX232 等。

51系列单片机的串口扩展方案

51系列单片机的串口扩展方案
第7 第5 卷 期
2 0 年 5月 08
软 件 导 刊
So t r fwa eGu d ie
VOl o5 _ N . 7
Ma 0 8 v2 0
5 系列单片机 的 串 口扩展 方案 1
鲍 梦. 刘智 萍
( 西蓝 天 学院瑶 湖校 区公教 部计 算机教 研 室 , 西 南昌 3 09 ) 江 江 3 0 8
配上 2 S2 3就 可 以扩展 到6 串 口。 片 P38 个 S 2 3 每 个 子 串 1 波 特 率 都 可 以 达 到 9 0 b sS 2 3 P 38 3的 6 0 p .P 3 8
新 的全双 工 串行 口。S 2 3 适用 于 1 起 始位 、个 数据 位 、个 P 38 个 8 1
的母 串 口相 连 的 单 片 机 串 口的 波 特 率 达 到 3 8 0 b s 8 4 0 p ,若 单 片 机 采 用 非 1 .5 2 1 9 M的 工 作 晶 振 ,则 波 特 率 会 有 偏 差 ,不 过 , 0 S 2 3 允 许 波 特 率 误 差 为 25 P38 . %
0D 、 时指 令0 0 。向R ~ X3 的任 意 1 接 收端 口写任 x5延 x0 XO R 中 个
意 数 据 即 可 将 S 2 3 唤 醒 。 但 由 于 S 2 3 的 唤 醒 时 间 需 要 P 38 P 38 2ms 右 ,故 用 于 芯 片 唤 醒 的 数 据 将 不 会 被 主 机 接 收 。 因此 , 5 左 可 以先 发 送 1 字 节 数 据 用 于 唤 醒 芯 片 , 时 2 m 后 即 可 进 行 个 延 5s
与 子 串 口波特 率 的关 系如下 :
K子 = 8 * o c. 4 0Fs
因此 , 如果 子 串 口采用 9 o 波 特率 , 据 以上 公 式 ,oc 60 根 F s= 2 MH , 0 z 而母 串 1 的波特 率必 须达 到3 8 0 b s 3 84 0 p 。这 样 与S 2 3 P 38

单片机原理及应用 第4章 MCS-51单片机系统的扩展技术

单片机原理及应用 第4章 MCS-51单片机系统的扩展技术

2.数据存储器典型扩展电路
6264的地址范围为:0000H~1FFFH。
[例题] 在上页图的数据存储器扩展电路中,将片内RAM 以50H单 元开始的16个数据,传送片外数据存储器0000H开始的单元中。
程序如下:
ORG 1000H MOV R0, #50H MOV R7, #16 MOV DPTR, #0000H AGAIN: MOV A, @R0 MOVX @DPTR, A INC R0 INC DPTR DJNZ R7, AGAIN RET END ; 数据指针指向片内50H单元 ; 待传送数据个数送计数寄存器 ; 数据指针指向数据存储器6264的0000H单元 ; 片内待输出的数据送累加器A ; 数据输出至数据存储器6264 ; 修改数据指针 ; 判断数据是否传送完成
4.2.1
程序存储器扩展
单片机内部没有ROM,或虽有ROM但容量太小时,必须扩 展外部程序存储器方能工作。最常用的ROM器件是EPROM 1. 常用EPROM程序存储器 EPROM主要是27系列芯片,如:2764(8K)/27128(16K) /27256(32K)/27040(512K)等,一般选择8KB以上的芯片作为 外部程序存储器。
4.2.3 MCS-51对外部存储器的扩展
下图所示的8031扩展系统中,外扩了16KB程序存储器(使用两片 2764芯片)和8KB数据存储器(使用一片6264芯片)。采用全地址译码方 式,P2.7用于控制2―4译码器的工作,P2.6, P2.5参加译码,且无悬空地 址线,无地址重叠现象。 1# 2764, 2# 2764, 3# 6264的地址范围分别为:0000H~1FFFH, 2000H~3FFFH, 4000~5FFFH。
MOV DPTR, #7FFFH ; 数据指针指向74LS377 MOV A, 60H ; 输出的60H单元数据送累加器A MOVX @DPTR, A ; P0口将数据通过74LS377输出

用MCS-51单片机串行口对MAX7219及显示器控制的方法和程序

用MCS-51单片机串行口对MAX7219及显示器控制的方法和程序

介绍MAX7219的功能,与MCS-51的时序配合及一种新颖的利用MCS-51串行方式0对MAX7219及显示器控制的方法和程序。

单片机系统通常需要有LED对系统的状态进行观测,而很多工业控制用单片机如MCS-51系列本身并无显示接口部分,需要外接显示的译码驱动电路。

LED数码管显示有动态显示和静态显示两种方式。

通常不管采用哪种显示方式,单片机往往都工作于并行I/O或存储器方式。

作者在采用MCS-51单片机的控制系统中,利用MAXIM公司的串行接口8位LED显示驱动器MAX7219构成显示接口电路,仅需使用单片机3个引脚,即可实现对8位LED数码管的显示控制和驱动,线路非常简单,控制简单方便。

1 MAX7219的功能和设置:MAX7219芯片为MAXIM公司推出的串行输入/输出共阴极显示驱动器,是用一个芯片实现以往用软件完成的动态显示电路扫描工作的器件。

每片可控制显示8个七段LED数码管、条形图或64个发光二极管,控制字简单,可与各种微机接口。

为24引脚芯片,除与显示器连接外,与微机串行口为3线连接,芯片外部电路仅为一限制峰值段电流的电阻,线路简单,极大地方便了对显示器件的控制。

该芯片控制的显示位数多,控制字少,可对全部或个别显示位的数据进行更新。

并可方便地进行多个芯片的级联,扩展显示容量。

MAX7219有多种封装形式,如窄式DIP封装。

MAX7219的串行数据格式如表1所示。

其中:D12~D15位不用;D8~D11为显示位和各种工作方式的控制寄存器地址位,可选择要显示的位、解码方式、显示亮度、扫描位数、停止方式、显示测试等,其地址分布如表2所示;D0~D7为数据位,其形式与显示出的数字间的关系与解码方式有关。

表2中X可为16进制任意值,一般取为0。

每组16位数据中,首先接收的为最高有效位,最后接收的为最低有效位。

解码方式寄存器可设置各位数码管为解码显示方式,或非解码的数据位与显示段直接对应的显示方式。

单片机多串口扩展

单片机多串口扩展

单片机多串口扩展07计本三班汪庆0704013005设计要求:选定具体单片机,利用IO口模拟单片机的串口时序,该软串口具有修改波特率、设定串口通信数据格式等功能,对外提供串口电平。

报告要求:选定单片机和所有器件具体型号,报告需有设计过程、原理图、程序流程图和源程序。

功能分析: 针对大多数单片机都只有一个串口的局限,在多数情况下限制它们的应用。

利用单片机串口扩展技术,以MCS51 系列单片机8751 为例进行串行接口扩展,包括扩展两个独立的串口、一点对多点分时串口、单片机与RS232/ RS422/RS485 的串行通信接口。

实际应用证明,设计可靠, 稳定性好。

用多种方法进行串口扩展, 解决了单片机在串行通信系统中的串口局限问题。

关键词: 单片机; 串行接口; 串口扩展; 串行通信引言随着单片机技术的不断发展, 特别是网络技术在测控领域的广泛应用, 由单片机构成的多机网络测控系统已成为单片机技术发展的一个方向。

单片机的应用已不仅仅局限于传统意义上的自动监测或控制[ 1 ],而形成了向以网络为核心的分布式多点系统发展的趋势[ 2 ] 。

大多数单片机都只有一个串行接口, 在多数情况下限制了这些单片机的进一步应用。

要实现单片机在应用系统中的有效通信, 就必须利用单片机的串口扩展技术对单片机进行串口扩展。

单片机串口扩展是根据应用系统设计的需要, 把一个串口扩展为多个同类型的串口或一个串口扩展为多个不同类型( RS232/ RS422/ RS458) 的串口,或扩展两个独立的串口, 以便与不同接口的计算机或设备进行串行通信。

1 单片机串口扩展的硬件总体设计单片机与PC 机或外设的串行通信一般采用RS232/RS422/ RS485 总线标准接口[ 3 ] 。

为保证通信可靠, 在选择接口时必须注意通信的速率、通信距离、抗干扰能力、电平匹配和通信方式[ 4 ] 。

本文为了解决在单片机串行通信时遇到的串口问题, 以MCS51 系列单片机8751为例, 进行串口扩展, 其串口扩展的逻辑框图如图1 所示, 包括通过通信接口芯片8251 再扩展一个独立串口,通过16 ×1 的多路切换器CD4067 实现一点对多点分时串口通信, 以及通过电平转换器MAX232 , MAX488 ,MAX485 实现单片机与不同类型接口RS232/ RS422/RS458 的计算机或设备的串行通信。

单片机与PC串口通信课程设计

单片机与PC串口通信课程设计

单片机与PC串口通信课程设计单片机与PC机的串口通信摘要单片机由于性价比高、使用灵活等优点而广泛应用于各种电子系统、自动控制系统,但是其存储容量小,处理的数据量不大。

为了克服这一缺点,我们可以将单片机连接到PC机上,由单片机采集数据,然后将数据汇总到PC机,再进行各种数据处理。

单片机与PC机一般采用串行通信,由于51系列单片机中一般集成了全双工的串行端口,只要配以电平转换的驱动电路、隔离电路就可组成一个简单可行的通信接口。

PC机具有强大的监控和管理功能,而单片机则具有快速及灵活的控制特点,本设计将通过电平转换电路实现单片机与PC机中的RS-232标准总线之间的串行通信。

这也是许多测控系统中常用的一种通信解决方案。

关键词:单片机,PC机,串行通信,电平转换,总线目录课程设计(论文)用纸第一章:绪论1.1课题研究的目标和意义单片机与PC机串行通信端口在系统控制的范畴中一直占据着及其重要的地位,它不仅没有因为时代的进步而遭淘汰,反而在规格上越来越完善,应用也越来越广泛。

作为一种基本而又灵活方便的通信方式,串口通信被广泛应用于PC与PC 或者PC与单片机之间的数据交换以及其他工业控制与自动控制中。

如今,在很多场合中,要求单片机不仅能独立完成单机的控制任务,还要能与其他数据控制设备(单片机、PC机等)进行数据交换。

因此如何实现PC机与单片机之间的通信具有非常重要的现实意义。

1.2所属领域的现状及发展状况单片机,亦称单片微电脑或单片微型计算机。

它是把中心处理器(CPU)、随机存取存储器(RAM)、只读存储器(ROM)、输入/输出端口(I/0)等主要计算机功用部件都集成在一块集成电路芯片上的微型计算机。

现在可以说单片机是百花齐放的期间,天下上各大芯片制造公司都推出了自己的单片机,从8位、16位到32位,不成胜数,应有尽有,它们各具特色,互成互补,为单片机的应用供应广漠的六合。

通用型单片机通过三总线结构扩展外围器件成为单片机应用的主流结构。

MCS-51单片机的串行口及串行通信技术

MCS-51单片机的串行口及串行通信技术

MCS-51单⽚机的串⾏⼝及串⾏通信技术数据通信的基本概念串⾏通信有单⼯通信、半双⼯通信和全双⼯通信3种⽅式。

单⼯通信:数据只能单⽅向地从⼀端向另⼀端传送。

例如,⽬前的有线电视节⽬,只能单⽅向传送。

半双⼯通信:数据可以双向传送,但任⼀时刻只能向⼀个⽅向传送。

也就是说,半双⼯通信可以分时双向传送数据。

例如,⽬前的某些对讲机,任⼀时刻只能⼀⽅讲,另⼀⽅听。

全双⼯通信:数据可同时向两个⽅向传送。

全双⼯通信效率最⾼,适⽤于计算机之间的通信。

此外,通信双⽅要正确地进⾏数据传输,需要解决何时开始传输,何时结束传输,以及数据传输速率等问题,即解决数据同步问题。

实现数据同步,通常有两种⽅式,⼀种是异步通信,另⼀种是同步通信。

异步通信在异步通信中,数据⼀帧⼀帧地传送。

每⼀帧由⼀个字符代码组成,⼀个字符代码由起始位、数据位、奇偶校验位和停⽌位4部分组成。

每⼀帧的数据格式如图7-1所⽰。

⼀个串⾏帧的开始是⼀个起始位“0”,然后是5〜8位数据(规定低位数据在前,⾼位数据在后),接着是奇偶校验位(此位可省略),最后是停⽌位“1”。

起始位起始位"0”占⽤⼀位,⽤来通知接收设备,开始接收字符。

通信线在不传送字符时,⼀直保持为“1”。

接收端不断检测线路状态,当测到⼀个“0”电平时,就知道发来⼀个新字符,马上进⾏接收。

起始位还被⽤作同步接收端的时钟,以保证以后的接收能正确进⾏。

数据位数据位是要传送的数据,可以是5位、6位或更多。

当数据位是5位时,数据位为D0〜D4;当数据位是6位时,数据位为D0〜D5;当数据位是8位时,数据位为D0〜D7。

奇偶校验位奇偶校验位只占⼀位,其数据位为D8。

当传送数据不进⾏奇偶校验时,可以省略此位。

此位也可⽤于确定该帧字符所代表的信息类型,“1"表明传送的是地址帧,“0”表明传送的是数据帧。

停⽌位停⽌位⽤来表⽰字符的结束,停⽌位可以是1位、1.5位或2位。

停⽌位必须是⾼电平。

接收端接收到停⽌位后,就知道此字符传送完毕。

单片机串行口的扩展方法

单片机串行口的扩展方法
维普资讯
第3 第 4期 6卷 2007年 8月
上海师范大学学报 ( 自然科 学版 )
Ju a o hn hi om lU iesy N t a Sine) o r l f aga N r a n ri ( aul cecs n S v t r
为解决这 个 问题 , 分别介 绍 了硬 件 串行 口扩展 和软 件模 拟 串行 口方 法 , 出了实际的硬 件 电路 给
原理及 软件程 序段 , 以及 对 多种 解决 方案进行 比较 .
关键词 :单片机 ; 串口扩展 ; 拟 模
中图分 类号 : 3 N7
文献标识 码 : 文章编 号 :10—1 (070 - 44 A 0053 20 )4 04) 7 0 6
1 1 基 于 S 23 . P 5 8扩展 的硬件 电路
图 1 A 8 C 2单 片机与 S2 3 电路连 接 , 是 T95 P5 8的 图中 , T9 5 A 8 C 2的全双工 串 口与 S 23 P 58的母 串 口 5 相 连 , 串 口 同时 也 作 为 命 令/ 据 口. P5 8的 A RO D I, D I 别 与 A 8 C 2的 P . , 该 数 S23 D I,A R 1 A R2分 T95 2 3 P. P. 24,25口相 连 , 用 于 选 择发 送 数 据 是 选 择 相应 的 串 口 0~4 A R 0 A R IA R 2与 P . , 可 ; D O , D O ,D O 20 P . ,22相 连 , 于判 断接 收的数 据来 自哪一 个 串 口.S2 3 2 1P . 用 P58的时 钟频率 选 为 2 .MH , 0O z此时母 串 口 5的波 特率为 560 p, 口 0~ 70 bs串 4的波 特率 为 90 b s 60 p.

MCS-51单片机应用教程 第4章

MCS-51单片机应用教程 第4章

3. 方式1或方式3的波特率 在这两种方式下,串行口波特率是由定时器的溢出率 决定的,因而波特率是可变的。波特率的公式为:
2SMOD 波特率= 定时器T1溢出率 32
定时器T1的溢出率计算公式为: f osc 1 定时器T 1 溢出率= K ( ) 12 2 -初值
式中: K为定时器T1的位数;若定时器T1方式0,则 K=13;若定时器T1方式1,则K=l6;若定时器T1方 式2或方式3,则K=8。
2. 串行口控制寄存器SCON SCON是可以进行位寻址ห้องสมุดไป่ตู้8位控制寄存器,地址 为98H。SCON的各位的定义和功能如下:
SCON.7 SM0
.6 SM1
.5
.4
.3
.2 RB8
.1 TI
SCON.0 RI
SM2 REN TB8
SM0、SM1: 串行口工作方式选择位(内容见 4.2.2节)。 SM2: 多机通信控制位。具体用法见4.3.3节。 REN: 串行接收允许位。由软件置位或清除。软 件置1时,串行口允许接收,清零后禁止接收。 TB8: 在方式2和方式3中是发送的第9位数据。 RB8: 在方式2和方式3中是接收的第9位数据。 TI: 发送中断标志位。发送结束时由硬件置位。 该位必须用软件清零。 RI: 接收中断标志位。结束接收时由硬件置位。 该位必须用软件清零。
2. 同步方式 将一大批数据分成几个数据块,数据块之间用同步 字符予以隔开,而传输的各位二进制码之间都没有 间隔,所以同步方式是按数据块传送数据的,一次 可以传送完一大批数据。 同步方式中,每一位数据占用的传输时间都是相等 的,接收机的接收时钟应该和发送机的发送时钟以 及传送的码元同步。图4-2(b)中给出了典型的数据 格式。与图4-2(a)相比,同步通信方式的数据格式 中没有两帧之间的空闲时间,也没有一帧之内的识 别标志位。显然这种方式可以大大提高通信速度, 常用于高速计算机的大容量数据通信。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
[ 2] 赵 梓 森 . 光 纤 通 信 工 程 ( 第 二 版 ) [ M] . 北 京 : 人 民 邮 电 出 版 社 , 1994. ( 责任编辑: 卓 光)
来实现多串口扩展的模型。
关键词: 多串口;串口通信; 串口扩展
中图分类号: TP27
文献标识码: A
文章编号: 1672- 7800( 2008) 05- 0135- 02
串行接口设备凭借其控制灵活、接口简单、占 用 系 统 资源 少等优点, 被广泛应用于工业控制、家庭安防、GPS卫星定位导 航以及水、电、气表的抄表等领域。在这些嵌入式系统中, 可能 会有很多从设备都通过串行接口与主机进行通信, 这使得开发 人 员 常 常 面 临 系 统 中 主 机 串 行 通 信 接 口 不 足 的 问 题 。针 对 此 问 题, 本文介绍了几种常见的解决方法。
MOV TXD, C LCALL DEL833 RET ;********从PC 机接收数据子程序******** OUTPUT: JB RXD, ¥ ; 判断是否有起始位出现 LCALL DEL833 MOV R3, #8 OUT: MOV C, RXD RRC A LCALL DEL833 DJNZ R3,OUT ; 接收8 位数据 JNB RXD ,¥ ; 判断是否有停止位出现 RET
·136·
软件导刊
2008 年
收过程中需要检测起始位, 这可以使用查询方式, 或者, 在端口 具 有 中 断 功 能 的 主 机 中 也 可 以 使 用 端 口 的 中 断 进 行 处 理 。接 收 和发送过程中, 对定时的处理既可以使用查询方式也可以使用 定时器中断方式。为了确保数据的正确性, 在接收过程中可以 在检测异步传输的起始信号处加上一些防干扰处理, 在接收每 个位时可以采用多次采样。
( 1) 自动帧错误检测。自动帧错误检测指的是在数据传输的 过程中, 如果由于噪音等随机干扰造成接收方接收不到正确的 停止位, W77E58能够自动检测出并设置标志FE( FE_1) , 此标志 被定位在SCON.7(SCON1.7), 用户可以访问, 并且必须软件清除。
( 2) 多机通讯自动地址识别。在标准的8051系列单片机中, 当进行多机通讯时, 发送9位数据, 最后一位只当作地址/数据 识别位, 但是并不能区分准确地址, 准确地址须靠软件识别, 而 在W77E58中, 增加了地址特殊寄存器SADDR和地址屏蔽特殊 寄存 器SADEN, 只 有SADEN中 的 某 一 位 为1, 计算 实 际 地 址 时 相对应的SADDR的位才有效, 若SADEN中 某 一 位 是0 , 则进 行 实 际 地 址 计 算 时 忽 略 对 应 的 SADDR中 的 位 。 例 如 :
2 软件模拟法
软件模拟法可根据串行通讯的传送格式, 利用定时器和主 机的I/O口来模拟串行通讯的时序, 以达到扩展串口的目的。接
作者简介: 鲍梦( 1979 ̄) , 女, 江西南昌人, 江西蓝天学院助教, 研究方向为软件工程; 刘智萍( 1979 ̄) , 女, 江西南昌人 , 江西 蓝 天学 院 助教 , 研究 方 向为软件工程。
1 基于SP2338的串行口扩展
SP2338是采 用 低 功 耗CMOS 工 艺设 计 的 通 用 异 步 串 行 口 扩展芯片, 它可轻松地将主机原有的1个串行口扩展成3 个全 新 的 全 双 工 串 行 口 。SP2338适 用 于1个 起 始 位 、8个 数 据 位 、1个 停止位的多串口系统, 也就是说其帧格式是不可编程的。主机 通 过 改 变ADRI1, ADRI0地 址 线 状 态 的 方 式 选 择3个 子 串 口 中 的任意1个, 3个子串口的地址分别为00, 01, 10。地址11用于执 行SP2338 芯片本身的复位指令0x35 或0xB5、睡眠指令0x55或 0xD5、延时指令0x00。向RX0 ̄RX3中的任意1个接收端口 写 任 意 数 据 即 可 将 SP2338 唤 醒 , 但 由 于 SP2338 的 唤 醒 时 间 需 要 25ms左右, 故用于芯片唤醒的数据将不会被主机接收。因此, 可以先发送1个字节数据用于唤醒芯片, 延时25ms后即可进行 正常的数据传输。
当单片机要向串口设备发送数据时, 其工作过程是: ( 1) 先向SP2338的串口地址线ADRI0、ADRI1送地址信号
(A DRI0、ADRI1=00子 串 口0, ADRI0、ADRI1=01子 串 口1, ADRO0、 ADRO1=10子串口2) ; 再向与自已相连的母串口的通信线上送 数据;
( 2) SP2338的母串口收到单片机串口送来的数据后就根据 ADRI0和ADRI1的状态, 把数据送往相应的子串口;
( 3) 该子串口再把数据送往相连的串口设备。
当串口设备向单片机发送数据时, 其工作过程是: ( 1) SP2338的某个子 串 口 从 串口 设 备 接 收 到 数据 时 , 送 给 母串口; ( 2) SP2338的母串口 把 该 数 据再 送 给 单 片 机 串口 , 同 时 在 ADRO0和 ADRO1线 上 送 出 子 串 口 的 地 址 ; ( 3) 单片机根据SP2338接收地址 线ADRO0、ADRO1上 的 信 号判定出是由哪个串口设备发出的。 由于SP2338的每个串口都有自己 的 发 送 缓冲 区 和 接 收 缓 冲区, 因此扩展后的3个串口就可以完全独立地同时通信, 就好 像单片机同时拥有3个串口似的, 若1个单片机有2个串口, 那么 配 上 2片SP2338就 可 以 扩 展 到 6个 串 口 。 SP2338每 个 子 串 口 的 波 特 率 都 可 以 达 到9600bps, SP2338 工作时需要配1个晶振, 该晶振Fosc的频率与母串口的波特率 有如下关系: K母=1920*Fosc, 与子串口波特率的关系如下: K子=480*Fosc, 因此 , 如 果 子 串 口 采用9600波 特 率 , 根 据 以 上 公 式 , Fosc= 20MHz, 而母串口的波特率必须达到388400bps。这样与SP2338 的母串口相连的单片机串口的波特率达到388400bps, 若单片 机 采 用 非11.0592M的 工 作 晶 振 , 则 波 特 率 会 有 偏 差 , 不 过 , SP2338允 许 波 特 率 误 差 为 2.5% 未使用的输入端口, 如RX0、RX1、RX2等必须连接到VCC; 未使用的输出端口, 如TX0、TX1、TX2等 必 须 悬 空 ; 未使 用 的 ADRI0、ADRI1必 须 连 接 到 GND。
3 使用双串口单片机
W77E58是 与 MCS51系 列 单 片 机 兼 容 的 可 多 次 编 程 的 快 速 微处理 器, 内部集成有2个增强型的 全双工串行口, 其串口增 强 性 特 征 在 于 特 有 的 地 址 自 动 识 别 和 帧 出 错 诊 断 功 能 。值 得 注 意的是, 串行口1只能使用定时器1作为其波特率发生器; 而串 行口0既可以使用定时器0, 也可以使用定时器1。若使用时2串 口通信波特率相同, 则可以同时使用定时器1, 从而减少占用1 个定时器0。
SADDR:10100100 SADEN:11111010 实 际 地 址 :10101X1X 在进行多机通讯时, 只有接收到的地址帧和根据SADDR, SADEN计算出的地址完全相同时, 从机才会置位中断标志, 这 完全由硬件自动完成, 而不是像标准8051系列那样必须靠软件 完成。
参考文献:
[ 1] 李 之 棠.单 片 机 通 信 技 术 与 工 程 实 践 [ M] .北 京 : 人 民 邮 电 出 版 社, 2005.
例: 软件设计中, 89C51 单片机的P1.0 和P1.1 口分别模拟 串行通信的发送和接收, 其接口程序主要由INPUT 发送 子程 序和OUTPUT接收子程序组成。通信速率1200 bit /s, 帧格式为 N.8.1。发送时, 先发送一个起始位( 低电平) , 接着按低位在先 的顺序发送8 位数据, 最后发送停止位。接收时, 先判断P1.1 接 收端口是否有起始低电平出现, 如有则按低位在先的顺序接收 8 位数, 最后判断P1.1 口是否有停止 高 电 平 出 现 , 如有 则 完 成 一个数据接收, 否则继续等待。模拟串行通信程序清单如下:
TXD EQU P1.0 RXD EQU P1.1; 定义89C51 P1.0 为发送端, P1.1 为接收端 ORG 0000H AJMP MAIN ORG 0100H MAIN: MOV A, #30H MOV R5, #N SETB RXD ; P1.0 置高 TX: LCALL INPUT; 调用 发 送 子 程 序 , 将寄 存 器A 中 内 容 发给PC 机; SETB TXD ; P1.1 置高 MOV R0,#40H RX: LCALL OUTPUT ; 调用 接 收 子 程 序 , 将接 收 的N 个 数 据 存 放 在 以 40H开 始 的 地 址 中 MOV @R0,A INC R0 DJNZ R5, RX ; N 个数据接收结 束 , 则等 待 , 否 则 转RX 继 续接收 AJMP ¥ ;**************延时833μs 子程序***** DEL833: MOV R7, #205 MS11: DJNZ R7, MS11 RET ; ********************************** ;******** 89C51发送数据给PC 机子程序**** INPUT: CLR C MOV TXD,C ;发送起始位 LCALL DEL833 ; 延时 MOV R3, #8 REP: RRC A MOV TXD, C LCALL DEL833 DJNZ R3,REP ;发送8 位数据 SETB C ;发送停止位
第7卷 第5期 2008年 5 月
软件导刊 Software Guide
Vol.7 No.5 May 2008
51系列单片机的串口扩展方案
鲍 梦, 刘智萍
( 江西蓝天学院瑶湖校区公教部计算机教研室, 江西 南昌 330098)
相关文档
最新文档