www.pudn.com > jtd.rar > ss.c
#include#include #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(); while(1) { PB=0xC0; PC=0x30; //东西路口绿灯全亮,南北路口红灯全灭 //Delay02(); Delay6(); PB=0x40; PC=0x10; //四个口红灯全亮,绿灯不亮 for(m=8;m>0;m--) //闪烁8次 { PB=0x40; PC=0x51; //东西路口黄灯亮 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(); } //循环 } 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=10;c>0;c--) { Delay02(); } }