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

做自己的外贸网站怎样赚钱网站建设打造

做自己的外贸网站怎样赚钱,网站建设打造,制作网站建设规划书,接网站建设外包的工作总结串口编程 1、与波特率之相关的寄存器2、PCON寄存器3、SCON寄存器4、配置的代码分析5、向PC发送一段字符串6、PC机向单片机发送字符控制LED1灯的亮灭 1、与波特率之相关的寄存器 如图#xff0c;与串口通信相关的寄存器主要是SCON和PCON寄存器。 2、PCON寄存器 SMOD#xff1… 串口编程 1、与波特率之相关的寄存器2、PCON寄存器3、SCON寄存器4、配置的代码分析5、向PC发送一段字符串6、PC机向单片机发送字符控制LED1灯的亮灭 1、与波特率之相关的寄存器 如图与串口通信相关的寄存器主要是SCON和PCON寄存器。 2、PCON寄存器 SMOD为1时通信方式123波特率加倍为0时不加倍。 SMOD0帧错误检测位为1时SCON寄存器中的SM0用于帧错误检测。为0时用于指定的串口工作方式3、SCON寄存器 SM0当PCON的SMOD0为1时这个位用于帧错误检测。当SMOD0为0时则用于通信方式的选择 SM0SM1: 0 0 工作方式0 0 1 工作方式1 8位异步位数据传输波特率可配 1 0 工作方式2 9位波特率不可配 1 1 工作方式3 9位波特率可配 SM2允许方式23多机控制 REN运行接收控制位为1允许接收为0禁止接收。 TB8/RB8先不管它 T1发送中断请求 R1接收中断请求工作方式0的波特率 系统晶振/12 11.0592MHz/1211059200/12工作方式1的波特率 (2^SMOD/32)*定时器1的溢出率工作方式2的波特率 (2^SMOD/64)*11.0592MHz工作方式3的波特率 (2^SMOD/32)*定时器1的溢出率 定时器1的溢出率 工作在12T时溢出率 11.0592MHz / 12 / (256 - TH1)工作在6T时溢出率 11.0592MHz / 6 / (256 - TH1) 4、配置的代码分析 void UartInit(void) //9600bps11.0592MHz {PCON 0x7F; //波特率不倍速SCON 0x50; //8位数据,可变波特率AUXR 0xBF; //定时器1时钟为Fosc/12,即12TAUXR 0xFE; //串口1选择定时器1为波特率发生器TMOD 0x0F; //清除定时器1模式位TMOD | 0x20; //设定定时器1为8位自动重装方式TL1 0xFD; //设定定时初值TH1 0xFD; //设定定时器重装值ET1 0; //禁止定时器1中断TR1 1; //启动定时器1 }PCON 0X7F;代表PCON变为0xxx xxxx则最高位变为0其他位不变。因为PCON的初始值为00x1 0000,所以PCON 00x1 0000,代表波特率不加倍 SCON 0x50; 代表0101 0000。8位数据传输(波特率可变)可以读取数据 AUXR 0X01; 代表降低时钟对外界的辐射 TMOD 0X0F TMOD | 0X20; 代表TMOD 0010 0000,选用定时器1且为8位自动重装低8位溢出时自动将高8位的值给低8位 TL1 0XFD; TH1 0XFD; 代表1111 1101波特率 (2^0/32)*(11059200/12/(256 - 253)) 9600则波特率为9600 TR1 1打开定时器1。5、向PC发送一段字符串 代码① #include REGX52.H #include intrins.hsfr AUXR 0X8E;void Delay1000ms() //11.0592MHz {unsigned char i, j, k;_nop_();i 8;j 1;k 243;do{do{while (--k);} while (--j);} while (--i); }void UartInit(void) //波特率9600 {PCON 0x7F; //波特率不倍速SCON 0x40; //8位数据,可变波特率AUXR 0x01; TMOD 0x0F; //清除定时器1模式位TMOD | 0x20; //设定定时器1为8位自动重装方式TL1 0xFD; //设定定时初值TH1 0xFD; //设定定时器重装值TR1 1; //启动定时器1 }void sendByte(char data_sj) {SBUF data_sj;/*单片机向SBUF里面开始写入数据注意是开始要经过一段时间才能写入完毕*/ }void sendString(char *str) {while(*str ! \0){sendByte(*str);str;} }void main() {UartInit();while(1){sendString(wohaoshuai);Delay1000ms();} }出现的现象 wwwoohhwwo 为什么是乱的喃 因为啊单片机向SBUF写入数据需要移位寄存器进行操作而移位寄存器操作也是需要时间的假设需要10us。当第一个数据写入并发送出去后要等一段时间第二个数据才能写入成功而这段时间SBUF里面只有一个w而发送数据不需要时间所以他会不断的把SBUF里面的w进行向外发送。 其实可以这样理解如上图SBUF data_sj;开始向SBUF里面写入数据而在这段代码后面有一行代码代表着将SBUF里面的数据输出给上位机只是系统将这行代码隐藏起来了。不然程序员自己编写类似SBUF data-sj;开始向SBUF里面写入数据internal SBUF 将SBUF里面的数据输出给上位机 被隐藏解决方法1 只需要在写入SBUF后面添加一个延迟函数等待向SBUF成功写入数据后然后才执行数据输出的代码。 代码① void sendByte(char data_sj) {SBUF data_sj;//开始向SBUF里面写入数据Delay10ms();//等待10ms让数据成功写入SBUF里面internal SBUF;//这行代码被隐藏了不可编辑的 }解决方法2 通过中断请求标志位 如图当使用工作方式1(8位数据传输)当8位数据通过移位寄存器成功写入结束时TI变为1。例如第二个o用8位二进制数据表示当第8位通过移位寄存器成功写入时也代表着字符o成功的被写入SBUF里面此时TI自动变为1但是变为1后需要手动置0 以便下次数据的写入成功标志 代码② void sendByte(char data_sj) {SBUF data_sj;while(!TI);/*还没有写入完毕时TI0则一直困在这个循环里面当写入完毕时TI1退出循环进入下一行程序*/TI 0; }还没有写入完毕时TI0则一直困在这个循环里面当写入完毕时TI1退出循环进入下一行程序 6、PC机向单片机发送字符控制LED1灯的亮灭 #include REGX52.H #include intrins.hsfr AUXR 0X8E; sbit LED1 P3^7;void Delay300ms() //11.0592MHz {unsigned char i, j, k;_nop_();i 3;j 26;k 223;do{do{while (--k);} while (--j);} while (--i); }void UartInit(void) //波特率9600 {PCON 0x7F; //波特率不倍速SCON 0x40; //8位数据,可变波特率REN 1; //运行单片机读取数据AUXR 0x01; TMOD 0x0F; //清除定时器1模式位TMOD | 0x20; //设定定时器1为8位自动重装方式TL1 0xFD; //设定定时初值TH1 0xFD; //设定定时器重装值TR1 1; //启动定时器1 }void main() {char mark;//第一一个mark存储字符LED1 1;UartInit();while(1){Delay300ms();if(RI 1) //表示上位机给单片机的SBUF已经写入数据完成了RI会自动变为1而需要手动置0以便下次写入完成进行标志。{RI 0;//手动置0mark SBUF; //将SBUF里面的数存放在变量mark中if(mark o)//如果读取的字符是O{LED1 0; //开灯}if(mark c){LED1 1;}}} }其实可以这样理解 mark SBUF;代表着将SBUF里面的数据交给mark这个变量。而在行代码之前同样有一行代码代表着上位机将数据写入SBUF。只是这行代码被隐藏不可编辑类似SBUF internal; 上位机将数据写入SBUF被隐藏mark SBUF; SBUF将数据存在变量mark中同理RI代表着数据是否被成功写入SBUF里面上位机成功将数据写入SBUF里面。则RI会自动变为1同样的需要手动置0以便下次数据的写入标志。
http://www.dnsts.com.cn/news/137594.html

相关文章:

  • 搜索各大网站北京公司网站制作方法
  • 大石桥做网站长春seo排名外包
  • 做同业业务一般关注哪些网站网站怎么做防御
  • 子网站怎么做网站建设分录怎么开
  • 海洋网络新郑做网站优化
  • 公司小网站怎么做五个h5制作网站
  • 简述网站开发技术哪里做网站公司好
  • 百度识图搜索图片来源合肥seo优化外包公司
  • 哪里找做网站的网站数据库网络错误怎么解决方案
  • 长沙精品网站制作深圳网站建设公司小江
  • 大型网站制作方案建站之星 discuz
  • 长春建设平台网站的公司吗江苏连云港网站设计公司
  • 男女做暖暖的视频试看网站招聘织梦网站
  • 买网站需要多少钱wordpress 评论 正在提交_请稍后
  • 山西建设局网站首页常州网站建设外包
  • 做的网站用户密码在哪里找企业网站内容更新
  • 无锡网站制作选哪家中国建设在线平台官网
  • 网站打赏怎么做的软件开发服务费
  • 中国建设银行网站上不去网站备案不注销有什么后果
  • 关注网站建设怎么做网络平台
  • 温州企业模板建站如何把字体导入wordpress
  • 怎样用自己的主机做网站平凉公司网站建设
  • seo网站推广多少钱最难进的十大央企
  • 南京市浦口区城乡建设局网站微信网站开发源代码
  • 旅游景区网站建设策划书seo描述是什么意思
  • 药检局信息化网站系统建设方案深圳市响应式网站建设
  • 国外唯美flash个人网站欣赏常德建设企业网站
  • 网站如何快速被wordpress分享按钮
  • 建设银行 网站无法打开建设厅网站上企业登录
  • 青岛网站建设网站怎样浏览被国内封禁的网站