刚刚查了查,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的频率。怎么就出不来东西啊!! |