两道C语言51单片机编程题 ,查询方式延迟的LED流水灯;串行口通信。

1、编程以中断方式实现持续从P1读取数据,从P2输出,并以9600波特率从串行口接收数据发送到P0口,单片机晶振频率为11.0592MHz
2、在单片机P1口连接8个发光二极管,二极管以共阳极接法,使用定时器/计数器1 工作方式1。晶振频率为6MHz,以查询方式工作,定时时间为80ms,式编写程序,使图中P1.0接的发光二极管先亮,延迟80ms后P1.1亮,依次向左移动并不断循环。

#include<reg52.h>
#include<intrins.h>
void init()
{
TMOD=0x10;
TL1=(65535-45872)%256;
TH1=(65535-45872)/256;
TR1=1;
}
void main()
{
unsigned char num=0;
unsigned char a=0xfe;
init();
while(1)
{
if(TF1==1)
{
num++;
if(num==20)
{
P1 = a;
num=0;
a=_crol_(a,1);
}
TL1=(65535-45872)%256;
TH1=(65535-45872)/256;
TF1=0;
}
}
}
第二题的,时间自己改下就行了。追问

请问第一题的程序能给下么?

追答

不好意思、初学者表示只会第二题。

追问

好吧,谢谢了

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答