采用MAX232实现MCS_51单片机与PC机的通信

合集下载

单片机与PC机的通信模块

单片机与PC机的通信模块

MAX232是由德州仪器公司推出的一款兼容RS232标准的芯片。

由于电脑串口RS232电平是-10V +10V,而一般的单片机应用系统的信号电压是TTL电平0 +5V, 所以,单片机和PC机是不能直接通信的,而MAX232就是用来进行电平转换的,该器件包含2个驱动器2个接收器和一个电压发生器电路提供TIA/EIA-232-F电平。

并且该器件符合TIA/EIA-232-F标准,每一个接收器将TIA/EIA-232-F电平转换成5-v TTL/CMOS电平转换成TIA/EIA-232-F电平。

MAX232的主要特性如下:
1)单5V电源工作。

2)LinBiCMOSTM工艺技术。

3)两个驱动器和两个接收器。

4)±30V输入电平。

5)低电源电流: 典型值是8mA。

6)符合甚至优于ANSI标准EIA/TIA-232-E及ITU推荐标准V.28。

7)ESD保护大于MIL-STD-883(方法3015)标准的2000V。

MAX232的管脚图
单片机与PC机通信模块电路图。

单片机与PC机串行通信

单片机与PC机串行通信

单片机与PC机串行通信一、实验要求单片机的串行口经MAX232(实际使用MAX202,二者功能兼容)电平转换后,与PC 串口相连,实现单片机和PC的通信。

二、实验目的1、掌握单片机串行口软件编程和硬件使用方法;2、了解Proteus虚拟终端的使用;3、了解PC超级终端(串口调试助手)和RS232的使用。

三、实验电路及连线硬件连接表注意事项:(1)实验箱上各模块是独立供电,实验时需要用到的模块都要给它提供电源,即+5V接口都要接到电源模块的+ 5V电源接口,GND接口可以不用接(默认实验箱上的GND网络都接在一起了),千万不要把+5V接口接到GND接口上,短路烧坏保险管。

(2)硬件连接表都是按照C语言编写的仿真工程连接硬件,适用于AT89S52、ATmega16单片机, PIC16F877A单片机请参照仿真工程接线,若做实验时用到汇编工程,请参照汇编工程里面的仿真电路连接硬件。

(3)RS232接口通过串口线与PC相连,打开串口调试助手,真确设置波特率,在串口调试助手界面观看实验现象。

四、实验说明1、主要知识点概述:本实验用到的主要知识点是:MAX232工作原理和Proteus虚拟终端使用。

(1)在简单的应用中,最常用的是MAX232电路。

它只需要有3条线即可完成通信,分别是第二脚RXD , 第3脚TXD ,第5脚GND。

串行通信与单片机之间的接口:RS-232C采用负逻辑规定逻辑电平,-5V—-15V为逻辑“1”电平,5V—+15V为“0”电平。

由于串行通信的电平逻辑定义是+15V(低电平0),-15V(高电平1) 而单片机中分别用5V ,0V 来表示1,0 它们之间必须通过电平转换才可以完成通信。

(2)此设计中将两个虚拟终端按图示挂于电路中,属性分别设置如下:VT1:VT2:2、实验效果说明:MCU不停向PC机发送数据,在屏幕上显示公司网站!等信息。

不同的单片机实验效果不同,具体请参照仿真的实验现象。

采用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的RS232接口串行通信实现研究-范文模板

51单片机与PC的RS232接口串行通信实现研究-范文模板

51单片机与PC的RS232接口串行通信实现研究-大学毕业论文毕业设计学位论文文模板参考资料目录一概述........................................................... 41.1 引言............................................................41.2 设计目的和意义..................................................4二案功能详述及论证............................................. 52.1 案功能详述....................................................52.1.1 总体功能设计..................................................52.1.2 具体功能模块设计..............................................52.2 案论证........................................................5三系统硬件设计................................................... 93.1 选用设备和设计总框图............................................93.2 串行接口通信硬件线路图.........................................93.3 电源电路.......................................................113.4 主要芯片说明...................................................113.4.1 单片机AT89C51 概述...........................................113.4.2MAX232 芯片简介: .............................................143.4.3 RS232 串行接口简介..........................................16四系统软件设计.................................................. 184.1 波特率的设置...................................................184.2 系统软件设计参考程序如下.......................................194.3 系统软件仿真...................................................204.4 系统程序流程图.................................................22五结论与展望.................................................... 23参考文献......................................................... 23 摘要本文设计了一种采用51 系列单片机与采用了MAX232 芯片的PC 通过标准的RS232 接口实现串行通信的功能。

采用MAX232实现MCS_51单片机与PC机的通信

采用MAX232实现MCS_51单片机与PC机的通信

文章编号:1004-2261(1999)02-057-05采用MAX232实现MCS -51单片机与PC 机的通信Ξ刘艳玲(天津理工学院机械系 天津 300191)摘要:介绍了MAX232芯片的使用,采用MAX232接口的通信电路,以及MCS -51单片机与PC 机的点对点串行通信程序设计1关键词:单片机;通信;MAX232;PC 机中图分类号:TG241 文献标识码:AThe use of communication bet w een MCS -51singlechip microcomputer and PC microcomputer with MAX 232L IU Yanling(Dept.of Mechanical Eng.,Tianjin Institute of Technology ,Tianjin 300191,China )Abstract :The chapter discusses about how to use MAX232in communication between the PC microcom 2puter and MCS -51single chip microcomputer by the point to other point series communication and com 2munication program design.K ey w ords :Single chip microcomputer ;Communication ;PC microcomputer ;MAX232在现代工业自动化控制中,单片机的应用越来越广泛1随着应用范围的扩大和解决问题的需要,对某些数据需要进行较复杂的处理1由于单片机的运算功能较差,借助PC 机来进行数据的处理已经显得尤为重要1因此,利用MCS -51单片机的串行接口与PC 机的串行接口COM1或COM2进行串行通信更具实际意义11 串行通信串行通信是指通信的发送方和接收方之间数据信息的传输是在单根数据线上,以每次一个二进制位移动的1它的优点是只需一对传输线进行传送信息,因此其成本低,适用于远距离通信;它的缺点是传送速度低1串行通信有异步通信和同步通信两种基本通信方式1同步通信适用于传送速度高的情况,其硬件复杂1而异步通信应用于传送速度在50到19200波特之间1是比较常用的传送方式1在异步通信中,数据是一帧一帧传送的,每一串行帧的数据格式由一位起始位,5~8位的数据位,一位奇偶校验位(可省略)和一位停止位四部分组成1在串行通信前,发送方和接收方要约定具体的数据格式和波特率(通信协议)1PC 机采用可编程串行异步通信控制器8250来实现异步串行通信1通过对8250的初始化编程,可以控制串行数据传送格式和速度1在PC 机中一般有两个标准RS -232C 串行接口COM1和COM21MCS -51系列单片机片内含有一个全双工的串行接口,通过编程也可实现串行通信功能1第15卷第2期1999年6月 天 津 理 工 学 院 学 报JOURNAL OF TIANJIN INSTITUTE OF TECHN OLOG Y  Vol.15No.2 J un.1999Ξ收稿日期:1998-12-07第一作者:刘艳玲(1963-),女,讲师2 RS -232C 标准RS -232C 是美国电子工业协会(EIA )正式公布的,在异步串行通信中应用最广的标准总线1该标准适用于DCE 和D TE 间的串行二进制通信,最高数据传送速率可达19.2kbps ,最长传送电缆可达15米1RS -232C 标准定义了25根引线,对于一般的双向通信,只需使用串行输入RXD ,串行输出TXD 和地线GND 1RS -232C 标准的电平采用负逻辑,规定+3V ~+15V 之间的任意电平为逻辑“0”电平,-3V ~-15V 之间的任意电平为逻辑“1”电平,与TTL 和CMOS 电平是不同的1在接口电路和计算机接口芯片中大都为TTL 或CMOS 电平,所以在通信时,必须进行电平转换,以便与RS -232C 标准的电平匹配1MAX232芯片可以完成电平转换这一工作13 MAX232芯片简介MAX232芯片是MAXIM 公司生产的低功耗、单电源双RS232发送/接收器1适用于各种EIA -232E 和V.28/V.24的通信接口1MAX232芯片内部有一个电源电压变换器,可以把输入的+5V电源变换成RS -232C 输出电平所需±10V 电压,所以采用此芯片接口的串行通信系统只要单一的+5V 电源就可以1MAX232外围需要4个电解电容C 1、C 2、C 3、C 4,是内部电源转换所需电容1其取值均为1μF/25V 1宜选用钽电容并且应尽量靠近芯片1C 5为0.1μF 的去耦电容1MAX232的引脚T1IN 、T2IN 、R1OU T 、R2OU T 为接TTL/CMOS 电平的引脚1引脚T1OU T 、T2OU T 、R1IN 、R2IN 为接RS -232C 电平的引脚1因此TTL/CMOS 电平的T1IN 、T2IN 引脚应接MCS -51的串行发送引脚TX D ;R1OU T 、R2OU T 应接MCS -51的串行接收引脚RX D 1与之对应的RS -232C 电平的T1OU T 、T2OU T 应接PC 机的接收端RD ;R1IN 、R2IN 应接PC 机的发送端TD 1图1 MAX232接口电路4 串行接口电路采用MAX 232接口的硬件接口电路如图1所示1现选用其中一路发送/接收1R1OU T 接MCS -51的RXD ,T1IN 接MCS -51的TXD 1T1OU T 接PC 机的RD ,R1IN 接PC 机的TD 1因为MAX232具有驱动能力,所以不需要外加驱动电路15 通信程序设计串行通信程序包括两方面,一方面是MCS -51单片机的通信程序,另一方面为PC 机的通信程序1在编写程序之前,制定其双方通信协议是十分重要的,否则将无法保证通信数据的可靠性,从而失去通信的意义1现约定其通信协议如下:1)串行通信波特率为1200bps 12)帧格式为:一位起始位,八位数据位,一位可编程的第九位(此位为发送和接收的地址/数据的标志位),一位停止位13)设定单片机的地址码为F1H 1在传送数据前先联络地址码,如地址码正确则传送数据,否则继续联络地址码14)无奇偶校验位1数据的通信采用累加和校验的方法,即每传送一组数据(个数自定,设为85 天 津 理 工 学 院 学 报 15卷100个),校验一次累加和是否正确,正确则回送00H ,否则回送FFH 15)通信可以有中断传送方式和查询方式1在这里介绍查询方式通信16)联络方式为PC 机主动联络MCS -51单片机17)PC 机采用COM2通信15.1 PC 机的通信程序设计PC 机的通信程序采用C 语言编写1它可以直接对PC 机的UAR T8250中各寄存器进行操作1程序框图如图2所示1图2 PC 机通信程序框图 图3 MCS -51单片机通信程序框图PC 机的串行通信程序如下:#include <stdio.h >#include <time.h >#define P10x2f8 /3COM2的口地址3/#define P20x2f9#define P30x2fb #define P40x2fc #define P50x2fd#define NO 100 /3个数3/FIL E 3p ; /3文件指针3/void unsigned sub1();void unsigned fasong ();unsigned char jieshou ();time-t T1,T2;int i ,data 〔100〕;unsigned char St ,St1,to ={0},toi ,Fa ,Jie ,Head ;main (){outportb (P3,0x80); /38250初始化3/outportb (P1,0x60); /3波特率1200bps 3/outportb (P2,0x0);outportb (P4,0x0);outportb (P2,0x0);start :95第2期 刘艳玲:采用MAX232实现MCS -51单片机与PC 机的通信 outportb(P3,0x2b); /3置传送地址3/if(kbhit())exit(0);/3有任意键按下退出3/sub1(); /3调发送一组字符函数3/ }void unsigned sub1() /3发送一组字符函数3/{ Fa=0xf1; while(1) { if(kbhit())exit(0);/3有任意键按下退出3/ fasong(Fa); /3发送地址3/ Jie=jieshou(); /3接收回送地址3/ if(Jie==Fa)break; /3正确则跳出3/ } outportb(P3,0x3b); /3置传送数据3/ if((p=fopen(“T.txt”,“r”))==NULL) /3打开文件3/{ printf(″\n cannot open file\n″); exit(0); }re: to=0; for(i=0;i<=NO;i++) { data〔i〕=fgetc(p); to=to+data〔i〕; fasong(data〔i〕); } fasong(to); /3发送累加和3/ toi=jieshou(); /3接收一字符3/ if(toi==0) {printf(″O K!\n″);/3如果相等显示O K!3/ fclose(p); } else { fseek(p,-NOL,SEEK-CUR);/3指针回退3/ goto re; }}void unsigned fasong(char data) /3发送一个字符函数3/{T1=time(NULL); /3读时间3/while(1){T2=time(NULL); /3读时间3/ if(difftime(T2,T1)>=1.00)/3超时,退出3/ { printf(″Error\n″); return;} St=inportb(P5); /3读状态3/ if((St&0x20)!=0) /3发送缓冲器空吗?3/ { outportb(P1,data); /3发送数据3/ break; } else continue; }}unsigned char jieshou()/3接收一个字符函数3/{T1=time(NULL); /3读时间3/while(1){ T2=time(NULL); /3读时间3/ if(difftime(T2,T1)>=1.00)/3超时,退出3/ {printf(″Error\n″); break;} St1=inportb(P5); /3读状态3/ if((St1&0x01)!=0) /3接收就绪吗?3/{ Head=inportb(P1);/3接收3/ break; } }return(Head); /3返回接收字符3/}5.2 MCS-51单片机的通信程序设计根据通信协议,因波特率为1200bps,现选用定时器T1作为波特率发生器,选用晶振为12MHZ,定时器T1工作于模式2,定时器初值为0E6H1MCS-51单片机的通信程序框图如图3所示1程序如下: OR G0000HLJ MP STAR TOR G0080HSTAR T:MOV A,#20H ;定时器初始化MOV TMOD,AMOV TH1,#0E6H MOV TL1,#0E6HMOV SCON,#0E0H ;串口初始化CL R EA ;清中断CL R ESCL R ET1SETB TR1ACALL SUB106 天 津 理 工 学 院 学 报 15卷 ;调接收一组数据子程序AJ MP $ ;通信结束SUB1:MOV SCON ,#0E0H SETB SM2LOOP :ACALL RESUB ;调接收子程序接收地址码MOV A ,R0CL R CSUBB A ,#0F1H ;是否为0FH J NZ LOOP ;否,重新接收地址MOV R7,#0F1H ;是,回送地址码ACALL TRSUB CL R SM2CL R TB8LOOP1:MOV DPTR ,#0100HMOV 20H ,#00H ;累加和初值为0MOV R3,#100 ;一组个数为100LOOP2:ACALL RESUB ;调接收子程序接收一字符MOV A ,R0MOVX @DPTR ,A ;存内存ADD A ,20H ;累加INC DPTR DJ NZ R3,LOOP2 ;个数减1不为0继续接收ACALL RESUB ;接收累加和MOV A ,R0C J N E A ,20H ,LOOP3 ;累加和是否相等MOV R7,#00H ;相等,回送00H ACALL TRSUBAJ MP LOOP4 ;转返回LOOP3:MOV R7,#0FFH ;不相等,回送FFH ACALL TRSUB CL R CAJ MP LOOP1 ;转重新接收LOOP4:RET ;返回TRSUB : ;发送一个数据子程序MOV A ,R7MOV SBU F ,A J NB TI ,$CL R TI RETRESUB : ;接收一个数据子程序SETB REN CL R RI J NB RI ,$CL R RI MOV A ,SBU F MOV R0,A RET6 结 论大多数RS -232C 技术规范的目标在于提供必要的定时和电压电平以驱动损耗较大的线路传输电缆,如MC1488、MC1489组成RS -232接口,则需要±12V 、+5V 电源供电,使TTL 和CMOS 逻辑的转换匹配1MAX232芯片兼取了RS -232C 的技术指标,并只需要+5V 电源1为串行通信带来了可靠的性能及低廉的价格1本文介绍的通信接口电路及程序已经在《电视智能监测系统》等系统中得到了实际应用,其效果良好1参 考 文 献:〔1〕李 泓.MCS -51系列单片机与IBM -PC 微机通信技术.电子技术应用.1996,7〔2〕《MAXIM “热门”IC 数据手册之六十二》.武汉力源单片机技术研究所,1994,11〔3〕李朝青编著.《单片机原理及接口设计》.北京:北京航空航天大学出版社,1994,916第2期 刘艳玲:采用MAX232实现MCS -51单片机与PC 机的通信 。

51单片机与PC机串行通信接口的设计

51单片机与PC机串行通信接口的设计

51单片机与PC机串行通信接口的设计作者:王玮来源:《硅谷》2009年第06期[摘要]介绍单片机与上位PC机串行通信的方法,设计单片机与PC机之间基于串行接口RS-232标准的串行通信接口电路。

系统使用MAX232芯片以及外围电路进行电平转换实现单片机串行通讯口与PC机串行通讯口的互连,给出单片机与PC机实现串行通信的软件设计方法。

[关键词]串行通信串行接口RS-232标准电平转换中图分类号:TP3文献标识码:A文章编号:1671-7597(2009)0320005-01一、引言近年来,单片机以其极高的性价比越来越多的在智能式仪表和工业过程控制中得到广泛的应用。

但由于其本身资源有限,在一些复杂过程或功能较多的控制中就难以满足要求,需要将单片机的数据送到上一级的微机进行处理。

因此实现上位机(PC机)与下位机(单片机)之间的数据可靠通信是必须解决的主要问题之一,在数据传输量不大的情况下,按照RS-232标准进行串行通信越来越多的服务于各种应用系统中。

二、串行通信的基本原理串行通信是指数据按位顺序传送的通信。

串行数据传送的特点是:通信线路简单,最多只需一对传输线即可实现通信,成本低但速度慢,其通信线路既能传送数据信息,又能传送联络控制信息;它对信息的传送格式有固定要求,具体分为异步和同步两种信息格式,与此相应有异步通信和同步通信两种方式;在串行通信中,对信息的逻辑定义与TTL不兼容,需要进行逻辑电平转换;计算机与外界的数据传送大多是串行的,其传送的距离可以从几米到几千公里。

单片机中使用的串行通信通常都是异步方式的。

(一)串行通信的两种基本方式1.异步传送方式异步传送的特点是数据在线路上的传送是不连续的。

在线路上数据是以一个字(或称字符)为单位来传送的。

异步传送时,各个字符可以是接连传送的,也可以是间断传送的,这完全由发送方根据需要来决定的。

另外,在异步传送时,同步时钟脉冲并不传送到接收方,即双方各用自己的时钟源来控制发送和接收。

单片机与PC机的串行通信系统

单片机与PC机的串行通信系统

单片机与PC机的串行通信系统作者:李晓蕊吕朝萍来源:《中国新通信》 2015年第14期李晓蕊吕朝萍南京邮电大学【摘要】我们研究了单片机与PC 机之间串行通信的方式,设计了一个串行通信系统,该系统的上位机为PC 机,下位机为MCS—51 单片机,本文主要介绍了采取专用电平转换芯片MAX232 实现了上位机与MCS-51 单片机间串行通信的有关技术方法。

并对此进行了具体实现,给出了下位机基于Keil μ Vision4 通信的核心控制代码。

【关键词】 MAX232 串口通信波特率单片机一、前言随着计算机网络技术与数据终端的普及,计算机的通信功能越来越重要。

计算机通信是指计算机与外部设备或计算机与计算机之间的信息交换。

通信有并行通信和串行通信两种方式。

在单片机系统以及现代测控系统中信息的交换多采用串行通信方式。

本文介绍了在Windows 环境下,利用串口调试助手实现PC 机与MCS—51 单片机之间串行通信的方法。

二、硬件接口设计1、串行通信接口标准:RS-232C 是EIA(美国电子工业协会)1969 年修订RS-232C 标准。

RS-232C 定义了数据终端设备(DTE)与数据通信设备(DCE)之间的物理接口标准。

目前PC机上均为RS-232C 接口。

单片机的逻辑电平(TTL 电平)与RS-232C 规定的逻辑电平不一致,因此需要使用专用电平转换芯片MAX232 芯片实现RS-232 电平与TTL 电平之间的转换[1][2]。

2、MAX232 芯片实现RS-232 电平与TTL 电平之间的转换。

MAX232 芯片是MAXIM 公司生产的、包含两路接收器和驱动器的IC 芯片,它的内部有一个电源电压变换器,可以把输入的+5V/0V 电源电压变换成RS-232 输出电平所需的+10V/-10V 电压。

所以,采用此芯片接口的串行通信系统只需要单一的+5V 就可以了。

在没有+12V 电源的场合,实用性更强,并且价格适中,硬件接口简单。

51单片机与PC机串口通信的仿真与实现

51单片机与PC机串口通信的仿真与实现

51单片机与PC机串口通信的仿真与实现作者:李健来源:《电脑知识与技术》2018年第32期摘要:介绍了利用几种常见软件实现的51单片机与PC机串口通信的仿真过程,可以在单片机课程的理论教学中加以应用,具有效率高、成本低等优点,有助于教师的教学和学生对知识的掌握和应用。

关键词:51单片机;PC机;串口通信;仿真中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2018)32-0038-02在实际应用中,单片机与PC机间的通信非常普遍[1]。

这时单片机主要完成现场数据采集和设备监控[2],PC机接收单片机发来的数据进行分析、处理,并对结果再次发送单片机进行现场控制等。

笔者在单片机课程的理论教学中,由于课堂上受到条件的约束,采用了纯软件的方法对单片机串口通信进行仿真和演示,便于实现和让学生理解。

下面通过一个实例来介绍51单片机与PC机之间串口通信的仿真与实现过程。

1 所需软件使用到的软件有:VSPD、Proteus、Keil和串口助手[3]。

VSPD是一个虚拟串口小软件,可以虚拟出一对串行接口用于仿真;Proteus是一款流行的单片机仿真软件,用于建立串口通信仿真电路;Keil是用于编写单片机程序的软件;串口助手是用于上位机即PC机的软件,用来向单片机发送数据,或者接收单片机发送来的数据并进行显示。

2 设计与仿真过程预期实现的功能为:PC机通过串口助手向单片机发送一个字节数据,单片机接收到后将数据的二进制形式通过八个数码管的亮灭显示出来,接收的“1”对应的灯亮,接收的“0”对应的灯灭。

同时单片机将接收的数据发回给PC机,PC机将数据在串口助手中再显示出来。

2.1 利用Proteus设计仿真电路如图1所示,在Proteus软件中选用AT89C51单片机、COMPIM、电阻和发光二极管组成仿真电路。

COMPIM在仿真中相当于PC机上配置的RS232标准串行接口,为D型九针插座[4]。

在实际中,单片机和PC机之间需要通过MAX232芯片进行电平转换才能连接,但在仿真图中可以直接将两者的RXD(接收数据)和TXD(发送数据)连接起来进行串行通信。

PC机与单片机进行串口通信

PC机与单片机进行串口通信

单片机与PC机串口通信电路1.概述部分在当今社会中信息数据的传输越来越重要,其中单片机与PC机串口通信也用的越来越广泛,故设计了单片机与PC机串口通信电路,采用AT89C51单片机为主控芯片,借助于MAX232芯片,实现单片机与PC机实现串口通信,可以在pc机上用串口调试助手发送和接收数据,电路中可以通过拨码开关设置数据,通过LED数码管显示接收的数据的功能。

2.系统组成部分2.1.系统组成框图图1 系统组成框图本系统采用AT89C51单片机为主控芯片,通过232接口来实现PC机与单片机之间进行通信,PC机上用串口可以发送接收数据,也可以通过拨码开关进行数据的设置,通过LED数码管(两位)显示接收的数据的功能。

2.2 系统的单元电路2.2.1系统的供电电路图2 系统的供电电路本电路采用+5V供电,采用电源抽头的形式,经过一大一小两个电容分别滤除低频和高频杂波。

2.2.2 系统的主控制器电路图3 系统的主控制器电路2.2.3 232接口电路MAX232实现TTL(CMOS)电平与RS232电平转换的功能。

它有两大优势:1.单电源5V供电,它内部有倍压电路,将5V可以转换成+12V和—12V,而MAX其它系列的芯片需要接双电源,如MAX231,MAX239等。

2.MAX232可以完成两路数据的输入和输出。

另外不同的芯片外接的电容值不一样,MAX232接的是0.1uf。

2.2.4数码管显示电路显示电路采用的是两个共阳极数码管的形式,采用的是74HC595的驱动形式3.软件控制流程单片机上电后,电源指示灯亮,在设置好端口和波特率后,采用字头(A5)+字长(数据的长度)+数据+校验(采用总和校验的方式)的通信协议的方式,进行数据的发送和接收,若数据的字头不是A5,则被认为是干扰数据,这组数据放弃接收,继续接收下一组数据,若数据的字长不在规定的范围内或接收的数据发生数据中断,可以采取没30US查询一次的方式,连续查询100次,查询100次后若数据仍然没有接到,则认为数据错误,每次将发送的数据通过串口显示在PC上,通过拨码开关来调节数据也可以发送数据,将数据显示在数码管上。

(完整word版)51单片机串口max232通信程序

(完整word版)51单片机串口max232通信程序

//工作晶振为11.0592MHz,否则出现返回值错误,一个字节的发送#include<regx52.h〉#define uchar unsigned char#define uint unsigned intuchar a,flag;uchar table[]={”very good "};//-———---—-——初始化定时器和串口-void inital_timer1(){TMOD=0X20;//必须使用定时器1,串口使用规定TH1=0Xfd;//定时器1,工作方式2,8位自动重装TL1=0Xfd;//高8位与低8位数值必须相同TR1=1; //定时器1允许位REN=1; //串口使能SM0=0;//串口工作方式设置,工作方式1SM1=1;ES=1; //串口中断使能EA=1; // 总中断使能}//——-—-—————串口中断——--—--—-void gorpe() interrupt 4{RI=0;//接受中断标志位,硬件置1,必须软件置0 a=SBUF;// 特殊功能寄存器flag=1;// 检测标志位}//————-接收数据,并向上位机作出反应(即发送返回数据)—--void display(){uchar i;if(flag==1){ES=0;//关闭串口中断,接下来要发送数据,否则发送完一个数据仍会产生中断,产生死循环for(i=0;i〈10;i++){SBUF=table[i];while(!TI);//判断是否发送完成TI=0;//发送中断标志位}SBUF=a;while(!TI);TI=0;ES=1;flag=0;}}。

RS-232实现单片机与PC间的串行通信

RS-232实现单片机与PC间的串行通信

RS-232实现单片机与PC间的串行通信串行通信是计算机与外设之间数据传输的一种方式。

RS-232是一种经典的串行通信标准,它被广泛应用于单片机与PC之间的通信。

什么是RS-232协议RS-232是一种串行通信接口标准,它定义了单片机与外设之间信号的电气特性、传输协议和机械连接方式。

RS-232标准的发展可以追溯到20世纪60年代,在数十年的时间里,它成为了计算机与外设之间最常见的传输方式之一。

RS-232标准规定了单片机与PC之间使用的物理连接、数据传输的时序和控制信号等方面的细节。

它定义了一组信号电平和电气特性,用于在两个设备之间传输数据。

RS-232标准的物理层使用了DB-9或DB-25连接器,其中DB-9连接器是最常见的。

在RS-232协议中,数据被分割成小的数据包进行传输。

每个数据包由一个起始位、数据位、奇偶校验位和一个或多个停止位组成。

这些位用于将数据解释为字符并将其传输到目的地设备。

如何使用RS-232实现单片机与PC间的串行通信要使用RS-232实现单片机与PC间的串行通信,需要实现以下几个方面:1.物理连接:使用RS-232标准定义的连接器,将单片机和PC连接起来。

2.电气特性:保证单片机和PC之间的电气特性匹配。

3.传输协议:使用RS-232标准定义的数据传输协议,将数据从单片机发送到PC,或者从PC发送到单片机。

4.数据编码:将数据编码为RS-232标准定义的数据格式。

以上所有方面都需要实现正确,才能使单片机与PC间的串行通信正常进行。

RS-232实现单片机与PC间的串行通信的优缺点RS-232协议是单片机与PC间串行通信的经典标准,它具有以下优缺点:优点:1.稳定性高:RS-232协议信号电平的质量非常高,能够保证数据传输的稳定性和可靠性。

2.延迟低:RS-232协议传输速度相对较慢,但延迟非常低,能够及时传输数据。

3.成本低:RS-232协议使用简单、成本低廉,适合开发者在项目中广泛使用。

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 机上可以迅速设计出应用系统的图文显示控制界面,且具有通用性,易于移植。

基于MAX232实现PC机与CPU通信

基于MAX232实现PC机与CPU通信

基于MAX232实现PC机与CPU通信
随着单片微型计算机技术的发展,人们经常采用单片机对自动化系统的参数(如温度、压力和速度等)进行检测和控制。

单片机之所以被广泛使用,是因为它具有灵活快速的控制能力,而PC机则具有强大的管理和监控
功能;因此,PC机与外部设备进行串行通信在许多测控系统中得到广泛应用。

鉴于此,利用MAX芯片制作串行接口实现PC机与单片机之间的信息交换方法具有十分重要的意义。

1、硬件电路的制作
1.1、串行通信
串行通信是指用1条数据线,将数据依次传输,每一位数据占据1个固定的时间长度。

串行通信只需要少数几条线就可以在系统间交换信息,特
别适合在计算机与计算机、计算机与外设之间进行通信,具有使用线路少和
成本低的优点,特别是在远程传输时,避免了多条线路特性的不一致。

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

同步串行通信一般
用在传输速度较快的场合,但对硬件的要求也相对较高;而异步串行通信常
用在传输速率50~115200B/S,对硬件的要求相对较低,是应用最为广泛的串行通信方式。

异步通信在传输数据时是逐帧传输的,而每一帧的数据格式
分为四部分:1位起始位,5~8位的数据位,1位奇偶校验位和1、1.5或。

MAX232与单片机通信电路图

MAX232与单片机通信电路图

MAX232与单片机通信电路图2009-11-13 21:27实验板加个串行接口吧。

借助电脑转件直观的看单片机的输出结果,以后我还会用一些简单的实例讲解单片机和PC串口通讯的简单应用和编程。

如果你用的是成品实验板或仿真器,那你就可以跳过这一段了。

在制作电路前我们先来看看要用的MAX232,这里我们不去具体讨论它,只要知道它是TTL和RS232电平相互转换的芯片和基本的引脚接线功能就行了。

通常我会用两个小功率晶体管加少量的电路去替换MAX232,可以省一点,效果也不错。

下图就是MAX232的基本接线图。

图为MAX232在上两课的电路的基础上按下面的图加上MAX232就可以了。

这大热天的拿烙铁焊焊,还真的是热气迫人来呀:P串口座用DB9的母头,这样就可以用买来的PC串口延长线进行和电脑相连接,也可以直接接到电脑com口上。

图为DB9接头图为加上了MAX232的实验电路做好后我们就先用回第一课的"Hello World!"程序,用它来和你的电脑说声Hello!把程序烧到芯片上,把串口连接好。

嘿嘿,这时要打开你的串口调试软件,没有就赶快到网上DOWN一个了。

你会用Windows的超级中端也行,不过我从不用它。

我用的是comdebug,它是个不错的软件,我喜欢它是因为它功能好而且还有"线路状态"功能,这对我制作小玩意时很有用。

串口号,波特率调好,打开串口,单片机上电,就可以在接收区看到不断出现的"Hello World!"。

一定要先打开软件的串口,再把单片机上电,否则可能因字符不对齐而看到乱码哦。

做好后我们就先用回第一课的"Hello World!"程序,用它来和你的电脑说声Hello!把程序烧到芯片上,把串口连接好。

嘿嘿,这时要打开你的串口调试软件,没有就赶快到网上DOWN一个了。

你会用Windows的超级中端也行,不过我从不用它。

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 通信和网络通信。

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

单片机与PC机RS232串行通讯设计讲解

单片机与PC机RS232串行通讯设计讲解

课程设计单片机与PC机RS232串行通讯设计班级学号学生姓名指导教师目录第一章摘要----------------------------------------------------------------- (3)第二章简介------------------------------------------------------------------(3)2.1单片机的应用模式-------------------------------------------------(3)2.2单片机在工业中的应用--------------------------------------------(4)2.3单片机与PC串口间通讯设计的应用--------------------------(4)第三章系统设计-----------------------------------------------------------(4)3.1设计思路-------------------------------------------------------------(4)3.2系统组成-------------------------------------------------------------(5)3.3 单元硬件电路设计----------------------------------------------- (5)3.3.1硬件的实现过程------------------------------------------------(5)3.3.2 RS-232接口电路----------------------------------------------- (5)3.3.2.1 MAX-232接口电路--------------------------------------(6)3.4 51单片机与PC机串行通信电路-----------------------------(8)3.5 软件设计------------------------------------------------------------(9)第四章实验结果与讨论---------------------------------------------------(9)4.1 程序设计-----------------------------------------------------------(9)4.2实验操作及运行结果--------------------------------------------(17)4.3调试分析-----------------------------------------------------------(18)第五章心得体会-----------------------------------------------------------(19)第六章参考文献-----------------------------------------------------------(19)第七章附录-----------------------------------------------------------------(20)第一章摘要51单片机是一种集CPU,RAM,FLASH ROM,I/O接口和定时中断系统于一体的微型计算机。

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]。

MAX232与单片机通信电路图

MAX232与单片机通信电路图

MAX232与单片机通信电路图2009-11-13 21:27实验板加个串行接口吧。

借助电脑转件直观的看单片机的输出结果,以后我还会用一些简单的实例讲解单片机和PC串口通讯的简单应用和编程。

如果你用的是成品实验板或仿真器,那你就可以跳过这一段了。

在制作电路前我们先来看看要用的MAX232,这里我们不去具体讨论它,只要知道它是TTL和RS232电平相互转换的芯片和基本的引脚接线功能就行了。

通常我会用两个小功率晶体管加少量的电路去替换MAX232,可以省一点,效果也不错。

下图就是MAX232的基本接线图。

图为MAX232在上两课的电路的基础上按下面的图加上MAX232就可以了。

这大热天的拿烙铁焊焊,还真的是热气迫人来呀:P串口座用DB9的母头,这样就可以用买来的PC串口延长线进行和电脑相连接,也可以直接接到电脑com口上。

图为DB9接头图为加上了MAX232的实验电路做好后我们就先用回第一课的"Hello World!"程序,用它来和你的电脑说声Hello!把程序烧到芯片上,把串口连接好。

嘿嘿,这时要打开你的串口调试软件,没有就赶快到网上DOWN一个了。

你会用Windows的超级中端也行,不过我从不用它。

我用的是comdebug,它是个不错的软件,我喜欢它是因为它功能好而且还有"线路状态"功能,这对我制作小玩意时很有用。

串口号,波特率调好,打开串口,单片机上电,就可以在接收区看到不断出现的"Hello World!"。

一定要先打开软件的串口,再把单片机上电,否则可能因字符不对齐而看到乱码哦。

做好后我们就先用回第一课的"Hello World!"程序,用它来和你的电脑说声Hello!把程序烧到芯片上,把串口连接好。

嘿嘿,这时要打开你的串口调试软件,没有就赶快到网上DOWN一个了。

你会用Windows的超级中端也行,不过我从不用它。

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

文章编号:1004-2261(1999)02-057-05采用MAX232实现MCS -51单片机与PC 机的通信Ξ刘艳玲(天津理工学院机械系 天津 300191)摘要:介绍了MAX232芯片的使用,采用MAX232接口的通信电路,以及MCS -51单片机与PC 机的点对点串行通信程序设计1关键词:单片机;通信;MAX232;PC 机中图分类号:TG241 文献标识码:AThe use of communication bet w een MCS -51singlechip microcomputer and PC microcomputer with MAX 232L IU Yanling(Dept.of Mechanical Eng.,Tianjin Institute of Technology ,Tianjin 300191,China )Abstract :The chapter discusses about how to use MAX232in communication between the PC microcom 2puter and MCS -51single chip microcomputer by the point to other point series communication and com 2munication program design.K ey w ords :Single chip microcomputer ;Communication ;PC microcomputer ;MAX232在现代工业自动化控制中,单片机的应用越来越广泛1随着应用范围的扩大和解决问题的需要,对某些数据需要进行较复杂的处理1由于单片机的运算功能较差,借助PC 机来进行数据的处理已经显得尤为重要1因此,利用MCS -51单片机的串行接口与PC 机的串行接口COM1或COM2进行串行通信更具实际意义11 串行通信串行通信是指通信的发送方和接收方之间数据信息的传输是在单根数据线上,以每次一个二进制位移动的1它的优点是只需一对传输线进行传送信息,因此其成本低,适用于远距离通信;它的缺点是传送速度低1串行通信有异步通信和同步通信两种基本通信方式1同步通信适用于传送速度高的情况,其硬件复杂1而异步通信应用于传送速度在50到19200波特之间1是比较常用的传送方式1在异步通信中,数据是一帧一帧传送的,每一串行帧的数据格式由一位起始位,5~8位的数据位,一位奇偶校验位(可省略)和一位停止位四部分组成1在串行通信前,发送方和接收方要约定具体的数据格式和波特率(通信协议)1PC 机采用可编程串行异步通信控制器8250来实现异步串行通信1通过对8250的初始化编程,可以控制串行数据传送格式和速度1在PC 机中一般有两个标准RS -232C 串行接口COM1和COM21MCS -51系列单片机片内含有一个全双工的串行接口,通过编程也可实现串行通信功能1第15卷第2期1999年6月 天 津 理 工 学 院 学 报JOURNAL OF TIANJIN INSTITUTE OF TECHN OLOG Y  Vol.15No.2 J un.1999Ξ收稿日期:1998-12-07第一作者:刘艳玲(1963-),女,讲师2 RS -232C 标准RS -232C 是美国电子工业协会(EIA )正式公布的,在异步串行通信中应用最广的标准总线1该标准适用于DCE 和D TE 间的串行二进制通信,最高数据传送速率可达19.2kbps ,最长传送电缆可达15米1RS -232C 标准定义了25根引线,对于一般的双向通信,只需使用串行输入RXD ,串行输出TXD 和地线GND 1RS -232C 标准的电平采用负逻辑,规定+3V ~+15V 之间的任意电平为逻辑“0”电平,-3V ~-15V 之间的任意电平为逻辑“1”电平,与TTL 和CMOS 电平是不同的1在接口电路和计算机接口芯片中大都为TTL 或CMOS 电平,所以在通信时,必须进行电平转换,以便与RS -232C 标准的电平匹配1MAX232芯片可以完成电平转换这一工作13 MAX232芯片简介MAX232芯片是MAXIM 公司生产的低功耗、单电源双RS232发送/接收器1适用于各种EIA -232E 和V.28/V.24的通信接口1MAX232芯片内部有一个电源电压变换器,可以把输入的+5V电源变换成RS -232C 输出电平所需±10V 电压,所以采用此芯片接口的串行通信系统只要单一的+5V 电源就可以1MAX232外围需要4个电解电容C 1、C 2、C 3、C 4,是内部电源转换所需电容1其取值均为1μF/25V 1宜选用钽电容并且应尽量靠近芯片1C 5为0.1μF 的去耦电容1MAX232的引脚T1IN 、T2IN 、R1OU T 、R2OU T 为接TTL/CMOS 电平的引脚1引脚T1OU T 、T2OU T 、R1IN 、R2IN 为接RS -232C 电平的引脚1因此TTL/CMOS 电平的T1IN 、T2IN 引脚应接MCS -51的串行发送引脚TX D ;R1OU T 、R2OU T 应接MCS -51的串行接收引脚RX D 1与之对应的RS -232C 电平的T1OU T 、T2OU T 应接PC 机的接收端RD ;R1IN 、R2IN 应接PC 机的发送端TD 1图1 MAX232接口电路4 串行接口电路采用MAX 232接口的硬件接口电路如图1所示1现选用其中一路发送/接收1R1OU T 接MCS -51的RXD ,T1IN 接MCS -51的TXD 1T1OU T 接PC 机的RD ,R1IN 接PC 机的TD 1因为MAX232具有驱动能力,所以不需要外加驱动电路15 通信程序设计串行通信程序包括两方面,一方面是MCS -51单片机的通信程序,另一方面为PC 机的通信程序1在编写程序之前,制定其双方通信协议是十分重要的,否则将无法保证通信数据的可靠性,从而失去通信的意义1现约定其通信协议如下:1)串行通信波特率为1200bps 12)帧格式为:一位起始位,八位数据位,一位可编程的第九位(此位为发送和接收的地址/数据的标志位),一位停止位13)设定单片机的地址码为F1H 1在传送数据前先联络地址码,如地址码正确则传送数据,否则继续联络地址码14)无奇偶校验位1数据的通信采用累加和校验的方法,即每传送一组数据(个数自定,设为85 天 津 理 工 学 院 学 报 15卷100个),校验一次累加和是否正确,正确则回送00H ,否则回送FFH 15)通信可以有中断传送方式和查询方式1在这里介绍查询方式通信16)联络方式为PC 机主动联络MCS -51单片机17)PC 机采用COM2通信15.1 PC 机的通信程序设计PC 机的通信程序采用C 语言编写1它可以直接对PC 机的UAR T8250中各寄存器进行操作1程序框图如图2所示1图2 PC 机通信程序框图 图3 MCS -51单片机通信程序框图PC 机的串行通信程序如下:#include <stdio.h >#include <time.h >#define P10x2f8 /3COM2的口地址3/#define P20x2f9#define P30x2fb #define P40x2fc #define P50x2fd#define NO 100 /3个数3/FIL E 3p ; /3文件指针3/void unsigned sub1();void unsigned fasong ();unsigned char jieshou ();time-t T1,T2;int i ,data 〔100〕;unsigned char St ,St1,to ={0},toi ,Fa ,Jie ,Head ;main (){outportb (P3,0x80); /38250初始化3/outportb (P1,0x60); /3波特率1200bps 3/outportb (P2,0x0);outportb (P4,0x0);outportb (P2,0x0);start :95第2期 刘艳玲:采用MAX232实现MCS -51单片机与PC 机的通信 outportb(P3,0x2b); /3置传送地址3/if(kbhit())exit(0);/3有任意键按下退出3/sub1(); /3调发送一组字符函数3/ }void unsigned sub1() /3发送一组字符函数3/{ Fa=0xf1; while(1) { if(kbhit())exit(0);/3有任意键按下退出3/ fasong(Fa); /3发送地址3/ Jie=jieshou(); /3接收回送地址3/ if(Jie==Fa)break; /3正确则跳出3/ } outportb(P3,0x3b); /3置传送数据3/ if((p=fopen(“T.txt”,“r”))==NULL) /3打开文件3/{ printf(″\n cannot open file\n″); exit(0); }re: to=0; for(i=0;i<=NO;i++) { data〔i〕=fgetc(p); to=to+data〔i〕; fasong(data〔i〕); } fasong(to); /3发送累加和3/ toi=jieshou(); /3接收一字符3/ if(toi==0) {printf(″O K!\n″);/3如果相等显示O K!3/ fclose(p); } else { fseek(p,-NOL,SEEK-CUR);/3指针回退3/ goto re; }}void unsigned fasong(char data) /3发送一个字符函数3/{T1=time(NULL); /3读时间3/while(1){T2=time(NULL); /3读时间3/ if(difftime(T2,T1)>=1.00)/3超时,退出3/ { printf(″Error\n″); return;} St=inportb(P5); /3读状态3/ if((St&0x20)!=0) /3发送缓冲器空吗?3/ { outportb(P1,data); /3发送数据3/ break; } else continue; }}unsigned char jieshou()/3接收一个字符函数3/{T1=time(NULL); /3读时间3/while(1){ T2=time(NULL); /3读时间3/ if(difftime(T2,T1)>=1.00)/3超时,退出3/ {printf(″Error\n″); break;} St1=inportb(P5); /3读状态3/ if((St1&0x01)!=0) /3接收就绪吗?3/{ Head=inportb(P1);/3接收3/ break; } }return(Head); /3返回接收字符3/}5.2 MCS-51单片机的通信程序设计根据通信协议,因波特率为1200bps,现选用定时器T1作为波特率发生器,选用晶振为12MHZ,定时器T1工作于模式2,定时器初值为0E6H1MCS-51单片机的通信程序框图如图3所示1程序如下: OR G0000HLJ MP STAR TOR G0080HSTAR T:MOV A,#20H ;定时器初始化MOV TMOD,AMOV TH1,#0E6H MOV TL1,#0E6HMOV SCON,#0E0H ;串口初始化CL R EA ;清中断CL R ESCL R ET1SETB TR1ACALL SUB106 天 津 理 工 学 院 学 报 15卷 ;调接收一组数据子程序AJ MP $ ;通信结束SUB1:MOV SCON ,#0E0H SETB SM2LOOP :ACALL RESUB ;调接收子程序接收地址码MOV A ,R0CL R CSUBB A ,#0F1H ;是否为0FH J NZ LOOP ;否,重新接收地址MOV R7,#0F1H ;是,回送地址码ACALL TRSUB CL R SM2CL R TB8LOOP1:MOV DPTR ,#0100HMOV 20H ,#00H ;累加和初值为0MOV R3,#100 ;一组个数为100LOOP2:ACALL RESUB ;调接收子程序接收一字符MOV A ,R0MOVX @DPTR ,A ;存内存ADD A ,20H ;累加INC DPTR DJ NZ R3,LOOP2 ;个数减1不为0继续接收ACALL RESUB ;接收累加和MOV A ,R0C J N E A ,20H ,LOOP3 ;累加和是否相等MOV R7,#00H ;相等,回送00H ACALL TRSUBAJ MP LOOP4 ;转返回LOOP3:MOV R7,#0FFH ;不相等,回送FFH ACALL TRSUB CL R CAJ MP LOOP1 ;转重新接收LOOP4:RET ;返回TRSUB : ;发送一个数据子程序MOV A ,R7MOV SBU F ,A J NB TI ,$CL R TI RETRESUB : ;接收一个数据子程序SETB REN CL R RI J NB RI ,$CL R RI MOV A ,SBU F MOV R0,A RET6 结 论大多数RS -232C 技术规范的目标在于提供必要的定时和电压电平以驱动损耗较大的线路传输电缆,如MC1488、MC1489组成RS -232接口,则需要±12V 、+5V 电源供电,使TTL 和CMOS 逻辑的转换匹配1MAX232芯片兼取了RS -232C 的技术指标,并只需要+5V 电源1为串行通信带来了可靠的性能及低廉的价格1本文介绍的通信接口电路及程序已经在《电视智能监测系统》等系统中得到了实际应用,其效果良好1参 考 文 献:〔1〕李 泓.MCS -51系列单片机与IBM -PC 微机通信技术.电子技术应用.1996,7〔2〕《MAXIM “热门”IC 数据手册之六十二》.武汉力源单片机技术研究所,1994,11〔3〕李朝青编著.《单片机原理及接口设计》.北京:北京航空航天大学出版社,1994,916第2期 刘艳玲:采用MAX232实现MCS -51单片机与PC 机的通信 。

相关文档
最新文档