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

正文內(nèi)容

單片機(jī)原理張毅剛第10章(編輯修改稿)

2025-05-26 04:48 本頁面
 

【文章內(nèi)容簡介】 DJNZ R7,DL0 ; 段碼個(gè)數(shù)計(jì)數(shù)器 R7是否為 0, 如不 。 為 0,繼續(xù)送段碼 CLR ; 8個(gè)段碼輸出完畢,關(guān)顯示器輸出 RET ; 返回 SEGTAB: DB 0C0H,0F9H,0A4H,0B0H,99H ; 共陽極段碼表, ; 0,1,2,3,4 DB 92H,82H,0F8H,90H ; 5,6,7,8,9 DB 88H,83H,0C6H,0A1H,86H ; A,B,C,D,E DB 8FH,0BFH,8CH,0FFH,0FFH ; F,- ,P,暗 鍵盤掃描子程序: KEYI: MOV A,# 00H ; 判有無鍵按下,使所有列線為 0 ;的編碼送 A MOV SBUF,A ; 掃描鍵盤的( 8)號 74LS164輸 ;出為 00H,使 所有列線為 0 KL0: JNB TI,KL0 ; 串行輸出完否? CLR TI ; 串行輸出完畢,清 TI KL1: JNB ,PK1 ; 第 1行有閉合鍵嗎?如有,跳 ; PK1進(jìn)行處理 JB ,KL1 ; 在第 2行鍵中有閉合鍵嗎?無閉 ;合鍵跳 KL1 PK1: ACALL DL10 ; 調(diào)用延時(shí) 10ms子程序 DL10, 軟 ;件消除抖動(dòng) JNB ,PK2 ; 判是否抖動(dòng)引起的? JB ,KL1 ; 不是抖動(dòng)引起的,往下執(zhí)行 PK2: MOV R7,# 08H ; R7為列計(jì)數(shù)器,掃一列減 1 MOV R6,# 0FEH ; 判別是哪一個(gè)鍵按下, FEH為最 ;左一列為低 MOV R3,# 00H ; R3為列號寄存器 MOV A,R6 ; KL5: MOV SBUF,A ; 列掃描碼從串行口輸出 KL2: JNB TI,KL2 ; 等待串行口發(fā)送完 CLR TI ; 串行口發(fā)送完畢,清 TI標(biāo)志 JNB ,PKONE ; 讀第 1行線狀態(tài),第 1行有鍵閉 ;合,跳 PKONE處理 JB ,NEXT ; 讀第 2行狀態(tài),是第 2行某鍵否? MOV R4,# 08H ; 第 2行鍵中有鍵被按下,行首鍵 ;號 08H送 R4 AJMP PK3 。 PKONE: MOV R4,# 00H ; 第 1行有鍵按下,行首鍵號 00H送 R4 PK3: MOV SBUF,# 00H ; 等待鍵釋放,發(fā)送 00H使所有列 ;線為低 KL3: JNB TI,KL3 。 CLR TI ; 發(fā)送完畢,清標(biāo)志 KL4: JNB ,KL4 ; 判行線狀態(tài) JNB ,KL4 。 MOV A,R4 ; 兩行線均為高,說明鍵已釋放 ADD A,R3 ; 計(jì)算得到鍵碼 → A RET NEXT: MOV A,R6 ; 列掃描碼左移一位,判下列鍵 RL A 。 MOV R6,A ; 記住列掃描碼于 R6中 INC R3 ; 列號增 1 DJNZ R7,KL5 ; 列計(jì)數(shù)器 R7減 1, 8列鍵都檢查 ;完? AJMP KEYI ; 8列鍵掃描完畢,開始下一個(gè)鍵 ;盤掃描周期 DL10: MOV R7,# 0AH ; 延時(shí) 10ms子程序 DL: MOV R6,# 0FFH DL6: DJNZ R6,DL6 DJNZ R7,DL RET 利用通用鍵盤 /顯示器接口芯片 8279實(shí)現(xiàn)鍵盤 / 顯示器接口 Intel 8279芯片: 通用可編程鍵盤 /顯示器接口芯片。 對鍵盤部分提供掃描工作方式,能對 64個(gè) 鍵鍵盤陣 列不斷掃描, 自動(dòng)消抖 , 自動(dòng)識(shí)別出閉合的鍵 并 得到鍵 號 ,能對 雙鍵或 N鍵同時(shí)按下 進(jìn)行處理。 掃描方式的顯示接口,可顯示多達(dá) 16位 的字符。 2. 引腳功能介紹 (1)與 CPU的接口引腳 ? DB0~ DB7: 數(shù)據(jù)總線、雙向、三態(tài),與單片機(jī)數(shù)據(jù) 總線相連,在 CPU和 8279之間傳送命令或數(shù)據(jù)。 ? CLK: 系統(tǒng)時(shí)鐘,用于 8279內(nèi)部定時(shí),以產(chǎn)生其工作 所需的時(shí)序。 ? RESET: 高電平時(shí), 8279被復(fù)位, 復(fù)位后的狀態(tài)如下 : * 16個(gè)字符左邊輸入顯示方式 * 編碼掃描鍵盤、雙鍵鎖定方式 ? CS*: 片選 ? A0: =1, 寫入 的是 命令 字節(jié) 。 讀出 的是 狀態(tài) 字節(jié)。 =0,寫入或讀出的字節(jié)均為 數(shù)據(jù) 。 ? RD*、 WR*: 讀、寫控制引腳 ? IRQ: 中斷請求線。在鍵盤方式中,當(dāng)鍵盤 RAM( 先 進(jìn)先出)中 存有按下鍵的數(shù)據(jù)時(shí), IRQ為高電平 ,向 CPU提出中斷申請。 ( 2) 掃描信號輸出引腳 CPU每次從鍵盤 RAM中讀出一個(gè)字節(jié)數(shù)據(jù)時(shí), IRQ就變?yōu)榈碗娖健?如果鍵盤 RAM中還有未讀完的數(shù)據(jù), IRQ將再次變?yōu)楦唠娖?,再次提出中斷請求? ? SL0~ SL3 掃描輸出。用來掃描鍵盤和顯示器??删幊淘O(shè)定 為 編碼輸出 ,即 SL0~ SL3需外接 416譯碼器,輸出 16 取 1的掃描信號,也可編程設(shè)定為 譯碼輸出 ,即由 SL0 ~ SL3直接輸出 4取 1的掃描信號。 ( 3)與鍵盤連接的引腳 ? RL0~ RL7 鍵盤矩陣的行信號輸入線。 ? SHIFT 輸入線,通常用作鍵盤上、下檔功能的控制鍵。 ? CNTL/STB 輸入線,高電平有效。在鍵盤方式時(shí),通常用來 作為鍵盤控制功能鍵使用。 ( 4)與顯示器連接的引腳 ? OUTA0~ OUTA3( A組顯示數(shù)據(jù)) 、 OUTB0~ OUTB3( B 組顯示數(shù)據(jù)) :向 LED顯示器輸出的段碼 , 與掃描信號 線 SL0~ SL3同步。兩組可獨(dú)立使用,也可合并使用。 ? BD*:消隱顯示控制 。 3. 8279的基本功能部件 ( 1)掃描計(jì)數(shù)器 編碼方式 :掃描線 SL0~ SL3輸出,經(jīng)外部 416譯碼器 譯碼后,為鍵盤和顯示器提供 16取 1的掃描線。 譯碼方式 :計(jì)數(shù)器的最低二位在 8279內(nèi)部譯碼后,從 SL0~ SL3輸出,為鍵盤和顯示器提供 4取 1掃描線。 D7 D6 D5 D4 D3 D2 D1 D0 CNTL SHIFT 掃 描 回 復(fù) ( 2)鍵盤去抖動(dòng)及回復(fù)緩沖器 RL0~ RL7被接到鍵盤的行線。 在逐列掃描時(shí),當(dāng)某一鍵閉合,消抖電路延時(shí)等 待 10ms之后,再檢驗(yàn)該鍵是否仍閉合。若閉合,則該 鍵的行、列地址和附加的移位、控制狀態(tài)一起形成鍵 盤數(shù)據(jù),送入 8279內(nèi)部的鍵盤 RAM存儲(chǔ)器。格式為: 控制( CNTL) 和 移位( SHIFT) 的狀態(tài)由兩個(gè)獨(dú)立 的附加開關(guān)決定,而 掃描 ( D D D3) 是被按鍵的 列 編碼,而 回復(fù) ( D D D0) 則是被按鍵的 行 位置 數(shù)據(jù)。 ( 3)鍵盤 RAM及其狀態(tài)寄存器 鍵盤 RAM: 8字節(jié)先進(jìn)先出( FIFO) 存儲(chǔ)器。內(nèi)部的 FIFO 狀態(tài)寄存器 存放 FIFO的工作狀態(tài),如 FIFO是空還是滿, 其中存有多少字符,是否操作出錯(cuò)等等。 當(dāng) FIFO存儲(chǔ)器空間不足時(shí),狀態(tài)邏輯將產(chǎn)生 IRQ=1 信號,向 CPU發(fā)出中斷申請。 ( 4)顯示 RAM和顯示地址寄存器 顯示 RAM: 存顯示數(shù)據(jù)。 16個(gè)字節(jié),可存放 16位顯示信 息。顯示 RAM的輸出與顯示掃描配合,同時(shí)輪流驅(qū)動(dòng)被選中的顯示位,使顯示器呈現(xiàn)穩(wěn)定的顯示(動(dòng)態(tài)掃描)。 4. 8279的命令字和狀態(tài)字 命令字: D D D5為命令特征位,來區(qū)分 8條 不同 的命令字。 狀態(tài)字: 主要用于鍵盤工作方式,以指示鍵盤 RAM中 的字符數(shù)和有無錯(cuò)誤發(fā)生。 5. 8279與鍵盤 /顯示器的接口 圖 1020為 8279與 8位顯示器, 4 8鍵盤 的接口電路。 行線接 8279的 RL0~ RL3, 8279選用外部譯碼方式, SL0 ~ SL2經(jīng) 74LS138( 1) 譯碼輸出,接列線,實(shí)現(xiàn)鍵盤逐 列掃描。 SL0~ SL2又由 74LS138(2)譯碼輸出到顯示器各位的公 共陰極,進(jìn)行逐位掃描顯示。 OUTB0~ OUTA 0~ 3輸 出 8位段碼。 當(dāng)位切換時(shí), BD*輸出為低電平,使 74LS138(2)輸出 全為高電平,顯示消隱。 當(dāng)鍵盤上出現(xiàn)有效的閉合鍵時(shí),鍵輸入數(shù)據(jù)自動(dòng)進(jìn)入 中斷讀取鍵盤 RAM中的鍵輸入數(shù)據(jù)。若要更新顯示器輸 出,僅需改變 8279中顯示 RAM中的內(nèi)容。 圖 1020:8279的 命令 /狀態(tài)口地址為 7FFFH, 數(shù)據(jù)口 地址為 7FFEH。 8279初始化程序: INITI: SETB EX1 。 允許外部中斷 1中斷 MOV DPTR,7FFFH 。 命令 /狀態(tài)口地址寫入
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1