试编写程序实现:利用89C51单片机的P1口控制8个发光二极管,相临的4个发光二极管为一组,使两组每隔0.5...

试编写程序实现:利用89C51单片机的P1口控制8个发光二极管,相临的4个发光二极管为一组,使两组每隔0.5s交替发亮一次,周而复始。谁知道这道题答案啊?急求,答对给50分。

第1个回答  2012-12-03
用定时器,每隔0.5秒中断一次,在中断服务程序中用P1和0xff异或再赋值给P1,可实现两组交替亮灭
第2个回答  2012-12-03
#include "reg51.h"
unsigned char a;
main(){
a=0x0f;
TMOD=0x01;
P1=temp;
TH0=0x3c;TL0 = 0x3c;
ET0=1;EA=1;TR0=1;
while(1);}
void Tt0() interrupt 1
{a=~a;
TH0=0x3c;TL0=0x3c;
P1=a;
}
第3个回答  2012-12-03
写不开了,只写主程序
void main()
{
P1=0x0F;
while(1)
{
P1 = ~P1;
DelayMS(500);
}
}
第4个回答  推荐于2017-11-25
如:前四位与后四位分别间隔0.5S全亮
则:
while(1)
{
P1 = 0X0F;
延时0.5S
P1 = 0XF0;
延时0.5S
}本回答被网友采纳
第5个回答  2012-12-03
用什么写呀,是汇编,还是C语言呢?
相似回答