現在程序可以實現 1加操作到9 和9減到1
怎么樣才可以把他改成 1加到9 如果再按加變成1 和 9減到1 再按減變回9
和 怎么可以把當前顯示的數 存儲到 內部寄存器EEPROM里面
單片機型號 STC 89C52
#include<reg52.h>
sbit k1=P3^6;
sbit k2=P3^7;
void delay(unsigned char i)
{
unsigned char j,k,x;
for(k=0;k<i;k++)
for(j=0;j<255;j++)
for(x=0;x<25;x++);
}
unsigned char smg[]={0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //數碼管顯示1-9
unsigned a;
void key1()
{
a=0;
while(1)
{
if(k1==0) //檢測按鍵是否按下
{
delay(5); //延時消抖
if(k1==0) //再次檢測按鍵是否按下
{
while(!k1); //檢測按鍵是否彈起
if(a<8)
a++; //加操作
}
}
if(k2==0) //檢測按鍵是否按下
{
delay(5); //延時消抖
if(k2==0) //再次檢測按鍵是否按下
{
while(!k2); //檢測按鍵是否彈起
if(a>0)
a--; //減操作
}
}
//1234
P2=smg[a]; //數碼管顯示
}
}
void main()
{
while(1)
{
key1();
}
}
|