[51单片机] 串口通讯 简单通信
2014-06-14 21:08
239 查看
/*------------------------------------------- 简单的串口通信 -------------------------------------------*/ #include<reg51.h> #define uint unsigned int #define uchar unsigned char uchar flag,a,i; //标志接收串口中断标志,接收SBUF内容 uchar code table[]="I get "; /*-------------------------------------------- 延时函数 ---------------------------------------------*/ void delay_ms(uint z) { uint y; while(z--) for(y=110;y>0;y--); } /*-------------------------------------------- USAR初始函数 ---------------------------------------------*/ void USRT_init() { TMOD=0x20; //设置T1定时器工作方式2 TH1=0xfd; //T1定时器装初值 TL1=0xfd; TR1=1; //启动T1定时器 REN=1; //允许串口中断接收 SM0=0; //设定串口工作方式 SM1=1; EA=1; //开总中断 ES=1; //开串口中断 } /*-------------------------------------------- 串口中断程序 ---------------------------------------------*/ void ser()interrupt 4 { RI=0; a=SBUF; flag=1; } /*-------------------------------------------- 主函数 ---------------------------------------------*/ void main() { USRT_init(); while(1) { if(flag==1) //检测到串口中断。表示有数据传过来了 { ES=0; //关闭串口中断,接下来要发送数据,如果不关闭每次发送之后串口中断都会执行又进入if(flag==1)那里,然后死循环 for(i=0;i<6;i++) //将table[]中的前6个发送出去 { SBUF=table[i]; while(!TI); //每次等待发送完毕,再执行下一条 TI=0; //手动清0 } SBUF=a; //将收到的数据发送出去 while(!TI); TI=0; ES=1; flag=0; } } }
相关文章推荐
- 单片机单串口简单通信程序
- 串口通讯—同步通信方式
- 基于串口的简单通信协议
- C# 一个C#串口通信的简单调试工具
- 串口通讯—异步通信方式
- 简单的Java串口通讯应答示例
- 串口通讯—通信协议
- Socket通信实例(一)——Java与Java最简单的通讯
- 简单而强大的多线程串口编程工具CserialPort类(附VC基于MFC单文档协议通讯源程序及详细编程步骤)
- C#--简单的串口通信程序
- 51单片机与PC串口通信程序及硬件电路图
- linux下判断 串口是否通讯 最简单方法 和android kernel实时打印log方法
- arm与51单片机之间串口通信实验
- 20120725-51单片机IO口模拟串口通讯5
- 实践手记--串口通信/Windows API 实现 No.1:串口通信 API 介绍【含简单实例】
- 让人摸不着头脑的串口通讯错误(基于51单片机)
- 基于VC6.0 MFC的简单串口通信软件编程
- 简单而强大的多线程串口编程工具CserialPort类(附VC基于MFC单文档协议通讯源程序及详细编程步骤)
- 配置minicom与51单片机进行串口通信
- USB硬件 键盘鼠标控制器 Lao-UKM V3.1 易语言串口通讯简单例子