用C语言实现串口通信
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验结果:
结果分析: 单片机 1 可将按键情况用数码管显示,并通过 RS232 串口传送给单片机 1。同样,单片机
2 也可将按键情况通过数码管显示,并通过 RS232 串口传送给单片机 1。以此来实现单片机 与单片机之间的串口通信。
结束语: 通过本作业理解了 RS232 的含义、功能、作用,使用 RS232 实现串口通信的寄存器设置。
{ delay(10); if (k1==0) { delay(10); if(k1==0) a++; if (a==4) a=0 ; while(!k1) ; }
} switch(a)
{ case 0:com('X');led1=led2=1;break; case 1:com('A');led1=0;led2=1;break; case 2:com('B');led1=1;led2=0;break; case 3:com('C');led1=0;led2=0;break; } } void ert()interrupt 4 { RI=0; if(SBUF>=0&&SBUF<=9) P0=table[SBUF]; else P0=0X00; } 2.调试过程:
1 什么是 RS232:RS 是指推荐标准的英文缩写,232 是标识号。RS232 是由电子工业协会 (Electronic Industries Association,EIA) 所制定的异步传输标准接口,是个人计算机上的通讯 接口之一。通常 RS-232 接口以 9 个引脚 (DB-9) 或是 25 个引脚 (DB-25) 的型态出现,一 般个人计算机上会有两组 RS-232 接口,分别称为 COM1 和 COM2。
硬件框图:
单片机与单片机相连硬件框图
TXD RXD 80C51
T1IN
T1OUT
MAX232A
R2OUT
R2IN
GND
系统1
R1IN
R1OUT
MAGXN2D32A
T2OUT
RT22IINN
GND 系T2O统UT2
RXD TXD 80C51
Fra Baidu bibliotekProteuls 仿真图
软件流程图:
开始 串口初始化
单片机一发送(接收 )数据 单片机二接收(发送)数据
程 IE、IP 寄存器)。 4.语句说明 1)发送函数 void com(uchar com) { SBUF=com; while(!TI); TI=0; } 2)串口初始化
led1=led2=1; P0=0x00; SCON=0x50;//01010000,串口工作方式是 1,允许接收 TMOD=0x20; TH1=0xFD; TL1=0xFD; TR1=1; IE=0x90; while (1)
uchar i; while(x--) for(i=1;i<120;i++);
} void com(uchar com) {
SBUF=com; while(!TI); TI=0;
} void main() {
led1=led2=1; P0=0x00; SCON=0x50;//01010000,串口工作方式是 1,允许接收 TMOD=0x20; TH1=0xFD; TL1=0xFD; TR1=1; IE=0x90; while (1)
同时也知道了 TTL 电平和 RS232 电平之间因电平不同需要 MAX232 芯片进行电平的转换。 同时也对单片机有了更多的了解。并且学会了用 proteul 软件仿真。
2.RS232 接口及其接法
实现 RS232 通信的关键点是:RXD 连 TXD,TXD 连 RXD,GND 接地。只要这三根线连接 好,就可以实现串口通信。 3.串口初始化 串行口工作之前,应对其进行初始化,主要是设置产生波特率的定时器 1、串行口控制和中 断控制。具体步骤如下: 确定 T1 的工作方式(编程 TMOD 寄存器); 计算 T1 的初值,装载 TH1、TL1; 启动 T1(编程 TCON 中的 TR1 位); 确定串行口控制(编程 SCON 寄存器);串行口在中断方式工作时,要进行中断设置(编
结束
调试过程和步骤: 1.程序代码:
#include <reg52.h> #define uchar unsigned char #define uint unsigned int sbit led1=P1^0; sbit led2=P1^3; sbit k1=P1^7; uchar a; uchar code table[]={ 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71} ; void delay(uint x) {
用 C 语言实现串口通信
姓名: 学号: 专业:通信工程
用 C 语言实现串口通信(单片机和单片机)
摘要:介绍用汇编语言实现单片机与单片机之间的串口通信,通过对其中一个单片机的操作, 完成另一个单片机功能的实现。并介绍了实现该功能的原理算法、硬件框图、软件流程图, 以及调试过程、步骤和结果。并对结果进行了分析。 引言:简要介绍了 RS232,为什么要用 RS232 ,RS232 和其他接口的比较优缺点。 原理: