第一次作业
#include "ioCC2530.h"//定义led灯端口
#define LED1 P1_0 // P1_0定义为P10
unsigned int counter=0;/充计定时器溢出次数
void initUARTO(void)
{
PERCFG=Ox00;
POSEL=0x3c;
UOCSR|=0x80;
UOBAUD =216;
UOGCR=10;
UOUCR|=0x80;
UTXOIF=0; //清零UARTOTX中断标志
EA=1;//使能全局中断
void inttTimer(){
CLKCONCMD &=0x80;//时钟速度设置为32MHZ
T1CTL=OxOE; //配置128分频,模比较计数工作模式,并开始启动
T1CCTLO|=0x04;//设定timer1通道0比较模I#
T1CCOL=50000& OxFF;//清除timer1中断标志
T1CCOH=((50000&0×FF00) >>8);
T1IF=0;
T1STAT&=~0x01; //清除通道0中断标志
TIMIF &=~0x40; //不产生定时器1的溢出中断
IEN1= 0x02;//使能定时器1的中断
EA=1://使能全局中断
}
void UART0SendByte(unsigned char c){
UODBUF=C;
while(!UTX0IF);
UTX0IF=0;
}
函数名称:UARTOSendString
功能:UARTO发送字符串
void UARTOSendString(unsigned char *str)
{
while(*str !='\0')
{
UARTOSendByte(*str++)//发送字节数据
}
}
#pragma vector=T1_VECTOR
_interrupt void T1_ISR(void)
{
EA=0;
counter++;
T1STAT&=~0×01;
EA=1;
}
void main(void)
{
P1DIR=0x01;
LED1=0;
inttTimer1();
initUARTO(): //UARTO初始化
while(1){
if(counter>=15){
counter=0;
LED1=1;
UARTOSendString("Hello! Iam CC2530 . \n");
LED1=0;
}
}
}