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

做网站怎么切psd图免费搭建永久网站

做网站怎么切psd图,免费搭建永久网站,宣传片拍摄手法及技巧,大型门户网站开发案例本文为博主 日月同辉#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.w-s-a.com/news/267783/

相关文章:

  • 粉色的网站绍兴市建设局网站
  • 个人网站的基本风格是wordpress 模板选择
  • 南昌专业做网站公司有哪些广州市住房城乡建设部门户网站
  • 福州网站建设团队淘宝联盟网站怎么建设
  • 福州企业网站建站模板国内黑色风格的网站
  • 好看的网站首页设计android移动开发
  • 域名注册完成后如何做网站域名 删除 wordpress
  • wordpress xml导入大小东莞seo优化方案
  • 网站建设效益网站销售怎么做的
  • 利用网站空间做代理设计方案的格式范文
  • 无锡建设工程质量监督网站遵义做手机网站建设
  • 衡阳商城网站制作ps做网站首页规范尺寸
  • 微信网站应用开发营销推广的方案
  • 广州做网站商城的公司制作一个app的完整流程
  • 湖南城乡建设厅网站163注册企业邮箱
  • 做网站怎么调整图片间距织梦做的网站如何去掉index
  • 凡科网免费建站步骤及视频网页设计基础教程第二版课后答案
  • 建设一个旅游网站毕业设计企业网站要更新文章吗
  • 做网站需要简介中山网站设计公司
  • 网站怎么做导航栏微信公众号官网登录
  • 1_ 掌握网站开发的基本流程 要求:熟悉网站开发与设计的基本流程.电子商城网站开发
  • 百度网站怎么建设河北省工程造价信息网官网
  • 阿里云网站模板网页设计的合适尺寸是多少
  • 做小程序和做网站哪个好让别人做网站推广需要多少钱
  • 做外贸的几个网站查询网域名解析
  • 酒泉如何做百度的网站seo研究中心好客站
  • 网站设计建设平台户县做网站
  • 一元云购网站开发wordpress博客空间
  • 深圳高端网站建设公司排名如何搭建局域网服务器
  • 照片管理网站模板高端网站开发哪家好