取片内温度传感器为 AD 源,并将转换得到温度通过串口送至电脑
实验中操作了的寄存器有 CLKCONCMD,SLEEPCMD,PERCFG,U0CSR,U0GCR,U0BAUD, CLKCONSTA,IEN0,U0DUB,ADCCON1,ADCCON3,ADCH,ADCL 等寄存器。 void initUARTtest(void)
{ CLKCONCMD &= ~0x40; //晶振 while(!(SLEEPSTA & 0x40)); //等待晶振稳定 CLKCONCMD &= ~0x47; //TICHSPD128 分频,CLKSPD 不分频 SLEEPCMD |= 0x04; //关闭不用的 RC 振荡器
PERCFG = 0x00; //位置 1 P0 口 P0SEL = 0x3c; //P0 用作串口
U0CSR |= 0x80; //UART 方式
U0GCR |= 10; //baud_e = 10; U0BAUD |= 216; //波特率设为 57600
UTX0IF = 1; U0CSR |= 0X40; //允许接收 IEN0 |= 0x84; //开总中断,接收中断
} 函数功能: 将系统时钟设为高速晶振,将 P0 口设置为串口 0 功能引脚,串口 0 使用 UART
模式,波特率设为 57600,允许接收。在使用串口之前调用。
|