博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
51串口通信
阅读量:7016 次
发布时间:2019-06-28

本文共 1623 字,大约阅读时间需要 5 分钟。

/**单片机接收主机的数据,然后将数据传送到P2口,*当按下K1=P1.4 时, 单片机发送字符串 给主机 */ #include 
#include
unsigned char key_s, key_v, tmp;char code str1[] = "123 ";char code str2[] = "abc ";char code str3[] = "666 ";void send_str();bit scan_key();void proc_key();void delayms(unsigned char ms);void send_char(unsigned char txd);sbit K1 = P1^4;main(){ SCON=0X50; //设置为工作方式1 TMOD=0X20; //设置计数器工作方式2 PCON=0X80; //波特率加倍 TH1=0XF3; //计数器初始值设置,注意波特率是4800的 TL1=0XF3; TR1 = 1; //启动定时器1 IE = 0x0; //禁止任何中断 while(1) { if(scan_key()) // 扫描按键 { delayms(10); // 延时去抖动 if(scan_key()) // 再次扫描 { key_v = key_s; // 保存键值 proc_key(); // 键处理 } } if(RI) // 是否有数据到来 { RI = 0; tmp = SBUF; // 暂存接收到的数据 P2 = tmp; // 数据传送到P0口 send_char(tmp); // 回传接收到的数据 } }}bit scan_key(){ key_s = 0x00; key_s |= K1; return(key_s ^ key_v);}void proc_key(){ if((key_v & 0x01) == 0) { // K1按下 send_str(); // 传送字串"welcome!... }}void send_char(unsigned char txd){ SBUF = txd; while(!TI); // 等特数据传送 TI = 0; // 清除数据传送标志}void send_str(){ unsigned char i = 0; while(str1[i] != '\0') { SBUF = str1[i]; while(!TI); // 等特数据传送 TI = 0; // 清除数据传送标志 i++; // 下一个字符 } i = 0; while(str2[i] != '\0') { SBUF = str2[i]; while(!TI); // 等特数据传送 TI = 0; // 清除数据传送标志 i++; // 下一个字符 } i = 0; while(str3[i] != '\0') { SBUF = str3[i]; while(!TI); // 等特数据传送 TI = 0; // 清除数据传送标志 i++; // 下一个字符 }}void delayms(unsigned char ms){ unsigned char i; while(ms--) { for(i = 0; i < 120; i++); }}

转载于:https://www.cnblogs.com/wangxuehao/p/7073551.html

你可能感兴趣的文章
拒绝旧国标劣质排插,新国标插线板首选品胜
查看>>
新疆国省干线总里程突破2.9万公里
查看>>
国产智轨电车开进“冰城”接受严寒测试 表现良好
查看>>
面试官,你再问我 Bit Operation 试试?
查看>>
PSV 3.60 固化升级到 3.68 破解完全攻略
查看>>
【实操干货】KVM命令管理虚拟机与性能优化
查看>>
Android NDK JNI 开发之旅01 环境搭建入门篇
查看>>
RxJava应用:实现七牛云多图上传
查看>>
Android爬坑之旅之不易发现的BUG
查看>>
koa2开发微信公众号: 不定期推送最新币圈消息
查看>>
小tips:JS中this操作执行像(object.getName = object.getName)()操作改变了this
查看>>
为什么国外的 App 很少会有开屏广告?
查看>>
移动端中webview的h5访问,出现了运营商的广告解决方案
查看>>
PHP curl 返回Connection timed out解决办法
查看>>
关于5G被激烈讨论的那些争端和冲突
查看>>
如何理解 Laravel 的 Ioc 容器
查看>>
毕啸南专栏 | 对话李开复:AI科学家的转型之路
查看>>
iphone: 可编辑的tableView Move&Delete
查看>>
jQuery中的join方法
查看>>
JSP取得绝对路径
查看>>