怎样用单片机连续发送从A到Z的26个字母的ASCII码

发布网友 发布时间:19小时前

我来回答

2个回答

热心网友 时间:19小时前

例子程序如下:(只是最基本的)

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;
}

热心网友 时间:19小时前

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);
}

希望对你有用。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com