480 likes | 903 Views
單晶片微處理機基礎實習. 主講:唐慧玲 老師. 學習目標. 介紹電子元件實物,及其代表符號 及運作原理。 介紹基本電路原理,結合電子元件 實作應用電路。 了結單晶片電腦結構、運作原理、 操作指令及程式寫作原則。 利用單晶片控制元件實作電子控制 應用。. 實務講習項目. 電路與電子元件 認識電阻 R-C 電路介紹 電晶體介紹 電子閃爍燈實驗 單晶片微控制器 - 8051 單晶片微控制器 I/O 實驗 延時副程式及其應用 程式查表應用. 電路與電子元件. 常用電子元件 電阻 (Resistor) 電容 (Capacitor)
E N D
單晶片微處理機基礎實習 主講:唐慧玲 老師
學習目標 • 介紹電子元件實物,及其代表符號及運作原理。 • 介紹基本電路原理,結合電子元件實作應用電路。 • 了結單晶片電腦結構、運作原理、操作指令及程式寫作原則。 • 利用單晶片控制元件實作電子控制應用。
實務講習項目 • 電路與電子元件 • 認識電阻 • R-C 電路介紹 • 電晶體介紹 • 電子閃爍燈實驗 • 單晶片微控制器 - 8051 • 單晶片微控制器 I/O 實驗 • 延時副程式及其應用 • 程式查表應用
電路與電子元件 • 常用電子元件 • 電阻(Resistor) • 電容(Capacitor) • 二極體(Diode) • 電晶體(Transistor) • 發光二極體(LED) • 開關(Switch) • 其它元件 • 電路上的元件符號 • 電路的繪製
常用電子元件 • 電容(Capacitor) • 電阻(Resistor) 開關(Switch) • 其它元件 • 發光二極體(LED) • 二極體(Diode) • 電晶體(Transistor)(Q)
歐姆定律 並聯 I 應用 + V - 串聯
R-C 電路介紹 1. 電鍵 Sw 接到 a 點, R,C,電池 e0串聯 iR + q/C = R(dq/dt) + q/C = e0 q(t) = Ce0[1 – exp(-t/RC)] 電容器 C 充電, 時間常數= RC 2. 充電到qmax, 電鍵Sw 接到b 點, R,C串聯 R(dq/dt) + q/C = 0 q(t) = qmexp(-t/RC) 電容器放電, t == RC (鬆弛時間) q(t) = qm/e = qm/2.718 q(T1/2) = qm/2
電晶體介紹 NPN 小電流 Vcc Vcc 大電流 大電流 小電流 PNP Gnd Gnd
單晶片微控制器 – MCS-51 AT89C51/AT89S51 腳位介紹 正電源 輸出入埠P1 輸出入埠P0&擴充記憶 系統Reset 擴充記憶/IO特殊用途 輸出/入埠P3&特殊用途 輸出入埠P2 &擴充記憶 震盪輸入 系統接地
MCS-51 基本線路接法 +5V 輸出/入埠P0 10uF 可做一般 I/O 用 10K 22p 接地 輸出/入埠P2 12M 22p 接地 接地
MCS-51 組合語言介紹指令集 與 定址法 • 算數運算指令 • 邏輯運算指令 • 布林運算指令 • 資料轉移指令 • 程式分支指令 • 直接訂址法 • 立即定址法 • 暫存器定址法 • 暫存器間接定址法 • 基底暫存器加索引暫存器間接定址法
組合語言程式設計介紹-I ; Project : LED Show Program ; I/O Delaration LED Reg P1.0 ;Declare P1 as LED Port Data0 Equ 55H Data1 Equ 0AAH IND Reg LED.0 ; ORG 000H ;Reset Vector JMP START ; System Beginning from Here ORG 020H START: Mov A,#Data0 Mov LED,A Call Delay200ms Mov A,#Data1 Mov LED,A Jmp START: ; END 說明 -- ; 宣告 指定位址 組合語言程式碼 程式結束
組合語言程式設計介紹-II 標記區 指令碼 運算元 程式註解 ORG 020H START: Mov A,#Data0 ; 載入資料0 到 Acc Mov LED,A Call Delay200ms Mov A,#Data1 Mov LED,A Jmp START: ; END
阻譯程序及晶片燒錄 程式燒錄 編譯流程 原始碼檔Source Code 編寫程式Edition 燒錄 組譯Assembling 目的碼檔Object Code 鏈結Linking 2/16進位檔Hex File 實際應用
單晶片微控制器 I/O 實驗 基本輸出實驗 - LED 亮不亮 +5V LED x 4 220 x 4 LEDs 作為輸出 10uF 10K 22p x 2 按壓開關作為輸入 SW x 4 12Mhz 基本輸入實驗 - 開關控制
延時副程式及其應用 開始 延時 LED 亮 延時 LED 滅
延時副程式及其應用-I 共延時多少時間???? 延時 設定R6,R7值 R7減 1 Delay: Mov R6,#100 ;設定R6值 Mov R7,#200 ;設定R7值 Dly1: Djnz R7,$ Djnz R6,Dly1 Ret N R7=0? Y R6減 1 N R6=0? Y 返回
延時副程式及其應用-II 共延時多少時間???? 延時 設定R6值 設定R7值 Delay: Mov R6,#100 ;設定R6值 Dly1: Mov R7,#200 ;設定R7值 Dly2: Djnz R7,Dly2 Djnz R6,Dly1 Ret R7減 1 N R7=0? Y R6減 1 N R6=0? Y 返回
單晶片版LED閃爍燈 +5V LED x 4 220 x 4 開始 延時(時間) 10uF LED 亮 10K 22p x 2 延時(時間) LED 滅 12Mhz
單晶片版LED閃爍燈 ; Project : LED Show Program ; I/O Delaration LED Reg P0 Data0 Equ 01H Data1 Equ 02H IND Reg LED.0 ; ORG 000H JMP START ; ORG 020H START: Mov A,#Data0 Mov LED,A Call Delay Mov A,#Data1 Mov LED,A Call Delay Jmp START Delay: Mov R6,#100 ;設定R6值 Dly1: Mov R7,#200 ;設定R7值 Dly2: Djnz R7,Dly2 Djnz R6,Dly1 Ret
實習測驗 數字式計時
實習測驗 -- 數字式計時 七段顯示器接腳圖
實習測驗 -- 數字式計時 0~9 數字顯示
實習測驗 -- 數字式計時 • 題目說明 • 讓 LED七段顯示器依序顯示 0 到 9 數字 • 每次顯示的切換時間為一秒鐘 • 顯示到數字9後 下一次顯示又從一開始 • 顯示六次輪循 應該發費一分鐘整
實習測驗 -- 數字式計時 • 提示 • 找出 0 到 9 數字顯示接腳供電組合(0/1) • 設計一Delay副程式時間為一秒鐘 • 切換組合之間呼叫Delay副程式一次
實習測驗 -- 數字式計時 • 提示 MC .... Mov P0,#00110010B Call Delay .... .... 2 總呼叫時間 2 + 3+(3+(3+ZZ*2)*YY)*XX Delay: Mov R5,#XX;設定R5值 Dly0: Mov R6,#YY ;設定R6值 Dly1: Mov R7,#ZZ ;設定R7值 Dly2: Djnz R7,Dly2 Djnz R6,Dly1 Djnz R5,Dly0 Ret 1 1 1 2 2 2 2 1+(1+(1+ZZ*2+2)*YY +2)*XX+2
實習測驗 -- 數字式計時 Result:1000001 XX:167 YY:19 ZZ:156 Result:1000001 XX:167 YY:21 ZZ:141 Result:1000001 XX:167 YY:35 ZZ:84 Result:1000001 XX:167 YY:45 ZZ:65 Result:1000001 XX:167 YY:57 ZZ:51 Result:1000001 XX:167 YY:63 ZZ:46 Result:1000001 XX:167 YY:95 ZZ:30 Result:1000001 XX:167 YY:105 ZZ:27 Result:1000001 XX:167 YY:133 ZZ:21 Result:1000001 XX:167 YY:171 ZZ:16 Result:1000003 XX:254 YY:14 ZZ:139 • 提示 Result:999999 XX:23 YY:185 ZZ:116 Result:999999 XX:23 YY:235 ZZ:91 Result:999999 XX:46 YY:88 ZZ:122 Result:999999 XX:46 YY:104 ZZ:103 Result:999999 XX:46 YY:152 ZZ:70 Result:1000003 XX:127 YY:17 ZZ:230 Result:1000001 XX:167 YY:15 ZZ:198