?? 4-2.c
字號:
#include<reg51.h>
#include<absacc.h>
#define PB XBYTE[0x1B01] //B口地址
#define PC XBYTE[0x1B02] //C口地址
#define PCT XBYTE[0x1B03] //控制口地址
int m,n,i,j,k,c;
void Delay6();
void Delay02();
void main(void)
{
PCT=0x80; //8255設置方式0,A、B、C口均為輸出口
PB=0x40; PC=0x92; //初始化:點亮四個紅燈,綠燈、黃燈全滅
Delay6();
loop:
PB=0xC0; PC=0x92; //東西路口綠燈全亮,南北路口紅燈全滅
Delay6();
Delay6();
PB=0x40; PC=0x10; //四個口紅燈全亮,綠燈不亮
for(m=8;m>0;m--) //閃爍8次
{
PB=0x40; PC=0x49; //東西路口黃燈亮
Delay02();
PB=0x40; PC=0x10; //東西路口黃燈滅
Delay02();
}
PB=0x40;PC=0x92; //四個紅燈全亮,綠燈不亮
Delay02();
PB=0x10; PC=0x86; //東西路口紅燈亮,南北路口綠燈亮
Delay6(); Delay6();
PB=0x00; PC=0x82; //東西路口紅燈亮,南北路口綠燈滅
{
PB=0x20; PC=0x8A; //南北路口黃燈亮
Delay02();
PB=0x00; PC=0x82; //南北路口黃燈滅
Delay02();
}
PB=0x40; PC=0x92; //四個紅燈全亮,其它燈全滅
Delay02();
goto loop; //循環
}
void Delay02() //延時0.2s
{
for(i=2;i>0;i--)
{
for(j=200;j>0;j++)
{for(k=126;k>0;k--);}
}
}
void Delay6() //延時6s
{
for(c=30;c>0;c--)
{Delay02();}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -