电路图
点击下载
(下载时可能会提醒不安全,其实没事,本博主是放在自己服务器上面)
这个的话,它左边是高电平,右边是因为接地,一边是高低平,一边是低电平,所以会亮,左边为0,灯就不会亮啦,刚开始学的时候,可以记住为0就不亮,然后就可以通过电脑上面的计算器来把它每一位写出来,然后再转成16进制数。
代码:
#include<reg51.h> // 引入头文件
void delay(unsigned time){
unsigned i , j;
for(i = 0 ;i< time;i++)
for(j = 0;j < time ;j++);
}
// 绿灯到黄灯的时间
void delay_time(){
int i ;
for(i = 5 ;i > 0 ;i--){
P1 = i;
delay(200);
}
}
// 黄灯到红灯的时间
void delay_time2(){
int i ;
for(i = 3 ;i > 0 ;i--){
P1 = i;
delay(200);
}
}
void main(){
while(1){
P2 = 0x41;
delay_time();
P2 = 0x42;
delay_time2();
P2 = 0x14;
delay_time();
P2 = 0x24;
delay_time2();
}
}