51单片机与PC机通信资料

合集下载

(完整word版)51单片机与PC机通信资料

(完整word版)51单片机与PC机通信资料

《专业综合实习报告》专业:电子信息工程年级:2013级指导教师:学生:目录一:实验项目名称二:前言三:项目内容及要求四:串口通信原理五:设计思路5.1虚拟串口的设置5.2下位机电路和程序设计5.3串口通信仿真六:电路原理框图七:相关硬件及配套软件7.1 AT89C51器件简介7.2 COMPIN简介7.3 MAX232器件简介7.4友善串口调试助手7.5 虚拟串口软件Virtual Serial Port Driver 6.9八:程序设计九:proteus仿真调试十:总结十一:参考文献一:实验项目名称:基于51单片机的单片机与PC机通信二:前言在国内外,以PC机作为上位机,单片机作为下位机的控制系统中,PC机通常以软件界面进行人机交互,以串行通信方式与单片机进行积极交互,而单片机系统根据被控对象配置相应的前向,后向信息通道,工作时作为主控机测对象,作为被控机接受PC机监督,指挥,定期或受命向上位机提供对象及本身的工作状态信息。

目前,随着集成电路集成度的增加,电子计算机向微型化和超微型化方向发展,微型计算机已成为导弹,智能机器人,人类宇宙和太空和太空奥妙复杂系统不可缺少的智能部件。

在一些工业控制中,经常需要以多台单片机作为下位机执行对被控对象的直接控制,以一台PC机为上位机完成复杂的数据处理,组成一种以集中管理、分散控制为特点的集散控制系统。

为了提高系统管理的先进性和安全性,计算机工业自动控制和监测系统越来越多地采用集总分算系统。

较为常见的形式是由一台做管理用的上位主计算机(主机)和一台直接参与控制检测的下位机(单片机)构成的主从式系统,主机和从机之间以通讯的方式来协调工作。

主机的作用一是要向从机发送各种命令及参数:二是要及时收集、整理和分析从机发回的数据,供进一步的决策和报表。

从机被动地接受、执行主机发来的命令,并且根据主机的要求向主机回传相应烦人实时数据,报告其运行状态。

用串行总线技术可以使系统的硬件设计大大简化、系统的体积减小、可靠性提高。

PC与51单片机串口通信

PC与51单片机串口通信

PC与51单片机串口通信串行通信是计算机和外设进行通讯、对外设进行监控并获取由外设采集到的监测数据的一个非常重要的手段。

由于其所用的传输线少,成本低,实现起来方便易行,因而得到广泛的应用。

STC89C52RC有一个可编程的全双工串行通信接口,可以方便的实现PC机与其之间的串行通信。

一、总体方案系统中采用STC89C52RC/STC89C54RD+单片机作为下位机,PC机为上位机,二者通过CH340将PC的USB口转成RS232的串行口接收或上传数据。

单片机部分的程序采用C语言编程,用Keil uVision4编译后产生HEX文件下载到单片机内,从而实现数据收发。

PC端采用一个串口调试助手(sscom4.2)或MATLAB GUI 实现数据的收发。

二、具体方案1、简单通信测试程序本程序为了测试通信方式是否合适,以便于下一步增加程序的内容。

(1)利用STC提供STC-ISP-V4.83软件检查MCU选项MCU Type is: STC89C54RD+MCU Firmware Version: 3.2CChinese:MCU 固件版本号: 3.2CDouble speed / 双倍速: 12T/单倍速振荡放大器增益: full gain下次下载时 P1.0/P1.1 与下载无关内部扩展AUX-RAM: 允许访问(强烈推荐)下次下载用户应用程序时将数据Flash区擦除: NO用户软件启动内部看门狗后: 复位关看门狗ALE pin 仍为 ALE内部时钟频率:11.061806M外部时钟频率:11.061806M(2)串行口初始参数设定串行口工作方式为方式1(10位异步收发),波特率为9600bps,用定时器1作波特率发生器,选用定时器模式2,其它详见程序及说明。

(3)程序功能说明通过串口调试助手,向单片机发送字符,发送字符的末尾需加“!”,让单片机识别数据接收完毕,返回“Wait command!”字符串。

MC51单片机与PC 机的串口通信

MC51单片机与PC 机的串口通信

单片机与PC 机的串口通信这一讲将介绍单片机上的串口通信。

通过该讲,读者可以掌握单片机上串口的工作原理和如何通过程序来对串口进行设置,并根据所给出的实例实现与PC 机通信。

一、原理简介51 单片机内部有一个全双工串行接口。

什么叫全双工串口呢?一般来说,只能接受或只能发送的称为单工串行;既可接收又可发送,但不能同时进行的称为半双工;能同时接收和发送的串行口称为全双工串行口。

串行通信是指数据一位一位地按顺序传送的通信方式,其突出优点是只需一根传输线,可大大降低硬件成本,适合远距离通信。

其缺点是传输速度较低。

与之前一样,首先我们来了解单片机串口相关的寄存器。

SBUF 寄存器:它是两个在物理上独立的接收、发送缓冲器,可同时发送、接收数据,可通过指令对SBUF 的读写来区别是对接收缓冲器的操作还是对发送缓冲器的操作。

从而控制外部两条独立的收发信号线RXD(P3.0)、TXD(P3.1),同时发送、接收数据,实现全双工。

串行口控制寄存器SC ON(见表1)。

表1 SCON寄存器表中各位(从左至右为从高位到低位)含义如下。

SM0 和SM1 :串行口工作方式控制位,其定义如表2 所示。

表2 串行口工作方式控制位其中,fOSC 为单片机的时钟频率;波特率指串行口每秒钟发送(或接收)的位数。

SM2 :多机通信控制位。

该仅用于方式2 和方式3 的多机通信。

其中发送机SM2 =1(需要程序控制设置)。

接收机的串行口工作于方式2 或3,SM2=1 时,只有当接收到第9 位数据(RB8)为1 时,才把接收到的前8 位数据送入SBUF,且置位RI 发出中断申请引发串行接收中断,否则会将接受到的数据放弃。

当SM2=0 时,就不管第位数据是0 还是1,都将数据送入SBUF,并置位RI 发出中断申请。

工作于方式0 时,SM2 必须为0。

REN :串行接收允许位:REN =0 时,禁止接收;REN =1 时,允许接收。

TB8 :在方式2、3 中,TB8 是发送机要发送的第9 位数据。

采用MA232实现MCS51单片机与PC机的通信

采用MA232实现MCS51单片机与PC机的通信

采用MA232实现MCS51单片机与PC机的通信一、本文概述随着微处理器技术的飞速发展,单片机作为一种集成度高、功能强大的微控制器,在工业自动化、智能仪表、嵌入式系统等领域得到了广泛应用。

MCS51单片机作为其中的佼佼者,以其稳定的性能和广泛的适应性受到了工程师们的青睐。

然而,单片机与PC机之间的通信一直是困扰工程师们的难题之一。

本文旨在探讨采用MA232串口通信模块实现MCS51单片机与PC机之间通信的方法,为工程师们提供一种可靠的解决方案。

本文将首先介绍MCS51单片机的特点及其在嵌入式系统中的应用,然后详细阐述MA232串口通信模块的工作原理及其与MCS51单片机的接口方法。

在此基础上,本文将重点分析采用MA232实现MCS51单片机与PC机通信的硬件电路设计和软件编程实现。

通过实例演示和测试结果分析,验证采用MA232实现MCS51单片机与PC机通信的可行性和可靠性,为工程师们在实际项目中应用提供参考和借鉴。

通过本文的学习,读者可以深入了解MCS51单片机与PC机通信的原理和实现方法,掌握采用MA232串口通信模块实现通信的关键技术,为实际应用提供有力的技术支持。

二、MCS51单片机简介MCS51单片机,又称为Intel 8051微控制器,是Intel公司在1980年代初推出的一款8位CISC(复杂指令集计算机)单片机。

自推出以来,由于其出色的性能、合理的价格和广泛的应用场景,MCS51单片机在全球范围内得到了广泛的使用,成为了嵌入式系统领域的经典之作。

MCS51单片机采用了典型的微处理器结构,包括中央处理器(CPU)、内部数据存储器(RAM)、外部数据存储器(外部RAM)、各种I/O 接口电路以及时钟电路等。

其中,CPU是单片机的核心部分,负责执行程序中的指令,进行数据的运算和处理。

内部数据存储器用于存放程序和数据,而外部数据存储器则提供了更大的存储空间,用于存放更多的数据或程序。

MCS51单片机还提供了丰富的I/O接口电路,包括并行I/O口、串行通信口、定时/计数器、中断系统等,使得单片机可以与外部设备进行通信和控制。

51单片机与PC机串口通信

51单片机与PC机串口通信

单片机P2口接8只LED灯,P3.2~P3.3引脚连接有K1和K2共2个按键,使用单片机串行口与PC机通信。

1)由PC机控制单片机的P2口,将PC机送出的数以二进制形式显示在LED灯上;2)按下按键K1向PC机发送数字0x55,按下K2向PC机发送数字0xAA。

源程序如下:#define uchar unsigned char#include "string.h"#include "reg51.h"unsigned char code table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90, 0x08,0x03,0x46,0x21,0x06,0x0e}; //十六进制-7段译码表void mDelay(unsigned int DelayTime) //延时函数{ unsigned char j=0;for(;DelayTime>0;DelayTime--) //延时循环{ for(j=0;j<125;j++){;}}}void SendData(uchar Dat) //发送函数{ uchar i=0;SBUF=Dat; //发送Datwhile(1){if(TI) //如果发送中断标志为1,则等待,{ TI=0; break; } //否则清除发送中断标志}}uchar Key() //按键处理函数{ uchar KValue; //声明键值函数P3|=0x3e; //中间4位置高电平 0011 1101if((KValue=P3|0xe3)!=0xff) //如果按键按下{ mDelay(10); //延迟时间函数if((KValue=P3|0xe3)!=0xff) //如果按键还在按下状态{ for(;;) //等待if((P3|0xe3)==0xff) //如果按键抬起,return(KValue); //返回键值}}return(0); //如果按键没有按下,返回0}void main() //主函数{ uchar KeyValue; //定义键值变量KeyValueunsigned char ns,ng,temp; //定义变量ns,ng,tempP2=0xff; //熄灭P2口连接的所有发光管TMOD=0x20; //确定定时器工作模式,模式2,常数自动装入TH1=0xFD;TL0=0xFD; //定时器1的初值波特率为9600,晶体为11.0592MHz //PCON&=0x80; 若是SMOD=1 可以使波特率加倍TR1=1; //启动定时器1SCON=0x40; //串口工作方式1 运行在8位模式REN=1; //允许接收for(;;) //无限循环{if(KeyValue=Key()) //调用按键函数,获取按键信息{ if((KeyValue|0xfb)!=0xff) //如果按键k1按下SendData(0x55); //调用发送函数,送出0x55if((KeyValue|0xf7)!=0xff) //如果k2按下SendData(0xaa); //调用发送函数,送出0xaa}if(RI) //如果接收中断发生{ P2=SBUF; //将接收数据写到端口P2RI=0; } //清除接收标志位temp=P2; //暂存接收到的数据ng=temp & 0x0f; //取接收数据低4位ns=temp>>4; //将高4位右移4位ns &=0x0f; //取接收数据高4位P0=table[ng]; //P0口连接的数码管显示低4位P1=table[ns]; //P1口连接的数码管显示高4位}}。

MC51单片机与PC 机的串口通信

MC51单片机与PC 机的串口通信

单片机与PC 机的串口通信这一讲将介绍单片机上的串口通信。

通过该讲,读者可以掌握单片机上串口的工作原理和如何通过程序来对串口进行设置,并根据所给出的实例实现与PC 机通信。

一、原理简介51 单片机内部有一个全双工串行接口。

什么叫全双工串口呢?一般来说,只能接受或只能发送的称为单工串行;既可接收又可发送,但不能同时进行的称为半双工;能同时接收和发送的串行口称为全双工串行口。

串行通信是指数据一位一位地按顺序传送的通信方式,其突出优点是只需一根传输线,可大大降低硬件成本,适合远距离通信。

其缺点是传输速度较低。

与之前一样,首先我们来了解单片机串口相关的寄存器。

SBUF 寄存器:它是两个在物理上独立的接收、发送缓冲器,可同时发送、接收数据,可通过指令对SBUF 的读写来区别是对接收缓冲器的操作还是对发送缓冲器的操作。

从而控制外部两条独立的收发信号线RXD(P3.0)、TXD(P3.1),同时发送、接收数据,实现全双工。

串行口控制寄存器SC ON(见表1)。

表1 SCON寄存器表中各位(从左至右为从高位到低位)含义如下。

SM0 和SM1 :串行口工作方式控制位,其定义如表2 所示。

表2 串行口工作方式控制位其中,fOSC 为单片机的时钟频率;波特率指串行口每秒钟发送(或接收)的位数。

SM2 :多机通信控制位。

该仅用于方式2 和方式3 的多机通信。

其中发送机SM2 =1(需要程序控制设置)。

接收机的串行口工作于方式2 或3,SM2=1 时,只有当接收到第9 位数据(RB8)为1 时,才把接收到的前8 位数据送入SBUF,且置位RI 发出中断申请引发串行接收中断,否则会将接受到的数据放弃。

当SM2=0 时,就不管第位数据是0 还是1,都将数据送入SBUF,并置位RI 发出中断申请。

工作于方式0 时,SM2 必须为0。

REN :串行接收允许位:REN =0 时,禁止接收;REN =1 时,允许接收。

TB8 :在方式2、3 中,TB8 是发送机要发送的第9 位数据。

MCS_51单片机与PC机串行通讯的实现

MCS_51单片机与PC机串行通讯的实现

MCS -51单片机与PC 机串行通讯的实现赵迎生(淮阴工学院,江苏淮阴223300)摘要:本文利用VB 程序在PC 机上的强大的编程功能和MCS -51单片机的接口设计简单可靠的特点,介绍了实现PC 机与MCS -51单片机相互间进行通讯的软硬件设计,提供了通讯的VB 程序和MCS -51单片机汇编程序。

关键词:PC 机;单片机;通讯;程序The R ealization of Serial Communication B et w een MCS -51Microcomputer and PCZHAO Y ing 2sheng(Huaiyin Institute of Technology ,Hua i ’an 223001,China )Abstract :Based on the powerful programming function of Visual Basic program on personal computer and the simple and reliable characteristic of interface design of MCS -51series microcomputer ,the design method of software and hardware is introduced to re 2alize the communication between PC and MCS -51series microcomputer ,and VB program and MCS -51assembly language pro 2gram process is offered.K eyw ords :Personal computer ;Microcomputer ;Communication ;Programm0 前言VB 程序的编程功能非常强大,根据实际应用系统的需要,在PC 机上可以迅速设计出应用系统的图文显示控制界面,且具有通用性,易于移植。

PC机与51单片机的通信

PC机与51单片机的通信

SETB TR1
;启动定时器T1
MOV PCON ,#80H ;设SMOD=1
MOV SCON ,#0D0H ;置串行口方式3,允许接收
MOV DPTR ,#4000H ;置数据块首址
MOV R0 ,#80H
;置发送字节数初值
SETB ES
;允许串行口中断
SETB EA
;CPU开中断
MOVX A ,@DPTR
;发校验和
;从机接收正确 ;从机接收不正确,重新发送
JZ RE_DATA
;从机准备好发送,可以接收
LJMP SE_DATA
RE_DATA:MOV R6,#00H ;清校验和接收16个字节数据
MOV R0,#30H
MOV R7,#10H
LOOP2:JNB RI,$
CLR RI
MOV A,SBUF
MOV @R0,A
INC R0
ADD A,R6
MOV R6,A
•主机收到从机应答地址后,确认地址是否相符,如 果地址不符,发复位信号(数据帧中TB8=1);如果 地址相符,则清TB8,开始发送数据。
•从机收到复位命令后回到监听地址状态(SM2=1)。 否则开始接收数据和命令。
3、应用程序
•主机发送的地址联络信号为:00H,01H,02H ,… …(即从机设备地 址),地址FFH为命令各从机复位,即恢复SM2=1。 •主机命令编码为:01H,主机命令从机接收数据;02H,主机命令从机发 送数据。其它都按02H对待。
;串行口的中断入口地址
LJMP SERVE2
;转向乙机中断服务程序
ORG 2000H
;主程序
MAIN: MOV TMOD ,#20H ;设T1工作与模式2

51单片机与PC串口间通讯设计与分析

51单片机与PC串口间通讯设计与分析

51单片机与PC串口间通讯设计与分析一、串口通讯原理串口通讯是指通过串口来进行数据的收发传输的一种通讯方式。

串口通讯分为同步串行通讯和异步串行通讯两种方式,而51单片机与PC之间的串口通讯采用的是异步串行通讯方式。

异步串行通信是指每个数据字节之间可以有可变长度的停止位和起始位。

串口通讯一般由以下几个部分组成:1.传输数据线:用于传输数据的信号线,包括发送数据线(TXD)和接收数据线(RXD)。

2.时钟线:用于提供通讯双方的时钟信号。

3.控制线:用于控制串口通讯的流程,包括数据准备好(DSR)、数据就绪(DTR)等。

二、串口通讯协议串口通讯协议是约定通讯双方数据传输的格式和规则,常见的串口通讯协议有RS-232、RS-485等。

在51单片机与PC之间的串口通讯中,一般使用的是RS-232协议。

RS-232协议规定了数据的起始位、数据位数、校验位和停止位等。

起始位用于标识数据的传输开始,通常为一个逻辑低电平;数据位数指定了每个数据字节的位数,常见的值有5位、6位、7位和8位等;校验位用于校验数据的正确性,一般有无校验、奇校验和偶校验等选项;停止位用于表示数据的传输结束,通常为一个逻辑高电平。

三、51单片机串口的程序设计#include <reg52.h>#define UART_BAUDRATE 9600 // 波特率设置#define UART_DIV 256- UART_BAUDRATE/300void UART_Init( //串口初始化TMOD=0x20;SCON=0x50;PCON=0x00;TH1=UART_DIV;TL1=UART_DIV;TR1=1;EA=1;ES=1;void UART_SendByte(unsigned char ch) //串口发送字节TI=0;SBUF = ch;while(TI == 0);TI=0;void UART_Interrupt( interrupt 4 //串口中断处理if(RI)unsigned char ch;ch = SBUF;RI=0;//处理接收到的数据}if(TI)TI=0;//发送下一个字节}void mainUART_Init(;while(1)//主循环}在上述程序中,首先通过UART_Init(函数进行串口初始化,其中设置了波特率为9600;然后使用UART_SendByte(函数发送数据,调用该函数时会把数据放入SBUF寄存器,并等待TI标志位变为1;最后,在UART_Interrupt(函数中,使用RI标志位判断是否收到数据,然后对数据进行处理,TI标志位判断是否发送完当前字节。

51单片机和PC机串行通信系统设计

51单片机和PC机串行通信系统设计
图 1 RS2232C接口引脚定义
3 通信软件的设计 PC机和单片机在进行通信时 ,首先分别对各自
的串行口进行初始化 、确定串行口工作方式 、设定波 特率 、传输数据长度等 ,然后才开始数据传输 ,这些 工作是由软件来完成的 ,因此对 PC 机和单片机均 需设计相应的通信软件 。
收稿日期 : 2005202221
图 2 MC1488引脚示意图
图 3 MC1489引脚示意图
图 4 单片机与 RS2232标准接口电路
开始通信前 ,首先要初始化串口 ,包括选串口 、 设置串口掩码 、设置缓冲区 、设置波特率 、创建同步 事件 、创建线程并让辅助线程处于发信号状态等 。 用户通过调用 AP I提供的函数来完成 。W in 32 对 I/O 口 ,如串口 、并口等进行操作需通过“文件 ”方式 实现 ,串口的打开 、关闭 、读取和写入所用的函数和 操作文件的方式相似 。常用的函数调用有 :
·41·
( 3)设置缓冲区大小 。如果程序需要重新分配 发送和接收缓冲区 ,则使用 SetupComm ( )函数 。
( 4)清除缓冲区 。可使用 PurgeComm ( )函数 。 ( 5)从串口接收数据 。可使用 Read2File ( ) 函 数。 ( 6)从串口发送数据 。可使用 W rite2File ( ) 函 数。 ( 7)关闭串口 。可使用 CloseHandle ( )函数 。 有了 W in32 AP I串行通信函数 ,就可以实现串 口的打开和关闭 ,设置串口状态 ,并进行串行数据的 发送和接收 ,完成串行通信任务 。编写 W in32 串行 通信程序的基本步骤是 : ①使用 CreateFile ( )函数获得串口句柄 ; ②使用 BuildCommDCB ( )和 SetCommState ( )函 数设置串口工作状态 ; ③可根据需要选择相应的结构和函数进行其它 设置 。如重新设置发送接收缓冲区可使用 Setup2 Comm ( )函数 ;设置超时则可修改 COMMTIMEOUTS 结构并使用 SetCommTimeouts( )函数等 ; ④使用 ReadFile ( ) 和 W riteFile ( ) 函数读写串 口; ⑤串行通信结束时 ,使用 CloseHandle ( )函数关 闭串口以释放控制权 ,使串口可以被其它的程序使 用。 3. 2 单片机收发软件设计 设计单片机的通信软件 ,实际上是对单片机的 串行口的设计 ,通常采用汇编语言来设计 。首先必 须设置串行通 信 方式 ( SCON ) 和 波特 率 ( PCON ) 。 汇编程序如下所示 : ( 1)发送程序的设计 。 TRT: MOV SCON , #50H; 初始化方式 1,波特率

51单片机与PC机通信

51单片机与PC机通信

《专业综合实习报告》专业:电子信息工程年级:2013级指导教师:学生:目录一:实验项目名称二:前言三:项目内容及要求四:串口通信原理五:设计思路5.1虚拟串口的设置5.2下位机电路和程序设计5.3串口通信仿真六:电路原理框图七:相关硬件及配套软件7.1 AT89C51器件简介7.2 COMPIN简介7.3 MAX232器件简介7.4友善串口调试助手7.5 虚拟串口软件Virtual Serial Port Driver 6.9八:程序设计九:proteus仿真调试十:总结十一:参考文献一:实验项目名称:基于51单片机的单片机与PC机通信二:前言在国内外,以PC机作为上位机,单片机作为下位机的控制系统中,PC机通常以软件界面进行人机交互,以串行通信方式与单片机进行积极交互,而单片机系统根据被控对象配置相应的前向,后向信息通道,工作时作为主控机测对象,作为被控机接受PC机监督,指挥,定期或受命向上位机提供对象及本身的工作状态信息。

目前,随着集成电路集成度的增加,电子计算机向微型化和超微型化方向发展,微型计算机已成为导弹,智能机器人,人类宇宙和太空和太空奥妙复杂系统不可缺少的智能部件。

在一些工业控制中,经常需要以多台单片机作为下位机执行对被控对象的直接控制,以一台PC机为上位机完成复杂的数据处理,组成一种以集中管理、分散控制为特点的集散控制系统。

为了提高系统管理的先进性和安全性,计算机工业自动控制和监测系统越来越多地采用集总分算系统。

较为常见的形式是由一台做管理用的上位主计算机(主机)和一台直接参与控制检测的下位机(单片机)构成的主从式系统,主机和从机之间以通讯的方式来协调工作。

主机的作用一是要向从机发送各种命令及参数:二是要及时收集、整理和分析从机发回的数据,供进一步的决策和报表。

从机被动地接受、执行主机发来的命令,并且根据主机的要求向主机回传相应烦人实时数据,报告其运行状态。

用串行总线技术可以使系统的硬件设计大大简化、系统的体积减小、可靠性提高。

51单片机与PC串口通讯

51单片机与PC串口通讯

目录第1章需求分析 ............................................................................................................................ - 1 -1.1课题名称 (1)1.2任务 (1)1.3要求 (1)1.4设计思想 (1)1.5课程设计环境 (1)1.6设备运行环境 (2)1.7我在本实验中完成的任务 (2)第2章概要设计 ............................................................................................................................ - 2 -2.1程序流程图 (2)2.2设计方法及原理 (3)第3章详细设计 ............................................................................................................................ - 3 -3.1电路原理 (3)3.1.1STC89C52芯片 ............................................................................................................. - 3 -3.2串口通信协议 (4)3.3程序设计 (5)3.3.1主程序模块 .................................................................................................................... - 5 -3.3.2串口通讯模块 ................................................................................................................ - 6 -3.3.3控制部分文件 ................................................................................................................ - 8 -3.3.4公共部分模块 .............................................................................................................. - 11 -3.4电路搭建 (12)3.4.1电路原理图 .................................................................................................................. - 12 -第4章上位机关键代码分析 ...................................................................................................... - 12 -4.1打开串口操作 (12)4.2后台线程处理串口程序 (15)4.3程序运行界面 (18)第5章课程设计总结与体会 ...................................................................................................... - 19 -第6章致谢 .................................................................................................................................. - 19 -参考文献........................................................................................................................................... - 19 -第1章需求分析1.1 课题名称故障诊断数据采集通信系统设计与制作。

单片机与PC机串行通信的实现方法

单片机与PC机串行通信的实现方法

单片机与PC机串行通信的实现方法随着单片机和微机技术的不断发展,特别是网络技术在测控领域的广泛应用,由PC机和多台单片机构成的多机网络测控系统已成为单片机技术发展的一个方向。

它结合了单片机在实时数据采集和微机对图形处理、显示的优点。

同时,windows环境下后台微机在数据库管理上具有明显的优势。

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

本文主要介绍PC机与51系列单片机实现通信的一般方法和步骤。

硬件结构和单片机的通1S程序设计单片机和PC机的串行通信一般采用RS-232、RS-422或B3-485总线标准接口,也有采用非标准的20nnJL 电流环的。

为保证通信的可靠,在选择接口时必须注意:(1)通信的速率;(2)通信距离:(3)抗干扰能力;(4)组网方式。

本文主要介绍采用RS-232接口与单片机通信的方法。

1、 RS-232电平转换和PC机的接口电路RS-232是早期为公用电话网络数据通信而制定的标准,其逻辑电平与ITL\CMOS电乎完全不同。

逻辑"0"规定为+5- +15V之间,逻辑"1,,规定为-5~-15V之间。

由于RS-232发送和接收之间有公共地,传输采用非平衡模式,因此共模噪声会耦合到信号系统中,其标准建议的最大通信距离为15米.但实际应用中我们在300bi:/s的速率下可以达到300米。

RS-232规定的电平和一般微处理器的逻辑电平不一致,必须进行电平转换,实现逻辑电平转换可以采用以下三种方式。

采用MCl488和MCl489芯片的转换接口 MCl488和MCl489芯片为早期的RS-232至TTL逻辑电平的转换芯片,图1为实际电路。

该电路的不便之处是需要±12V电压,并且功耗较大,不适合用于低功耗的系统。

图中TXD、RXD分别接单片机的发送和接收端。

采用MAX232芯片的转换接口 MAX232是MAXIM公司生产的,包含两路驱动器和接收器的RS-232转换芯片。

51单片机与PC机通信

51单片机与PC机通信

51单片机与PC机通信随着嵌入式系统和物联网技术的发展,51单片机在许多应用中扮演着重要的角色。

这些单片机具有低功耗、高性能和易于编程等优点,使其在各种嵌入式设备中得到广泛应用。

在这些应用中,与PC机的通信是一个关键的需求。

本文将探讨51单片机与PC机通信的方法和协议。

串口通信是51单片机与PC机进行通信的最常用方式之一。

串口通信使用一个或多个串行数据线来传输数据,通常使用RS232或TTL电平标准。

在硬件连接方面,需要将51单片机的串口与PC机的串口进行连接。

通常使用DB9或USB转TTL电路来实现这一连接。

在软件编程方面,需要使用51单片机的UART控制器来进行数据的发送和接收。

具体实现可以使用Keil C51或IAR Embedded Workbench 等集成开发环境进行编程。

USB通信是一种比较新的通信方式,它具有传输速度快、支持热插拔等优点。

在51单片机中,可以使用USB接口芯片来实现与PC机的通信。

在硬件连接方面,需要将51单片机的USB接口芯片与PC机的USB接口进行连接。

通常使用CH340G或FT232等USB转串口芯片来实现这一连接。

在软件编程方面,需要使用51单片机的USB接口芯片来进行数据的发送和接收。

具体实现可以使用相应的USB库来进行编程。

网络通信是一种更加灵活和高效的通信方式。

在51单片机中,可以使用以太网控制器来实现与PC机的网络通信。

在硬件连接方面,需要将51单片机的以太网控制器与PC机的网络接口进行连接。

通常使用ENC28J60等以太网控制器来实现这一连接。

在软件编程方面,需要使用51单片机的以太网控制器来进行数据的发送和接收。

具体实现可以使用相应的网络库来进行编程。

需要注意的是,网络编程涉及到更多的协议和数据格式,需要有一定的网络基础知识。

本文介绍了51单片机与PC机通信的三种常用方式:串口通信、USB 通信和网络通信。

每种方式都有其各自的优缺点和适用场景。

51单片机单片机串行口与PC 机通讯

51单片机单片机串行口与PC 机通讯

单片机技术与应用实验报告实验名称:单片机串行口与PC通讯姓名:学号:班级:指导老师:完成时间:2012年5月10日一.实验要求利用8031 单片机串行口,实现与PC 机通讯。

本实验实现以下功能,将从实验机键盘上键入的数字,字母显示到PC 机显示器上,将PC 机键盘输入的字符0-F(必须为大写字母)显示到实验机的数码管上。

二.实验目的1.掌握串行口工作方式的程序设计,掌握单片机通讯的编制。

2.了解实现串行通讯的硬环境,数据格式的协议,数据交换的协议。

3.了解PC 机通讯的基本要求。

三.实验框图四.实验编程Z8279 EQU 0F239H ;8279 状态/命令口地址D8279 EQU 0F238H ;8279 数据口地址LEDMOD EQU 00H ;左边输入八位字符显示;外部译码键扫描方式,双键互锁LEDFEQ EQU 2FH ;扫描速率LEDCLS EQU 0C1H ;清除显示 RAMLEDWR0 EQU 80H ;设定的将要写入的显示RAM地址READKB EQU 40H ;读 FIFO RAM 地址 0 的命令字ORG 0000HAJMP STARTORG 0040HSTART:MOV SP,#60HLCALL INIT8279 ;初始化8279MOV SCON,#50H ;串口方式 1MOV TMOD,#20H ;T1 方式 1MOV TL1,#0FDH ;波特率 9600 的常数MOV TH1,#0FDHSETB TR1 ;开中断SETB ET1SETB EAWAIT:JBC RI,DIS_REC ;是否接收到数据LCALL GETKEY ;读键盘CJNE A,#0FFH,WAIT ;是否有键输入MOV SBUF,B ;串口输出键盘输入的值NOPSS: JBC TI,WAIT ;是否发送完毕SJMP SSDIS_REC:MOV A,SBUF ;读串口接收到的数据CLR CSUBB A,#30H ;以下判定输入是否在0-F JC ERRORSUBB A,#0AHJNC DIS_REC1ADD A,#0AHSJMP DIS_REC2DIS_REC1:SUBB A,#7HJC ERRORSUBB A,#6HJNC ERRORADD A,#10HDIS_REC2:MOV R4,#00HMOV R5,ALCALL DISLED ;显示输入的数字(0-F) ERROR: AJMP WAITINIT8279: ;8279初始化子程序PUSH DPH ;保存现场PUSH DPLPUSH ACCLCALL DELAY ;延时MOV DPTR ,#Z8279MOV A,#LEDMOD ;置8279工作方式MOVX @DPTR,AMOV A,#LEDFEQ ;置键盘扫描速率MOVX @DPTR,AMOV A,#LEDCLS ;清除 LED 显示MOVX @DPTR,APOP ACC ;恢复现场POP DPLPOP DPHRET;读取键盘子程序;输入: 无 ; 输出: B: 读到的键码 A: 按键的标志GETKEY: PUSH DPH ;保存现场PUSH DPLPUSH PSWMOV DPTR,#Z8279MOVX A,@DPTR ;读8279状态ANL A,#07H ;屏蔽D7-D3JNZ GETVAL ;判断是否有键输入MOV A,#0H ;置标志(无键输入)SJMP NKBHITGETVAL:MOV A,#READKB ;读 FIFO RAM 命令MOVX @DPTR,AMOV DPTR,#D8279MOVX A,@DPTR ;读键ANL A,#0FH ;屏蔽 SHIFT 和 CTRL 键MOV DPTR,#KEYCODE ;键码表起始地址MOVC A,@A+DPTR ;查表MOV B,A ;置返回键值MOV A,#0FFH ;置标志(有键输入)NKBHIT:POP PSW ;恢复现场POP DPLPOP DPHRET;显示字符子程序输入: R4,位置 R5,值DISLED: PUSH DPH ;保存现场PUSH DPLPUSH ACCMOV A,#LEDWR0 ;置显示起始地址ADD A,R4 ;加位置偏移量MOV DPTR,#Z8279MOVX @DPTR,A ;设定显示位置MOV DPTR,#LEDSEG ;置显示常数表起始位置MOV A,R5MOVC A,@A+DPTR ;查表MOV DPTR,#D8279MOVX @DPTR,A ;显示数据POP ACC ;恢复现场POP DPLPOP DPHRETDELAY: ;延时子程序PUSH 0 ;保存现场PUSH 1MOV 0,#0HDELAY1: MOV 1,#0HDJNZ 1,$DJNZ 0,DELAY1POP 1 ;恢复现场POP 0RET;LED显示常数表LEDSEG: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;'0,1,2,3,4,5,6,7' DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H ;'8,9,A,B,C,D,E,F';键盘键码表KEYCODE:DB 30H,31H,32H,33H,34H,35H,36H,37H ;'1,2,Q,W,A,S,+,Z' DB 38H,39H,41H,42H,43H,44H,45H,46H ;'3,4,E,R,D,F,X,C'DB 47H,48H,49H,4AH,4BH,4CH,4DH,4EH ;'5,6,T,Y,G,H,V,B'END五.实验总结通过这次实验加深了单片机与PC通讯之间的理解,明白了串口中断的方式,对串口通讯有了一个更深刻的印象。

第19章-51系列单片机与PC的串行通信

第19章-51系列单片机与PC的串行通信
21天学51单片机开发
第十九讲:51系列单片机与PC的串行通信
课程安排
• 串行通信接口概述 • 串行通信接口芯片 • 单片机与PC的串行通信实例
串行通信接口概述
• 串行通信也就是数据按照比特逐个发送和接收的通 信标准。 • 主要包括如下几种:
– – – – – 基本串行通信接口RS-232C; 高速率增强型串行通信接口RS-449; 平衡方式高速率增强型串行通信接口RS-422; 非平衡方式增强型串行通信接口RS-423; 多发送/接收器远距离增强型串行通信接口RS-485;
RS-423A串行通信接口标准
• RS-423A标准是另外一种采用非平衡数据传输的方 式 • RS-423A标准采用了差分接收器代替原来的RS232C的单端接收器
发送器 DS3691 数据输入 RS-423A信号线 接收器 26L32 数据输出
信号公用线
RS-422A串行通信接口标准
• RS-422A标准是另外一种以平衡方式传输的标准 • 发送端和接收端分别采用平衡发送器和差动接收器。 • 该标准中规定只有一个发送器,但可以有多个接收器
– 抗干扰串行通信接口20mA电流环。
RS-232C串行通信接口标准
识别代号 最后一次修订的标准版本号
RS
Recommended Standard (推荐标准)
232
C
RS-449串行通信接口标准
• RS-449标准利用的是信号导线之间的信号电压差 ,也就是平衡信号差。 • 速率高 • 传输距离远 • 可以实现多点或使用公共线通信
1 2 3 4 5 6 7 8 9
TxD
GND
GND
单片机与PC的串行通信实例
运行结果
性格决定命运, 专注成就人生

PC机和MCS_51单片机间的串行通信

PC机和MCS_51单片机间的串行通信

一、引言随着计算机与数据终端的普及,数据通信在现代工业控制领域中得到广泛应用,在生产过程中,利用串行通信,人们可以远离现场对计算机操作,能够方便地对现场进行数据的采集、处理、存储、控制等工作[1]。

单片机和PC机之间的串行通信在进行数据交换时经常被使用。

在串行通信时,要求通信双方都采用一个标准接口,RS-232C接口是单片机和PC机进行通信最常用的一种接口。

但串口还不能直接和单片机相连,在本文,我们选用MAX232芯片来进行电平的转换。

为了实现单片机和PC机之间的串行通信,在PC机上采用Visual Basic语言(简称VB)。

VB已成为广大程序设计人员开发Windows的主要语言。

它支持面向对象的程序设计,具有结构化的事件驱动编写模式,并可以使用无限扩增的控件,而且可以十分简便地做出良好的人机界面[2]。

用VB编程语言中提供的专门用于串口通信的MSComm控件,来实现PC机与单片机间的通信。

利用MSComm控件可以非常方便地实现对串口的访问以及计算机端口和外部设备的数据传输,使得编程的效率得到了大大提高[3]。

二、系统硬件设计PC 机和MCS-51单片机间的串行通信陈欣琳 王海峰 金亮1 串行通信接口标准PC机上均带有标准的RS-232C接口。

RS-232C是美国电子工业协会(EIA)于1969年正式公布的串行总线标准,也是目前最常用的串行接口标准。

该标准适用于数据通信设备(DCE)和数据终端设备(DTE)间的串行二进制通信[4][5]。

RS-232C提供了单片机与单片机、单片机与PC机之间串行数据通信的标准接口。

为保证通信的可靠,在选择接口时必须注意:(1)通信的速率;(2)通信距离;(3)抗干扰能力;(4)组网方式。

采用RS-232标准进行数据传输时,最高数据传送速率可达20kbit/s,最长传送电缆可达15米。

由于RS-232C发送和接收之间有公共地,传输采用非平衡模式,因此共模噪声会耦合到信号系统中[6]。

51单片机与PC机通信

51单片机与PC机通信

《专业综合实习报告》专业:电子信息工程年级: 2013级指导教师:学生:目录一:实验项目名称二:前言三:项目内容及要求四:串口通信原理五:设计思路5、1虚拟串口得设置5、2下位机电路与程序设计5、3串口通信仿真六:电路原理框图七:相关硬件及配套软件7、1 AT89C51器件简介7、2PIN简介7、3 MAX232器件简介7、4友善串口调试助手7、5虚拟串口软件Virtual Serial Port Driver 6、9八:程序设计九:proteus仿真调试十:总结十一:参考文献一:实验项目名称:基于51单片机得单片机与PC机通信二:前言在国内外,以PC机作为上位机,单片机作为下位机得控制系统中,PC机通常以软件界面进行人机交互,以串行通信方式与单片机进行积极交互,而单片机系统根据被控对象配置相应得前向,后向信息通道,工作时作为主控机测对象,作为被控机接受PC机监督,指挥,定期或受命向上位机提供对象及本身得工作状态信息。

目前,随着集成电路集成度得增加,电子计算机向微型化与超微型化方向发展,微型计算机已成为导弹,智能机器人,人类宇宙与太空与太空奥妙复杂系统不可缺少得智能部件.在一些工业控制中,经常需要以多台单片机作为下位机执行对被控对象得直接控制,以一台PC机为上位机完成复杂得数据处理,组成一种以集中管理、分散控制为特点得集散控制系统.为了提高系统管理得先进性与安全性,计算机工业自动控制与监测系统越来越多地采用集总分算系统。

较为常见得形式就是由一台做管理用得上位主计算机(主机)与一台直接参与控制检测得下位机(单片机)构成得主从式系统,主机与从机之间以通讯得方式来协调工作。

主机得作用一就是要向从机发送各种命令及参数:二就是要及时收集、整理与分析从机发回得数据,供进一步得决策与报表.从机被动地接受、执行主机发来得命令,并且根据主机得要求向主机回传相应烦人实时数据,报告其运行状态。

用串行总线技术可以使系统得硬件设计大大简化、系统得体积减小、可靠性提高。

51单片机和PC串口异步通信

51单片机和PC串口异步通信

51单片机和PC串口异步通信
单片机和PC 机间的通信有很多方式,下面的程序主要用到的是51 单片机的异步串行通信。

一.51 单片机的串行通信管脚
P3.1 为单片机的TXD 管脚(Transfer Data),P3.2 为单片机的RXD 管脚(Receive Data)。

通过TXD 管脚可以将CPU 要发送的数据输出,RXD 管脚可以将串行数据线传来的数据读入。

二.51 单片机的串行通信控制寄存器SCON,电源控制寄存器PCON SCON:
其中,SM0,SM1 控制着串行通信的工作方式。

SM0SM1 工作方式说明波特率000 移位寄存器fosc/1201110 位异步收发器(8 位数据)可变10211 位异步收发器(9 位数据)fosc/64 或fosc/3211311 位异步收发器(9 位数据)可变其中工作方式1 在使用当中比较多。

SM2 为多机通信控制位,SM2=1,允许多机通信,=0 不允许,实现点对点
通信。

这里先不讨论。

TB8 用于储存发送数据的第9 位。

在方式2 和方式3 中,发送数据除了起始位,数据位,停止位外,还有一位校验位,存储在TB8 中。

RB8 用于存储接收数据的第9 位。

接收到传来的代码后,数据位存储在SBUF 中,而校验位就存储在RB8 中。

通过分析,可以判别接受的数据是否正确。

TI 为发送中断请求标志。

当发送数据缓冲区为空的时候,TI 通过硬件置1,
通知CPU 数据发送完毕,需要有软件清零。

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

《专业综合实习报告》专业:电子信息工程年级:2013级指导教师:学生:目录一:实验项目名称二:前言三:项目内容及要求四:串口通信原理五:设计思路5.1虚拟串口的设置5.2下位机电路和程序设计5.3串口通信仿真六:电路原理框图七:相关硬件及配套软件7.1 AT89C51器件简介7.2 COMPIN简介7.3 MAX232器件简介7.4友善串口调试助手7.5 虚拟串口软件Virtual Serial Port Driver 6.9八:程序设计九:proteus仿真调试十:总结十一:参考文献一:实验项目名称:基于51单片机的单片机与PC机通信二:前言在国内外,以PC机作为上位机,单片机作为下位机的控制系统中,PC机通常以软件界面进行人机交互,以串行通信方式与单片机进行积极交互,而单片机系统根据被控对象配置相应的前向,后向信息通道,工作时作为主控机测对象,作为被控机接受PC机监督,指挥,定期或受命向上位机提供对象及本身的工作状态信息。

目前,随着集成电路集成度的增加,电子计算机向微型化和超微型化方向发展,微型计算机已成为导弹,智能机器人,人类宇宙和太空和太空奥妙复杂系统不可缺少的智能部件。

在一些工业控制中,经常需要以多台单片机作为下位机执行对被控对象的直接控制,以一台PC机为上位机完成复杂的数据处理,组成一种以集中管理、分散控制为特点的集散控制系统。

为了提高系统管理的先进性和安全性,计算机工业自动控制和监测系统越来越多地采用集总分算系统。

较为常见的形式是由一台做管理用的上位主计算机(主机)和一台直接参与控制检测的下位机(单片机)构成的主从式系统,主机和从机之间以通讯的方式来协调工作。

主机的作用一是要向从机发送各种命令及参数:二是要及时收集、整理和分析从机发回的数据,供进一步的决策和报表。

从机被动地接受、执行主机发来的命令,并且根据主机的要求向主机回传相应烦人实时数据,报告其运行状态。

用串行总线技术可以使系统的硬件设计大大简化、系统的体积减小、可靠性提高。

同时,系统的更改和扩充极为容易。

MCS-51系列单片机,由于内部带有一个可用于异步通讯的全双工的穿行通讯接口,阴齿可以很方便的构成一个主从式系统。

串口是计算机上一种非常通用的设备通讯协议,大多数计算机包容两个基于RS232的串口。

串口同时也是仪器仪表设备通过用的通讯协议,很多GPIB兼容的设备也带有RS-232口。

同时串口通讯协议也可以用于获取远程采集设备数据。

所以,深入的理解学习和研究串口通信相关知识是非常必要的。

此次毕业设计选题为“PC机与MCS-51单片机的串口通讯”,使用51单片机来实现一个主从式的总线通讯系统。

通过此次设计,对串口通讯的原理和应用融会贯通,为以后的时间工作储备知识和研究方法。

三.项目内容及要求基于51单片机,在相关软件的辅助下,建立起单片机与PC机之间的通信机制,使用proteus仿真软件进行仿真,要求可从PC机上发送数字及英文字母出来,由单片机接收并在虚拟软件显示屏上显现出来,有开关控制数字或者是字母的发送。

四:串口通信原理单片机与外围部件或设备的数据传输方式有并行通信和串行通信两种方式,本实验主要通过串行通信方式进行单片机与PC机之间的数据传输,故略去并行通信方式的介绍。

串行通信是指计算机主机与外设之间以及主机系统与主机系统之间数据的串行传送。

使用一条数据线,将数据一位一位地依次传输,每一位数据占据一个固定的时间长度。

其只需要少数几条线就可以在系统间交换信息,特别适用于计算机与计算机、计算机与外设之间的远距离通信。

串口通信时,发送和接收到的每一个字符实际上都是一次一位的传送的,每一位为1或者为0。

这种传送方式具有方法简单,灵活性强,可靠性高等特点,同时需要的传送线少,适于远距离传送。

但是,由于数据是按位发送出去的,因此这种数据传送方式比并行通信速率低。

串行通信又可以分为同步通信和异步通信两种方式。

同步通信是指同步通信是一种比特同步通信技术,要求发收双方具有同频同相的同步时钟信号,只需在传送报文的最前面附加特定的同步字符,使发收双方建立同步,此后便在同步时钟的控制下逐位发送/接收。

进行数据传输时,发送和接收双方要保持完全的同步,因此,要求接收和发送设备必须使用同一时钟。

相对于同步通信,异步通信在发送字符时,所发送的字符之间的时隙可以是任意的,当然,接收端必须时刻做好接收的准备(如果接收端主机的电源都没有加上,那么发送端发送字符就没有意义,因为接收端根本无法接收)。

发送端可以在任意时刻开始发送字符,因此必须在每一个字符的开始和结束的地方加上标志,即加上开始位和停止位,以便使接收端能够正确地将每一个字符接收下来。

内部处理器在完成了相应的操作后,通过一个回调的机制,以便通知发送端发送的字符已经得到了回复。

五.设计思路Pc机和单片机的串口通信系统的调试一般通过一根串口连接线把带有软件上位机的(Pc机)和下位机(即单片机)连接起来进行,用这种调试串口通信程序比较烦琐。

本文介绍一种用纯软件实现PC机和单片机串口通信的仿真的方法,所有的调试都在一台电脑上通过软件完成。

上位机由Pc机代替,下位机由用PROTEUS软件设计的AT89C51单片机仿真电路代替串口及连接通过由虚拟串口软Virtual Serial Port Driver 6.9进行连接。

5.1虚拟串口的设置安装虚拟串口软件Virtual Serial Port Driver 6.9,然后打开,左边上面的COMl是电脑上实际的物理串口,下面是虚拟串口,在没有设置前是空的。

因为电脑最多有两个物理串口,将圆圈里的串口改为COMl,COM3,点击Add pair,这就表示,利用这个软件将计算机的串口l和模拟串口3联接了起来,这两个串口可以进行通信了。

5.2下位机电路和程序设计用Proteus6.9设计的仿真电路只用了几个元器件。

由于两个虚拟串口采用相同的标准电平,因此电路中用来作,ITllL电平向RS232电平转换的电路在仿真电路中可以省略。

单片机的实例程序用Keil C51语言编写,串口接收数据采用中断的方式,发送数据采用外部中断的方式,用按钮开关控制数据的发送。

5.3串口通信仿真打开友善串口调试助手,修改串口为COM3,波特率为9600,校验位为None,数据位8,停止位为1。

用Proteus打开仿真电路文件,先设置AT89C51的属性,右击选中AT89C5l,再用左键单击AT89C51,在出现的属性对话框里点击Program File后的打开按钮,找到自Keil源程序编译好的.HEX文件后单击打开,然后在Clock Frequency后填写12M。

单击OK接下来打开串口COMPIN的属性对话框,在PhsicalPort后选择COMl,波特率为9600,校验位为None,数据位8,停止位为l。

设置好后,启动仿真就可以实现电脑和单片机串口通信的仿真了。

首先演示一下单片机向计算机的串口发送数据。

拨动开关向右拨,运行,按一下开关。

虚拟串口终端最示单片机向计算机COMl发送的数据,而计算机的COMI已经和COM3相连,因软件PROTEUS 所此可以在COM3收到单片机发送给COMi的数据。

接着冉演示一下计算机的串口向单片机发送数据。

拨动开关向左拨,在口调试助手中输入想要发送的数据,点击手动则字符串由COM3发送给了计算机的COMI。

再由COMI发送给单片机。

单片机的程序里面有回显功能,将接送给了COM因此可以在COM3的接受框内能够接收到会显得字符串。

六.电路原理框图七.相关硬件及配套软件7.1 AT89C51器件简介AT89C51是一种带4K字节FLASH存储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微处理器,俗称单片机。

AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。

单片机的可擦除只读存储器可以反复擦除1000次。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪速存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C051是它的一种精简版本。

AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

7.2 COMPIN简介COM口( cluster communication port )即串行通讯端口。

微机上的com口通常是9针,也有25针的接口,最大速率115200bps。

通常用于连接鼠标(串口)及通讯设备(如连接外置式MODEM进行数据通讯或一些工厂的CNC机接口)等。

一般主板外部只有一个COM口,机箱后面和并口一起的那个九孔输出端(梯形),就是COM1口,COM2口一般要从主板上插针引出。

并口是最长的那个梯形口。

本实验主要应用九针接口。

7.3 MAX232器件简介MAX232是一种双组驱动器/接收器,片内含有一个电容性电压发生器以便在单5V电源供电时提供EIA/TIA-232-E电平。

当用单片机和PC机通过串口进行通信,尽管单片机有串行通信的功能,但单片机提供的信号电平和RS232的标准不一样,因此要通过max232这种类似的芯片进行电平转换。

7.4友善串口调试助手一个强大而稳定的串口调试助手,支持常用的110-921600bps波特率及自定义波特率,波特率最高可支持8000000(串口硬件有关),可适应于非标准波特率。

支持串口自动识别,能设置校验、数据位和停止位,能以ASCII码或十六进制接收或发送任何数据或字符,可以任意设定自动发送周期,并能将接收数据保存成文本文件,能发送任意大小的文本文件。

7.5虚拟串口软件Virtual Serial Port Driver 6.9简介该软件安装成功后可以虚拟出多个串口用于实验,虚拟串口都是成对出现使用的,最大限度的方便了用户数的需求。

八.程序设计注:本程序采用C语言编写,程序如下:#include <reg52.h>#define uint unsigned int#define uchar unsigned charuchar Receive_Buffer[101];uchar Buf_Index = 0;uchar code DSY_CODE[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x00};void Delay(uint x){uchar i;while(x--){for(i=0;i<120;i++);}}void main(){uchar i;P0 = 0x00;Receive_Buffer[0]=i;SCON = 0x50;TMOD = 0x20;PCON = 0x00;TH1 = 0xfd;TL1 = 0xfd;EA = 1;EX0 = 1;IT0 = 1;ES = 1;IP = 0x01;TR1 = 1;while(1){for(i=0;i<100;i++){if(Receive_Buffer[i]==-1)break;P0 = DSY_CODE[Receive_Buffer[i]];Delay(200);}Delay(200);}}void Serial_INT() interrupt 4{uchar c;if(RI==0)return;ES = 0;RI = 0;c = SBUF;if(c>='0' && c<='9'){Receive_Buffer[Buf_Index]=c-'0';Receive_Buffer[Buf_Index+1]=-1;Buf_Index = (Buf_Index+1)%100;}ES = 1;}void EX_INT0() interrupt 0{uchar *s = ("Receiving From 8051...\r\n");uchar i = 0;while(s[i]!='\0'){SBUF = s[i];while(TI == 0);TI = 0;i++;}}。

相关文档
最新文档