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

网站平台推广陕西住房和建设部网站首页

网站平台推广,陕西住房和建设部网站首页,设计院一般年薪,怎么维护好网站1 回顾 串口通信的代码编写结构还是与中断一样#xff0c;不同的是#xff1a; 初始中断函数条件涉及到串口通信相关的寄存器和定时器1相关的寄存器#xff08;定时器1用于产生波特率#xff09;#xff0c;但初始条件中的中断寄存器只考虑串口通信而不考虑定时器1。 v…1 回顾 串口通信的代码编写结构还是与中断一样不同的是 初始中断函数条件涉及到串口通信相关的寄存器和定时器1相关的寄存器定时器1用于产生波特率但初始条件中的中断寄存器只考虑串口通信而不考虑定时器1。 void  函数名 { 包含两部分寄存器定时器1串口通信 定时器1 TMOD 选择模式TH1和TL1初始计时寄存器TR1TCON寄存器里的启动计时按钮 串口通信SCON总的来说功能是模式选择AUXR辅助寄存器中断开关分开关总开关 } void  函数名 interrupt  中断号 { 就是写时间到后执行什么。注意中断号要写串口通信的而不是定时器的因为定时器作用只是产生波特率而不是产生中断。 } 2 C语言字符串知识补充 字符串的C语言知识发现自己还不是很懂就简单写一下。 常用的有两种一种是字符串常量一种是字符串数组。 判断字符串中止的标志是“\0 ”,表示NULL。 2.1 字符串常量 公式char  *指针名称如A “ 字符串常量内容” 表示在A指针所对应的往下连续地址中储存字符串常量。 char *message Hello World!;// 上面的语句也可以拆分成下面两句 char *message; message Hello World!; 2.2 字符串数组 char charArray[] {H,e,l,l,o}; // 声明并初始化一个字符数组 char charArray[] Hello World!; 以上参考以下帖子详情可点击进去查看。 C语言 -- 字符串详解 - 知乎 (zhihu.com) 3 实践 3.1 任务 3.2 思路 读题目是串口通信———那么就要写串口通信的结构 采用8位UART模式波特率9600--------这些条件就可以确定串口通信结构的中断初始函数怎么写NO9串口通信实践的另一篇有详细说明这里就不再赘述 void Init_uart() {TMOD 0x20;TH1 0xfd;TL1 0xfd;TR1 1;AUXR 0x00;SCON 0x50;ES 1;EA 1;} 要上上位机发送故要写一个发送函数又是字符串那么就要利用2的字符串知识补充来写。 这里字符串是一个字符接一个字符来发的但速度较快看起来就是一下子发了出来而 while(*str ! \0) 是判断字符串是否发完了如果没发完那么字符串的指针就加1即一个一个字节来发。 void SentByte(unsigned char dat) {SBUF dat;while(TI 0);TI 0; }void SentString(unsigned char *str) {while(*str ! \0){SentByte(*str);}} 通过串口发送的接收命令来进行控制操作那么就需要一个收的操作并且还要写一个函数来判断并执行不同命令。 这里就主要将以下这个判断命令的思路。 命令分三种是0xa_ , 0xb_ ,和0xc0abc来判断哪一种命令低四位则代表这种命令的相关操作。 首先就要区别abc哪一种命令这里可以用command来储存收到的命令用command 0xf0 来判断是a还是b还是c与上0xf0即是保留command高四位去掉低四位那么command要么是0xa0要么是0xb0要么是0xc0然后再用一个switch-case来存放三种命令的情况。 case里面放置三种命令的具体执行。 case0xa0是要用command的低四位去控制灯L1~L4注意这里1是开灯0是关灯。而单片机本身是0才亮灯。 这里用这个公式来执行此命令 P0 ~(command 0x0f);  break; 分析command先与上0x0f表示command高四位清零低四位保留然后在取反。 比如 command 0xa31010 0011表示L1和2点亮。 1010 0011    0000 1111 0000 0011 然后0000 0011  1111 1100 而在单片机上恰好和命令相反是0时灯才亮所以就完成了。 注意判断哪种命令时使用了command0xf0并没有改变command的值因为它是在switch条件里的switch(command 0xf0)的操作而不是command command 0xf0所以这里并没有改变command的值。 case0x0这里就不再解释00了和0的操作思路差不多。 case0x0此命令是发送字符串那么就用到了写的函数注意这里发送完后要清零不然就会循环发送字符串。 unsigned char dat; unsigned char command 0x00; void Service_uart() interrupt 4 {if (RI 1) 收操作{command SBUF;RI 0;}}void Working() 判断并执行命令 {if(command ! 0x00){switch(command 0xf0){case(0xa0):P0 ~(command 0x0f); break;case(0xb0):P0 ~((command 0x0f)4); break;case(0xc0):SentString(The system is running...\n); command 0x00; break; }} } 3.3 完整代码 #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;} } // void Init_uart() {TMOD 0x20;TH1 0xfd;TL1 0xfd;TR1 1;AUXR 0x00;SCON 0x50;ES 1;EA 1;}unsigned char dat; unsigned char command 0x00; void Service_uart() interrupt 4 {if (RI 1){command SBUF;RI 0;}}void SentByte(unsigned char dat) {SBUF dat;while(TI 0);TI 0; }void SentString(unsigned char *str) {while(*str ! \0){SentByte(*str);}}void Working() {if(command ! 0x00){switch(command 0xf0){case(0xa0):P0 ~(command 0x0f); break;case(0xb0):P0 ~((command 0x0f)4); break;case(0xc0):SentString(The system is running...\n); command 0x00; break; }} }//void close() {selectHC138(5);P0 0x00;selectHC138(4);P0 0xff; }void main() {close();Init_uart();SentString(Welcome to system!\n);while(1){Working();} }
http://www.zqtcl.cn/news/815830/

相关文章:

  • 深圳网站建设培训哪家好曲阜网架公司
  • wordpress建立网站实例贵阳网站开发谁家做的好
  • 百度网站推广怎么收费中国科技成果
  • 枣庄企业网站建设wordpress 评论群发
  • 网站视觉设计方案视频制作素材
  • 哪个网站专做民宿wordpress 主题教程
  • 网站后台 设计北京海淀区官网
  • 公司官网网站建设想法wordpress oss
  • 如何自己创建网站招聘网站代理
  • 手机网页视频提取工具seo网站是什么
  • seo网站优化公司龙岩网站设计一般要多久
  • 江苏自助建站系统哪家好go语言网站开发
  • 建设网站 注册与登陆wordpress产品上传
  • 河北省住房与建设厅网站陶瓷刀具网站策划书
  • 大型商城网站建设方案程序外包
  • 邵阳网站建设制作电子商务网站开发软件
  • 怎样推广网站平台树莓派 wordpress mysql
  • 互联网公司网站建设wordpress发文章设置文字大小
  • 国科联创网站建设无锡网站建设有限公司
  • 网站开发官网源码石家庄怎样做网站
  • 做网站的开发工具北京公司网站制作电话
  • 试用体验网站3g微网站是什么
  • 响应式网站源代码什么是营销渠道
  • 深圳品牌做网站公司有哪些php的网站数据库如何上传
  • 关于医疗保障局门户网站建设青柠直播免费版
  • 微信网站制作免费平台微商城网站建设公司的价格
  • 古典风格网站模版广州网站建设加q.479185700
  • 建站工具推荐网站关键词在哪里添加
  • 国内简约网站汽车最好网站建设
  • 外文网站建设网站项目计划书模板范文