单片机串口通信实验.doc

单片机串口通信实验.doc

ID:57423008

大小:873.50 KB

页数:8页

时间:2020-08-17

单片机串口通信实验.doc_第1页
单片机串口通信实验.doc_第2页
单片机串口通信实验.doc_第3页
单片机串口通信实验.doc_第4页
单片机串口通信实验.doc_第5页
资源描述:

《单片机串口通信实验.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、滨江学院单片机原理及应用题目单片机串口通信实验院系____电子工程系______专业_____通信工程_______学生_______******_______学号______**********___二O一二年六月十日单片机串口通信实验摘要:CPU与其外部设备之间的信息交换或计算机之间的信息交换均可被称为“通信”。串行通信是指数据逐位顺序串行传送的通信方式。串行通信只需一对传输线,并且可以利用线等现有通信信道作为传输介质,因而可以大大降低传输线路的成本。关键字:51单片机,串口通信,全双工正文:MCS一51系列单片机部有一个可编程的全双工串行通信口,可作为通用异

2、步接收和发送器,也可作为同步移位寄存器用。该串行口有4种工作模式。片的定时器/计数器可用作波特率发生器。接收、发送均可工作在查询方式或中断方式。MCS一51系列单片机部的串行通信口,有二个物理上相互独立的接收、发送缓冲器SBUF,对外也有两条独立的收、发信号线RxD(P3.0)和TxD(P3.1)。可以同时发送、接收数据,实现全双工传送。发送缓冲器和接收缓冲器不能互换,发送缓冲器只能写入不能读出,接收缓冲器只能读出不能写入。两个缓冲器占用同一个端口地址(99H)。具体对哪一个缓冲器进行操作,取决于所用的指令是发送还是接收。一、实验1、实验目的掌握单片机串行口工作原

3、理,单片机串行口与PC机的通信工作原理及编程方法。2、实验器材微机、串口通讯软件、程序烧录软件、面包板一块、芯片一块、电焊等3、实验容实验板上有RS-232接口,将该接口与PC机的串口连接,可以实现单片机与PC机的串行通信,进行双向数据传输。本实验要求当PC机向实验板发送的数字在实验板上显示,按实验板键盘输入的数字在PC机上显示,并用串口助手工具软件进行调试。4、实验原理51单片机有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行串口通信。进行串行通讯信要满足一定的条件,比如电脑的串口是RS232电平(-5~-15V为1,+5~+15V为0),而单片机的

4、串口是TTL电平(大于+2.4V为1,小于-0.7V为0),两者之间必须有一个电平转换电路实现RS232电平与TTL电平的相互转换。为了能够在PC机上看到单片机发出的数据,我们必须借助一个Windows软件进行观察,这里我们可以使用免费的串口调试程序SSCOM32或Windows的超级终端。单片机串行接口有两个控制寄存器:SCON和PCON。串行口工作在方式0时,可通过外接移位寄存器实现串并行转换。在这种方式下,数据为8位,只能从RXD端输入输出,TXD端用于输出移位同步时钟信号,其波特率固定为振荡频率的1/12。由软件置位串行控制寄存器(SCON)的REN位后才

5、能启动,串行接收,在CPU将数据写入SBUF寄存器后,立即启动发送。待8位数据输完后,硬件将SCON寄存器的T1位置1,必须由软件清零。单片机与PC机通信时,其硬件接口技术主要是电平转换、控制接口设计和远近通信接口的不同处理技术。在DOS操作环境下,要实现单片机与微机的通信,只要直接对微机接口的通信芯片8250进行口地址操作即可。WINDOWS的环境下,由于系统硬件的无关性,不再允许用户直接操作串口地址。如果用户要进行串行通信,可以调用WINDOWS的API应用程序接口函数,但其使用较为复杂,可以使用KEILC的通信控件解决这一问题。实验原理图5、焊接图焊接参考图

6、实物图二、程序#include#includevoidinit_serialcomm(void){SCON=0x50;//SCON:串口工作方式1,允许接收TMOD

7、=0x20;//TMOD:定时器1的工作方式2PCON

8、=0x80;//SMOD=1;TH1=0xF4;//Baud:4800fosc=11.0592MHzIE

9、=0x90;//开总中断,开串口中断TR1=1;//开启定时器1}//向串口发送一个字符voidsend_char_(unsignedchar*ch){unsignedinti=0;while(ch[i]

10、!=''){SBUF=ch[i];while(TI==0);TI=0;i++;}}//串口接收中断函数voidserial()interrupt4{if(RI){//清除接收中断标志位raid[count]=SBUF;RI=0;//读出接收到的数据count++;}if(raid[count-1]=='r'){raid[count-1]='';send_char_(raid);//串口输出count=0;//接收中断并且单片机向arm传14byte字符串是否完毕*/}main(){init_serialcomm();//初始化串口while(1){//等

11、待串口接收

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。