专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > 单片机

一个简单的模拟串行通信程序 有点有关问题 麻烦各位看看

发布时间:2010-06-14 15:58:11 文章来源:www.iduyao.cn 采编人员:星星草
一个简单的模拟串行通信程序 有点问题 麻烦各位看看
#include"reg52.h"
 void send_bit(unsigned char i)
 {
  if(i) TXD=1;
else TXD=0;
TR0=1;
while(!TF0);
TR0=0;
TH0=0xFF;
TL0=0xA0; 

 }
void main()
{
unsigned char a=0xE4;
unsigned int i,j;
TMOD|=0x01;
TH0=0xFF; // 12/11.0592M*(65536-x)=1/9600; x=65440 
TL0=0xA0;
while(1)
{
TF0=0;
send_bit(0);
for(i=0;i<8;i++)
{
send_bit(a&0x01);
a=a>>1;
}
send_bit(1);
for(j=0;j<50000;j++);
a=0xE4;

}

}

发的是E4 接收到的是FC 波特率应该没问题呀

------解决方案--------------------
是你的定时器初值计算方法有误了。所以造成模拟串口通讯不正常。
------解决方案--------------------
"让每个0 1持续1/9600的时间",那么你程序运行的时间呢?这只是游戏吧?
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: