单片机89c51控制继电器程序

想用单片机控制继电器开断,求程序呀 开短时间为2分钟就好

很好做呀
#include<reg51.h>
sbit key=P1^0;
sbit jdq=P2^0;
main()
{
unsigned int times;
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
while(1)
{
if(key==0)

{
while(key==0);

jdq=0;

TR0=1;

times=0;

while(times>=2400)

{
while(TF0==0);

TF0=0;

TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
times++;

}

jdq=1;

TR0=0;

}

}

}
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-10-12
#include<reg51.h>
sbit key=P1^0;
sbit jdq=P2^0;
main()
{
unsigned int times;
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
while(1)
{
if(key==0)

{
while(key==0);

jdq=0;

TR0=1;

times=0;

while(times>=2400)

{
while(TF0==0);

TF0=0;

TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
times++;

}

jdq=1;

TR0=0;

}

}

}

急求程序,89C51汇编语言写8个按键控制8个LED
程序如下:ORG 0000H LJMP MAIN ORG 000BH LJMP T0_INT ORG 0030H ;--- MAIN:MOV TMOD, #01H MOV TH0, #HIGH(65536 - 10000) ;10ms@12MHz MOV TL0, #LOW(65536 - 10000)SETB TR0 MOV IE, #82H MOV R7, #50 ;500ms LOP:SJMP LOP ;--- T0...

单片机89c51,总共8个开关,倒着控制8个灯, 求图和程序
switch (case P1_0==0:P2_7=1;break;case P1_1==0:P2_6=1;break;case P1_2==0:P2_5=1;break;case P1_3==0:P2_4=1;break;case P1_4==0:P2_3=1;break;case P1_5==0:P2_2=1;break;case P1_6==0:P2_1=1;break;case P1_7==0:P2_0=1;break;)P1口接SW,SW另...

求编程单片机89c51,要求:按key1(P3.4,p3.5)键三次后,P1口的LED灯全部点...
\/ 晶振4MHZ,按键key1为P3.4,P3.5接口 功能:按 key1键三次,P1灯亮,再按一次灭,如此重复 \/ include<reg51.h> sbit key1 = P3^4;\/ void delay40us(uint time)输入参数:time 输出参数:无 函数功能:延时程序40us \/ void delay40us(unsigned int time){ unsigned char ks;while(...

单片机89c51 8个开关倒着控制8个灯 这个图跪求程序
这图还真不好看懂,大概齐吧,程序如下:include<reg51.h> define uchar unsigned char main(){ uchar key,tmp,i;P2=0xff;P1=0xff;while(1){ key=P1;tmp=0x00;for(i=0;i<8;i++){ if(key&0x01)tmp|=0x01;tmp<<=1;key>>=1;} P2=tmp;} } ...

如何用单片机89c51通过uln2803驱动5V的继电器?需要具体的电路图...
要用+ 5 V 直流电压供电,每个并行口引脚输出最大电压不超过5 V , 输出电流最大为20mA[3 ] ,但35BYJ 46 型四相八拍电机需要12 V直流电压供电,因此,从AT90S8515 单片机C 口输出的信号不足以控制步进电机,所以必须加上驱动电路(即ULN2803) . 步进电机控制系统中将AT90S8515 C 口的高四位PC4 -...

怎么用89C51单片机实现用一个开关控制8个流水灯,要求开关按下去松开是亮...
开关,接在 P2.7 与地之间。include <AT89X51.H> \/\/预处理命令 void w(unsigned char k){ unsigned int a; \/\/定义变量a 为int 类型 if (k) { while(P2_7); \/\/没有按就循环,等待按下 for (a = 0; a < 600; a++); \/\/延时消抖 while(P2_7); \/\/没有按...

求用C语言编写一个单片机89C51电子时钟程序,有时,分,秒,还有电路图_百 ...
uchar ucAddr = 0x80; W1302(0x8e,0x00); \/* 控制命令,WP=0,写操作?*\/ for(h =7; h>0; h--) { W1302(ucAddr,*pClock); \/* 秒 分 时 日 月 星期 年 *\/ pClock++; ucAddr +=2; } W1302(0xc0,0x01); W1302(0XC2,0X03); \/\/初始自动...

急求基于单片机AT89C51的多功能数字电子钟的汇编程序,高手进!~_百度知...
用89C51控制3个HC595,前两个595接8段数码显示管,显示“0”~“9”每秒跳动一次.第3个HC595接8个LED灯,每隔1秒闪烁1次.include<at89x52.h> include<intrins.h> define uchar unsigned char define uint unsigned int uchar table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90...

求89C51单片机简单中断程序,用C语言编写,题目如图
include<reg51.h>#include "intrins.h"#include "absacc.h"#define uchar unsigned charuchar ledtab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x40,0xff};\/\/0-9uchar num,cnt;bit flag=0;void ext1() interrupt 2{flag=~flag;}void t1isr() interrupt 3\/\/显示{...

如何用c语言编程实现用89c51单片机控制8个led灯像电子时钟那样显示...
假设你单片机的p1口连了led灯:include sbit led = p1^0;\/\/这是点第一位灯 int main(void){ while(1){ led = 0;\/\/假设led灯为共阳极的 } return 0;} 点亮led灯的形式有很多,这里给出一种仅供参考

相似回答