全文预览

单片机课程设计_打地鼠

上传者:梦&殇 |  格式:doc  |  页数:23 |  大小:0KB

文档介绍
0;a--); }void display(int num){ //数码管动态扫描函数 uchar flag; if(num<10){ flag=1; //判断应该显示记为数据№. 9 }else if(num<100){ flag=2; }else if(num<1000){ flag=3; }else if(num<10000){ flag=4; }switch(flag){ //显示数据 case 4: P2=0xf8; P1=table[ num/1000%10]; delay(1); case 3://没有 break 可以动态显示不同位数 P2=0xf4; P1=table[ num/100%10]; delay(1); case 2: P2=0xf2; P1=table[ num/10%10]; delay(1); case 1: P2=0xf1; P1=table[num%10]; delay(1); break; } №. 10 }uchar keypress(){ //键盘扫描 uchar xx,yy,key,rekey; P0=0x0f; //先扫描低四位 xx=P0&0x0f; if(xx==0x0f)return 0xff; P0=0xf0; //再扫描高四位 yy=P0&0xf0; key=xx|yy; delay(10); //消抖 P0=0x0f; xx=P0&0x0f; if(xx==0x0f)return 0xff; P0=0xf0; yy=P0&0xf0; rekey=xx|yy; if(key==rekey){ //松手检测 do{//松手后才返回键值 P0=0x0f; xx=P0&0x0f; display(score); scond=!scond; }while(xx!=0x0f); scond=1; return(rekey);

收藏

分享

举报
下载此文档