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

正文內(nèi)容

單片機的接口技術(shù)ppt課件(參考版)

2025-03-25 06:22本頁面
  

【正文】 MOV DPTR, 7FFFH ; 8279命令口地址 MOV A, 0D1H ; 8279清顯示 RAM命令字 MOVX DPTR, A LOOP: MOVX A, DPTR ; 讀狀態(tài)字 ANL A, 0FH JZ LOOP ;有鍵按下?沒有則返回 MOV A, 0A0H ; 顯示 /消隱命令 MOVX DPTR, A MOV A, 40H ; 讀 FIFO命令 MOVX DPTR, A MOV DPTR, 7EFFH ;讀鍵值 MOVX A, DPTR MOV R1, A ? 單片機與 8279的具體接口電路(見圖 919) 圖 919 51單片機用 8279擴展 I/O接口連接鍵盤與 8段顯示器 ? 分析 ? 8031的 8279的片選端,最低位地址 A0接到 8279的 C/D端,因此該接口對用戶來說只有二個口地址: ? 命令口地址: 7FFFH ? 數(shù)據(jù)口地址: 7FFEH ? 圖中 8279外接 4 8鍵盤和 8位共陰極 LED顯示器,采用 編碼掃描方式 ,譯碼器 74LS138對掃描線譯碼后一方面接鍵盤的列線,同時通過驅(qū)動器接到顯示器上。 圖 918 用 8279擴展 I/O口連接鍵盤與 8段顯示器 ② 按照圖設(shè)計一個程序,在 6位 LED數(shù)碼管上依次顯示從 0~5這 6個數(shù) START: MOV DPTR , 7FFFH ; 8279命令口地址 MOV A, 90H ; 8279寫顯示 RAM命令字 MOVX DPTR , A ;送命令字 MOV R0 , 0 ;清零 MOV R1 , 6 ;顯示位數(shù) D1: MOV DPTR , TAB ;調(diào)用顯示數(shù)據(jù) MOV A , R0 MOVC A , A+DPTR MOV DPTR , 7EFFH ; 8279數(shù)據(jù)口地址 MOVX DPTR , A ;寫顯示 RAM INC R0 ;寄存器內(nèi)容加 1 DJNZ R1 , D1 ; R1內(nèi)容減 1不為 0則繼續(xù)執(zhí) LJMP START ; D1,為零則結(jié)束。 =0: 8279被選通,則 命令 /狀態(tài)寄存器的地址: 7FFFH(A0=1)。 ? 在這種接口中,單片機要做的事僅是初始化 827送出要顯示的字符、接到中斷請求后讀取按鍵的鍵值,其它工作均由 8279自動完成。 ? SL0~ SL2線同時連到 38譯碼器,該譯碼器的輸出用于掃描鍵盤 8行; ? 8279經(jīng) 8根返回線 (RL0~ RL7)讀取鍵盤的狀態(tài); ? 如果發(fā)現(xiàn)按鍵閉合則等待 10ms,顫動過去后再檢驗按鍵是否閉合; ? 工作流程 ? 若按鍵仍然閉合,則把被按鍵的鍵值選通輸入 8279內(nèi)部的先進先出 (FIFO)存儲器,同時經(jīng) INT線發(fā)出一個高電平,指出 FIFO內(nèi)已經(jīng)有一個字符; ? INT線連接到 CPU的中斷請求輸入線。 ? 設(shè)置鍵盤和顯示方式控制字 ? 設(shè)置時鐘頻率控制字: ( 34H) ? 設(shè)內(nèi)部時鐘時鐘頻率 100KHZ, CLK輸入時鐘頻率 2MHZ 6. 8279的編程使用 (2) 鍵盤服務(wù)程序: 3個部分 ? 寫入 讀 FIFO/傳感器 RAM控制字 ,由按下鍵產(chǎn)生的的字符允許通過 FIFO讀?。? ? 寫入上述控制字后,再從狀態(tài)口 讀取狀態(tài)字 ,查詢 FIFO/傳感器 RAM的狀態(tài)(是否有數(shù)據(jù)), ? 若有,則從數(shù)據(jù)口讀取掃描值 SL0~SL3,回送 RL0~RL7,形成一個字節(jié)數(shù)據(jù); ? 修改地址指針,依次輸入 n個鍵盤字,形成一個 n字節(jié)的數(shù)據(jù)塊 。 ? 錯誤 特征位 S/E在讀出 FIFO狀態(tài)字時被讀出 。 則 8279的消振周期內(nèi) , 如果發(fā)現(xiàn)有多個鍵被同時按下 , 則 FIFO狀態(tài)字中的錯誤特征位 S/E將置位 。 ? 結(jié)束中斷/錯誤方式設(shè)置命令的作用 ② 作為特定錯誤方式的設(shè)置命令 。 若自動遞增特征已置位 ( AI=1) , 則CPU對傳感器 RAM的讀出并不能清除 IRQ, 而必須通過給 8279寫入結(jié)束中斷 /錯誤方式設(shè)置命令才能使 IRQ變低 。 并且禁止寫入傳感器 RAM。 ? 結(jié)束中斷/錯誤方式設(shè)置命令的作用 ① 作為結(jié)束中斷命令 。 ? 此外,該命令還用于設(shè)置一種特定的錯誤工作方式。 ? 清除顯示 RAM 大約需 100μs , 在此期間 , 單片機不能向顯示 RAM寫入數(shù)據(jù)。 ? D0:總清除 。 ? D1:清除標志位 。 ? 分析: ? 根據(jù)命令格式, A組燈繼續(xù)亮應(yīng)禁止 A組 RAM再寫入其他數(shù)據(jù),故 D3=1; ? B組顯示熄滅 D0=1, ? 除特征位外其余位設(shè)為“ 0” 。 ? D D0位用于消隱屏蔽; ? D1= 1 時 , 消隱 A組; ? D0= 1 時 , 消隱 B組; ? 兩位同時為 “ 1 ” 時則不進行消隱屏蔽 。 ( 6)寫入和消隱屏蔽命令( D7D6D5= 101 ) 格式見表 912 表 912 寫入和消隱屏蔽命令的格式 1 0 1 D4 ? D3 ( IWA) D2 (IWB) D1 (BLA) D0 (BLB) 特征位 無效 A組禁寫 B組禁寫 A組消隱 B組消隱 1:相應(yīng)顯示 RAM禁止寫入 1:消隱 ( 6)寫入和消隱屏蔽命令(續(xù)) ? 設(shè)置了這條命令使接口的四位顯示器相互獨立 。 ? D3~ D0是欲寫入的 RAM地址,若連續(xù)寫入則表示 RAM的首地址。 ( 5)寫顯示 RAM命令( D7D6D5 = 100) ? 從單片機向 8279 寫入顯示數(shù)據(jù)之前應(yīng)先執(zhí)行該命令命令中 D3~ D0表示起始地址,數(shù)據(jù)寫入按左輸入或右輸入方式進行; ? D4:地址自動加 1控制位,為自動增量標志 ? D4= 1時 , 每次寫入后地址自動加 1。命令格式如 前表 911 ? 命令中 D3~ D0表示起始地址, D4位為自動增量標志 * D4= 1時,每次讀出后, RAM地址自動加 1 * D4= 0時,每次讀出后, RAM地址不加 1 例 96 欲讀顯示 RAM中 1000單元地址,求命令字。 所以最好設(shè)置為自動加 1方式 , 即 D4=1; ? RAM內(nèi)首地址 000, 即 D2~ D0=000, 再加上特征位 , 所以該命令控制字為:D7~ D0=01010000B=50H (無用位 D3設(shè)為 0); ? 送入 50H控制字 , 在執(zhí)行讀命令時 , 先從 FIFO/傳感器 RAM中 000單元讀數(shù) ,讀完一個數(shù) , 地址自動加 1, 又從 001單元讀數(shù) , 依次類推 , 直到讀完所需數(shù)據(jù) 。 表 911 設(shè)置讀 FIFO/傳感器 RAM的地址格式 0 1 0 D4(AI) ? D2 D1 D0 特征位 自動增量 無效 FIFO RAM首地址 鍵盤方式無效 ,寫 0 0:讀出后地址不變 1:每次讀出地址自動加 1 例 95:欲編程使單片機連續(xù)讀 8279內(nèi) FIFO/傳感器 RAM中 000111單元的數(shù)據(jù),設(shè)置讀命令。 ( 3)讀 FIFO/傳感器 RAM命令( D7D6D5=010)(表 912) ? D2~ D0: 為 8279中 FIFO及傳感器 RAM的首地址 ? D3: 無效位。 例 94 已知 80C51的 fosc=12MHz,要求 8279的內(nèi)部時鐘信號頻率為 100kHz,求分頻系數(shù) N。 ? 因為命令字為 08H,即 D7~ D0=00001000B,顯然 D7 D6 D5=000,該條命令為鍵盤 /顯示命令, D4D3=01為 16字符左端入口顯示方式, D2D1D0=000,鍵盤為編碼掃描、雙鍵鎖定方式。 ? 根據(jù)題目要求可進行分析,因為具有下列條件: ? 是鍵盤 /顯示命令特征位: D7 D6 D5=000 (表 96) ; ? 8個字符右端入口顯示: D4 D3=10(表 98) ; ? 鍵盤譯碼掃描, N鍵輪回: D2 D1 D0=011(表 99) ; ? 所以 8位命令器存器狀態(tài) D7~ D0=00010011B,即該命令字 13H送入命令寄存器口地址則可滿足題目要求。 ? 顯示字段碼由 OUTA0~ OUTA3和 OUTB0~ OUTB3輸出。 ? D D D0三位用以設(shè)定 8種鍵盤 /顯示掃描方式 ? 鍵盤 /顯示命令格式見表 97 0 0 0 D4 D3 D2 D1 D0 特征位 顯示方式 輸入方式 掃描方式 * 設(shè)置工作方式 00: 8字符 ,左入口 01: 16字符 ,左入口 10: 8字符 ,右入口 11: 16字符 ,右入口 00:鍵盤 ,雙鍵鎖定 01:鍵盤 ,N鍵輪回 10:傳感器掃描 11:選通輸入 0:編碼掃描 1:譯碼掃描 表 97 8279的鍵盤 /顯示命令格式 ? 顯示器方式設(shè)置 (見表 98) (1) 鍵盤 /顯示命令(續(xù) ) 表 98 顯示方式設(shè)置 D4 D3 顯示方式 0 0 8個字符顯示,左端入口方式 0 1 16個字符顯示,左端入口方式 1 0 8個字符顯示,右端入口方式 1 1 16個字符顯示,右端入口方式 ? 鍵盤方式設(shè)置: (1) 鍵盤 /顯示命令(續(xù)) 表 99 鍵盤 /顯示掃描方式設(shè)置 D2 D1 D0 鍵盤,顯示掃描方式 0 0 0 編碼掃描鍵盤,雙鍵鎖定 0 0 1 譯碼掃描鍵盤,雙鍵鎖定 0 1 0 編碼掃描鍵盤, N鍵輪回 0 1 1 譯碼掃描鍵盤, N鍵輪回 1 0 0 編碼掃描傳感器矩陣 1 0 1 譯碼掃描傳感器矩陣 1 1 0 選通輸入,編碼顯示掃描 1 1 1 選通輸入,譯碼顯示掃描 ? 譯碼掃描(內(nèi)譯碼): 指掃描代碼直接由掃描線 SL0~ SL3輸出,每次只有 1位是低電平( 4選 1); ? 編碼掃描(外譯碼): 是指掃描代碼經(jīng) SL0~ SL3外接譯碼器輸出 ? 由于鍵盤最大 8 8=64個鍵,由 SL0~ SL2接 3: 8譯碼器,譯碼器的 8位輸出作為鍵盤掃描輸出線(列線), RL0~ RL7為輸入線(行線)。 ? 命令寄存器的低 5位 D4~ D0為命令的具體內(nèi)容 。 ? 命令寄存器共 8位 , 格式如下 : D7 D6 D5 D4 D3 D2 D1 D0 命令類型 命令內(nèi)容 5. 8279的命令字及其格式(續(xù)) ? 8279的一條命令由兩大部分組成; ? 命令寄存器高 3位 D7~ D5為命令特征位 , 表征命令類型 。 ( 1) 鍵盤掃描方式數(shù)據(jù)輸入格式(見表 94) D7 D6 D5 D4 D3 D2 D1 D0 CNTLD SHIFT SL2 SL1 SL0 由 RLx 的 x決定 ? D7:控制鍵 “ CNTL” 狀態(tài) ? D6:控制鍵 “ SHIFT” 狀態(tài) ? D5 D4 D3:被按鍵所在列號(由 SL0SL2)狀態(tài)確定) ? D2 D1 D0:被按鍵所在行號(由 RL0RL7)狀態(tài)確定 表 94 鍵盤掃描方式數(shù)據(jù)輸入格式 ? 8279數(shù)據(jù)輸入 /輸出格式(續(xù)) ( 2)傳感器方式及選通方式數(shù)據(jù)輸入格式 D7 D6 D5 D4 D3 D2 D1 D0 RL7 RL6 RL5 RL4 RL3 RL2 RL1 RL0 ? 此種方式 8位輸入數(shù)據(jù)為 RL0RL7的狀態(tài) ? 數(shù)據(jù)輸入格式見表 95 表 95 傳感器及選通方式的數(shù)據(jù)輸入格式 5. 8279的命令字及其格式 ? 8279的各種工作方式都要通過對命令寄存器的設(shè)置來實現(xiàn) 。 ? 注意 , 在傳感器掃描方式和選通輸入方式中 , 輸入數(shù)據(jù)即為 RL7~ RL0的輸入狀態(tài) 。 4. 8279的寄存器(續(xù)) ( 3) 數(shù)據(jù)寄存器 ? 數(shù)據(jù)寄存器實際上就是 FIFO RAM 中最前面的那個單元 ,其內(nèi)容為被按鍵的信息 , 通過讀它把鍵盤信息輸入單片機 。 ? 狀態(tài)字格式如表 93 D7 D6 D5 D4 D3 D2 D1 D0 DU S/E O U F N2 N1 N0 ? DU:顯示無效標志 , 當(dāng)清除命令尚未完成時,該位置 1 ? S/E:鍵盤輸入方式下作特殊錯誤標志 ,=1:多鍵同時按下 ? O:溢出標志 ,向已滿的 FIFO RAM寫時置 1 ? U:不足標志 ,從已空的 FIFO RAM讀時置 1 ? F:表示 FIFO RAM 已滿(存有 8 個鍵碼) ? N2N1N0:FIFO RAM中字符的個數(shù) 表 93 8279的狀態(tài)字格式 4. 8279的寄存器(續(xù)) ? 狀態(tài)寄存器各位的意義 ? D2, D1, D0( N2, N1, N0) : 其值為 FIF
點擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1