- 打卡等级:常住居民I
- 打卡总天数:75
- 最近打卡:2025-01-05 14:16:57
中级会员
- 积分
- 214
|
一直编译不了
#include <STC32G.H>
#include <INTRINS.H>
void Delay10ms(void);
unsigned int a,a1,a2,a3,a4,a5,a6,a7,a8,h,c,d,e,f1,f2,f3,f4;
unsigned char code number[]={0XC0,0XF9,0XA4,0XB0,0X99,0X92,0X82,0XF8,0X80};
void Delay10ms(void) //@24.000MHz
{
unsigned char data i, j;
i = 39;
j = 230;
do
{
while (--j);
} while (--i);
}
void main()
{
P0M0=0X00;
P0M1=0X00;
P4M0=0X00;
P4M1=0X00;
P6M0=0X00;
P6M1=0X00;
P7M0=0X00;
P7M1=0X00;
P7=0X7F;
while(1)
{
d=1;
// P0=0XFE; //检测第一列
// if(P06==0&&P07==1) {c=1;} //0键按下
// if(P06==1&&c==1) {c=2;a=1;}
// if(P06==1&&P07==0) {c=1;} //4键按下
// if(P07==1&&c==1) {c=2;a=5;}
// P0=0XFD; //检测第二列
// if(P06==0&&P07==1) {c=1;} //1键按下
// if(P06==1&&c==1) {c=2;a=2;}
// if(P06==1&&P07==0) {c=1;} //5键按下
// if(P07==1&&c==1) {c=2;a=6;}
P0=0XFB; //检测第三列
if(P06==0&&P07==1) {c=1;if(P06==1&&c==1) {c=2;a=3;f2=1;}} //2键按下
if(P06==1&&P07==0) {c=1;if(P07==1&&c==1) {c=2;a=7;f1=1;}} //6键按下
P0=0XF7; //检测第四列
if(P06==0&&P07==1) {c=1;if(P06==1&&c==1) {c=2;a=4;f3=1;}} //3键按下
if(P06==1&&P07==0) {c=1;if(P07==1&&c==1) {c=2;a=8;f4=1;}} //7键按下
h=f1+f2+f3+f4;
for(c;c<=2;c++;)
{
if(h==1) {a1=a;} //第一次按下,数码管将要显示的数字
if(h==2) {a2=a;} //第二次按下,数码管将要显示的数字
if(h==3) {a3=a;} //依次类推
if(h==4) {a4=a;}
if(h==5) {a5=a;}
if(h==6) {a6=a;}
if(h==7) {a7=a;}
if(h==8) {a8=a;}
}
if(c==3&&d!=10)
{
for(d=1;d<=h;d++;) //数码管依次显示
{
if(d==1) {P6=number[a1];e=1;} //第一次按下时,数码管显示的数字
if(d==2) {P6=number[a2];e=1;} //第二次按下时,数码管显示的数字
if(d==3) {P6=number[a3];e=1;} //依次类推
if(d==4) {P6=number[a4];e=1;}
if(d==5) {P6=number[a5];e=1;}
if(d==6) {P6=number[a6];e=1;}
if(d==7) {P6=number[a7];e=1;}
if(d==8) {P6=number[a8];e=1;}
if(d>=2&&e==1){e=0;P7=_cror_(0X7F,d-1);} //只有第二次及以上按下时,才会移位
Delay10ms();
// P0=0XFE;
// if(P06==0||P07==0) {d=9;} //当有按键按下时,弹出循环
// P0=0XFD;
// if(P06==0||P07==0) {d=9;} //当有按键按下时,弹出循环
P0=0XFB;
if(P06==0||P07==0) {d=9;P7=0X7F;} //当有按键按下时,弹出循环
P0=0XF7;
if(P06==0||P07==0) {d=9;P7=0X7F;} //当有按键按下时,弹出循环
if(d==h) {d=0;P7=0X7F;} //快结束循环时,继续循环
}
}
}
}
|
|