久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5201|回復: 7
打印 上一主題 下一主題
收起左側(cè)

新手自學求幫助!定時中斷掃描矩陣鍵盤。

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:92512 發(fā)表于 2015-10-15 13:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
用單片機定時中斷完成矩陣鍵盤的掃描,但是總是不對。下面是我的程序。求,高手指證。。!
(鍵盤我只用了前四個)
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar code table[]={
0xfe,0xfd,0xfb,0xf7,0xef,
0xdf,0xbf,0x7f};

sbit dula=P2^6;
sbit wela=P2^7;



void delay(uint z)                 //延時函數(shù)
{
        uint x,y;
        for(x=z;x>0;x--)
                for(y=114;y>0;y--);
}


void display(uchar num)
{          
                dula=1;
                P0=table[num];
                dula=0;
                P0=0xff;
               
                wela=1;
                P0=0xfe;
                wela=0;
                delay(5);       
}



void main()
{
        uchar num;
        TMOD=0x01;
     TH0=(65536-1000)/256;
     TL0=(65536-1000)%256;
     EA=1;
     ET0=1;
         TR0=1;
         while(1)
         {
                display(num);       
         }
         
                
         
         
       
}

void IT_0()interrupt 1
{
        TH0=(65536-1000)/256;
        TL0=(65536-1000)%256;
        if((P1&0xf0)!=0xf0)
        {
                uchar temp,key;
                P3=0xfe;
                temp=P3;
                temp=temp&0xf0;
                if(temp!=0xf0)
                {
                        delay(5);
                        if(temp!=0xf0)
                        {
                                temp=P3;
                                switch(temp)
                                {
                                        case 0xee:
                                                key=0;
                                                break;
                                        case 0xde:
                                                key=1;
                                                break;
                                        case 0xbe:
                                                key=2;
                                                break;
                                        case 0x7e:
                                                key=3;
                                                break;
                                }       
                                while(temp!=0xf0)
                                {
                                        temp=P3;
                                        temp=temp&0xf0;
                                }
                       
                        display(key);       
                        }
                }
        }



}



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:92512 發(fā)表于 2015-10-15 13:07 | 只看該作者
自己頂一下。
回復

使用道具 舉報

板凳
ID:92512 發(fā)表于 2015-10-15 13:14 | 只看該作者

求解答
回復

使用道具 舉報

地板
ID:7485 發(fā)表于 2015-10-15 14:40 | 只看該作者
定時器中斷間隔太短了,加大到20000~50000都可以。
回復

使用道具 舉報

5#
ID:92512 發(fā)表于 2015-10-15 18:19 | 只看該作者
ahshmj 發(fā)表于 2015-10-15 14:40
定時器中斷間隔太短了,加大到20000~50000都可以。

試了,不行啊,語法上有沒有什么錯誤?
回復

使用道具 舉報

6#
ID:27916 發(fā)表于 2015-10-16 09:03 | 只看該作者
呵呵,按鍵程序沒看懂哈
說一下顯示吧,每次給P0賦值都應(yīng)該延遲一定的時間喲,我看你給P0送了兩次值,在顯示的地方,但是前一次給完了馬上又在給一次了,,,這里我也不知道你要做什么
再,像你這個程序,不用在中斷里面調(diào)用display程序,你可以在程序里面改變num的值就可以了,當然, NUM應(yīng)該要改成全局變量
回復

使用道具 舉報

7#
ID:92512 發(fā)表于 2015-10-25 18:43 | 只看該作者
青蘋果 發(fā)表于 2015-10-16 09:03
呵呵,按鍵程序沒看懂哈
說一下顯示吧,每次給P0賦值都應(yīng)該延遲一定的時間喲,我看你給P0送了兩次值,在顯 ...

嗯,搞好了
回復

使用道具 舉報

8#
ID:94113 發(fā)表于 2015-10-30 19:39 | 只看該作者
好吧 我也是新人
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

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

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 成人精品一区 | 91精品国产91久久久久久最新 | www.黄色在线观看 | 成人在线精品视频 | 欧美天堂在线观看 | 免费成人在线网站 | 99久久精品一区二区毛片吞精 | 精品一区二区视频 | 精品中文字幕一区二区三区 | 亚洲欧美一区二区在线观看 | 男女污污网站 | 成人在线播放 | 96国产精品久久久久aⅴ四区 | 国产日韩欧美在线 | 精品一区av | 亚洲视频国产视频 | 黄a大片 | 欧美日韩综合视频 | 日韩在线三级 | 成人在线免费观看 | 午夜精品一区 | 97成人精品 | 五月香婷婷 | 欧美精品v| 日韩精品四区 | 欧美日韩免费在线 | 日本欧美大片 | 亚洲永久字幕 | 殴美成人在线视频 | 日韩av在线中文字幕 | 国产传媒在线播放 | 国产亚洲精品区 | 精产国产伦理一二三区 | 日韩在线播放网址 | 国产精品久久久久久妇女 | 色888www视频在线观看 | 777毛片| 一级免费看| 亚洲第一天堂无码专区 | 精品欧美一区二区三区精品久久 | 激情综合五月天 |