#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit dula=P2^6;
sbit wela=P2^7;
sbit D1=P1^0;
void delay(uint z);
uchar num;
uchar code table[]={ //结构体
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
void main(){
//位选 来确定哪几个变亮
// wela=1; //给高电频,直通
// P0=0xc0;
// wela=0; //给低电频,联接断开
//段选 传数据
// dula=1;
// P0=0x06;
// dula=0;
while(1)
{
EA=1; //打开总中断,允许使用中断器
EX0=1; //开外部中断0 两种方式 电频触发/跳变源触发
IT0=1; // 跳变 方式 和 TCON=0x01功能相同 TCON=0x01 是位操作
wela=1; //位选打开
P0=0xc0;
wela=0;
for(num=0;num>16;num++)
{
D1=1;
dula=1; //段选打开
P0=table[num];
dula=0; //段选锁存关闭
delay(1000);
}
}
}
void delay(uint z)
{
uint x,y;
for(x=100;x>0;x--)
for(y=z;y>0;y--);
}
void exter0() interrupt 0 //外部中断0的写法 用杜绑线 JND 联P3^2口
{
D1=0;
}