打印

一个关于9850串行程序,帮我指点一下

[复制链接]
1504|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lfflsh|  楼主 | 2007-8-2 09:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include"reg51.h"
#define uchar unsigned char
#define uint unsigned int
bdata uchar BCC;
bdata uchar BC;
sbit  buf=BCC^0;
sbit RESET=P1^0;     /*整体复位*/
sbit DAT=P1^4;       /*数据口 RXD/D7*/
sbit W_CLOCK=P1^2;   /*脉冲口 TXD/*/
sbit FQ_UD=P1^6;     /*相位频率刷新控制端WR*/
delay(uint t)
{while(--t);}
void AD9850_init(void)
{
 W_CLOCK=0;
 FQ_UD=0;
 delay(50);
 W_CLOCK=1;
 delay(50);
 W_CLOCK=0;
 delay(100);
 FQ_UD=1;
 delay(100);
 FQ_UD=0;
}
//==========================================
void AD9850(uchar XiangW,long PinL)
{   
  
    uchar i;
    RESET=1;            /*整机复位*/
    delay(500);
    RESET=0;
    BCC=XiangW;     /*myself*/
    BC=PinL;        /*myself*/
    FQ_UD=0;
    W_CLOCK=0;
    for(i=0;i<8;i++)    /*送相位控制字*/
    {   
        
         W_CLOCK=0;
         delay(100);
           if(XiangW&0x00000001)
           DAT=1;
         else DAT=0;
         delay(100);
         W_CLOCK=1;
         XiangW=BCC>>1;
        
         W_CLOCK=0;
    }
    for(i=0;i<32;i++)   /*送频率控制字*/
    {
      
       W_CLOCK=0;
         delay(100);
           if(PinL&0x00000001)
           DAT=1;
         else DAT=0;
         delay(100);
         W_CLOCK=1;
         PinL=BC>>1;
         W_CLOCK=0;
    }
    FQ_UD=1;delay(100);FQ_UD=0;
    
}
//==============================================
main()
{   
    AD9850_init();
    while(1)
    {
    AD9850(0,100);
    }
}
帮我指点一下,为什么不出现波形,错误出现在哪里?
谢谢!!!!!

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

23

主题

48

帖子

0

粉丝