为什么proteus仿真串口通讯时在虚拟终端显示00(十六进制)
上面是电路图源代码如下:#include"reg51.h"unsignedinti;voidinit(void){SCON=0x50;//设置串口工作模式为1,允许接收,...
上面是电路图
源代码如下:
#include"reg51.h" unsigned int i; void init(void){ SCON=0x50;//设置串口工作模式为1,允许接收, TI=0;//发送中断标志位清零 EA=0;//禁止所有中断 TMOD=0x20;//设置定时器T1工作方式为2,即8位重装模式; TH0=0xFD; PCON=0x00; TL0=0xFD; i=1; TR1=1;//启动计时器1; } void delay(){ i=9000; while(i--); } void main(void){ init(); while (1){ if (i==256) i=1; i++; SBUF=0x71; while (TI==0); TI=0; delay(); } }
波特率设置的是9600,程序里面设置的定时器1的初值0xfD,应该没有算错啊,那是哪里错了呢 展开
源代码如下:
#include"reg51.h" unsigned int i; void init(void){ SCON=0x50;//设置串口工作模式为1,允许接收, TI=0;//发送中断标志位清零 EA=0;//禁止所有中断 TMOD=0x20;//设置定时器T1工作方式为2,即8位重装模式; TH0=0xFD; PCON=0x00; TL0=0xFD; i=1; TR1=1;//启动计时器1; } void delay(){ i=9000; while(i--); } void main(void){ init(); while (1){ if (i==256) i=1; i++; SBUF=0x71; while (TI==0); TI=0; delay(); } }
波特率设置的是9600,程序里面设置的定时器1的初值0xfD,应该没有算错啊,那是哪里错了呢 展开
1个回答
意法半导体(中国)投资有限公司
2023-06-12 广告
2023-06-12 广告
单片机的原理是比较复杂的,但是可以通过浅显易懂的语言来解释。单片机是一种集成电路芯片,通常包含处理器、存储器和各种输入输出(I/O)端口。处理器负责执行程序代码,并处理数据和指令;存储器用于存储程序代码和数据;输入输出端口用于与外部设备交互...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询