/*****************************************************************
** 函数说明:MC9S12XS128 实现SCI模块的数据发送
** 修改日期:2019年09月16日
*****************************************************************/
/******************SCI0模块初始化*******************************/
void SCI0_Init(void)
{
SCI0BD=52; //SCI波特率=总线时钟fBUS/(16*SBR[12:0])=9600bps
SCI0CR1=0x00;
SCI0CR2=0x0C; //TE=1使能发送器,RE=1使能接收器
}
/****************延时子程序**************************************/
void delay(unsigned int z)
{
unsigned int i,j;
for(i=0;i<z;i++)
for(j=0;j<500;j++);
}
/*******************主程序:通过SCI0模块连续发送0~99*************/
void main(void)
{
unsigned char k;
SCI0_Init();
DDRK_DDRK4=1; //设置DA1灯
PORTK_PK4=0;
delay(10000);
for(k=0;k<10;k++)
{
while(!SCI0SR1_TDRE); //等待发送缓存区空
SCI0DRL=k; //发送数据
PORTK_PK4=~PORTK_PK4;
delay(500);
PORTK_PK4=~PORTK_PK4; //通过DA1的闪烁来指示数据的传送状态
delay(500);
}
while(1);
}