P1.7接一个开关,当开关接高电平时,8位数码显示屏,显示自己班级的班号;当开关接低电平时,8位数码显示模块中的左4位显示“1”,其余位显示“--”
,主函数应该如何更改才能符合题意
#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
void delay(uchar x);
void display1();
void display2();
sbit button=P1^7;
uchar m,n;
uchar seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0x80,0x90};
uchar gay[]={0x90,0x80,0x82};
main()
{
while(1)
{
while(button==1)
{
if(button==1)
{
display1();
}
if(button==0)
{
display2();
}
}
}
}
void delay(uchar x)
{ uchar i,j;
for(i=0;i<x;i++)
for(j=0;j<10;j++);
}
void display1()
{
P2=seg[m];P3=0x01;delay(20);P2=0x00;
P2=seg[m];P3=0x02;delay(20);P2=0x00;
P2=seg[m];P3=0x04;delay(20);P2=0x00;
P2=seg[m];P3=0x08;delay(20);P2=0x00;
P2=seg[m];P3=0x10;delay(20);P2=0x00;
P2=seg[m];P3=0x20;delay(20);P2=0x00;
}
void display2()
{
P2=gay[n];P3=0x01;delay(20);P2=0x00;
P2=gay[n];P3=0x02;delay(20);P2=0x00;
P2=gay[n];P3=0x04;delay(20);P2=0x00;
P2=gay[n];P3=0x08;delay(20);P2=0x00;
P2=gay[n];P3=0x10;delay(20);P2=0x00;
P2=gay[n];P3=0x20;delay(20);P2=0x00;
}