求51单片机控制继电器的汇编程序或c语言程序!!!!

求51单片机控制继电器的汇编程序或c语言程序,要求单片机得到信号1时继电器1闭合,2秒后断开,得到信号2时,继电器2闭合,2秒后断开,谢了,跪求!
用的8255扩展89s52的单片机控制 也不知道我的电路图对不对。。。。哎 如果不对 求大神帮着改改 谢啦 求编写程序啊

第1个回答  2013-05-28
#include<reg52.h>
#include<intrins.h>
sbit key=P1^0;

sbit key1=P1^1;
sbit d1=P0^0;
sbit d2=P0^1;
void delay1s(void) //误差 0us
{
unsigned char a,b,c;
for(c=167;c>0;c--)
for(b=171;b>0;b--)
for(a=16;a>0;a--);
_nop_(); //if Keil,require use intrins.h
}
main()
{
while(1)
{ if(key==0)
{ while(!key);
d1=0;
}
if(key1==0)
{ while(!key);
d2=0;
}
if(d1==0)
{
delay1s();
delay1s();
d1=1;
}
if(d2==0)
{
delay1s();
delay1s();
d2=1;
}
}
}
8255不要 继电器接P0^0 P0^1本回答被提问者采纳
第2个回答  2013-05-25
继电器只有一个控制端呀,LED控制亮灭可以吧,延时也可以吧,将它当做LED来控制就行了。
相似回答