68精品久久久久久欧美,最近中文字幕完整在线看一,久久亚洲男人天堂,最近中文字幕完整视频高清1

你好!歡迎來(lái)到深圳市穎特新科技有限公司!
語(yǔ)言
當(dāng)前位置:首頁(yè) >> 技術(shù)中心 >> 單片機(jī)入門(mén) >> 單片機(jī)鍵盤(pán)接口技術(shù)

單片機(jī)鍵盤(pán)接口技術(shù)

作者:admin 來(lái)源:不詳 發(fā)布時(shí)間:2018-05-08  瀏覽:7

1.鍵盤(pán)接口電路<?XML:NAMESPACE PREFIX = O />

單片機(jī)的鍵盤(pán)接口電路有多種形式,最常用的是鍵盤(pán)掃描電路,如圖8-17所示。圖8-17中的鍵盤(pán)掃描電路是由3根行線與8根列線組成。3根行線的左邊接8155的PC口的3個(gè)引腳PC.0、PC.1、PC.2,右邊通過(guò)5K電阻接5V電源。8根列線通過(guò)反相器接8155B口(即位選口,地址為FF22H)。在行線與列線的交叉處設(shè)置一個(gè)按鍵,因此該單片機(jī)的鍵盤(pán)由3×8=24個(gè)按鍵組成。倒數(shù)第一、二行共16個(gè)數(shù)字鍵(0~F),第三行為8個(gè)功能鍵。從8155B口輸出8位低電平給8根列線d0~d7,若某行有鍵按下,則該行與列線接通為低電平。若某行無(wú)鍵按下,則該行保持高電平。由此可見(jiàn),測(cè)試PC.0、PC.1、PC.2的狀態(tài)就可以知道有無(wú)鍵按下,此外通過(guò)掃描方式可取出按鍵的鍵值。按鍵鍵值:0~F為數(shù)字鍵鍵值,10H~17H為功能鍵鍵值。

2.鍵盤(pán)掃描程序

(1)入口地址:KEY-SCAN,

(2)作用:判有無(wú)鍵按下

    (3)出口狀態(tài):(A)=0 表示無(wú)鍵按下,

                  (A)≠0 表示有鍵按下。

(4)源程序  

3.取鍵值程序

(1)名稱(chēng)與入口地址:KEY-GET 。

(2)作用:取按鍵鍵值。

(3)使用寄存器:A、R2、R4。

(4)出口狀態(tài):(A)=按鍵鍵值,0~F為數(shù)字鍵,10H~17H為功能鍵。

(5)程序設(shè)計(jì)基本思想

①調(diào)用鍵盤(pán)掃描程序判有無(wú)鍵按下,若無(wú)鍵按下則繼續(xù)判斷,若有鍵按下則取按鍵鍵值。在介紹取按鍵鍵值的方法之前先介紹列掃描碼的概念。

  ②列掃描碼

列掃描碼共8位,其中有1位為0 ,其它各位為1,初始值為11111110,該初始值存放在R2中,如圖8-27所示,0所在列的列號(hào)j存放在R4中,當(dāng)?shù)趈 列有鍵按下時(shí),按鍵所在行為低電平0,通過(guò)查行值是否為0,可確定按鍵的行號(hào)與列號(hào),并據(jù)此算出按鍵鍵值。因此列掃描碼的作用是確定第幾列有鍵按下。

③送列掃描碼

列掃描碼由R2通過(guò)累加器A傳送給8155B口,并由8155B口輸出給鍵盤(pán)電路的8根列線。8根列線中,第j列為0,其余各列為1。

④取行值

從PC口的PC.0~PC.2讀行信號(hào),若讀出的行值均為1,說(shuō)明第j列無(wú)鍵按下,將R2中的掃描碼左移1位,并將列號(hào)j存儲(chǔ)寄存器R4加1,轉(zhuǎn)③重新送掃描碼,查下一列有無(wú)鍵按下。若讀出第i行的行值中為0,說(shuō)明在第i行與第j列處有鍵按下,應(yīng)計(jì)算鍵值。

⑤計(jì)算鍵值

若讀出第i行為0 ,則說(shuō)明第i行與第j列處有鍵按下,由掃描碼中0所在列號(hào)j與行值為0的行號(hào)i可計(jì)算出按鍵鍵值:

鍵值= i×8+j。 (式中i=0~2,j=0~7)

例如:第0列與第0行處的按鍵按下,鍵值=0×8+0=0   ,即數(shù)字0鍵。

      第0列與第1行處的按鍵按下,鍵值=1×8+0=8   ,即數(shù)字8鍵。

      第0列與第2行處的按鍵按下,鍵值=2×8+0=10H。

由圖8-27可看出,上述計(jì)算公式是完全正確的。

<?XML:NAMESPACE PREFIX = V />因?yàn)樗℃I值存放在累加器A中,列號(hào)j存放R4中,第i行為0可通過(guò)PC.i=0進(jìn)行判斷,所以按鍵鍵值計(jì)算公式可改為

(6)流程圖:如圖8-29所示。

(7)源程序 

注意:在調(diào)用鍵盤(pán)程序的主程序中,必須將8155初始化為A、B口基本I/O輸出方式,C口為基本輸入方式。然后才能調(diào)用上面取鍵值程序。

思考題:如何使0~7鍵與8~F鍵的鍵值互換,即按0鍵時(shí)顯示8,按8鍵時(shí)顯示0等?提示:將取鍵程序KEY_GET中的指令①與②互換即可。

編輯:admin  最后修改時(shí)間:2018-05-08

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬(wàn)眾潤(rùn)豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號(hào)-4

龙井市| 宁明县| 青川县| 平湖市| 咸丰县| 喀什市| 日照市| 乌恰县| 崇左市| 定陶县| 连州市| 安阳市| 梨树县| 乐至县| 阿拉善左旗| 浮梁县| 吉林省| 东安县| 志丹县| 南昌县| 松潘县| 尖扎县| 泰来县| 兴义市| 大化| 额尔古纳市| 美姑县| 阿瓦提县| 铜山县| 郸城县| 郴州市| 康马县| 伊宁县| 手机| 伊宁县| 南澳县| 桂东县| 昆山市| 镇沅| 大埔县| 磐石市|