计数法分 析: 51的计数器在每指令周期加1,直到溢出,同时硬件置溢出标志位。这样我们就可以通过预置初值的方法让机器每96个指令周期产生一次溢出,程序不断的查询溢出标志来决定是否发送或接收下一位。接收的程序,可以参考下一种方法,不再写出。这种办法个人感觉不错,接收和发送都很准确,另外不需要计算每条语句的指令周期数。view plaincopy to clipboardprint?//计数器初始化 void S2INI(void) { TMOD |=0x02; //计数器0,方式2 TH0=0xA0; //预值为256-96=140,十六进制A0 TL0=TH0; TR0=1; //开始计数 TF0=0; } //查询计数器溢出标志位 void WaitTF0( void ) { while(!TF0); TF0=0; } //向串口发送一个字节数据 void WByte(uchar input) { //发送启始位 uchar i=8; TR0=1; TXD=(bit)0; WaitTF0(); //发送8位数据位 while(i--) { TXD=(bit)(input&0x01);//先传低位 WaitTF0(); input=input>>1; } //发送校验位(无) //发送结束位 TXD=(bit)1; WaitTF0(); TR0=0; }
导读:目前正在解读《51单片机如何模拟串口之计数法》的相关信息,《51单片机如何模拟串口之计数法》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《51单片机如何模拟串口之计数法》的详细说明。
简介:51的计数器在每指令周期加1,直到溢出,同时硬件置溢出标志位。这样我们就可以通过预置初值的方法让机器每96个指令周期产生一次溢出,程序不断的查询溢出标志来决定是否发送或接收下一位。
提醒:《51单片机如何模拟串口之计数法》最后刷新时间 2024-03-14 01:11:00,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《51单片机如何模拟串口之计数法》该内容的真实性请自行鉴别。