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

网站开发算法鞍山人才网官网

网站开发算法,鞍山人才网官网,绍兴免费自助建站,域名备案查询网站1 回顾 串口通信的代码编写结构还是与中断一样#xff0c;不同的是#xff1a; 初始中断函数条件涉及到串口通信相关的寄存器和定时器1相关的寄存器#xff08;定时器1用于产生波特率#xff09;#xff0c;但初始条件中的中断寄存器只考虑串口通信而不考虑定时器1。 vo…1 回顾 串口通信的代码编写结构还是与中断一样不同的是 初始中断函数条件涉及到串口通信相关的寄存器和定时器1相关的寄存器定时器1用于产生波特率但初始条件中的中断寄存器只考虑串口通信而不考虑定时器1。 void  函数名 { 包含两部分寄存器定时器1串口通信 定时器1 TMOD 选择模式TH1和TL1初始计时寄存器TR1TCON寄存器里的启动计时按钮 串口通信SCON总的来说功能是模式选择AUXR辅助寄存器中断开关分开关总开关 } void  函数名 interrupt  中断号 { 就是写时间到后执行什么。注意中断号要写串口通信的而不是定时器的因为定时器作用只是产生波特率而不是产生中断。 } 2 实践 2.1 任务 2.2 思路 题目中涉及到串口通信。那么串口通信的结构就要先写下来 void  函数名 { } void  函数名 interrupt  中断号 { } 先考虑初始函数怎么写 用定时器1产生波特率9600 那么就要写与定时器1有关的寄存器 TMODTR1TL1TH1 中断但不使用 1波特率9600查表得到当时钟为11.059MHZ定时器1用方式2工作即8位重装写入0xfd即TL1TH1 0xfd 2刚才说到要用8位重装模式 查手册之TMOD 0x20 3要让定时器允许定时则TR1 1。 初始函数中还涉及串口通信 与串口通信有关的寄存器: SCON, PCONAUXR SBUF中断 SCON上一篇文章查表或直接查手册常用的工作模式是8位UART波特率可变即SM0SM1为01那么TB8和RB8和SM2为0方式1时不使用TI和RI初始也应该为0REN1要允许接收。 即01010000 因此SCON0x50. PCON在定时器1串口1情况写只考虑SMOD那位由波特率常用表我们选了那一行的SMOD显示为0故SMOD0故PCON0x00。 AUXR AUXR 0x00上一篇文章有解释 中断总开关EA1分开关ES1 SBUF是存放数据的所以不是写在初始函数中 接下看看看中断程序函数怎么写 1首先是中断号因为中断用的是串口通信而不是定时器1故中断号应是对应串口通信的中断号为4。 2任务是要我们接收信息。那么就要用到接收判断位RI首先判断RI当RI1表示接收完成数据然后再把接收到的数据存下来。我们前一篇说过发送的数据会暂时存到SBUF那么现在我们要接收就要定义一个变量把SBUF的数据存起来即data SBUF然后再把RI清零。由于这里只考虑接收故在中断中只是写接收就行了 虽然在中断中不用判断发送但是还是要写一个发送函数来传给单片机然后接收出来让我们看看是否嗯那个完成接收工作。 注意还有因为任务是产生9600的波特率因此串口收发助手的波特率记得调到9600 2.3 完整代码 这里我发现很奇怪要把发送内容的函数放到main函数的循环里面才能让串口助手收到数据放在main的循环外面是不行的这样就导致其一直在发送串口助手就一直在循环接收数据小蜜蜂老师教程里却不会这样为啥呢求助大佬 以下是在蓝桥杯单片机中可以使用的代码 #include stc15f2k60s2.hvoid selectHC138(unsigned int n) {switch(n){case 0:P2 (P2 0x1f) | 0x00; break;case 1: P2 (P2 0x1f) | 0x20; break; case 2:P2 (P2 0x1f) | 0x40; break; case 3: P2 (P2 0x1f) | 0x60; break; case 4:P2 (P2 0x1f) | 0x80; break; case 5:P2 (P2 0x1f) | 0xa0; break; case 6:P2 (P2 0x1f) | 0xc0; break; case 7:P2 (P2 0x1f) | 0xe0; break;} }//send and recieve void Init_Timer1() {TH1 0xfd;TL1 0xfd;TMOD 0x20;TR1 1;SCON 0x50; // PCON 0x00;AUXR 0x00;ES 1;EA 1; }unsigned char urdat;void chuankou() interrupt 4 { // if(TI 1) // { // urdat SBUF; // TI 0; // }if (RI 1){//SBUF urdat;urdat SBUF;RI 0;} } // void send(unsigned char dat) {SBUF dat;while(TI 0);TI 0; }void close() {selectHC138(5);P0 0x00;selectHC138(4);P0 0xff; }void main() {close();Init_Timer1();while(1){send(0x5a);send(0xa5); }}
http://www.dnsts.com.cn/news/190822.html

相关文章:

  • 网站开发人员趋势设计软件solidworks
  • 如何做自己的加盟网站梁志天设计公司考题
  • 柳市最好的网站建设公司全国推广优化网站
  • 网站内容wordpress 图片木马
  • 企业网站的功能有哪些用什么做网站最好
  • 17一起做网店网站品牌网站建设怎么收费
  • 怎么自己优化网站一个网站从开发到上线的过程
  • 专做皮鞋销售网站大连网红培训基地
  • 在网站中设置网站地图做电音的软件的专业下载网站
  • 扁平化设计风格的网站模板wordpress 头部
  • 网站开发环境 对比盘锦网站变建设
  • 免费化工网站建设东莞优化seo网站关键词优化
  • 方案巴巴策划网站麻涌东莞网站建设
  • 做网站运营的职业生涯规划专业建设思路与措施
  • 做国际网站有哪些同一个网站买多家cdn
  • seo网站设计点击软件重生做网站的小说
  • 宁波建站模板源码wordpress版权说明
  • 网站建设中的定位设想自建站推广
  • 甘肃省水利工程建设网站宣传片拍摄清单
  • 教研网站建设方案关键词优化app
  • 手机全部网站龙岗住房和建设局网站官网
  • 宝山网站建设服务网站google搜索优化
  • 做招投标网站联网站
  • 企业网站开发模板下载wordpress优酷
  • 青岛城阳 软件网站开发wordpress相册插件nextgen gallery
  • 做电子商务网站公司郴州高端网站建设
  • 黄岩建设局网站网站静态页
  • 网站空间托管合同 .docphp网站制作工具
  • 在线设计系统sem seo是什么意思呢
  • 品牌建设网站有哪些百度6大核心部门