14.c
来自「用在51系列单片机上的,周期为5S,1/4占空比软件」· C语言 代码 · 共 81 行
C
81 行
#include <reg51.h>
#include <stdio.h>
#define TH 0x43 //11.0592M
#define TL 0x54
sbit KEY0=P2^2;
sbit KEY1=P2^3;
sbit OUT0=P1^1;
sbit OUT1=P1^0;
int r,zhuangtai,KEYR;
void KEY(void)
{
while (1)
{
if (KEY0==0)
{
KEYR=0xff;
}
if (KEY1==0)
{
KEYR=0xff;
}
}
}
void timer0(void) interrupt 1
{
TR0=0;
TH0=TH;
TL0=TL;
TR0=1;
if (KEYR==0)
{
OUT0=1;
OUT1=0;
}
if (KEYR!=0)
{
while (!r--==1)
{
if (zhuangtai==1)
{
OUT0=1;
OUT1=0;
zhuangtai=0;
r=160;
}
else if (!zhuangtai==1)
{
OUT0=0;
OUT1=1;
zhuangtai=1;
r=30;
}
}
}
}
void main(void)
{
P0=0;
P1=0xfe;
P2=0;
P3=0;
r=30;
zhuangtai=1;
KEYR=0xff;
IE=0x82;
TMOD=0x01;
TH0=TH;
TL0=TL;
TR0=1;
KEY();
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?