打印

关于9850产生正弦波

[复制链接]
1484|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
bin362422|  楼主 | 2009-8-5 16:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
刚刚查了查,9850多的都用串行,怎么不用并行啊。
有谁用过并行啊,麻烦多多指教啊!谢谢了!!
下面这个程序为什么不出东西啊,帮我看看。谢!
#include <c8051F020.h>

#define SYSCLK 22118400

typedef unsigned int uint;
typedef unsigned char uchar;

sbit W_CLK= P1^0;
sbit FQ_UD= P1^1;

uchar  cmd[]={0xf8,0x00,0x00,0x00,0x08};   

void Sysclk_Init(void)
{
   WDTCN=0xde;
   WDTCN=0xad;
}
void Port_Init(void)
{
  XBR2=0x40;
  P0MDOUT=0xff;
  P74OUT|=0x0C;       //P5=0xff
}
void Oscillator_Init(void)
{
   int i=0;
OSCXCN=0x67;               //晶体振荡器方式 但振荡器未开启
for(i=0;i<=3000;i++);
while((OSCXCN&0x80)==0);   //等待振荡器的开启
OSCICN=0x0c;         //开内部振荡器且为2M,虽然没用到
}
void delay(uint t)
{
uint i,j;
for(i=0;i<10;i++)
   for(j=0;j<t;j++);
}
void dds_Init(void)
{
  W_CLK=0;
  FQ_UD=0;
}

void dds_write_cmd(void)
{
  uchar i,m;
  dds_Init();
  delay(10);
  for(i=0;i<5;i++)
   {
    m=cmd[i];
P5=m;
    delay(10);
W_CLK=1;
    delay(10);
W_CLK=0;
    delay(10);
   }
   FQ_UD=1;
   delay(10);
   FQ_UD=0;
   delay(10);
}
main()
{
  
   Sysclk_Init();
   Port_Init();
   Oscillator_Init();
   dds_write_cmd();
    while(1);
}
40MHz的频率。怎么就出不来东西啊!!

相关帖子

沙发
bin362422|  楼主 | 2009-8-5 16:21 | 只看该作者
对了,MCU用的是C8051F020,这个应该关系不大。

使用特权

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

本版积分规则

4

主题

91

帖子

0

粉丝