实验单片机与PC机串口通信

合集下载

单片机MSP430与PC机串口通讯设计

单片机MSP430与PC机串口通讯设计

单片机MSP430与PC机串口通讯设计一、引言串口通信是指通过串行通信接口进行数据传输的一种通信方式。

单片机MSP430和PC机的串口通信设计可以实现二者之间的数据传输和通信交互。

本文将从串口介绍、硬件设计和软件实现等方面详细介绍该设计。

二、串口介绍串口是一种串行通信接口,常用的有RS232和RS485等。

RS232是一种使用较为广泛的串口通信协议。

RS232接口有三根线,分别为发送线Tx、接收线Rx和地线GND。

该协议规定,发送端与接收端之间的电平差为±3至±15V,其中正电平表示逻辑0,负电平表示逻辑1三、硬件设计1.MSP430硬件设计MSP430是一种低功耗的专用于嵌入式应用的16位RISC微控制器。

它具有丰富的外设资源,包括多个通用输入输出引脚(GPIO)和两个USART (UART)接口。

其中一个USART接口用于将MSP430与PC机连接。

2.PC机硬件设计PC机通过串口连接到MSP430。

首先,需要将PC机的串口RS232转换为TTL电平,即RS232转TTL电平转换器。

其次,将转换后的TTL电平通过杜邦线连接至MSP430的USART接口的Tx和Rx引脚。

四、软件实现1.MSP430软件设计(1)串口初始化:设置数据位长度、停止位、奇偶校验等。

(2)发送数据:将要发送的数据存入发送缓冲区,并使能发送中断。

(3)接收数据:开启接收中断,并将接收到的数据存入接收缓冲区。

(4)中断处理:发送中断和接收中断时,分别从发送缓冲区和接收缓冲区读取数据并发送/接收。

2.PC机软件设计(1)打开串口:设置串口参数,如波特率、数据位长度等。

(2)发送数据:向串口发送数据,可以通过打开的串口进行写入。

(3)接收数据:使用轮询或中断方式读取串口接收到的数据。

五、总结与展望本文详细介绍了单片机MSP430与PC机串口通信设计,主要包括了串口介绍、硬件设计和软件实现。

通过串口通信,MSP430和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机发送数据,在屏幕上显示公司网站!等信息。

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

实验6 单片机与PC机间的串行通信

实验6  单片机与PC机间的串行通信

实验6 单片机与PC机间的串行通信一、实验目的1、掌握电平转换器件RS-232的使用方法;2、掌握Proteus VSM虚拟终端(VITUAL TERMINAL)的使用;3、掌握单片机与PC机间的串行通信软硬件设计方法。

二、实验内容实现利用虚拟终端仿真单片机与PC机间的串行通信。

PC机先发送从键盘输入的数据,单片机接收后回发给PC机。

单片机同时将收到的30~39H间的数据转换成0~9的数字显示,其他字符的数据直接显示为其ASCII码。

单片机和PC机进行通信时,要求使用的波特率、传送的位数等相同。

要能够进行数据传送也必须首先测试双方是否可以可靠通信。

可在PC机和单片机上各编制非常短小的程序,具体可分成PC机串行口发送接收程序、单片机串行口发送程序和单片机串行口发送接收程序。

这三个程序能运行通过,即可证明串行口工作正常。

PC机串行口发送接收程序设置串行口为波特率9600、8位数据、1位停止位、无奇偶校验的简单设置。

从键盘接收的字符可从串行口发送出去,从串行口接收的字符在屏幕上显示。

通过让串行口发送线和接收线短接可测试微机串行口,通过让串行口和单片机系统相接,使用此程序可进一步测试单片机的串行通信状况。

具体程序用BASIC编制,简单易懂。

直接输入即可运行。

程序RS232.三、实验电路原理图图7-1 单片机与PC机间电路原理图四、实验步骤1、在PROTEUS中画好电路原理图。

2、串口模型属性设置串口模型属性设置为:波特率―4800;数据位―8;奇偶校验―无;停止位-1,如图7-2所示。

图7-2 串口模型属性设置3、虚拟终端属性设置PCT代表计算机发送数据,PCR用来监视PC接收到的数据,它们的属性设置完全一样,如图7-3所示。

SCMT和SCMR分别是单片机的数据发送和接收终端,用来监视单片机发送和接收的数据,它们的属性设置也完全一样,如图7-4所示。

单片机和PC机双方的波特率、数据位、停止位和检验位等要确保和串口模型的设置一样,并且同单片机程序中串口的设置一致。

单片机与PC机通信实验实验报告

单片机与PC机通信实验实验报告

单片机与PC机通信实验实验报告一、实验目的进一步学习使用Keil C51集成环境和硬件实验箱。

(1)学习UART的初始化和波特率设置;(2)学习接收程序的设计;(3)学习发送程序的设计。

二、实验环境准备1.、本计算机系统已经安装Keil C51 开发环境。

2、以“MCU+各自的学号”为文件夹名建立自己的单片机实验目录。

再在该文件夹下建立实验目录“EX??”,“??”为实验序号。

三、要求完成的实验内容1、定时器0,设置为2ms定时中断;定时器1,设置为波特率发生器,定时方式,允许不中断;使用11.0592MHz晶振,请计算2400波特率的时间常数,_____0CH______,T1的计数初值__ F4H____。

TMOD______22H______ SMOD=02、UART设置为中断允许,8为数据,一个起始位置,一个停止位,即M0 M1=01H ,M2=1,REN = 1 , SCON _______77H___________;PCON中的SMOD=03、在当前实验文件夹中,建立ExPrj07.uv2,将上一次实验的源文件Ex06.c,复制到当前文件夹,改名为“EX07.C”,存放在实验文件夹中。

将EXP07.C添加到工程中。

4、如果8051MCU与PC通信,则将51的TXD=>PC的RXD,51的RXD<= PC的TXD。

请理解和掌握8051的P3.0输出的电平是经过哪些芯片转换至RS232电平的?由于本实验仿真系统占用了PC机仅有的一个串口,所以,无法进行MCU与PC间的通信,本实验需将实验箱上8051连接的RS232端口的2、3脚短接,进行8051自发自收的串行通信实验。

5、在主程序中初始化定时器0、SCON、PCON、IE、IP,请参考以往实验;6、串行中断服务程序具体见下面的程序。

单片机与PC机串口通信实验报告

单片机与PC机串口通信实验报告

单片机与PC机串口通讯学生:何绍金学号:201203870408专业班级:自动化1202指导老师:杨东勇2014年12月一、实验目的学习PC机的串口通讯原理。

二、实验设备统一电子开发平台。

三、实验要求单片机与电脑串口通讯,将单片机与电脑相连,借助串口调试助手,单片机发送“which led is light?”,串口调试助手中输入1-8个数字中一个,相应的led点亮,单片机再发送“which led is light?”消息提示输入下一个需要点亮的灯。

通讯波特率:9600bps,信息格式:无校验位+8个数据位+1个停止位,传送方式,单片机采用中断方式接收信息。

四、实验原理鉴于8051单片机输入、输出电平均为TTL/CMOS电平,而计算机配置的是RS232标准串行接口,使用的是RS232标准电平(逻辑0:+3V~+15V,逻辑1:约-3V~-15V),二者的电气规范不一致,因此要完成PC机与单片机的数据通讯,必须进行电平转换。

这里,我们介绍Sipex公司的SP3232电平转换专用芯片[7]。

1.SP3232的工作原理SP3232的引脚如图1所示。

图1 SP3232引脚图SP3232管脚定义如表1所示:SP3232的内部包括3个部分:充电泵电压变换器,发送(传输器),以及接收装如图2”。

2.实验原理图实验原理图如图3所示。

图3 单片机与PC机串口通讯实验硬件原理图图4-2六、实验思考题如果PC机连续发送数字字符,如何避免错漏接收字符?答:利用中断判断是否接受完一个数字字符,接受完后再接收下一个数字字符。

附:实验源代码;********************ASM汇编实验*******************; 工程:; 晶振: 11.0592M;*************************************************//#include "REG_MPC82G516.INC" /* 如果用到MPC82G516的特殊寄存器请包含这个头文件*/ORG 0000HAJMP MAINORG 0023HAJMP INT_COM1MAIN:MOV SCON,#50H ;;MOV TMOD,#20H ; ;设置波特率MOV TH1,#0FDH ; ;SETB TR1;SETB EA;允许总的中断SETB ESMOV R1,#01H ;发送消息判断标志,1 代表发送,0 代表不发送CALL SHOW ;发送显示灯选择消息LOOP:CALL LED1SJMP LOOPINT_COM1:PUSH PSW ;保存寄存器数据。

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上,通过拨码开关来调节数据也可以发送数据,将数据显示在数码管上。

单片机与PC机串口通信实验

单片机与PC机串口通信实验

西华大学实验报告(理工类)开课学院及实验室:机械学院机械工程专业实验中心实验时间:年月日至月日1.实验目的(1)学习Keil编译软件的使用、调试、程序下载的方法;(2)掌握PWM调节LED指示灯亮度的原理及编程方法;(3)掌握STC89C52单片机I/O端口的控制和使用方法;(4)掌握单片机与上位机串口通讯的原理及程序实现;(5)掌握AD转换、LCD显示的编程实现;(6)对单片机的串口通讯、PWM控制、AD转换、LED指示灯、LED数码管,及按键、定时器/计数器进行综合应用。

2.实验设备PC机、keil编译软件、proteus仿真软件,单片机实验板、STC_ISP_V4793.实验内容在上位机界面设计八个按钮(或者复选框)及指示灯,当按下按钮(或者选中复选框)时,下位机P1口对应的八个指示灯变亮,同时上位机界面上对应的指示灯也变亮;关闭时类似。

4.实验电路图 STC89C52主控芯片图 LED流水灯图 USB转串口5.实验程序#include""#define uchar unsigned char#define uint unsigned intuchar date;//存储串行口数据void int_t1()//初始化程序{SCON=0x50;//设置串行口为工作方式1,并允许接收数据TMOD = 0x20;//设置计数器为方式2PCON=0X00;//SMOD=0,32分频TH1 = 0xFD;//设置波特率为9600TL1 = 0xFD;ES=1;//打开接收中断EA=1;//打开总中断TR1=1;//打开计数器T1}void main(){ P1=0xff;//P1口灯全灭int_t1();//初始化程序while(1){//当接收到字符1时,对应第一个灯(0xfe=)亮if(date =='1'){P1=0xfe;}if(date =='2'){P1=0Xfd;}if(date =='3'){P1=0Xfb;}if(date =='4'){P1=0Xf7;}if(date =='5'){P1=0Xef;}if(date =='6'){P1=0Xdf;}if(date =='7'){P1=0Xbf;}if(date =='8'){P1=0X7f;}}}void mov_t1() interrupt 4{date=SBUF;//取出接收到的数据RI = 0;//清除接收中断标志位}6.实验结果上位机输入字符5,如图所示,则下位机第5个灯亮,如图所示。

单片机串行口与及PC机通讯实验实验报告

单片机串行口与及PC机通讯实验实验报告

单片机系统设计及应用实验报告第次实验实验名称:单片机串行口与PC机通讯实验专业:姓名:学号:同组人员:学号:实验地点:实验时间:2016.12.15评定成绩:审阅教师:目录实验目的 (1)实验内容及要求 (4)实验原理及程序设计流程图 (5)调试过程及相关记录 (6)正确源代码 (6)实验心得 (7)一.实验目的(1)掌握串行口工作方式的程序设计,掌握单片机通讯的编制;(2)了解实现串行通讯的硬环境,数据格式的协议,数据交换的协议;(3)了解PC机通讯的基本要求。

二.实验内容及要求利用8051单片机串行口,实现与PC机通讯。

本实验实现以下功能,将从实验板键盘上键入的字符或数字显示到PC机显示器上,再将PC机所接收的字符发送回单片机,并在实验板的LED上显示出来。

三.实验原理89C51内部有一个可编程全双工串行通信接口。

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

本实验LED显示是在方式0下,串行口作为同步移位寄存器使用。

此时SM2、RB8、TB8均应设置为0。

发送数据:TI=0时,执行“MOV SBUF,A”启动发送,8位数据由低位到高位从RXD引脚送出,TXD发送同步脉冲。

发送完后,由硬件置位TI。

方式0的波特率为fosc/12,即一个机器周期发送或接收一位数据。

与PC通讯是方式1:一帧10位的异步串行通信方式,包括1个起始位,8个数据位和一个停止位。

当TI=0时,执行“MOV SBUF,A”指令后开始发送。

发送时的定时信号由定时器T1送来的溢出信号经过16分频或32分频得到的。

在接收到第9位数据(即停止位)时,必须同时满足以下两个条件:RI=0和SM2=0或接收到的停止位为“1”,才把接收到的数据存入SBUF中,停止位送RB8,同时置位RI。

在方式1下,SM2应设定为0。

四.实验流程图四.调试过程及相关数据记录(1)编写单片机发送和接收程序,并进行汇编调试。

运行PC机通讯软件“commtest.exe”,将单片机和PC机的波特率均设定为1200。

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

实验单片机与PC机串口通信(C51编程)实验
要求:
1、掌握串行口的控制与状态寄存器SCON
2、掌握特殊功能寄存器PCON
3、掌握串行口的工作方式及其设置
4、掌握串行口的波特率(bondrate)选择
任务:
1、实现PC机发送一个字符给单片机,单片机接收到后即在个位、十位数码管上进行显示,同时将其回发给PC机。

要求:单片机收到PC机发来的信号后用串口中断方式处理,而单片机回发给PC机时用查询方式。

采用软件仿真的方式完成,用串口调试助手和KEIL C,或串口调试助手和PROTEUS分别仿真。

需要用到以下软件:KEIL,VSPDXP5(虚拟串口软件),串口调试助手,Proteus。

(1)虚拟串口软件、串口调试助手和KEIL C的联调
首先在KEIL里编译写好的程序。

打开VSPD,界面如下图所示:(注明:这个软件用来进行串口的虚拟实现。

在其网站上可以下载,但使用期为2周)。

左边栏最上面的是电脑自带的物理串口。

点右边的addpair,可以添加成对的串口。

一对串口已经虚拟互联了,如果添加的是COM3、COM4,用COM3发送数据,COM4就可以接收数据,反过来也可以。

接下来的一步很关键。

把KEIL和虚拟出来的串口绑定。

现在把COM3和KEIL绑定。

在KEIL中进入DEBUG模式。

在最下面的COMMAND命令行,输入
modecom39600,0,8,1 %分别设置com3的波特率、奇偶校验
位、数据位、停止位
assigncom3<sin>sout %把单片机的串口和COM3绑定到一
起。

因为所用的单片机是
(以上参数设置注意要和所编程序中设置一致!)
打开串口调试助手
可以看到虚拟出来的串口COM3、COM4,选择COM4,设置为波特率9600,无校验位、8位数据位,1位停止位(和COM3、程序里的设置一样)。

打开COM4。

现在就可以开始调试串口发送接收程序了。

可以通过KEIL发送数据,在串口调试助手中就可以显示出来。

也可以通过串口调试助手发送数据,在KEIL中接收。

实验实现PC机发送一个字符给单片机,单片机接收到后将其回发给PC机。

在调试助手上(模拟PC)发送数据,单片机收到后将收到的结果回送到调试助手上。

2、以下在Proteus和串口调试助手实现的结果:
将编译好的HEX程序加载到Proteus中,注意这里需要加上串口模块,用来进行串行通信参数的设置。

点击串口,可以对串口进行设置:
用串口调试助手发送数据,即可看到仿真结果。

实验参考程序源文件在exp2-comm文件夹中。

相关文档
最新文档