怎样用单片机连续发送从A到Z的26个字母的ASCII码
发布网友
发布时间:2024-10-16 18:06
我来回答
共2个回答
热心网友
时间:2024-10-16 18:09
例子程序如下:(只是最基本的)
void Send_Characters(void)
{
uchar i;
for (i = 0; i < 26; i++)
{
serial_t(0x41 + i);
}
}
void serial_t(uchar *s)
{
uchar i;
ES = 0;
for (i = 0; i < n; i++)
{
SBUF = *s; //将数据送到发送缓冲器
while (TI == 0); //等待发送完成
TI = 0; //清发送标志位
s ++;
}
ES = 1;
}
热心网友
时间:2024-10-16 18:10
void init_serial(void) { ES=0; //禁止串行口中断
SCON=0x40; //0100,0000 8位数据位,无奇偶校验
TMOD=0x20; //定时器T1工作于方式2
PCON=PCON&0x7f; //SMOD=0
TH1=-3; //装入时间常数,波特率为9600
TL1=-3; TR1=1; //启动定时器T1 }
void send_char(uchar dat) { TI=0; //清除发送中断标志
SBUF=dat; //数据送发送缓冲区
while(TI==0); //等待发送完成 }
void main(void) { uchar c; init_serial(); //初始化串行口
for(c=0x41;c<0x5B;c++) //循环发送出字符'A'~'Z'
send_char(c);
while(1);
}
希望对你有用。