串口中断通讯
2016-01-28 19:57
302 查看
#include <reg52.h> #define uchar unsigned char #define uint unsigned int //uchar trdata[]={'B','i','g','B','i','g',0x0d,0x0a,0x00}; uchar code trdata[]={'R','I','C','H','M','C','U',0x0d,0x0a,0x00}; sbit K1=P3^2; void uart_init() { SCON=0x50; PCON=0x80; TMOD=0x20; TH1=0xf3; //4800bps, fosc=12MHz TL1=0xf3; ES=1; TR1=1; EA=1; } void delay1ms(uint i) { uchar j; while(i--) { for(j=0;j<115;j++); } } void uart_sendchar(uchar dat) { SBUF=dat; while(!TI); TI=0; } void uart_sendstring() { uchar i=0; while(trdata[i]!=0x00) { SBUF=trdata[i]; while(!TI); TI=0; i++; } } void main() { uart_init(); while(1) { if(K1==0) { delay1ms(20); if(K1==0) { uart_sendstring(); while(!K1); } } } } void int_uartrcv()interrupt 4 { uchar rcv=0; if(RI) { RI=0; rcv=SBUF; P2=SBUF; uart_sendchar(rcv); } }
相关文章推荐
- 值类型和引用类型,形参和实参,传值和传引用
- Union-Find(并查集): Quick union算法
- Nginx基础入门之fastcgi常用配置项说明
- Processing 时钟
- HDOJ 5611-Baby Ming and phone number【模拟】
- hdu1421 搬寝室(dp)
- django使用gmail
- 快速掌握Lua 5.3 —— "metatables" and "metamethods" (1)
- jQuery Validate验证框架详解
- memcached Java Client
- C#读取ini文件方法,实质是使用C++的库
- Storm架构
- cocos中ProgressTimer,进度条
- HDU(1301)最小生成树
- Linux 设备驱动中的阻塞和同步机制
- 【第一行代码】Android系统架构
- Oracle基础(五):多表查询
- [android]_[初级][插入短信数据到短信数据库]
- Python之登录接口(第1天)
- ps -aux | grep 详细信息