登录 免费注册 首页 | 行业黑名单 | 帮助
维库电子市场网
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统
驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe

遇到一个串口通讯很奇怪的问题????

作者:xiaoniu666 栏目:通信技术
遇到一个串口通讯很奇怪的问题????
我最近在做一个单片机串口通讯的题目,我写了一个串口测试子程序,两机可以正取接收和显示,但把子程序放在总程序中就不行了;我的总程序应该也没有问题,因为我如果不调用这个串口子程序,主程序也能很好的运行。我想了一天也解决不了,还请各位热心的大虾门帮帮解决一下:
~~~~~发送测试程序
#include<reg51.h>
#include<absacc.h>
#include<math.h>
#define uint unsigned int
#define uCHAR unsigned CHAR
#define pa8255 XBYTE[0xc7ff]       //8255PA口
#define pb8255 XBYTE[0xcfff]       //8255PB口
#define pc8255 XBYTE[0xd7ff]       //8255PC口
#define com8255  XBYTE[0xdfff]     //8255控制口
#define VOLTAGE 5     //采集电压为0~5V

void sendkey(uCHAR d)   //发送一个字节的内容
{
     SBUF=d;
     while(TI==0);
     TI=0;
}
void sendvalue(uCHAR d)  //发送一个采样值
{
     if(d%16==8)
        {  SBUF=d;
           while (TI==0);
           TI=0;
        }
     else
        {  SBUF=d+1;
           while (TI==0);
           TI=0;
        }

}
void delay(uint t)  //延时函数延时t*10ms
{
uint j;
for(j=0;j<t;j++)
  {
   TH0=-39;
   TL0=-16;
   TR0=1;
   do {} while(TF0!=1);
   TF0=0;
  }
}


main()
{
  uCHAR trdata[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
//uCHAR redata[10];
uCHAR i;
TMOD=0x21;
TH1=0xE6;
TL1=0xE6;
TR1=1;
SCON=0x50;
PCON=0x00;
TCON=0xc0;
IE=0x00;
com8255=0x80;
pc8255=0xff;
while(1)
{for(i=0;i<10;i++)
   { sendvalue(trdata[i]);
    // while(TI == 0 );
    // TI = 0;
    // while(RI == 0 );
     //RI = 0;

     pb8255=trdata[i];
     delay(30);
     }
}
}

~~~~接收子程序~~~~
main()
{uCHAR trdata[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
uCHAR redata[10];
uCHAR i;
TMOD=0x21;
TH1=0xE6;
TL1=0xE6;
TR1=1;
SCON=0x50;
PCON=0x00;
TCON=0xc0;
IE=0x00;
com8255=0x80;
pc8255=0xff;
pa8255=0xff;
while(1)
{    
     while(RI == 0 );
     RI = 0;
     pa8255= SBUF-1;
     delay(30);
}
}




参与讨论
昵称:
讨论内容:
 
 
相关帖子
设计中RTL8305SC问题是否支持自适应交叉平行线
TRF7963的疑问
关于单片机(下位机)与PC机(上位机)的远程控制【图】
SIM 300抗电磁辐射能力
求电话信号的资料,网上找了半天没找到
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入


Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号