当前位置: 首页 > news >正文

element ui做的网站有网站建设需求的网站

element ui做的网站,有网站建设需求的网站,建筑工程劳务信息平台,微信营销是什么本文为博主 日月同辉#xff0c;与我共生#xff0c;csdn原创首发。希望看完后能对你有所帮助#xff0c;不足之处请指正#xff01;一起交流学习#xff0c;共同进步#xff01; 发布人#xff1a;日月同辉,与我共生_单片机-CSDN博客 欢迎你为独创博主日月同…  本文为博主 日月同辉与我共生csdn原创首发。希望看完后能对你有所帮助不足之处请指正一起交流学习共同进步 发布人日月同辉,与我共生_单片机-CSDN博客 欢迎你为独创博主日月同辉与我共生点赞❤❤❤关注收藏评论☺。 系列专栏 CSDN-单片机串口通信学习系列 我的格言是“尽最大努力做最好的自己 要转载请提前告知 版权声明本文为CSDN博主「日月同辉与我共生」的原创文章CSDN独一份。 目录 一、系统设计要求 二、系统设计原理 三、硬件设计 四、软件设计 4.1串口初始化 4.2接收中断 4.3定时器初始化 4.4定时器中断 4.5主程序 4.6发送数据 4.7清除缓存 4.8uart.h 五、结果展示 一、系统设计要求 最开始单片机com1发送字符串Wait for Serial Communication Tset Start.和Please Send a string of data:给虚拟串口com3接着虚拟串口发送多个数据数据长度不定但限制在20以下给单片机com1com1接收后重新将数据发送回com3。 二、系统设计原理 com3每发1个数据单片机需要时间来接收这个时间一般不会超过5ms若超过5ms则说明接收数据的工作已经完成则将接收完成标志位recv_flag置1最后在主程序中处理接收的数据这里是重新发送给com3因此可以利用c51单片机内部的定时器0定时1ms定义计数变量recv_timer_cnt该变量超过5则说明接收完成每接收一个数据计数变量要清0。接收完成数据后软件定时器变量清0让定时器不再工作同时重新发送数据给com3并清除缓冲。 三、硬件设计 com1发送端TXD接com2发送端TXDcom1接收端RXD接com2接收端RXD。 虚拟终端RXD接TXD因为单片机发送数据给com3而虚拟终端可以理解为虚拟串口com3。 四、软件设计 4.1串口初始化 串口工作方式为方式1(8位异步通信)定时器采用定时器T1的工作方式28位自动重载波特率为9600bit/s晶振频率为11.0592Mhz。接收一帧数据的初始化采用中断法。 void UartInit(void) //9600bps11.0592MHz {PCON 0x7F; //波特率不倍速SCON 0x50; //8位数据,可变波特率TMOD 0x0F; //设置定时器模式TMOD | 0x20; //设置定时器模式TL1 0xFD; //设置定时初始值TH1 0xFD; //设置定时重载值ET1 0; //禁止定时器中断ES1; //串口中断打开TR1 1; //定时器1开始计时 } 4.2接收中断 软件定时器标志位置1定时器工作开始定时--接收数据--每接收一帧数据就计数清0 void ES_timers() interrupt 4 //接收中断 {if(RI){ RI0; start_timer1;//1.开定时器标志位置1if(recv_cntMAX_REX_NUM) //在规定字符长度范围内接收数据 {recv_buf[recv_cnt]SBUF; //2.接收数据recv_cnt; }else{recv_cntMAX_REX_NUM;}recv_timer_cnt0; //3.每接收一帧数据就计数清0} } 4.3定时器初始化 定时1ms void Timer0_Init(void) //1毫秒11.0592MHz {TMOD 0xF0; //设置定时器模式TMOD | 0x01; //设置定时器模式TL0 0x66; //设置定时初始值TH0 0xFC; //设置定时初始值TF0 0; //清除TF0标志ET01;TR0 1; //定时器0开始计时 }4.4定时器中断 计数变量recv_timer_cnt超过5时说明接收完成计数变量recv_timer_cnt清0。 void T0_timer() interrupt 1 {TR00;if(start_timer 1){recv_timer_cnt;if(recv_timer_cntMAX_timer_cnt) //计数值超过规定范围说明接收完成{recv_timer_cnt0; recv_cnt0;recv_flag1;//接收完成标志位置1}}TL0 0x66; //设置定时初始值TH0 0xFC; //设置定时初始值TR01; }4.5主程序 软件定时器变量清0(定时器不再工作)--接收完成标志位清0--发送数据--清除缓存 void main() {UartInit(); //调用串口初始化函数Timer0_Init();EA1; //总中断允许printf(Wait for Serial Communication Tset Start.\r\n);printf(Please Send a string of data:\r\n);while(1){if(recv_flag){start_timer0;recv_flag0;//接收完成标志位清0sendString(recv_buf);//发送数据clr_recvbuffer(recv_buf);//清除缓冲函数}} }4.6发送数据 void sendByte(unsigned char dat) //发送一帧数据功能函数 {SBUFdat;while(!TI);TI0; }void sendString(unsigned char *dat)//发送字符串函数 {while(*dat ! \0){sendByte(*dat);} }char putchar(char c) {sendByte(c);return c; }4.7清除缓存 unsigned char *bufrecv_buf则buf[i]0是将第i1个数据清0。 void clr_recvbuffer(unsigned char *buf) {unsigned char i;for(i0;iMAX_REX_NUM;i){buf[i]0;} }4.8uart.h #ifndef __UART_H__ #define __UART_H__#include reg51.h #include stdio.h#define MAX_REX_NUM 20 //规定最大长度 #define MAX_timer_cnt 5 //定时计数规定值超过该值说明接收完成extern unsigned char recv_buf[MAX_REX_NUM];//将数据存储到该数组中 extern unsigned char recv_cnt; extern unsigned char start_timer;//软件定时器变量1说明定时器开始工作 extern unsigned char recv_timer_cnt;//软件定时器计数变量 extern unsigned char recv_flag;//接收完成标志位void UartInit(void); void sendByte(unsigned char dat); void sendString(unsigned char *dat); char putchar(char c); void clr_recvbuffer(unsigned char *buf);#endif 五、结果展示 最开始显示正确 为了测试能否接收到不同长度的数据做了2次实验。 第一次实验长度为81 2 abc b cc 6 7 8 第二次实验长度为41 2 abc 600 下一文将着重判断数据帧头来接收一串数据亲爱的读者敬请期待下一文更精彩 一日不读书胸臆无佳想。我叫不白吃喜欢我的可以支持我博主名叫日月同辉,与我共生 日月同辉,与我共生_单片机基础,单片机串口通信-CSDN博客日月同辉,与我共生擅长单片机基础,单片机串口通信,等方面的知识,日月同辉,与我共生关注stm32,c语言,51单片机,proteus,单片机领域.https://blog.csdn.net/LIN___IT?spm1000.2115.3001.5343
http://www.yutouwan.com/news/462734/

相关文章:

  • 建站优化易下拉系统怎么建设国字形网站
  • 外贸网站外链平台山西物价局建设工程检测网站首页
  • 道德建设 网站金华网站建设方案策划
  • 新手做网站视频讲解网站建设制作确认单
  • 使用帝国备份王搬迁织梦网站哪些网站可以免费发帖做推广
  • 网站商城建设报告北京朝阳区属于几环
  • 网站上怎么引用视频北京工程信息网站
  • 网站开发 税率网站开发合同审核要点
  • 苏州网站制作聚尚网络如何免费做网站的教程
  • 网站建设的原则有哪些方面机构网站建设
  • 增城做网站茶庄网站模板
  • php可以做视频网站企业概况简介
  • 做运营必看的网站河北中石化建设网站
  • 信息管理系统网站开发教程北京电商网站开发平台
  • 做网站服务器怎么用房产类网站开发
  • 网站作业成品网络推广培训一对一
  • 海北公司网站建设深圳百度网站推广
  • 建设工程168网站旅游公司网站建设方案
  • 搭建公司晋中网站seo
  • 网站建设外包包含内容网页休闲小游戏
  • 广州做淘宝的化妆品网站好餐厅网站建设方案
  • 做天猫网站价格友情链接交换
  • 自己手机怎么免费做网站做影视网站有什么风险
  • 厦门网站建设建站中心唐山哪里做网站
  • 兼职网站项目建设报告(完整版)互动网站设计
  • 网站开发云南合肥网站建设哪家专业
  • 写资料的网站有哪些专做实习生招聘的网站
  • 在阿里云上做网站步骤传媒公司排名
  • 微信小程序里的网站怎么做公众号二次开发
  • 国外简约企业网站备案变更网站信息