freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

單片機(jī)原理與應(yīng)用技術(shù)第10章-文庫(kù)吧

2024-09-29 16:04 本頁(yè)面


【正文】 閉合時(shí),相應(yīng)的口線變?yōu)榈碗娖?,而其他口線依然為高電平,因此,可以用 4條 JNB指令對(duì)開(kāi)關(guān)狀態(tài)進(jìn)行檢測(cè)。如果某一按鍵按下,則跳轉(zhuǎn)執(zhí)行其所對(duì)應(yīng)的控制功能。八個(gè)發(fā)光二極管經(jīng) 74LS04接 P2口,主要因單片機(jī)的驅(qū)動(dòng)能力較差,故用 74LS04來(lái)加大驅(qū)動(dòng)能力。 P2口輸出控制信號(hào)控制發(fā)光規(guī)律。 程序設(shè)計(jì)流程圖如下圖所示。 信號(hào)燈控制電路 獨(dú)立式鍵盤(pán)應(yīng)用實(shí)例 信號(hào)燈控制程序設(shè)計(jì)流程圖 ORG 0000H MOV SP, 60H MOV P2, 00H MOV P1, 0FH START: JNB , A0 。 如 ,就跳至 A0 JNB , A1 。 如 ,就跳至 A1 JNB , A2 。 如 ,就跳至 A2 JNB , A3 。 如 ,就跳至 A3 SJMP START ********** 左移 ******************************* A0: MOV DPTR, TAB 。 左移常數(shù)表首地址送 DPTR ACALL DISP SJMP START ********* 右移 ******************************** A1: MOV DPTR, TAB1 。 右移常數(shù)表首地址送 DPTR ACALL DISP SJMP START ********* 閃爍 ******************************** A2: MOV DPTR, TAB2 。 閃爍常數(shù)表首地址送 DPTR ACALL DISP SJMP START 信號(hào)燈控制參考程序 ******** 流水追逐 ***************************** A3: MOV DPTR, TAB3 。 流水追逐常數(shù)表首地址送 DPTR ACALL DISP SJMP START ********* LED顯示控制子程序 ***************** 功能 :根據(jù)常數(shù)表控制 P2口的 LED發(fā)光 入口 :常數(shù)表的地址送到 DPTR 出口 :無(wú) ******************************************** DISP: CLR A MOVC A, @A+DPTR CJNE A,0AH,LOOP1 RET LOOP1: MOV P2,A MOV R3,20 ACALL DELAY INC DPTR JMP DISP 信號(hào)燈控制參考程序 DELAY: MOV R4,20 D1: MOV R5,248 DJNZ R5, $ DJNZ R4, D1 DJNZ R3, DELAY RET TAB : DB 01H,03H,07H,0FH,1FH,3FH,7FH,0FFH,0AH 。 左移 TAB1: DB 80H,0C0H,0E0H,0F0H,0F8H,0FCH,0FEH,0FFH,0AH 。 右移 TAB2: DB 0FFH,00H,0FFH,00H,0FFH,00H,0FFH,00H,0AH 。 閃爍 TAB3: DB 01H,02H,06H,08H,10H,20H,60H,80H,0AH 。 流水追逐 END 信號(hào)燈控制參考程序 ? 說(shuō)明:本例中,根據(jù)所按下的鍵輸入不同的常數(shù)表地址到 DPTR,然后再調(diào)用顯示子程序 (DPTR為 DISP程序的入口條件 ),從而根據(jù)不同的參數(shù)控制發(fā)光二極管的變化規(guī)律。顯然通過(guò)改變常數(shù)表可任意設(shè)定發(fā)光規(guī)律,讀者可以試一下。調(diào)用子程序,可使程序設(shè)計(jì)實(shí)現(xiàn)模塊化,但必須明確子程序的功能、入口和出口參數(shù)。 ? 通過(guò)以上兩個(gè)實(shí)例可以看出獨(dú)立式鍵盤(pán)應(yīng)用的特點(diǎn):識(shí)別鍵盤(pán)比較容易,編程也比較簡(jiǎn)單,很適合于功能鍵較少的單片機(jī)應(yīng)用系統(tǒng)。但每一個(gè)按鍵上用一根口線,當(dāng)按鍵較多時(shí) (超過(guò) 8個(gè) )應(yīng)采用矩陣式鍵盤(pán)。 矩陣式鍵盤(pán)應(yīng)用實(shí)例 【 例 3】 4 4鍵盤(pán)硬件電路如下圖所示。設(shè)計(jì)采用鍵盤(pán)掃描法得到鍵碼值的程序。 解:鍵盤(pán)輸入程序設(shè)計(jì)有以下幾個(gè)方面。 (1) 判別鍵盤(pán)上有無(wú)鍵閉合 其方法為: ~ 0,然后讀 P1口,若高 4位~ 1,則鍵盤(pán)上沒(méi)有閉合鍵,若 ~ 全為 1,則有鍵處于閉合狀態(tài)。 (2) 去除鍵的機(jī)械抖動(dòng) 其方法為:當(dāng)判別到鍵盤(pán)上有鍵閉合后,延時(shí)一段時(shí)間再判別鍵盤(pán)的狀態(tài),若仍有鍵閉合,則認(rèn)為鍵盤(pán)上有一個(gè)鍵處于穩(wěn)定的閉合狀態(tài),否則認(rèn)為鍵抖動(dòng)。 矩陣式鍵盤(pán)應(yīng)用實(shí)例 44鍵盤(pán)硬件電路圖 矩陣式鍵盤(pán)應(yīng)用實(shí)例 (3) 判別閉合鍵的鍵號(hào) 其方法為:對(duì)鍵盤(pán)的行線進(jìn)行掃描, ~ 輸出 11 110 1011和 0111,相應(yīng)地讀 P1口,若高 4位~ “ 1”,則說(shuō)明該行上沒(méi)有鍵閉合;否則,這一行上有鍵閉合,而且就是行線為 0,列線為 0的交叉鍵。高4位和低四位合并即得到鍵碼值。 例如, ~ “ 1110”時(shí),讀入 ~ “ 1101”時(shí),即不全為 “ 1”,說(shuō)明有鍵按下,那一個(gè)鍵呢?顯然是 。將高四位和低四位合并后的值為 “ 11011110”;也就是該鍵的鍵碼值。依此類推可得各鍵的健碼值。各鍵和對(duì)應(yīng)的鍵碼值如下圖所示。 (4) 使 CPU對(duì)鍵的一次閉合僅作一次處理 采用的方法是等待閉合鍵釋放以后再作處理。 各鍵和對(duì)應(yīng)的鍵碼值 ? 4 4鍵盤(pán)參考程序如下。該程序可作為子程序來(lái)調(diào)用,入口參數(shù)無(wú),出口參數(shù)為鍵碼值,存于 A。 ? 本例的另一種實(shí)現(xiàn)方法:以上程序所得到的鍵碼值,離散性較大,不利于用指令對(duì)按鍵進(jìn)行處理。可采用按鍵編碼為依次排列鍵號(hào)的程序設(shè)計(jì)方法。詳見(jiàn)教材,這里不再贅述。 4 4鍵盤(pán)參考程序 KEY: MOV P1,0F0H 。 ~ 0,~ 1 MOV A,P1 。 讀鍵盤(pán) , 檢測(cè)有無(wú)鍵按下 ANL A,0F0H 。 屏蔽 ~ ,檢測(cè) ~ 1 CJNE A,0F0H,HAVE 。 ~ 1,有鍵按下 SJMP KEY 。 ~ 1,無(wú)鍵按下 ,重新檢測(cè)鍵盤(pán) HAVE: MOV A,0FEH 。 有鍵按下 ,逐行掃描鍵盤(pán) ,置掃描初值 NEXT: MOV B,A 。 掃描碼暫存于 B MOV P1,A 。 輸出掃描碼 READ: MOV A,P1 。 讀鍵盤(pán) ANL A,0F0H 。 屏蔽 ~ ,檢測(cè) ~ 1 CJNE A,0F0H,YES 。 ~ 1,該行有鍵按下 MOV A,B 。 被掃描行無(wú)鍵按下 ,準(zhǔn)備查下一行 RL A 。 置下一行掃描碼 CJNE A,0EFH,NEXT 。 未掃描到最后一行 ,則循環(huán) YES : ACALL DELAY 。 延時(shí) ,去抖動(dòng) ARED: MOV A,P1 。 再讀鍵盤(pán) ANL A,0F0H 。 屏蔽 ~ ,保留 ~ (列碼 ) MOV R2,A 。 暫存列碼 MOV A,B ANL A,0FH 。 取行掃描碼 ORL A,R2 。 行碼、列碼合并為鍵碼 PUSH A 。 鍵碼入堆棧 KS: ACALL DELAY 。 延時(shí) MOV P1,0F0H 。 ~ 0,檢測(cè)鍵是否放開(kāi) MOV A,P1 。 讀 P1 CPL A 。 鍵如果已松開(kāi) ,取反后 P1高四位全為 0 ANL A,0F0H 。 保留高四位 JNZ KS 。 判斷 ,鍵松開(kāi)則返回 ,否則繼續(xù)等待 POP A 。 彈出鍵碼 RET 。 返回 DELAY: MOV R7,60 。 延時(shí)子程序 D2: MOV R6,248 DJNZ R6,$ DJNZ R7,D2 RET END 4 4鍵盤(pán)參考程序 矩陣式鍵盤(pán)應(yīng)用實(shí)例 編程說(shuō)明: ? 在單片機(jī)應(yīng)用系統(tǒng)中, 鍵盤(pán)掃描 只是系統(tǒng)的部分程序。進(jìn)行軟件系統(tǒng)編程時(shí),一般作為 子程序 調(diào)用或 中斷服務(wù)程序 使用。該子程序入口參數(shù)為無(wú),出口參數(shù)為鍵碼值,存于 A。因此,其調(diào)用十分簡(jiǎn)單,但一定要注意返回的鍵碼值所對(duì)應(yīng)的鍵在鍵盤(pán)的哪個(gè)位置,即要掌握鍵碼分配表。 ? 矩陣式鍵盤(pán)盡管比獨(dú)立式鍵盤(pán)復(fù)雜。但有了上述子程序后,只要學(xué)會(huì)調(diào)用,你甚至不需要知道鍵盤(pán)掃描程序是如何編寫(xiě)的, COPY即可,編程也就變得十分簡(jiǎn)單了。從這可以看出平時(shí)注意查閱資料, 收集實(shí)用子程序 , 掌握子程序的調(diào)用 ,對(duì)提高編程效率是多么重要。 顯示器接口 ? LED顯示器的結(jié)構(gòu)與原理 ? LED顯示器靜態(tài)顯示及應(yīng)用實(shí)例 ? LED顯示器動(dòng)態(tài)顯示及應(yīng)用實(shí)例 ? LCD顯示器的結(jié)構(gòu)與原理及應(yīng)用 LED顯示器的結(jié)構(gòu)與原理 1. 結(jié)構(gòu)種類 ? 七段 LED顯示器 (數(shù)碼管 )系發(fā)光器件的一種。常用的 LED發(fā)光器件有兩類: 數(shù)碼管 和 點(diǎn)陣 。 ? 數(shù)碼管內(nèi)部由七個(gè)條形發(fā)光二極管和一個(gè)小圓點(diǎn)發(fā)光二極管組成,根據(jù)各管的亮暗組合成字符。常見(jiàn)數(shù)碼管有 10根管腳。管腳排列如下圖所示。其中 COM為公共端,根據(jù)內(nèi)部發(fā)光二極管的接線形式可分為 共陰極 和 共陽(yáng)極 兩種。 ? 使用時(shí),共陰極數(shù)碼管公共端接地,共陽(yáng)極數(shù)碼管公共端接電源。每段發(fā)光二極管需 5~ 10mA的驅(qū)動(dòng)電流才能正常發(fā)光,一般需加限流電阻控制電流的大小。 LED顯示器的結(jié)構(gòu)與原理 管腳排列 共陰極數(shù)碼管 共陽(yáng)極數(shù)碼管 a b c d e f g dp GND a b c d e f g dp + 5V a b f c g d e 3 COM e 1 d 2 c 4 dp 5 b 6 a 7 8 f 9 g 10 COM (a ) (b) (c
點(diǎn)擊復(fù)制文檔內(nèi)容
電大資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1