求 帮忙对交通灯程序注释

来源:百度知道 编辑:UC知道 时间:2024/06/28 02:05:16
include <reg51.h>
#include <stdio.h>
#define uchar unsigned char
#define uint unsigned int

uchar h;
uint r=0;
uint s;
uchar code dis[]={

0Xc0,/*0*/
0Xf9,/*1*/
0Xa4,/*2*/
0Xb0,/*3*/
0X99,/*4*/
0X92,/*5*/
0X82,/*6*/
0Xf8,/*7*/
0X80,/*8*/
0X90,/*9*/
0Xff,/*NULL*/
}; //LED地址

void delay(uint c)
{
uint i,j;
for(i=0;i<c;i++)
for(j=0;j<100;j++);

}

//interrupt 1
void t0(void) interrupt 0 using 1
{
delay(2);
if(INT0==0)
{
r++;
if(r==2)
{
r=0;
}
r%=2;
if(r==0)
{
P0=0xeb;
P1=0x00;
P2=0xff;
}while(1)
{
if(INT0==0|INT1==0|T0==0)
{
delay(2);
if(INT0==0|INT1==0|T0==0)

include <reg51.h>
#include <stdio.h>
#define uchar unsigned char //简化定义,书写方便
#define uint unsigned int //同上,

uchar h;
uint r=0;
uint s;
uchar code dis[]={

0Xc0,/*0*/
0Xf9,/*1*/
0Xa4,/*2*/
0Xb0,/*3*/
0X99,/*4*/
0X92,/*5*/
0X82,/*6*/
0Xf8,/*7*/
0X80,/*8*/
0X90,/*9*/
0Xff,/*NULL*/
}; //LED段地址

void delay(uint c) //延时程序,12M的晶振延时 200*C us.
{
uint i,j;
for(i=0;i<c;i++)
for(j=0;j<100;j++);

}

//interrupt 1
void t0(void) interrupt 0 using 1//外部中断0中断程序
{
delay(2);
if(INT0==0) //按下INT0键,r用来计按下的次数
{
r++;
if(r==2) //按下两次,计次清零
{
r=0;
}
r%=2;
if(r==0)
{
P0=0xeb;
P1=0x00;
P2=0xff;
}while(1)
{