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

        ?

        四個矩陣按鍵開關單片機檢測程序及其應用特點的分析

        2021-06-30 01:43:34長沙市電子工業(yè)學校劉國云
        電子世界 2021年11期
        關鍵詞:鍵值電平按鍵

        長沙市電子工業(yè)學校 劉國云

        相對于獨立按鍵,矩陣按鍵開關具有占用單片機端口資源少的優(yōu)點,也有其教學難的缺點。有多種方法實現(xiàn)矩陣按鍵開關檢測功能,作為經驗交流,筆者介紹了四個不同的矩陣按鍵開關檢測程序,并分析了它們的檢測方法和應用特點,與職教同行共同開拓編程思路、提高編程能力和教學能力。

        按鍵是單片機控制的重要的指令開關,相對于獨立按鍵,矩陣按鍵開關具有占用單片機端口少的資源優(yōu)勢,同時也給使用者帶來了難學、難記、難寫、檢測程序復雜的缺點。我在此介紹用四種不同方法編寫的4×4矩陣開關檢測程序,并對程序和它們優(yōu)缺點進行分析,以加深大家對矩陣開關檢測原理和編程方法的理解,開拓編程思路,掌握多個可以在不同場合應用的矩陣開關檢測程序,以提高大家程序分析能力、編程能力和教學能力。

        1 用switch-case語句編寫矩陣按鍵開關檢測程序

        圖1所示程序用P3總線控制方式和switch-case語句,對4*4矩陣按鍵開關進行檢測,P3.4-P3.7和P3.3-P3.0分別為行線h0-h3和列線l0-l3的控制端口。其編程思路是用P3總線賦值方式,依次將4根行線電平拉低,每拉低一根行線電平,就依次對4根列線上的按鍵進行檢,如果哪根列線被檢測到低電平,就表示該行該列上的按鍵按下?,F(xiàn)以拉低第一行電平、依次檢測4列電平為例,來講解該程序是如何使用switch-case語句捕捉到按鍵和獲得鍵值的。

        圖1 switch-case語句矩陣按鍵開關檢測程序

        首先讓P3=0xff,排除干擾電平,然后迅速讓P3=0xef,拉低接在P3.4上的第一條行線h0的電平,并讓局部變量i=P3=0xef,接著i與0xf0逐位與(i=0xe0&0xf0=0xe0!=0xf0),執(zhí)行if(i!=0xf0)條件語句,程序指針指向由switch-case語句組成的4條列線檢測程序。

        因為按鍵按下會改變P3值,條件語句中i=P3的i值也會改變,通過switch(i){case 0xe7:jianzhi=1;break;case 0xeb:jianzhi=2;break;case 0xe7:jianzhi=1;break;case 0xeb:jianzhi=2;break;}來檢測列線電平,捕獲按下的按鍵開關和獲取鍵值。

        至于while(i!=0xf0){xianshi();xianshi();xianshi();xianshi();

        xianshi();i=0xf0;}的作用是通過調用顯示子程序起到延時作用,給按鍵提供釋放時間,最后讓i=0xf0,退出while循環(huán)。

        該矩陣開關檢測程序的特點是:端口8位總線控制,控制端口選用靈活性不強;程序代碼多。

        2 用數組檢測碼編寫矩陣開關檢測程序(圖2)

        圖2 用數組檢測碼編寫的矩陣按鍵開關檢測程序

        該檢測程序的特點也是端口8位總線控制,檢測端口選用不靈活,但程序代碼少了很多。它的編程思路是:定義了拉低行線電平的數組hl3[4]、依次檢測4條列線電平的二維數組hl1[4][4]及保存鍵值的二維數組hl2[4][4]。然后用兩個嵌套的for循環(huán)語句實現(xiàn)按鍵檢測,4次外循環(huán)是依次拉低4根行線電平(P3=0xff;P3=hl3[i];)。內循環(huán)是依次檢測4根列線,如果檢測到P3值等于檢測碼,就捕獲按鍵,獲取鍵值(if(P3==hl1[i][j])jianzhi=hl2[i][j];)。

        語句while(P3==hl1[i][j]);是用來等待按鍵釋放。

        3 用循環(huán)移動功能函數編寫矩陣按鍵開關檢測程序(圖3)

        圖3 用循環(huán)功能函數編寫的矩陣開關檢測程序

        該檢測程序的最大優(yōu)點是代碼少。它定義了一個鍵值二維數組ka[4][4],也用兩級嵌套的for循環(huán)分別拉低行線電平和依次檢測列線電平。這個程序比圖2中用數組檢測檢測碼編寫的矩陣開關檢測程序代碼更少的原因就是利用了功能循環(huán)函數_crol_()來拉低行線電平和檢測列線電平。

        外循環(huán)的P3=_crol_(0xef,i),通過將0xef左移1、2、3、4位來實現(xiàn)拉低行線電平的。內循環(huán)的列線檢測和獲取鍵值是通過if((P3&__cror_(0x08,j))==0)jianzhi=ka[i][j]實現(xiàn)的。

        4 用位控制指令編寫矩陣按鍵開關檢測程序

        上面3個矩陣按鍵開關檢測程序中的第三個程序最簡單,第一個程序最復雜,但它們都有一個共同特點:采用8位總線控制方式,所以單片機檢測端口選擇的靈活性不強?,F(xiàn)在介紹一個程序代碼不是最少,但檢測方法最直觀、編程思路最清晰、端口選用最靈活,如圖4所示的用位控制指令編寫的矩陣按鍵開關檢測程序。

        圖4 位控制指令矩陣按鍵開關檢測程序

        該程序的編程思路是:先聲明4行和4列位控信號h0-h3和l0-l3(sbit h0=P3^4;sbit h1=P3^5;sbit h2=P3^6;sbit h3=P3^7;sbit l0=P3^0;sbit l1=P3^1;sbit l2=P3^2;sbit l3=P3^3;),然后在矩陣開按鍵關檢測程序jzjc()中,首先讓所有行列信號置1,去除干擾信號,再逐行拉低一行電平,用if-else if-else if-if語句逐列檢測,并取出所檢測到的鍵值k。

        還有一個需要特別提醒的是:該矩陣按鍵開關檢測程序不是空函數,而是帶返回值k的子程序。

        圖4所示的矩陣按鍵開關檢測程序由于是用位控指令來編寫的,相較前面3個總線控制的矩陣按鍵開關檢測程序,它的最大優(yōu)點就是檢測端口的選用非常靈活,美中不足就是程序代碼比稍多點,有意使用該程序的話,可以用圖5的形式來簡化。

        圖5 圖4程序的簡化程序

        結語:作為中職教師,在講解同一個任務的控制程序時,應該具有多種解決方案,以方便學生在不同的應用場合使用,培養(yǎng)他們的開放思維能力和創(chuàng)新應用能力。筆者通過介紹四種不同矩陣按鍵開關檢測程序,希望能與同行分享不同的編程方法,開闊編程視野,共同提高編程能力和教學能力。

        猜你喜歡
        鍵值電平按鍵
        基于有限狀態(tài)機的按鍵檢測程序設計
        電子制作(2021年3期)2021-06-16 03:14:26
        非請勿進 為注冊表的重要鍵值上把“鎖”
        一鍵直達 Windows 10注冊表編輯高招
        電腦愛好者(2017年9期)2017-06-01 21:38:08
        一種多方向導光按鍵結構設計
        電子制作(2016年1期)2016-11-07 08:43:05
        NPC五電平Z源逆變器的設計研究
        基于三電平光伏并網逆變器控制系統(tǒng)的研究與實踐
        基于NPC三電平變換器的STATCOM研究
        電測與儀表(2015年2期)2015-04-09 11:28:58
        一種多電平逆變器及其并網策略
        電測與儀表(2014年7期)2014-04-04 12:09:32
        按鍵的多種狀態(tài)檢測及消抖處理方法
        家電科技(2013年4期)2013-07-09 10:55:08
        解析某型號手機按鍵檢測程序的缺陷
        av免费一区在线播放 | 精品无码国产一区二区三区av| 8ⅹ8x擦拨擦拨成人免费视频 | 精品无码AⅤ片| 久久亚洲精品成人av观看| 中文字幕女同系列在线看一| 人人妻人人澡人人爽欧美一区九九 | 亚洲av综合色区无码专区桃色| 黄色a级国产免费大片| 百合av一区二区三区| 中文字幕日韩一区二区不卡| 人妻少妇哀求别拔出来| 色偷偷av男人的天堂| 亚洲国产美女在线观看| 少妇激情一区二区三区| 亚洲乱码中文在线观看| 一二三四在线观看免费视频| 国产哟交泬泬视频在线播放 | 欧美日韩精品一区二区三区高清视频| 国产激情电影综合在线看| 二区三区视频在线观看| 亚洲国产精品一区二区久久恐怖片| 人妻聚色窝窝人体www一区| 欧美日韩国产综合aⅴ| 亚洲精品99久91在线| 国产女人精品视频国产灰线| 天堂中文在线资源| 日韩熟妇精品视频一区二区| 国产愉拍91九色国产愉拍| 亚洲av一二三四区四色婷婷| 国产日韩成人内射视频| 日韩成人精品一区二区三区| 亚洲最新国产av网站| 亚洲av蜜桃永久无码精品| 亚洲欧美日韩国产综合久| 亚洲国产一区二区av| 一区二区三区视频| 日韩在线精品国产成人| 男女午夜视频一区二区三区| 国产女人18毛片水真多18精品| 国产剧情麻豆女教师在线观看|