问问题描述
答精选答案

用c啊,我想想:
1、和硬件有点儿关系,这个你清楚么?
2、假设led连接到p1口吧。第一个灯接到p1.0。阴极接io,阳极接5v。
#include
bitsecflag;
unsignedcharms;
voiddisplay(unsignedcharnum,unsignedcharsec)
{
num%=8;
p1=~(1
while(sec--!=0)
{
tr0=1;
while(secflag==0);secflag=0;
tr0=0;
}
}
main()
{
unsignedchari;
tmod=1;ie=0x82;
while(1)
{
display((i++)%8,1);
}
}
voidisrt0(void)interrupt1
{
th0=(-50000)>>8;tl0=-50000;
ms++;
if(ms>20){ms=0;secflag=1;}//12mhz,50ms定时中断,1秒计时。
}
你很容易扩展出任意要求的闪烁流水灯啦。
display(2,1);
display(1,1);
display(3,2);
display(1,2);
……放到while里面就好了。祝你玩得开心。
本文来自作者[少女小鸟不依人]投稿,不代表公众科技网立场,如若转载,请注明出处:https://www.cpst.net.cn/changshijingxuan/202609/2086443.html
评论列表(4条)
我是公众科技网的签约作者“少女小鸟不依人”!
希望本篇文章《单片机c语言编程点亮led灯》能对你有所帮助!
本站[公众科技网]内容主要涵盖:教育咨询,知识百科
本文概览:用c啊,我想想:1、和硬件有点儿关系,这个你清楚么?2、假设led连接到p1口吧。第一个灯接到p1.0。阴极接io,阳极接5v。#includebitsecflag;unsignedcharms;voiddisplay(unsignedcharnum,unsignedcharsec){num%=8;p1=~(1while(sec--!=0){tr0=1;while(secflag==0);secflag=0;tr0=0;}}main(){unsignedchari;tmod=1;ie=0x82;