
一级判断:按键保持1s松开为走时,按键保持3s松开为调时菜单(建议有效采集3-5s),按键保持9s松开为定时菜单(建议有效采集9-10s)。
二级判断:当一级菜单有效,按键保持1s松开为逐步选项,按键持续保持3s为值递增。无按键 *** 作10s恢复运行。
两位按键似乎程序简短些,应该更好实现,楼主是要程序源代码?因为一个项目要用,所以最近也在做数码管,程序很简单,我不大会做电路,不知道实验室上哪里搞了那么大的数码管,竟然比万用表大一倍,直接给你程序吧,电路留着,等我们做出来再说,先给程序,引脚自己改一下
#include<reg52h>
#define uchar unsigned char
#define uint unsigned int
sbit gewei=P2^7;
sbit shiwei=P2^6;
sbit baiwei=P2^5;
uint count,a,b,c;
uchar code table_1[] = {0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09};
uchar code table_2[] = {0x02,0x9e,0x24,0x0c,0x98,0x48,0x40,0x1e,0x00,0x08};
void Time0_Init()
{
TMOD = 0x01;
TH0 = (65536-50000)/256;
TL0 = (65536-50000)%256;
EA = 1;
ET0 = 1;
TR0 = 1;
}
void delay(uint del)//单位一毫秒延时
{ uint i,j;
for(i=0;i<del;i++)
for(j=0;j<148;j++);
}
void main()
{ Time0_Init();
while(1)
{ gewei=0;
P0=table_1[a%10];
delay(1);
gewei=1;
shiwei=0;
P0=table_2[b%10];
delay(1);
shiwei=1;
baiwei=0;
P0=table_1[c%10];
delay(1);
baiwei=1;
}
}
void Time0_Int() interrupt 1
{
TH0 = (65536-50000)/256;
TL0 = (65536-50000)%256;
count++;
if(count==2)
{
count=0;
a++;
if(a == 10) a=0,b++;
if(b == 10) b=0,c++;
if(c == 3) c=0;
}
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)