武汉理工大学单片机课程设计-2 联系客服

发布时间 : 星期四 文章武汉理工大学单片机课程设计-2更新完毕开始阅读3a34544d8c9951e79b89680203d8ce2f006665d3

{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x88,0x83,0xc6,0xa1,0x86,0x84};//数码管代码 char dis_buf;

char i=0,j=0,k=0,inp1=0,inp2=0,inp3=0,on_off=0,disp=0; //初始化控制变量

char temp,key,num,m,n; char a[11][5]; void keydown(void); void keyscan(void); void display(void); void init(void); void delay(int z) {

int x,y; }

void main() {

P0=0xff;

P2=0xff; dis_buf=0xbf; while(1) {

for(m=0;m<10;m++)

for(n=0;n<5;n++)

a[m][n]=0;

for(x=0;x

for(y=0;y<110;y++);

display();

} }

void keydown(void)

{

P1=0xf0; if(P1!=0xf0) { keyscan();

//扫描函数

while(P1!=0xF0);

}

}

void keyscan(void) { int m,n; //**********

个按钮设key********************************** P1=0x0f;

//低四位输入

delay(1); temp=P1;

temp=(~temp)&0x0f; if(temp==1)

key=0; else if(temp==2) key=4; else if(temp==4) key=8; else if(temp==8) key=12;

P1=0xf0; delay(1); temp=P1; temp=(temp>>4);

temp=(~temp)&0x0f; 置一个编号

if(temp==1) key=key+0;

else if(temp==2) key=key+1; else if(temp==4) key=key+2; else if(temp==8) key=key+3;

if(key==3||key==7||key==11||key==12||key>13) { //控制按钮输

if(key==3) { }

else if(key==7) {

disp=1; num=0;

//数据显示按钮

on_off=1;

//开数据输入开关

//数据输入按钮

}

else if(key==11) //串行通信 {

init();

inp2=1,i=0,j=0,inp1=0,on_off=0,disp=0,num=0;

for(m=0;m<10;m++)

for(n=0;n<5;n++)

a[m][n]=0;

}

else if(key==12) //回车按钮 {

inp1++;

if(inp1==2) {inp1=0;j=0;}

}

else if(key==15) //清除按钮 {

i=0,j=0,inp1=0,inp2=0,on_off=0,disp=0,num=0;

for(m=0;m<10;m++)

for(n=0;n<5;n++)

a[m][n]=0;

}

else if(key==14) //输入清除按钮 {

for(j=0;j<6;j++) a[i][j]=0; inp1=0; j=0;

}

//数据按钮输入

}else{

if(key<3) {num=key+1;}

//num为1~3 //num为4~6 //num为7~9 //num为0

else if(key>3&&key<7) {num=key;} else if(key>7&&key<11) {num=key-1;} else if(key==13) {num=0;}

if(disp==0&&on_off==1){ if(inp1==0){i++; a[i][0]=num;}

//数据存储

else if(inp1==1) {j++;a[i][j]=num;}

}else if(inp2==1)