#include <reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit w1=P2^0;//位选
sbit w2=P2^1;//位选
sbit d5=P2^6;//段选
sbit d6=P2^7;//段选
uchar code qust[]={0xFF,0x7F,0xFE,0xFF,0xF9,0xFF,0xE0,0x00,0x1F,0xFF,0xFD,0xF7,0xFB,0xCF,0xE7,0x3F,
0x0F,0xFD,0xEF,0xFE,0xEC,0x01,0xEF,0xFF,0xEF,0x7F,0xEB,0x9F,0xE7,0xE7,0xFF,0xFF};/*你 */
uchar m;
void delay(uint z)
{ //延时
uchar x,y;
for(x=360;x>0;x--)
for(y=z;y>0;y--);
}
void init() //初始化
{
P2=0;
EA=1; //开总中断
EX0=1;//启动外部中断0
IT0=1;//下降沿触发
}
void display()
{
uchar i;
P2=0;
w1=1;//开位选
w2=1;//开位选
P0=0xff;//对所有的位选写入数据
w1=0; //关位选
w2=0;
delay(10);
d5=0;//开段选
d6=0;
d5=1;
d6=1;
for(i=0;i<16;i++)
{
P0=qust[i*2]; //段选写入数据
P0=qust[i*2+1];
delay(50);
}
d5=0;
d6=0;
}
void main()
{
init();
while(1)
{;}
} //外部中断
void start () interrupt 0
{
m=~m; //来回只点亮一次
if(m==0)
display();
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>