📄 hong lv deng.c
字号:
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit P3_2=P3^2;
sbit P1_0=P1^0;
sbit P1_1=P1^1;
sbit P1_2=P1^2;
sbit P1_3=P1^3;
sbit P1_4=P1^4;
sbit P1_5=P1^5;
sbit P1_6=P1^6;
#define OSC_FREQ 12000000
#define _1ms (65536-OSC_FREQ/(12000000/980))
void Timer_1ms(uint_1ms);
void Led_RR(); //红红
void Led_RG(); //红绿
void Led_RY(); //红黄
void Led_GR(); //绿红
void Led_YR(); //黄红
void Led_Off();
void Xint0(void);
/*****************************************************/
void main(void)
{
P1=0x00;
EA=1;
EX0=1;
IT0=0;
Led_RR();
do{
Led_RG();
Led_RY();
Led_GR();
Led_YR();
}while(1);
}
/********************************/
void Timer_1ms(uint_1ms)
{
TMOD=TMOD&(0x0f)|0x10;
TR1=1;
while(uint_1ms--)
{
TH1=_1ms/256;
TL1=_1ms%256;
while(!TF1);
TF1=0;
}
TR1=0;
}
/*********************************/
void Xint0(void) interrupt 0 using 3
{
P1_0=0;
P1_2=0;
P1_4=0;
P1_5=0;
P1_6=0;
P1_1=1;
P1_3=1;
for(;;)
{
;
}
}
/*********************************/
void Led_RR() //红红2s
{
P1_0=0;
P1_2=0;
P1_4=0;
P1_5=0;
P1_6=0;
P1_1=1;
P1_3=1;
Timer_1ms(2000);
Led_Off();
}
/*********************************/
void Led_RG() //红绿5s
{
P1_1=1;
P1_2=1;
Timer_1ms(5000);
Led_Off();
}
/*********************************/
void Led_RY() //红黄5s
{
uint i;
P1_1=1;
for(i=1;i<=5;i++)
{
P1_5=1;
Timer_1ms(500);
P1_5=0;
Timer_1ms(500);
}
Led_Off();
}
/**********************************/
void Led_GR() //绿红5s
{
P1_0=1;
P1_3=1;
Timer_1ms(5000);
Led_Off();
}
/**********************************/
void Led_YR() //黄红5s
{
uint i;
P1_3=1;
for(i=1;i<=5;i++)
{
P1_4=1;
Timer_1ms(500);
P1_4=0;
Timer_1ms(500);
}
Led_Off();
}
/*********************************/
void Led_Off()
{
P1_0=0;
P1_1=0;
P1_2=0;
P1_3=0;
P1_4=0;
P1_5=0;
P1_6=0;
}
/********************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -