1 / 64

輸出入埠進階應用

輸出入埠進階應用. 第四章. 本章內容. 硬體部分 : 8051 的省電模式 。 74138 、 7447 、 4×4 鍵盤、七節顯示器模組等 。 指令部分: 詳細說明算術運算指令 。 程式與實作部分: 鍵盤掃瞄程式、七節顯示器掃瞄程式、編碼與查表法等 。. 8051 之時鐘脈波電路. 8051 之省電模式. 閒置模式. 8051 之省電模式. 功率下降模式. 8051 之省電模式. PCON 暫存器. 4x4 鍵盤之內部結構. tack switch 之結構. 由 tack switch 所構成之 4  4 鍵盤. 連接提升電阻. 4x4 鍵盤.

colton
Download Presentation

輸出入埠進階應用

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 輸出入埠進階應用 第四章 例說8051

  2. 本章內容 • 硬體部分:8051的省電模式 。74138、7447、4×4鍵盤、七節顯示器模組等 。 • 指令部分:詳細說明算術運算指令 。 • 程式與實作部分:鍵盤掃瞄程式、七節顯示器掃瞄程式、編碼與查表法等 。 例說8051

  3. 8051之時鐘脈波電路 例說8051

  4. 8051之省電模式 閒置模式 例說8051

  5. 8051之省電模式 功率下降模式 例說8051

  6. 8051之省電模式 PCON暫存器 例說8051

  7. 4x4鍵盤之內部結構 例說8051

  8. tack switch之結構 例說8051

  9. 由tack switch所構成之44鍵盤 例說8051

  10. 連接提升電阻 例說8051

  11. 4x4鍵盤 例說8051

  12. 市售一體成型之4x4鍵盤 例說8051

  13. 低態掃瞄-按下「0」鍵 例說8051

  14. 高態掃瞄-按下「0」鍵 例說8051

  15. 認識MM74C922/MM74C923 例說8051

  16. MM74C922/MM74C923資料傳輸模式 例說8051

  17. MM74C922/MM74C923資料傳輸模式 例說8051

  18. 七節顯示器掃瞄 例說8051

  19. 認識七節顯示器 例說8051

  20. 共陽極七節顯示器 例說8051

  21. 共陰極七節顯示器 例說8051

  22. 多個七節顯示器 例說8051

  23. 七節顯示模組 例說8051

  24. 七節顯示模組 例說8051

  25. 市售四位數七節顯示器模組 例說8051

  26. 市售四位數七節顯示器模組 例說8051

  27. 7446、7447、7448、7449之接腳 例說8051

  28. 7447/7448輸出 例說8051

  29. 7447/7448應用範例 例說8051

  30. 編 碼 TABLE: ; abcdefgx DB 00000011B ;共陽極之0 DB 10011111B ;共陽極之1 DB 00100101B ;共陽極之2 DB 00001101B ;共陽極之3 DB 10011001B ;共陽極之4 DB 01001001B ;共陽極之5 DB 01000001B ;共陽極之6 DB 00011111B ;共陽極之7 DB 00000001B ;共陽極之8 DB 00001001B ;共陽極之9 例說8051

  31. 認識74138/74139 例說8051

  32. 算術運算指令 • 加法運算指令 例說8051

  33. 算術運算指令 • 減法運算指令 例說8051

  34. 算術運算指令 • 加1/減1運算指令 例說8051

  35. 算術運算指令 • 乘法運算指令:MUL AB • 除法運算指令:DIV AB 例說8051

  36. 算術運算指令 • BCD調整運算指令 例說8051

  37. 實例演練(4-5-1) • 連接電路 例說8051

  38. 實例演練(4-5-1) • 流程圖 例說8051

  39. Ch4-1.asm-1 ORG 0 ;程式從0位址開始 START: MOV P1, #1EH ;將最右邊數字顯示1 CALL DELAY ;延遲4ms MOV P1, #5DH ;將右邊第二個數字顯示5 CALL DELAY ;延遲4ms MOV P1, #0BH ;將右邊第三個數字顯示0 CALL DELAY ;延遲4ms MOV P1, #87H ;將最左邊數字顯示8 CALL DELAY ;延遲4ms JMP START ;從頭開始掃瞄 例說8051

  40. Ch4-1.asm-2 ;=========延遲約4ms=(即2usxR7xR7)============= DELAY: MOV R7, #10 D1: MOV R6, #200 DJNZ R6, $ DJNZ R7, D1 RET END 例說8051

  41. 自我練習 • 連接電路 例說8051

  42. 實例演練(4-5-2) • 連接電路 例說8051

  43. 實例演練(4-5-2) • 流程圖 例說8051

  44. Ch4-2.asm-1 ORG 0 ;程式從0位址開始 START: MOV P1, #FFH ;關閉所有數字 MOV P2, #10011001B ;輸出「4」的七節顯示碼 MOV P1, #11111110B ;點亮最右邊位數 CALL DELAY ;延遲4ms ;========================================== MOV P1, #FFH ;關閉所有數字 MOV P2, #00000011B ;輸出「0」的七節顯示碼 MOV P1, #11111101B ;點亮右邊第二個位數 例說8051

  45. Ch4-2.asm-2 CALL DELAY ;延遲4ms ;============================================= MOV P1, #FFH ;關閉所有數字 MOV P2, #00000011B ;輸出「0」的七節顯示碼 MOV P1, #11111011B ;點亮右邊第三個位數 CALL DELAY ;延遲4ms ;============================================= MOV P1, #FFH ;關閉所有數字 MOV P2, #00100101B ;輸出「2」的七節顯示碼 MOV P1, #11110111B ;點亮最左邊位數 例說8051

  46. Ch4-2.asm-3 CALL DELAY ;延遲4ms JMP START ;從頭開始掃瞄 ;==========延遲約4ms=(即2usxR7xR7)============ DELAY: MOV R7, #10 D1: MOV R6, #200 DJNZ R6, $ DJNZ R7, D1 RET END 例說8051

  47. 實例演練(4-5-3) • 連接電路 例說8051

  48. 實例演練(4-5-3) • 流程圖 例說8051

  49. Ch4-3.asm-1 • COUNTS EQU 50H ;每組字顯示時間 • SCAN EQU 01110111B ;掃瞄信號 • ORG 0 ;程式從0位址開始 • START: MOV DPTR, #DISP1 ;指定第一組字位置 • CALL DISPLAY4 ;呼叫顯示字組副程式 • MOV DPTR, #DISP2 ;指定第二組字位置 • CALL DISPLAY4 ;呼叫顯示字組副程式 • MOV DPTR, #DISP3 ;指定第三組字位置 • CALL DISPLAY4 ;呼叫顯示字組副程式 • JMP START ;重新開始 例說8051

  50. Ch4-3.asm-2 • ;============= 顯示一組字副程式================== • DISPLAY4: MOV R4, #COUNTS ;指定顯示次數 • LOOP1: MOV R3, #SCAN ;載入掃瞄信號 • MOV R2, #4 ;顯示字數 • MOV R1, #0 ;指定偏移值 • LOOP2: MOV A, R1 ;偏移值放入ACC • MOVC A, @A+DPTR ;取出所要顯示的字 • INC R1 ;偏移值加1 • CALL DISPLAT1 ;點亮最右邊位數 • DJNZ R2, LOOP2 ;是否已顯示四個字? • DJNZ R4, LOOP1 ;是否完成顯示次數? • RET ;返回 例說8051

More Related