1引言
1.1 设计的目及意义
一般的PC与单片机之间的串行通信,需要单片机采集数据,然后用异步串行通讯方式传给PC机。相对而言比较的烦琐,而本文着重用VB具有面向对象的设计方法,友好的用户来探讨在VB环境下来实现PC机与51单片机之间串行通讯的方法。实现起来要简捷方便。
随着计算机系统的应用和微机网络的发展,各种控制设备之间的通信功能越来越显得重要。尤其是伴随着单片微型机技术的发展,人们已越来越多地采用单片机来对一些工业控制系统中如温度、流量和压力等参数进行检测和控制。在本系统中,下位机采用一片AT89S51单片机,用于对发送的数据实施控制,为了实现对输入数据的接收,上位机采用便携式PC机,上、下位机之间通过MAX232芯片实现串行数据通信。PC 机具有强大的监控和管理功能,而单片机则具有快速及灵活的控制特点,通过PC 机的RS-232 串行接口与外部设备进行通信,是许多测控系统中常用的一种通信解决方案。
本文将论述在VB 环境下PC 机与单片机之间实现串行通讯的软硬件方案。实现单片机与 PC 机的相互通信。单片机部分由汇编语言实现,PC 机的通讯程序使用Visual Basic 编写,VB 是Microsoft 公司推出的Windows 应用程序开发工具,因其具有界面友好,编程简便等优点而受到广泛的使用,而且Visual Basic 6.0 版本带有专门实现串行通讯的MSCOMM 控件。因此如何实现PC 机与单片机之间的通讯具有非常重要的现实意义。
利用VB6.0 的事件驱动方式可以很方便地开发数据采集与监控系统,用单台PC 机可以测量和监控多路控制信号,整控制系统设计方便,对小型测控系统的设计具有很大的实用性。
1.2 设计实现的功能
实现单片机与 PC 机的相互通信。具体要求有以下两点:
①单片机发固定编好的代码,在用 VB 编好的界面上接收;
②在 VB 编好的界面上发送数字,在单片机板上的数码管上显示出来。
2 硬件设计方案
为了实现PC机与单片机之间的串行通信,我们首先要清楚了解整个系统所采用的原理图。原理图就象一根红线贯穿于整个系统设计,通过此图我们就能很清楚的看到系统所涉及的内容,然后鉴于此,我们将在以后的章节中依次对所牵涉的内容作详细的论述。下面对原理图作一点说明:从MAX232芯片中的两路发送接收中任选一路作为接口,要注意其发送与接收引脚对应,否则可能对器件或计算机串口造成永久性损坏。如选他T1IN接单片机的发送端TXD,则PC机、的RS—232的接收端RD一定要对应接T1OUT引脚。同时,R1OUT接单片机的接受端RXD引脚,则PC机的RS—232的发送端TD一定要对应接R1IN引脚。
上图为采用MAX232芯片接口的PC机与51单片机串行通信接口原理图
2.1 AT89S51单片机
2.1.1 AT89S51单片机简介
AT89S51 为 ATMEL 所生产的可电气烧录清洗的 8051 相容单芯片,是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89S51可为许多嵌入式控制应用系统提供高性价比的解决方案。
AT89S51具有如下特点:40个引脚,4k Bytes Flash片内程序存储器, 128 bytes的随机存取数据存储器(RAM),32个外部双向输入/输出(I/O)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。
2.1.2 AT89S51单片机的功能
AT89S51主要功能列举如下:
1)为一般控制应用的8位单芯片 2)晶片内部具有时钟振荡器
3)内部程式存储器(ROM)为 4KB 4)内部数据存储器(RAM)为 128B
5)外部程序存储器可扩充至 64KB 6)外部数据存储器可扩充至 64KB
7)32 条双向输入输出线,且每条均可以单独做 I/O 的控制
8)5个中断向量源 9)2组独立的 16 位定时器
10)1个全多工串行通信端口 11)8751 及 8752 单芯片具有数据保密的功能
12)单芯片提供位逻辑运算指令
2.1.3 AT89S51各引脚功能介绍:
VCC:AT89S51 电源正端输入,接+5V。
VSS:电源地端。
XTAL1:单芯片系统时钟的反相放大器输入端。
XTAL2:系统时钟的反相放大器输出端。
RESET:AT89S51的重置引脚,高电平动作。
EA/Vpp:存取外部程序代码,低电平动作。
ALE/PROG:地址锁存器启用信号。
PSEN:程序储存启用,通常这支脚是接到EPROM的OE脚。
PORT0(P0.0~P0.7):端口0是一个8位宽的开路汲极(Open Drain)双向输出入端口,共有8个位,P0.0表示位0,P0.1表示位1,依此类推。其他三个I/O端口(P1、P2、P3)则不具有此电路组态,而是内部有一提升电路,P0在当作I/O用时可以推动8个LS的TTL负载。如果当EA引脚为低电平时(即取用外部程序代码或数据存储器),P0就以多工方式提供地址总线(A0~A7)及数据总线(D0~D7)。
PORT2(P2.0~P2.7):端口2是具有内部提升电路的双向I/O端口,每一个引脚可以推动4个LS的TTL负载,若将端口2的输出设为高电平时,此端口便能当成输入端口来使用。P2除了当作一般I/O端口使用外,若是在AT89S51扩充外接程序存储器或数据存储器时,也提供地址总线的高字节A8~A15,这个时候P2便不能当作I/O来使用了。
PORT1(P1.0~P1.7):端口1也是具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个LS TTL负载,同样地若将端口1的输出设为高电平,便是由此端口来输入数据。
PORT3(P3.0~P3.7):端口3也具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个TTL负载,同时还多工具有其他的额外特殊功能,包括串行通信、外部中断控制、计时计数控制及外部数据存储器内容的读取或写入控制等功能。
其引脚分配如下:
P3.0:RXD,串行通信输入。P3.1:TXD,串行通信输出。P3.2:INT0,外部中断0输入。
P3.3:INT1,外部中断1输入。P3.4:T0,计时计数器0输入。P3.5:T1,计时计数器1输入。
P3.6:WR:外部数据存储器的写入信号。P3.7:RD,外部数据存储器的读取信号。
本系统所采用的AT89S51芯片如下图所示:
2.1.4 AT89S51 ISP
ISP为在线编程接口。ISP在线编程接口为89S51单片机提供了方便的在线编程方法,使用时将ISP下载线一端与PC并口相连接,一端与ISP接口相连,使用ISP下载软件即可实现MCU在线编程。
下载线插接说明:两排十针下载口,板图上都有一个小方框,为1号引角;下载线的凸口为正方向,凸口的右侧边的 论文检测天使-免费论文检测软件http://www.jiancetianshi.com
第一个插孔为1号引角,这一点一定要切记,不然的话程序下载不进去。
本系统中所用AT89S51 ISP原理图如下示:
AT89S51 ISP
2.2串行通讯
2.2.1串行通讯的概念
串行通讯:一条信息的各位数据被逐位按顺序传送的通讯方式称为串行通讯。
串行通讯的特点是:数据位传送,传送按位顺序进行,最少只需一根传输线即可完成,成本低但传送速度慢。串行通讯的距离可以从几米到几千米。
分类:根据信息的传送方向,串行通讯可以进一步分为单工、半双工和全双工三种。
[8]电大学习网.免费论文网[EB/OL]. /d/file/p/2024/0424/fontbr /> 2.2.2 RS-232C 串口通讯原理
RS-232C是目前最常用的串行接口标准,用来实现计算机与计算机之间,计算机与外设之间的数据通信。
RS-232C串行接口总线适用于设备之间的通信距离不大于15米,传输速率最高为19.2kb/s的场合。RS-232C标准规定的数据传输速率为50、75、100、150、300、600、1200、2400、4800、9600、和19200b/s。RS-232C属单端信号传送,存在共地噪声和不能抑制的共模干扰等问题,因此一般用于短距离通信。
1) RS-232C接口信号
一个完整的RS-232C接口有22根线,采用标准的25芯连接器。
2) RS-232C 典型应用
用RS-232C总线连接系统时,有近程通信方式和远程通信方式之分。近程通信是指传输距离小于15米的通信,这时可以用RS-232C电缆直接连接。15米以上的长距离通信,需要采用调制解调器。
下图a)是计算机与终端之间利用RS-232C直接通信的最常用的交叉连线图。图中“发送数据”与“接收数据”是交叉相连的,使得两台设备都能正确地发送和接收。“数据终端变绪”与“数据装置就绪”两根线也是交叉相连的,使得两设备都能检测出对方是否已经准备好。
在最简单的全双工系统中,公用发送数据、接收数据和信号地三根即可。对MCS-51单片机来说,利用RXD(串行数据接收端)线、TXD(串行数据发送端)线以及一根地线,就可以构成符合RS-232C接口标准的全双工串行通信口。(见图b)
(a)直接连接
(b)最简单的RS-232C数据通信连接
3) RS-232C接口电平转换
RS-232C是早期为促进公用电话网络进行数据通信而制定的标准,其逻辑电平对地是对称的,完全与TTL、CMOS逻辑电平不同。
RS-232C采用负逻辑,即:
逻辑1:-5V~-15V。 逻辑0:+5V~+15V。
由于MCS-51采用TTL电平,若用RS-232C标准接口通信必须进行电平转换。目前RS-232C与TTL电平转换最常用的集成电路芯片是传输线驱动器MC1488传输线接收器MC1489。其内部结构和引脚如下图(c)所示。
MC1488可完成TTL电平到RS-232C的电平转换,输入为TTL电平,输出为RS-232C电平。其内部有3个与非门和1个反相器。采用±12V或±15V电源供电。
MC1489可完成由RS-232C到TTL电平转换,输入为RS-232C电平,输出为TTL电平。其内部有4个反相器,采用+5V电源供电。MC1489中每个反相器都有一个控制端,高电平有效,可作为RS-232C操作的控制端。图(d)给出了RS-232C接口电路原理图。
(c)RS-232C电平转换芯片MC1488和MC1489
(d) RS-232C接口电路
MAX232芯片
MAX232芯片是美信公司专门为电脑的RS-232标准串口设计的接口电路,使用+5v单电源供电。它的内部结构基本可分三个部分;
论文检测天使-免费论文检测软件http://www.jiancetianshi.com
第一部分是电荷泵电路。由1、2、3、4、5、6脚和4只电容构成。功能是产生+12v和-12v两个电源,提供给RS-232串口电平的需要。
第二部分是数据转换通道。由7、8、9、10、11、12、13、14脚构成两个数据通道。其中13脚(R1IN)、12脚(R1OUT)、11脚(T1IN)、14脚(T1OUT)为 论文检测天使-免费论文检测软件http://www.jiancetianshi.com
第一数据通道。8脚(R2IN)、9脚(R2OUT)、10脚(T2IN)、7脚(T2OUT)为第二数据通道。TTL/CMOS数据从T1IN、T2IN输入转换成RS-232数据从T1OUT、T2OUT送到电脑DP9插头;DP9插头的RS-232数据从R1IN、R2IN输入转换成TTL/CMOS数据后从R1OUT、R2OUT输出。
第三部分就是供电。15脚DNG、16脚VCC(+5v)。
2.2.3 串行接口
控制串行接口的寄存器有两个,即特殊功能寄存器PCON和SCON。
1)PCON中的波特率选择位
PCON是一个特殊功能寄存器(如下图所示),没有位寻址功能,字节地址为87H。其中D7位(SMOD)为波特率选择位。其他位均无意义。复位时的SMOD值为0。可用MOV PCON。#80H或MOV 87H,#80H指令使该位置1。当SMOD=1时,在串行接口方式1、2或3情况下,波特率提高一倍。
D7 D0
|
|
|
|
|
|
|
|
波特率选择位 | 无定义位 |
2)串行接口控制寄存器 SCON
特殊功能寄存器SCON用于定义串行接口的操作方式和控制它的某些功能。其字节地址为98H。寄存器中各位内容如下:
SCON |
位 D7 D6 D5 D4 D3 D2 D1 D0
位地址 | 9F | 9E | 9D | 9C | 9B | 9A | 99 | 98 |
| SM0 | SM1 | SM2 | REN | TB8 | RB8 | TI | RI |
SM0,SM1 串行接口操作方式选择位。两个选择位对应于四种状态,所以串行接口能以四种方式工作。
SM2 允许方式2和3的多机通信使能位。
REN 允许串行接收位。由软件置位或清0,使允许接收或禁止接收。
TB8 是在方式2和3中要发送的第9位数据可按需要由软件置位或复位
RB8 是方式2和3中已接收到的第9位数据。
TI 发送中断标志。
RI 接收中断标志。
串行接口工作方式
串行接口的操作方式由SM0、SM1定义,编码和功能如下表所示
串行接口方式选择
SM0 SM0 | 方式 | 功能说明 | 波特率 |
0 0 | 0 | 移位寄存器方式 | Fosc/12 |
0 1 | 1 | 8位UART | 可变 |
1 0 | 2 | 9位UART | Fosc/64或fosc/32 |
1 1 | 3 | 9位UART | 可变 |
2.2.4 TMOD介绍
定时器/计数器T0、T1 的方式寄存器TMOD
字节地址为89H。TMOD的格式如下:低4位用来定义T0,高4位用来定义T1D7
D7 D6 D5 D4 D3 D2 D1 D0
GATE | C/T | M1 | M0 | GATE | C/T | M1 | M0 |
|
T1 | T0 |
各位的意义如下:
1、 GATE——门控位。
GATE=1时,由外部中断引脚、和TR0、TR1共同来启动定时器。当引脚为高电平时,TR0置位启动定时器T0;当引脚为高电平时,TR1置位,启动定时T1。
GATE=0时,仅由TR0和TR1置位来启动定时器T0和T1。
[8]电大学习网.免费论文网[EB/OL]. /d/file/p/2024/0424/fontbr />
相关文章:
让个性在自主阅读中张扬04-26
论农产品现货市场与期货市场的互动效应04-26
浅析我国期货市场发展与规范04-26
关于完善我国房地产行业税制的思考04-26
“四个市场”理论下党报危机应对策略初探04-26
我国证券公司上市路径的探讨04-26
明星代言助力电视广告?04-26
论新时期节目主持人的素质要求04-26
建筑工程概预算控制措施的研究04-26
广播电视台实施业务通道建设的关键环节04-26