导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→为什么编译时总提示特殊寄存器变量没定义呢?

* 62439: 为什么编译时总提示特殊寄存器变量没定义呢?

   xiuwei 
xiuwei发表的帖子 

 为什么编译时总提示特殊寄存器变量没定义呢?
大虾帮忙看一下下面的程序为什么编译时总提示特殊寄存器变量没定义呢?

#include  <reg51.h>  
#define uchar unsigned char
uchar j=0;
uchar i;
uchar idata ad_buf[6];/*ad输入缓冲区*/
uchar tlc2543(uchar ch);/*tlc2543子程序*/
uchar send(void);/*串行发送程序*/

main()
{
uchar k;
uchar channel;
scon=ox40;pcon=ox00;/*波特率9600*/
tmod=ox20;
tl1=oxfd;
th1=oxfd;
tlc2543(channel);/*ad预备*/
j=0;
while(1)
  {
   channel=0;/*00、01、02三个通道轮流采样*/
   for(k=0;k  <3;k++)
     {
      tlc2543(channel);
      channel++;
     }
   send();
  }
}
uchar tlc2543(uchar ch)/*tlc2543子程序,ch是通道号,数据格式:12位、高位先输出*/
{
  uchar adh;
  uchar adl;
  sbit clock=p1^4;
  sbit cs0=p1^7;
  sbit datain=p1^5;
  sbit dataout=p1^6;
  clock=0;
  cs0=1;
  cs0=0;
  ch  <  <4;
  for(i=0;i  <4;i++)
    {
     datain=(bit)(ch&126);
     if(dataout)adh|=1;
  ch  <  <1;
     adh  <  <1;
     clock=1;
     clock=0;
    }
  datain=0; 
  for(i=0;i  <8;i++)
    {
     if(dataout)adl|=1; 
     adl  <  <1;
     clock=1;
     clock=0;
    }
  cs0=1;
  ad_buf[j]=adh;
  ad_buf[j]=adl;
  j++;
}

uchar send(void)/*发送6个8位数据*/
{
   tr1=1;
   i=0;   
   while(i  <6)
     {
       sbuf=ad_buf[i];
       while(ti==0);
       ti=0;
       i++;
      }
   rt1=0;
}


发表时间:2004年9月14日19:22:28

  
回复该帖

本主题共有 3 帖,分页:>>>>>该主题的所有内容[3]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

  62445.[详细]#include<reg51.h>#define uchar un..
摘要:#include<reg51.h> #define uchar unsigned char uchar j=0; uchar i; uch......(1236字)
- [lichuanfa][781次] 2004年9月14日

  62879.[详细]谢谢 lichuanfa !
摘要:谢谢 lichuanfa ! 非常感谢您的帮忙!......(37字)
- [xiuwei][790次] 2004年9月20日

[上一篇帖子]:请问motorola的DSP56800应用前景怎么样?请问motorola的DSP56800应用前景
[下一篇帖子]:vc开发急寻vc开发高手 工作地点在北京 13903278971 刘先生