⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 4-2.c

📁 《单片机C语言编程与实例》的代码第4章.rar
💻 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;			//东西路口红灯亮,南北路口绿灯灭
 for(n=8;n>0;n--)				//闪烁8次
 {
  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 + -