找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 2473|回復(fù): 0
收起左側(cè)

按鍵延時(shí)程序能否改進(jìn)?

[復(fù)制鏈接]
ID:140568 發(fā)表于 2016-10-3 13:03 | 顯示全部樓層 |閱讀模式
#include<reg51.h>
unsigned char code seg[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//êyÂë1üÏÔê¾·û
sbit k1=P3^2;
sbit k2=P3^6
bit keysta=1
void main(){
                bit backup=1;
                unsigned char cnt=0;
                TMOD=0X01;
                TH0=0XF8;
                TL0=0XCD;
                ET0=1;
                TR0=1;
                EA=1;
                P2=seg[cnt];
                while(1){
                                if(keysta!=backup){
                                        if(backup==0){
                                                cnt++;
                                                if(cnt>=10){
                                                        cnt=0;
                                                }
                                                P2=seg[cnt];
                                        }
                                        backup=keysta;
                        }
        }
}
void tm()interrupt 1
{
        static unsigned char keybuf=0xff;
        TH0=0XF8;
        TL0=0XCD;
        keybuf=(keybuf<<1)| k1;
        if(keybuf==0xfe){
                keysta=0;
        }
        else if(keybuf==0xff){
                keysta=1;
        }
}
如果在這個(gè)程序下變成二個(gè)按鍵是不是要:
1.二個(gè)備份值
2.定時(shí)器中斷那里也要添加keybuf=(keybuf<<1)|k2
這個(gè)樣子的話覺(jué)得好繁瑣~不智能。希望大家提醒一下~       
       

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表