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

正文內(nèi)容

[工學(xué)]第5章并行口(參考版)

2024-10-22 00:24本頁(yè)面
  

【正文】 寫“ 1” 以后不影響讀引腳指令,因?yàn)樽x入的信息是經(jīng)緩沖器 2(見圖 )進(jìn)入 C PU 。 63 / 63 3. 在應(yīng)用設(shè)計(jì)中應(yīng)理解,計(jì)算機(jī)內(nèi)由數(shù)字電路組成 只存在兩種 TTL電平 ,高電平 ~ 5V和低 電平 0V, 對(duì)應(yīng)著的數(shù)字為 “ 1” 和 “ 0” 外設(shè)的狀態(tài)要通過(guò)電路轉(zhuǎn)換成高、低電平,計(jì)算機(jī)才能識(shí)別 (如開關(guān)電路 ) 計(jì)算機(jī)輸出數(shù)據(jù) “ 1” 即輸出 ~ 5V, 輸出數(shù)據(jù)“ 0” 即輸出 0V, 根據(jù)外設(shè)需要的電平要求 輸出 “ 1” 或 “ 0” 數(shù)據(jù),這就是程序控制外設(shè)的本質(zhì)。 并行接口是單片機(jī)用得最多的部分,可直接接外部設(shè)備 (要注意電平的匹配 )。因 PO口是數(shù)據(jù)線和低八位的 地址線,因此不用它作輸入 /輸出接口,而是用它傳輸數(shù)據(jù)和低八位的地址信息,除非在不 接其他外圍芯片的情況下才作 I/O接口使用,此時(shí)由于內(nèi)部漏極開路,需外接上拉電阻。該程序同樣可用匯編語(yǔ)言編出。 /* 行碼 +列碼 =鍵編碼 返回主程序 */ else sccode=(sccode 1)| 0x01; /* 如該行無(wú)鍵按下, 查下一行,行掃描值 左移一位 */ }} } return(0); /* 無(wú)鍵按下,返回值為 0 */ } 61 / 63 例如圖 56中的 “ a”鍵,的編碼為同樣可得“ 5” 鍵編碼為 BBH, 由此可將每個(gè)按鍵的編碼排出來(lái),通過(guò)查表程序轉(zhuǎn)不同的按鍵處 理程序。 0x0f。 0xf0。 0x10)!=0) /*不到最后一行循環(huán) */ { P1=sccode; /*P1口輸出掃描碼 */ If ((P1 amp。 0xf0)!=0xf0) /* 如 P1口高四位不全為 1有鍵 按下 */ { dlms ( ); /* 延時(shí)去抖動(dòng) */ if ((P1 amp。 55 / 63 程序清單如下: ORG 0000H TEST: MOV P1,0F0H ; ~ 0, ~ 輸出 1,作輸入位 MOV A,P1 ;讀鍵盤,檢測(cè)有無(wú)鍵按下 ANL A,0F0H ; 屏蔽 ~ , 檢測(cè) ~ 1 CJNE A, 0F0H,HAVE ; ~ 1, 有鍵按下 SJMP TEST ; ~ 1, 無(wú)鍵按下,重檢測(cè)鍵盤 HAVE: MOV A,0FE ;有鍵按下,逐行掃描鍵盤, 置掃描初值 56 / 63 NEXT: MOV B,A ;掃描碼暫存于 B MOV P1,A ;輸出掃描碼 READ: MOV A,P1 ;讀鍵盤 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 DAY ;延時(shí)去抖動(dòng) 57 / 63 AREAD: MOV A,P1 ;再讀鍵盤 ANL A,0F0H ; 屏蔽 ~ ,保留 ~ (列碼 ) MOV R2,A ;暫存列碼 MOV A, B ANL A,0FH ;取行掃描碼 ORL A,R2 ;行碼、列碼合并為鍵編碼 YES1: MOV B,A ;鍵編碼存于 B LJMP SAM38 ;轉(zhuǎn)鍵分析處理程序(見例 38) … 58 / 63 ? C程序清單如下 : ? include < > ? define uchar unsigned char define uint unsigned int void dlms (void) uchar kbscan(void); /* 函數(shù)說(shuō)明 */ void main (void) { uchar key while (1) { key=kbscan(); /*調(diào)鍵掃描函數(shù),返回鍵 ? 碼送 key保存 */ ? dlms(); } 59 / 63 void dlms (void) /* 延時(shí) */ { uchar i for (i=200; i> 0; i){ } } uchar kbscan (void) /* 鍵盤掃描函數(shù) */ { uchar sccode, recode P1=0xf0。 51 / 63 下圖中,用 8XX51的并行口 P1接 4 4 以 ~ ,以 ~ ,鍵盤掃描程序的流程如圖 5 a DD 52 / 63 EE DE BE 7E ED DD BD 7D EB DB BB 7B E7 D7 B7 77 Y 返回鍵編碼 讀 ~ 置行掃描初值 掃描位從 P1口輸出 P1口的高四位和低四位 相或得鍵編碼 掃到最后一行 ? N N(有鍵按下) N 開始 ~ 0 延時(shí)去抖動(dòng) ~ 1? ~ 1? Y Y(無(wú)鍵按下 ) 54 / 63 對(duì)鍵盤的程序流程圖 當(dāng) ~ 0時(shí),如無(wú)鍵按下, ~ 的輸入值均為 “ 1” , 如果其中有一個(gè)不是 “ 1” ,說(shuō)明有鍵按下, 再使 ~ (行掃描 ),檢查 ~ 無(wú)零,從而查出是哪行哪列的鍵按下。 兩個(gè)并行口中,一個(gè)輸出掃描碼, 使按鍵逐行動(dòng)態(tài)接地 (稱 行掃描 ),另一個(gè)并行口輸入按鍵狀態(tài) (稱 回饋信號(hào) ,
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1