找回密码
 注册会员
搜索附件  
MCU资讯论坛 附件中心 单片机论坛 51单片机论坛 数值移位显示1.rar

数值移位显示1.rar

 

数值移位显示:
功能:就像我们用的计算器那样,每按一次递增一位!我现在只做了2位的!
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#include <reg52.h>

unsigned char smduan[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,};
unsigned char smwei[]={0xfe,0xFd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,};

void jishi_ms(unsigned char ms)
{
unsigned int i;
unsigned char j;
for(i=0;i<ms;i++)
{
for(j=0;j<200;j++);
for(j=0;j<102;j++);
}
}

void main ()
{
unsigned char jz;
unsigned char js;
unsigned char g;
unsigned char s;

unsigned char smw;

bit flag ;
while(1)
{
//*************************************这段是4*4键盘,直接用8个IO口,没有任何上拉或下拉。
P1=0xf0;
if(P1!=0xf0)
{
jishi_ms(5);
if(P1!=0xf0)jz=P1;
P1=0x0f;

jz=jz|P1;
switch(jz)
{
case 0xee:js=0;break;
case 0xde:js=1;break;
case 0xbe:js=2;break;
case 0x7e:js=3;break;
case 0xed:js=4;break;
case 0xdd:js=5;break;
case 0xbd:js=6;break;
case 0x7d:js=7;break;
case 0xeb:js=8;break;
case 0xdb:js=9;break;
case 0xbb:js=10;break;
case 0x7b:js=11;break;
case 0xe7:js=12;break;
case 0xd7:js=13;break;
case 0xb7:js=14;break;
case 0x77:js=15;break;
default:break;
}
}
//************************************************下面就是检察了
if(P1!=0xf0)
{

if(js<9)
{
flag=1;

if(smw==0)
{
g=js;
}

/* if(smw==1)//如果加上这条语句就错了,改到下面就好了
{
s=g;
g=js;
} */

}

}
else
{
if(flag==1)
{

if(smw==1)//改到这里
{
s=g;
g=js;
}
smw++;
flag=0;
}
P2=smwei[3];
P0=smduan[g];
jishi_ms(5);
P2=smwei[2];
P0=smduan;
jishi_ms(5);

}



}

}

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-27 00:32 , Processed in 0.038151 second(s), 8 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

返回顶部