8951单片机串口通信.
- 格式:ppt
- 大小:1.01 MB
- 文档页数:70
PC机与单片机AT89C51的串行通信摘要:在Windows95下使用串口API函数实现PC机与单片机AT89C51的串口通信,重点介绍计算机采用事件驱动I/O方式的函数编程及单片机串口中断发送、接收程序的实现。
关键词:Windows95单片机AT89C51RS-232接口RS-485接口串行通信在以单片机为基础的数据采集和实时控制系统中,通过计算机中的RS-232接口进行计算机与单片机之间的命令和数据传送,就可以利用计算机对生产现场进行监测和控制。
由于计算机上的RS-232所传送的距离不超过30m,所以,在远距离的数据传送和控制时,可以用MAX485的接口转换芯片将RS-232转换成RS-485协议进行远距离传送。
在发送和接收端都进行协议转换后,RS-485协议对数据传送来说是相对透明的,所以依然可以使用计算机中的RS-232进行远距离的数据传送和控制。
在最简单的RS-232直接传送通信系统中,只要发送和接收双方同时准备好,仅用信号发送端(TXD),信号接收端(RXD)和信号地(GND)3根线即可进行通信;若以应答方式进行数据通信,可使用请求发送(RTS)、清除发送(CTS)或数据终端准备(DTR)、数据装置准备(DSR)进行硬件握手。
在Windows95下,可以很方便地使用Win32通信API函数来实现这些硬件的握手以及数据的传送。
在89C51单片机系统中,分别从P3.0和P3.1引出串口线RXD和TXD通过专用的电平转换芯片转换成RS-232接口标准的电平,这样,二者之间就可以通过RS-232接口进行数字信号的传送。
单片机也可以以直接传送或应答握手的方式进行数据通信,但由于握手方式占用其他的端口,而单片机的端口数量有限,所以,计算机与单片机的通信常采用直接传送的方式,本文将重点介绍。
1Windows95下的通信编程Windows95通信体系提供了1个改进的串行应用程序接口SAPI用来进行交互式串行通信。
1、89C51串口通信的四种方式及特点通过设置SCON可以设置串行口的工作方式,相应设置位是SM0,SM1,共有四种方式方式0:为同步移位寄存器的输入输出方式,一般用于扩展I/O口,数据位为8位,无起始停止位方式1:波特率可调的异步通信方式,数据位为10位,1位起始位,8位数据位,1位停止位方式2:波特率固定的11位异步通信方式,数据位为11位,1位起始位,8位数据位,1位停止位,1位可编程的第9位,一般用于多机通讯。
方式3:与方式2功能相同,只是波特率可调。
2、51单片机的时钟周期,状态周期,机器周期如何定义的时钟周期也叫振荡周期或晶振周期,即晶振的单位时间发出的脉冲数,一般有外部的振晶产生,发出一个脉冲的时间就是时钟周期,也就是1/12微秒。
通常也叫做系统时钟周期。
是计算机中最基本的、最小的时间单位。
在8051单片机中把一个时钟周期定义为一个节拍(用P表示),二个节拍定义为一个状态周期(用S表示)在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段,每一阶段完成一项工作。
例如,取指令、存储器读、存储器写等,这每一项工作称为一个基本操作。
完成一个基本操作所需要的时间称为机器周期。
8051系列单片机的一个机器周期同6个S周期(状态周期)组成。
3、程序状态字寄存器PSW的格式及各位功能1. CY(Carry):CY表示加法运算中的进位和减法运算中的借位,加法运算中有进位或减法运算中有借位则CY位置1,否则为0。
2. AC(Auxiliary Carry):与CY基本相同,不同的是AC表示的是低4位向高4位的进、借位。
3.F0:该位是用户自己管理的标志位,用户可以根据自己的需要来设定。
4. RS1、RS0:这两位用于选择当前工作寄存器区。
8051有8个8位寄存器R0~R7,它们在RAM中的地址可以根据用户需要来确定。
RS1 RS0:R0~R7的地址0 0:00H~07H 0 1:08H~0FH 1 0:10H~17H 1 1:18H~1FH5.OV:该位表示运算是否发生了溢出。
课程设计报告书设计名称:计算机控制技术题目:AT89C51的串口通信学生姓名:XXX专业:计算机科学与技术班别:计科本XXX班学号:XXXXXXXX指导老师:XXX日期:2012 年 7月 12 日一、主要内容:本课程设计利用两片AT89C51实现双机串口通信;主机发送并显示 10 以下的随机数,从机显示该数的阶乘值,通过开关改变主机输出的数值。
设计电路并编写一个串行口方式1收发程序,实现两片AT89C51之间的通信,甲机将数据发送到乙机并显示出来,同样,乙机也可将数据发送到甲机显示出来。
二、硬件电路设计及描述1、方案选择及设计思想2、工作原理在串行通信中,数据是在两个站之间传送的。
按照数据传送方向,串行通信可分为三种制式。
1). 单工制式(Simplex)单工制式是指甲乙双方通信只能单向传送数据。
单工制式如图1所示。
发送器A接收器B图1 单工制式2). 半双工制式(Half duplex)半双工制式是指通信双方都具有发送器和接收器,双方既可发送也可接收,但接收和发送不能同时进行,即发送时就不能接收,接收时就不能发送。
半双工制式如图2所示。
发送接收发送接收A 端B端图2半双工制式单片机(主机)单片机(从机)显示发的数显示阶乘值3). 全双工制式(Full duplex)全双工制式是指通信双方均设有发送器和接收器,并且将信道划分为发送信道和接收信道,两端数据允许同时收发,因此通信效率比前两种高。
全双工制式如图3所示。
发送接收接收发送A 端B端图3 全双工制式AT89C51内部有一个可编程全双工串行通信接口。
该部件不仅能同时进行数据的发送和接收,也可作为一个同步移位寄存器使用。
下面将对其内部结构、工作方式以及波特率进行介绍。
图4 AT89C51串行口结构框图串口通信方式1 1).方式1发送方式1输出时,数据由TXD 输出,一帧信息为10位,1位起始位0,8位数据位(先低位)和1位停止位1。
当执行一条数据写发送缓冲器SBUF 的指令,就启动发送。
89C51系列单片机串口通信的四种方式极其特点89C51系列单片机串口通信的四种方式极其特点80C51串行通信共有4种工作方式,由串行控制寄存器SCON中SM0SM1决定.方式0是同步移位寄存器方式,帧格式8位,波特率固定:fosc/12;方式1是8位异步通信方式,帧格式10位,波特率可变:T1溢出率/n(n=32或16);方式2是9位异步通信方式,帧格式样11位,波特率固定:fosc/n(n=64或32);方式3是9位异步通信方式,帧格式11位,波特率可变:T1溢出率/n(n=32或16);方式1,2,3的区别方要表现在帧格式及波特率两个方面.方式1与方式2帧格式相同波特率不同:方式1波特率可变与T1溢出率有关;方式2波特率固定.方式1与方式3波特率相同帧格式不同:方式1帧格式10位;方式3帧格式11位.方式1,2,3通信过程完全相同,均为异步通信方式.简述8051单片机串口通信的四种方式极其特点?方式0 移位寄存器作同步传输方式,波特率固定,方式1、2 异步通信,波特率可变,应用范围广方式3 应用于多机通信89C51单片机串口通信串行窗口,是看不见敲进去的字符的。
要想看见,须再用一个串行窗口。
简述MCS-51单片机串口通信的四种方式及其特点方式0 :这种工作方式比较特殊,与常见的微型计算机的串行口不同,它又叫同步移位寄存器输出方式。
在这种方式下,数据从RXD 端串行输出或输入,同步信号从 TXD 端输出,波特率固定不变,为振荡率的 1/12 。
该方式是以 8 位数据为一帧,没有起始位和停止位,先发送或接收最低位。
方式 2 :采用这种方式可接收或发送 11 位数据,以 11 位为一帧,比方式 1 增加了一个数据位,其余相同。
第 9 个数据即 D8 位具有特别的用途,可以通过软件搂控制它,再加特殊功能寄存器SCON 中的SM2 位的配合,可使 MCS-51 单片机串行口适用于多机通信。
方式 2 的波特率固定,只有两种选择,为振荡率的1/64 或1/32 ,可由PCON 的最高位选择。
电脑与AT89S51单片机串口通信的51端程序要求在电脑上运行串口调试助手软件,在发送框输入字符,点击发送后,在下位机51系列单片机上接受并送到液晶1602上显示,求下位机的编程,实现接收PC发来的数据并在让它在1602液晶上显示.#include <reg52.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned intsbit LCD_RS = P2^0;sbit LCD_RW = P2^1;sbit LCD_EN = P2^2;#define delayNOP(); {_nop_();_nop_();_nop_();_nop_();};uchar data RXDdata[ ] = {0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20 };uchar temp,buf,m,count;bit playflag=0;uchar code cdis1[ ] = {" SERILA TRANFER "};uchar code cdis2[ ] = {" "};/**********************************************************延时子程序**********************************************************/void delay1(uint ms){uchar k;while(ms--){for(k = 0; k < 120; k++);}}/******************************************************************//*检查LCD忙状态*//*lcd_busy为1时,忙,等待。
AT89C51单片机与PC机串行通信的接口实现[摘要] 本文介绍了AT89C51单片机与PC机采用RS232C标准进行串行通信的接口实现。
在接口中采用MAX232作电平转换电路,简单的通信协议,PC 机用VB编程,AT89C51单片机采用中断收发方式。
文章给出了相应通信接口电路与程序。
[关键词] 通信协议RS232C 通信接口电路通信接口程序AT89C51是一种带4K字节可编程可擦除只读存储器(FLASH FPEROM)和128字节的存取数据存储器(RAM)的低电压,高性能CMOS8位微处理器。
采用了ATMEL公司的高密度、不容易丢失存储技术,与MCS-51系列的单片机兼容。
具有集成程度高、系统结构简单、价格低廉等优点被广泛应用到控制领域中。
但是在复杂的数据处理、良好的人机交互等方面不能满足需要,常采用PC 机与AT89C51单片机进行通信,AT89C51单片机(下位机)实时采集数据传送给PC机(上位机)处理,然后接收PC机处理的结果,并进行相应的控制的方式来弥补。
本文介绍单片机与PC机进行串行通信的一种接口实现。
一、接口电路的设计(一)接口逻辑电平的转换在PC机系统大都装有异步通信适配器,为标准的RS-232C接口。
RS-232C 为负逻辑,用+3V~+15V表示逻辑“0”, 用-3V~-15V表示逻辑“1”。
AT89C51单片机采用正逻辑TTL电平0和+5V.所以AT89C51与PC机通信时必须进行电平转换。
转换的方法有多种。
常采用MAXIM公司生产的专用的双向电平转换集成电路MAX232。
MAX232引脚排列与外围电路如图1所示。
图1MAX引脚及外围接口图(二)通信接口电路本文采用可靠性高的MAX232作电平转换芯片,选择其中一对发送器与接收器,PC机的串行口与MAX232的电平端口相连,MAX232的逻辑电平端口与单片机的串行口相连,接口电路如图2所示。
图2PC机与AT89C51通信接口图二、通信接口程序(一)通信协议PC机与AT89C51进行通信必须有一定的通信协议,本文采用简单的通信协议。
第5部分89C51串行口及串行通讯技术第5部分 89C51串行口及串行通讯技术1、什么是串行异步通信,它有哪些作用?答:在异步通信中,数据和字符是一帧一帧地传送。
在帧格式中,一个字符由4个部分组成:起始位、数据位、奇偶校验位和停止位。
首先起始位(0)信号只占一位,用来通知接收设备一个待接收的字符开始到达;然后是5位~8位数据(规定低位在前,高位在后);下来是奇偶校验位(可省略),也可用这一位(1/0)来确定这一帧中的字符所代表信息的性质(地址/数据等);最后是停止位(1),用来表征字符的结束,是一位高电位,可以是1位、1.5位、2位。
通讯采用帧格式,无需同步字符;存在空闲位也是异步通讯的特征之一。
2、89C51单片记得串行口由哪些功能部件组成?各有什么作用?答:89C51单片机的串行接口由发送缓冲器SBUF、接收缓冲器SBUF、输入移位寄存器、串行接口控制寄存器SCON、定时器T1构成的波特率发生器等部件组成。
由发送缓冲器SBUF发送数据,接收缓冲器SBUF接收数据,串行接口通讯的工作方式选择、接收和发送控制及状态标志等均由串行接口控制寄存器SCON控制和指示,定时器T1产生串行通讯所需的波特率。
3、简述串行口接收和发送数据的过程。
答:串行接口的接收和发送是对同一地址(99H)两个物理空间的特殊功能寄存器SBUF进行读或写的。
当向SBUF发“写”命令时(执行“MOV SBUF,A”指令),即向发送缓冲器SBUF 装载并开始由TXD 引脚向外发送一数据,发送完便使发送中断标志位TI=1。
在满足串行接口接收中断标志位RI(SCON.0)=0的条件下,置允许接收位REN(SCON.4)= 1,就会接收一帧数据进入移位寄存器,并装载到接收SBUF中,同时使RI=1,当发读SBUF命令时(执行“MOV A,SBUF”指令),便由接收缓冲器SBUF取出信息通过8051内部总线送CPU。
4、89C51串行口有几种工作方式?有几种帧格式?各工作方式的波特率如何确定?答:串行接口的工作方式有4种工作方式:方式0(8位同步移位寄存器),方式1(10位异步收发),方式2(11位异步收发),方式3(11位异步收发)。