亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于AT89C52的矩陣鍵盤編程

        2016-12-17 01:56:15濰坊工程職業(yè)學(xué)院張成法馬鳳娟
        河北農(nóng)機(jī) 2016年11期
        關(guān)鍵詞:矩陣式數(shù)碼管賦值

        濰坊工程職業(yè)學(xué)院 張成法 馬鳳娟

        基于AT89C52的矩陣鍵盤編程

        濰坊工程職業(yè)學(xué)院張成法馬鳳娟

        本文主要講述采用逐行掃描法識(shí)別矩陣式鍵盤按鍵,通過(guò)依次按下矩陣式鍵盤上的第1~16個(gè)鍵,6位數(shù)碼管全部依次顯示0~F來(lái)闡述矩陣式鍵盤按鍵識(shí)別的具體實(shí)現(xiàn)方法。

        矩陣式鍵盤;按鍵;數(shù)碼管

        引言

        在單片機(jī)組成的各種系統(tǒng)中,應(yīng)用最多的是非編碼鍵盤。非編碼鍵盤又分為:獨(dú)立鍵盤和行列式(又稱矩陣式)鍵盤。本文通過(guò)案例程序“依次按下矩陣式鍵盤上的第1~16個(gè)鍵,6位數(shù)碼管全部依次顯示0~F”的編寫闡述采用逐行掃描法識(shí)別矩陣式鍵盤按鍵的實(shí)現(xiàn)方法。對(duì)矩陣式鍵盤按鍵的識(shí)別方法有很多種,本文講述的方法簡(jiǎn)單易懂,容易掌握。

        1 系統(tǒng)整體設(shè)計(jì)

        本系統(tǒng)是由AT89C52單片機(jī)、電源電路、復(fù)位電路、6個(gè)數(shù)碼管、鎖存器和4行×4列的矩陣式鍵盤組成。如圖1所示,圖中已對(duì)4行×4列的矩陣式鍵盤的每個(gè)按鍵從左到右、從上到下進(jìn)行了1~16的數(shù)字編號(hào)。

        系統(tǒng)整體設(shè)計(jì)圖

        圖中與P2.0相連的鍵盤是獨(dú)立鍵盤。一旦獨(dú)立鍵盤被按下,則與之相連的P2.0引腳由高電平變?yōu)榈碗娖剑绻麢z測(cè)到P2.0引腳是低電平,則說(shuō)明獨(dú)立鍵盤被按下去了。

        4行×4列的矩陣式鍵盤全部和單片機(jī)的P3口相連,矩陣式鍵盤的4行是跟P3.0~P3.3引腳相連,4列是跟P3.4~P3.7引腳相連。

        2 矩陣式鍵盤按鍵識(shí)別分析

        ①給鍵盤的第一行P3.0賦值0,給其余的P3.1~P3.7賦值1,即P0=0xfe,然后重新讀回P3.4、P3.5、P3.6、P3.7的數(shù)據(jù),看看讀回的P3.4、P3.5、P3.6、P3.7的數(shù)據(jù)中是否有0,如果有0,則說(shuō)明第一行的4個(gè)鍵(1、2、3、4)中有某個(gè)鍵被按下去了。如果從P3.4~P3.7讀回來(lái)的數(shù)為0111,則說(shuō)明鍵1被按下去了。如果從P3.4~P3.7讀回來(lái)的數(shù)為1011,則說(shuō)明鍵2被按下去了。如果從P3.4~P3.7讀回來(lái)的數(shù)為1101,則說(shuō)明鍵3被按下去了。如果從P3.4~P3.7讀回來(lái)的數(shù)為1110,則說(shuō)明鍵4被按下去了。

        ②給鍵盤的第二行P3.1賦值0,給其余的P3.0、P3.2、P3.3、P3.4、P3.5、P3.6、P3.7賦值1,即P0=0xfd,然后重新讀回P3.4、P3. 5、P3.6、P3.7的數(shù)據(jù),看看讀回的P3.4~P3.7的數(shù)據(jù)中是否有0,如果有0,則說(shuō)明第二行的4個(gè)鍵(5、6、7、8)中與數(shù)據(jù)為0的引腳相連的某個(gè)按鍵被按下去了。

        ③給鍵盤的第三行P3.2賦值0,給其余的P3.0、P3.1、P3.3、P3.4、P3.5、P3.6、P3.7賦值1,即P0=0xfb,然后重新讀回P3.4、P3. 5、P3.6、P3.7的數(shù)據(jù),看看讀回的P3.4~P3.7的數(shù)據(jù)中是否有0,如果有0,則說(shuō)明第三行的4個(gè)鍵(9、10、11、12)中與數(shù)據(jù)為0的引腳相連的某個(gè)按鍵被按下去了。

        ④給鍵盤的第四行P3.3賦值0,給其余的P3.0、P3.1、P3。2、P3.4、P3.5、P3.6、P3.7賦值1,即P0=0xf7,然后重新讀回P3.4、P3. 5、P3.6、P3.7的數(shù)據(jù),看看讀回的P3.4~P3.7的數(shù)據(jù)中是否有0,如果有0,則說(shuō)明第四行的4個(gè)鍵(13、14、15、16)中與數(shù)據(jù)為0的引腳相連的某個(gè)按鍵被按下去了。

        檢測(cè)矩陣式鍵盤中是否有鍵被按下去就是根據(jù)①→②→③→④的順序進(jìn)行的。依次給矩陣式鍵盤的每一行賦值0,然后依次讀取P3口的高四位P3.4~P3.7的數(shù)據(jù),看看P3.4~P3.7中數(shù)據(jù)有沒有為0的,如果有為0的則說(shuō)明有按鍵被按下去。

        3 程序設(shè)計(jì)

        編寫案例項(xiàng)目“依次按下矩陣鍵盤上的第1~16個(gè)鍵,6位數(shù)碼管全部依次顯示0~F”的程序。依次給P3口賦值0xfe、0xfd、0xfb和0xf7實(shí)現(xiàn)對(duì)矩陣式鍵盤的逐行掃描。

        在程序中給P3口賦值,然后把P3口的數(shù)據(jù)重新讀取回來(lái),并將其賦給變量temp,即temp=P3,然后將temp和0xf0進(jìn)行與運(yùn)算,把與運(yùn)算結(jié)果temp&0xf0跟0xf0相比較,如果temp& 0xf0=0xf0則說(shuō)明沒有按鍵被按下去,如果temp&0xf0不等于0xf0則說(shuō)明有按鍵被按下去。

        按鍵在閉合時(shí),觸點(diǎn)會(huì)存在抖動(dòng)現(xiàn)象,為了確定按鍵是否確實(shí)被按下去,在程序編寫中需要對(duì)其進(jìn)行多次判斷。

        部分程序如下所示:

        P3=0xfd;//對(duì)鍵盤第二行進(jìn)行掃描

        temp=P3;

        temp=temp&0xf0;

        while(temp!=0xf0)//判斷是否有按鍵按下去

        {

        delay(5);

        temp=P3;

        temp=temp&0xf0;

        while(temp!=0xf0)//判斷是否有按鍵按下去

        {

        temp=P3;

        switch(temp)

        {

        case 0xed:num=5;

        break;

        case 0xdd:num=6;

        break;

        case 0xbd:num=7;

        break;

        case 0x7d:num=8;

        break;

        }

        while(temp!=0xf0)

        {

        temp=P3;

        temp=temp&0xf0;

        }

        }

        }

        4 結(jié)束語(yǔ)

        本文利用數(shù)碼管和鎖存器,通過(guò)在數(shù)碼管上顯示矩陣式鍵盤按鍵數(shù)值的項(xiàng)目案例,詳細(xì)講述了采用逐行掃描法識(shí)別矩陣式鍵盤按鍵的實(shí)現(xiàn)方法。該方法簡(jiǎn)單易懂,容易掌握。

        [1]林珊,許建明.基于單片機(jī)的鍵盤顯示系統(tǒng)設(shè)計(jì)[J].信息與電腦,2011.

        [2]郭小軍.單片機(jī)控制數(shù)碼管動(dòng)態(tài)顯示過(guò)程分析[J].武漢船舶職業(yè)技術(shù)學(xué)院學(xué)報(bào),2010.

        張成法,1984年出生,山東青州人,碩士,研究方向:?jiǎn)纹瑱C(jī)與嵌入式系統(tǒng)。

        猜你喜歡
        矩陣式數(shù)碼管賦值
        關(guān)于1 1/2 … 1/n的一類初等對(duì)稱函數(shù)的2-adic賦值
        L-代數(shù)上的賦值
        電除塵矩陣式電磁振打器控制系統(tǒng)改進(jìn)優(yōu)化
        湖南電力(2021年1期)2021-04-13 01:36:56
        Arduino編程
        電腦報(bào)(2019年2期)2019-09-10 07:22:44
        MC9S08FL16單片機(jī)數(shù)碼管靜態(tài)顯示分析
        單片機(jī)控制的四位數(shù)碼管動(dòng)態(tài)顯示編程
        基于Qt的數(shù)碼管數(shù)字編碼系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
        強(qiáng)賦值幺半群上的加權(quán)Mealy機(jī)與加權(quán)Moore機(jī)的關(guān)系*
        利用賦值法解決抽象函數(shù)相關(guān)問(wèn)題オ
        基于Quasi-Z源矩陣式變換器電壓傳輸比的研究
        摸进她的内裤里疯狂揉她动视频 | 亚州国产av一区二区三区伊在| 军人粗大的内捧猛烈进出视频| 国产免费一级在线观看| 国产性感丝袜美女av| 国产日产一区二区三区四区五区 | 99久久99久久精品免观看| 国产精品丝袜美女久久| 免费a级毛片无码免费视频首页| 欧美最猛性xxxxx免费| 亚洲成人免费无码| 麻豆三级视频网站在线观看| 欧美熟妇另类久久久久久多毛| 欧美成人片一区二区三区| 免费国产一级特黄aa大片在线 | 男人天堂亚洲天堂av| 亚洲加勒比久久88色综合| 久久aⅴ无码av免费一区| 亚洲国产精品国自产拍av在线| 老熟女老女人国产老太| 最近中文字幕完整版免费| 亚洲av无码成人网站www| 亚洲综合av一区在线| 精品国产三级a∨在线欧美| 无码人妻丰满熟妇区毛片| 国产国拍亚洲精品福利| 手机在线免费观看的av| 亚洲国产精品久久电影欧美| 奇米影视久久777中文字幕| 亚洲中文字幕黄色小视频| 国产精品一区二区av麻豆日韩 | 妺妺窝人体色www在线| 一本大道无码av天堂| 亚洲综合久久1区2区3区| 极品美女调教喷水网站| 久久精品人妻无码一区二区三区| 热久久亚洲| 美利坚亚洲天堂日韩精品| 风情韵味人妻hd| 国产精品厕所| 精品女同一区二区三区在线播放器|