找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

急求解此按键程序。。。

[复制链接]
admin 发表于 2012-9-2 07:09:47 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
sbit key1=P3^2;
sbit key2=P3^3;
sbit key3=P3^4;
uchar temp;
uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
void delay(uint z)
{
uint x,y;
for( x=z;x>0;x--)
for(y=110;y>0;y--);
}
void display(uint temp)
{
uchar ge,shi,bai;
bai=temp/100;
shi=(temp%100)/10;
ge=temp%10;
P2=0xf8;
P0=table[bai];
delay(1);
P2=0xf9;
P0=table[shi];
delay(1);
P2=0xfa;
P0=table[ge];
delay(1);
}
uchar key()
{
uint num;
//num=11;
if(key1==0)
{
delay(10);
if(key1==0)
{
while(!key1);
delay(5);
num++;
if(num==60)
num=0;
}
}
if(key2==0)
{
delay(10);
if(key2==0)
{
while(!key2);
delay(5);
num-- ;
if(num<0)
num=0;
}
}
if(key3==0)
{
delay(10);
if(key3==0)
{
while(!key3);
num+=2;
if(num==60)
num=0;
}
}
return num;
}
void main()
{
uchar flag;
while(1)
{
flag=key();
display(flag);
}
}

该程序每次运行时,当数码管加到9时往后在加就会自动清零。。。急求高手帮忙解释下这是为什么。。。需要怎么改
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

GMT+8, 2024-11-24 05:42 , Processed in 0.050624 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表