金牌会员
- 积分
- 1078
- 威望
- 594
- 贡献
- 260
- 兑换币
- 280
- 注册时间
- 2012-10-25
- 在线时间
- 112 小时
|
/****************************设置总路线频率*********************************/
void SetBusCLK_64M(void)
{
CLKSEL=0X00; //disengage PLL to system
PLLCTL_PLLON=1; //turn on PLL
SYNR =0xc0 | 0x07;
REFDV=0x80 | 0x01;
POSTDIV=0x00; //pllclock=2*osc*(1+SYNR)/(1+REFDV)=128MHz;
_asm(nop); //BUS CLOCK=64M
_asm(nop);
while(!(CRGFLG_LOCK==1)); //when pll is steady ,then use it;
CLKSEL_PLLSEL =1; //engage PLL to system;
}
/****************************初始化设备**************************************/
void DeviceInit()
{
SetBusCLK_64M();
UART_Init();
}
////////////////////////////////////////////////////////////////////////////////
void Dly_ms(unsigned int ms)
{
unsigned int i,j;
for(i=0;i<ms;i++)
for(j=0;j<20000;j++);
}
void main(void)
{
float temp = 0.0;
DeviceInit();
uart_putstr("Usart Is Working!");
/*对AD采样口进行初始化*/
ATD0CTL0 = 0X07; //转换到第7通道后回转到0通道
ATD0CTL1 = 0X20; //10位AD,没有外部触发
ATD0CTL2 = 0X42; //AFFC自动清零位,允许转换完成中断
ATD0CTL3 = 0XC0; //右对齐方式,8个通道转换,非先入先出模式
ATD0CTL4 = 0X09; //转换需要4个AD周期,fATDCLK=fBUS/(2 × (PRS + 1))=80M/20=4M
ATD0CTL5 = 0X30; //非特殊通道转换,连续转换,8单通道转换
ATD0DIEN = 0X00; //禁止数字输?
/*对AD采样口始化完毕*/
while(1)
{
for(temp = 0; temp <= 3.14*2; temp += 0.1)
{
OutData[0] = ATD0DR0;
OutData[1] = sin(temp-3.14/4)*(float)1000;
OutData[2] = sin(temp+3.14/4)*(float)1000;
OutData[3] = sin(temp+3.14/2)*(float)1000;
OutPut_Data();
}
}
这是我们的程序 |
|