PowerPoint 簡報

Similar documents
2-2 第二章系統分析 XTAL1/ (19/18): 時脈接腳 1. 使用內部振盪器 C1 XTAL1 C2 VSS 2. 使用外部時脈 圖 2-2 使用內部振盪器接線圖 時脈輸入 空接.. 時脈輸入 XTAL1 XTAL1 時脈輸入 XTAL1 VSS VSS VSS (a) (b) (c) 圖

DPJJX1.DOC

W77E58中文手册

Microsoft Word - 專題封面.doc

<4D F736F F D20B3E6B4B9A4F930365F32A443AC71C5E3A5DCBEB9B1B1A8EE2E646F63>

Microsoft PowerPoint - MicroProcessor05_MSC51 HW

Microsoft PowerPoint - chap3.ppt

目 录

Microsoft PowerPoint - chap12.ppt

Microsoft PowerPoint - chap2.ppt

PowerPoint 簡報

Microsoft Word 定址法實驗.doc

Microsoft Word - ISSFA-0109_B_SM59264_WDT_ APN_TC_.doc

Microsoft Word - 目錄new.doc

2 Keil µ vision 2.1 1) Keil µ vision2 V2.34 µ vision3 2) Sino_Keil.exe Keil c:\keil\ 3) JET51 USB PC C:\Keil\ USB PC 4) S-L

Microsoft PowerPoint - chap5.ppt

教科書:系統程式 - 第 2 章、電腦的硬體結構

定時器/計數器

1-1 SH79F6431 A. 2( ) 9~15V ( 12V) U2 U3 3.3V SH79F B. 1(VCC/GND) SH79F6431 C. VDDIO SH79F6431 P4 P5 P0.6 P0.7 VDDIO VDDIO=5V D. 2 V 1.0

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File

51 C 51 isp 10 C PCB C C C C KEIL

微處理機

1 TPIS TPIS 2 2

投影片 1

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit

1 CPU

微處理機期末專題

1.1 ML_ONOFF = 1 Q 3 Q 8 C 0.3V M 2 L 1 ML_ONOFF = 0 Q 3 Q 8 C 1. + R31 VCC R21 10K ML_ONOFF R15 0:off 1:on 1K Green Light VCC=5V L1 Q VDD=12V C

1

0 0 = 1 0 = 0 1 = = 1 1 = 0 0 = 1

µPSD3000 系列

高雄縣高英高級工商職業學校

Microsoft PowerPoint - 3C¬ì§Þ»P¥Í¬¡-chapter2

1

Microsoft PowerPoint - C15_LECTURE_NOTE_15

Microsoft Word - PA.doc

单片机原理及应用实验指导书.doc

untitled

Ps22Pdf

Microsoft Word - PLC與GP接線說明_缺WDH_2.doc


System Design and Setup of a Robot to Pass over Steps Abstract In the research, one special type of robots that can pass over steps is designed and se

CC213

» n ¹ú KS0108 x ÍÍÙ q n KS0108 KS KS0107 KS0108 KS *32 128*64 192*64 KS0108 KS0108 KS0107 KS =4096 RAM RAM LCD 2 KS

Microsoft Word - ISSFA-0237_A_SM39R_series_EEPROM_APN_TC_.doc

Microsoft Word - ACI chapter00-1ed.docx

逢 甲 大 學

SST SPAC SST SoftICE SST89C5x/SST89x554RC /564RD /SST89x516/5xRD / SoftICE SoftICE MCU SoftICE SS

Microsoft PowerPoint - chap4.ppt

<4D F736F F D20A7EBBCD0B6B7AABEAAFEA5F3322D3935A67EB2C432A6B8B2C433B2D5C5E3A5DCA564B357BD64AED12E646F63>

串列傳輸

Microsoft Word - ISSFA-0134_A_AP_User-definedDownload_SC_.doc

桌上型個人電腦採購規格說明表


dfgdafhdafhdafhdafh

学习MSP430单片机推荐参考书

幻灯片 1

桌上型個人電腦採購規格說明表

電腦設備LP _第七組顯示卡規範書

378高雄市都市計畫說明書

840 提示 Excel - Excel -- Excel (=) Excel ch0.xlsx H5 =D5+E5+F5+G5 (=) = - Excel 00

投影片 1

7688使用手冊V10.doc

Microsoft Word - IRFWX_A051_C_SyncMOS_with_STC_APN_SC_.doc

電腦設備LP 第七組顯示卡規範書

untitled

Microsoft PowerPoint - chap11.ppt

修平科技大學四技機械工程系

mdt1030

PowerPoint Presentation

《计算机应用基础》学习材料(讲义)

Microsoft Word - LP doc

untitled

05321BR05.indd

User ID 150 Password - User ID 150 Password Mon- Cam-- Invalid Terminal Mode No User Terminal Mode No User Mon- Cam-- 2

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File

Microsoft PowerPoint - 遊戲企劃

Microsoft Word - 1-3陳詠琳-近代..


寻医问药指南(十七)

四位微控制器ML64168_ _.doc

从MCS51向AVR的快速转换.PDF


初始化A7121

<4D F736F F D20B3D0B773ACECA7DEA46AA4F1ABF7B5A7B04F2E646F63>

Table of Content 1. RFC 的寫法 ( 使用 PH_IRQ 當作 Timer base) Comparator Power ( V_LVR, V_PAD, VDD2 ) connect... 7 Examples : 1/3 bias... 7 E

現在人類獲取地球內部訊息的方法, 是從可能影響我們身家性命安全的地震, 用數學模型把地震資料轉換成地震波速度, 進而獲得地底物質密度與深度的關係 地下世界知多少 km/s g/cm 3 P Gpa km S P S 3,000 3,000 ak K 透視地底 Percy Bridgma

128K Flash EPROM 的程序?\(Bank=64K\) 切?

書面

江人发2009年第49号突发事件应对法培训.doc

Transcription:

3 MCS-51 系列的內部結構 3-1 指令解碼器及控制單元 算術邏輯單元 程式計數器 程式記憶體 資料記憶體 特殊功能暫存器 輸入 / 輸出埠

3 MCS-51 系列的內部結構 計時 / 計數器之基本認識 計時 / 計數器 0 及計時 / 計數器 1 計時 / 計數器 2 串列埠 中斷 省電模式

3-1 指令解碼器及控制單元 任何程式指令的運算碼 (OP code) 都是先從記憶體讀入指令暫存器 (instruction register) 中, 然後加以解碼分析, 再透過控制單元 (control unit) 發出各種時序信號, 使微電腦系統各部門間能互相協調而將資料作適當的傳送與運算 算術邏輯單元 算術邏輯單元 (arithmatic and logic unit) 簡稱為 ALU, 是負責執行算術運算及邏輯運算的部門 程式計數器 程式計數器 (program counter) 簡稱為 PC, 會自動指出存放於記憶體中下一個待執行指令存放的位址, 以便 CPU 去讀取 由於 MCS-51 系列的程式計數器 PC 是 16 位元的,=65536, 所以程式記憶體的總容量最大為 64K byte 程式記憶體 MCS-51 系列的程式記憶體如圖 -1 所示 內部程式記憶體及外部程式記憶體的總容量有 64K byte

在 MCS-51 系列單晶片微電腦的程式記憶體中有七個特殊用途的位址, 茲說明於下 : 1. 位址 0000H ( 重置 ) 當重置信號 ( 接腳 RESET 由低電位上升至高電位, 再由高電位降回低電位 ) 發生後,CPU 會從位址 0000H 開始執行程式, 所以主程式的第一個指令一定要放在位址 0000H 換句話說, 程式一定要從位址 0000H 開始寫起

2. 位址 0003H ( 外部中斷 0) 3-1 當 CPU 接受外部中斷 0 時 ( 即接腳 INT0 由高電位變成低電位 ),CPU 會跳到位址 0003H 去執行中斷副程式 3. 位址 000BH ( 計時 / 計數器 0 中斷 ) 當 CPU 接受計時 / 計數器 0 因溢位而產生的中斷要求時,CPU 會跳到位址 000BH 去執行中斷副程式 4. 位址 0013H ( 外部中斷 1) 當 CPU 接受外部中斷 1 時 ( 即接腳 INT1 由高電位變成低電位 ),CPU 會跳到位址 0013H 去執行中斷副程式 5. 位址 001BH ( 計時 / 計數器 1 中斷 ) 當 CPU 接受計時 / 計數器 1 因溢位而產生的中斷要求時,CPU 會跳到位址 001BH 去執行中斷副程式

6. 位址 0023H ( 串列埠中斷 ) 當串列埠接收資料完畢或傳送資料完畢時, 會產生中斷要求, 而令 CPU 跳到位址 0023H 去執行中斷副程式 7. 位址 002BH ( 計時 / 計數器 2 中斷 ) 當計時 / 計數器 2 ( 僅 80C32 80C52 87C52 89C52 87C54 89C55 等編號才有計時 / 計數器 2) 產生中斷要求時,CPU 會跳到位址 002BH 去執行中斷副程式

資料記憶體

內部 RAM 依用途之不同可分為四個區域, 茲說明於下 : 1. 一般用途暫存器 位址在 00H~1FH, 共有 32 個 byte 詳見圖 -2 系統重置 (RESET) 後, 會指到暫存器庫 0

注意! 於系統重置後, 堆疊指標 SP 會自動設定為 07H, 所以一旦堆疊動作開始進行 ( 使用 CALL PUSH 等指令 ) 時, 資料將由位址 08H( 即暫存器庫 1 的 R0 處 ) 開始存放 2. 可位元定址區 位址在 20H~2FH, 共有 16 個 byte 16byte=128bit, 這 128 個位元 (bit), 每一個位元均可以單獨用位元定址法予以直接定址

寫程式時, 每一個位元位址可用下列兩種方式表示 : 1 直接使用 00H~7FH 之位元位址 3-1 2 用位元組帶點號的表示方式 例如位元位址 33H 是位元組位址 26H 的 bit3, 所以可以用 26H.3 表示 依此類推 3. 資料儲存區 位址在 30H~7FH 人們也常將堆疊指標 SP 指至此區域, 把資料儲存區的一部份當作堆疊器 (stack) 使用 4. 間接存取區 位址在 80H~FFH, 共有 128 byte 可供應用 間接存取區內, 資料的存取必須採用間接定址法 特殊功能暫存器 特殊功能暫存器 (special function registers) 簡稱為 SFR, 在 MCS-51 系列單晶片微電腦中扮演著非常重要的角色, 凡是要使用計時 / 計數器 串列埠 中斷 等等功能, 都必須先設定特殊功能暫存器中的各相關控制暫存器才能工作

-1 累積器 A 累積器 (accumulator) 簡稱為 ACC 或 A 累積器是一個很重要的暫存器, 大部份的運算都需透過累積器, 而且儲存運算結果 資料傳輸 跳越判斷等也都以累積器為主, 功能最多 -2 B 暫存器 B 暫存器主要是用來做乘法和除法的運算, 但是不做乘除運算時,B 暫存器也可以當做一般用途的暫存器來使用 -3 程式狀態字元 PSW 程式狀態字元 (program status word), 簡稱為 PSW, 其詳細情況請見圖 3-6-4

-4 堆疊指標 SP 3-1 堆疊指標 (stack pointer) 簡稱為 SP 當程式中執行 CALL 或 PUSH 指令或中斷副程式時, 堆疊指標 SP 會先自動加 1, 然後把相關的資料存入堆疊器 (stack) 內 當程式執行 RET 或 RETI 或 POP 指令時, 堆疊器內的相關資料被取出後, 堆疊指標 SP 會自動減 1 堆疊器我們可用設定 SP 值而將其規劃在內部 RAM 的任何地方, 但當系統被重置 (RESET) 後,SP 會被自動設定為 07H, 這將使得堆疊器是從位址 08H 開始, 然而位址 08H 正好是暫存器庫 1 的地方, 所以在很多程式的開頭會先用指令把 SP 設在 30H 以上 ( 例如 :MOV SP,#60H) -5 資料指標暫存器 DPTR 資料指標暫存器 (data pointer) 簡稱為 DPTR,DPTR 的主要功能是儲存 16 位元之位址, 當做存取資料的位址指標用

輸入 / 輸出埠 3-1 1. 所有 MCS-51 的埠腳都是雙向性的, 既可當輸入腳用, 亦可當輸出腳用 在特殊功能暫存器中分別被稱為 P0 P1 P2 P3 每一隻埠腳皆由閂鎖 (D 型正反器 ;latch) 輸出驅動電路及輸入緩衝器所組成, 結構如圖 -1 至圖 -4 所示 2.P1 P2 P3 的內部均有提升電阻器 P0 則為開汲極 (open drain) 輸出, 沒有內部提升電阻器 每一隻埠腳都能獨立做為輸入腳或輸出腳用, 但是欲做為輸入腳用時必須先在該埠腳寫入 1, 令輸出驅動 FET 截止

計時 / 計數器之基本認識 3-1 計時 / 計數器可用指令規劃為計時器使用或當做計數器用 被規劃成計數功能時, 每當接腳 T0( 或 T1 或 T2) 輸入一個負緣 ( 即電位由 1 變成 0) 就會令計數器 0 ( 或計數器 1 或計數器 2) 加 1 計時 / 計數器 0 及計時 / 計數器 1-1 工作模式之設定 可利用特殊功能暫存器 TMOD 中的 C/T 控制位元來選擇 計時 或 計數 功能, 並由 TMOD 中的位元 M1 及 M0 來選擇四種不同的工作模式 TMOD 的用法請見圖 -1 之說明 -2 模式 0 (Mode 0) 分析 工作於模式 0 時, 如圖 -2 及圖 -3 所示 在模式 0 時, 特殊功能暫存器 TL 和 TH 組成 13 位元之向上計數器, 其初始值可以用 MOV 指令設定之, 當往上計數至 13 個位元都變成 1 時, 若再輸入一個脈波而使 13 個位元都變成 0, 則會令計時 / 計數溢位旗標 TF=1

-3 模式 1 (Mode 1) 分析 3-1 工作於模式 1 時, 特殊功能暫存器 TL 和 TH 是組成 16 位元之向上計數器, 如圖 -5 及圖 -6 所示 TL 和 TH 的初始值可以用 MOV 指令設定之, 當往上計數至 16 個位元都變成 1 時, 若再輸入一個脈波而使 16 個位元都變成 0, 則會令計時 / 計數溢位旗標 TF=1-4 模式 2 (Mode 2) 分析 工作於模式 2, 如圖 -7 及圖 -8 所示

-5 模式 3 (Mode 3) 分析 請注意! 工作於模式 3 時, 計時 / 計數器 0 和計時 / 計數器 1 的動作情形將完全不一樣 茲分別說明於下 : 1. 計時 / 計數器 0 工作於模式 3 時, 如圖 -9 所示要特別注意的是 TH0 借用計時 / 計數器 1 的 TF1 做溢位旗標, 所以與其相對應的中斷副程式之起始位址是在 001BH 2. 計時 / 計數器 1 在模式 3 時, 將停止計時 / 計數

計時 / 計數器 2-1 工作模式之設定計時 / 計數器 2 是 16 位元的計時 / 計數器 編號 80C32 80C52 87C52 89C52 87C54 89C55 之單晶片微電腦中才有計時 / 計數器 2 計時 / 計數器 2 可由圖 -1 所示之特殊功能暫存器 T2CON 的 C/T2 位元來設定為計時器或計數器使用 並可由 T2CON 的 RCLK TCLK CP/RL2 TR2 等位元決定其工作模式, 詳見表 -1-2 捕取模式 (Capture Mode) 分析 計時 / 計數器 2 工作於捕取模式時, 如圖 -2 所示 -3 自動再載入模式 (Auto-Reload Mode) 分析 計時 / 計數器 2 工作於自動再載入模式時, 如圖 -3 所示

-4 鮑率產生器 (Baud Rate Generator) 分析 3-1 所謂鮑率就是在串列通訊時, 傳送位元的速率 例如鮑率 2400BPS 就代表每 秒能傳送 2400 個位元 (bits per second) 計時 / 計數器 2 用來擔任鮑率產生器 時, 動作情形如圖 -4 所示

串列埠 3-1 串列通訊埠的優點是使用較少的傳輸線就可傳送資料, 在做遠距離的通 訊時可大量節省材料 -1 串列埠之模式 0 1. 特點 (1) 資料由接腳 RXD( 即 P3.0) 發射或接收 移位時脈由接腳 TXD( 即 P3.1) 發射 (2) 資料的發射或接收都以 8 個位元為一個單位 (3) 鮑率 = 石英晶體的振盪頻率 除以 12 (4) 說明 : 1 串列埠工作於模式 0 時, 串列資料由接腳 RXD 進出, 移位時脈則由接腳 TXD 輸出 每一個移位時脈, 接收或發射一個位元的資料 2 資料是依 bit 0 bit 1 bit 2 bit 3 bit 4 bit 5 bit 6 bit 7 之順序發射或接收

-2 串列埠之模式 1 3-1 1. 特點 (1) 由接腳 TXD 發射資料, 由接腳 RXD 接收資料 由於發射和接收資料是用不同的接腳負責, 所以可以同時進行發射和接收的動作 (2) 資料的發射或接收都以 10 個位元為一個單位 包含一個起始位元,8 個資料位元, 一個停止位元 說明 :1 起始位元 ( 等於 0) 及停止位元 ( 等於 1) 是串列埠在發射資料時自動加上去的 2 進行接收動作時, 收到的停止位元會自動存入特殊功能暫存器 SCON 的 RB8 中 (3) 鮑率可用軟體規劃

-3 串列埠之模式 2 3-1 1. 特點 (1) 由接腳 TXD 發射資料, 由接腳 RXD 接收資料 由於發射和接收資料是用不同的接腳負責, 所以可以同時進行發射和接收的動作 (2) 資料的發射或接收都以 11 個位元為一個單位 包含一個必為 0 的起始位元,8 個資料位元, 一個 TB8( 特殊功能暫存器 SCON 的 bit 3), 及一個必為 1 的停止位元 說明 :1 起始位元及停止位元是串列埠在發射時自動加上去的 2 進行接收動作時, 收到的第 10 個位元 ( 即 TB8 的內容 ) 會自動存入特殊功能暫存器 SCON 的 RB8 內 (3) 鮑率是由指令改變特殊功能暫存器 PCON 中的 SMOD 位元而決定 : 若 SMOD=0, 則鮑率 = 除以 64 若 SMOD=1, 則鮑率 = 除以 32 註 := 石英晶體的振盪頻率

-4 串列埠之模式 3 3-1 1. 特點 (1) 由接腳 TXD 發射資料, 由接腳 RXD 接收資料 可以同時進行發射和接收的動作 (2) 資料的發射和接收都以 11 個位元為一個單位 包含一個必為 0 的起始位元, 8 個資料位元, 一個 TB8, 及一個必為 1 的停止位元 (3) 鮑率可用軟體規劃 2. 用法 除了鮑率之外, 串列埠工作於模式 3 和模式 2 的工作流程是相同的 發射時請見圖 -8, 接收時請見圖 -9

-5 串列埠的鮑率 3-1 1. 串列埠工作於模式 0 的鮑率 (1) 串列埠工作於模式 0 時, 其鮑率是固定值 : 鮑率 = 石英晶體的震燙頻率除以 12 例如 : 當使用 12MHz 的石英晶體時, 鮑率 =12MHz 12 = 1MHz= 1000000BPS (2) 不需用任何計時 / 計數器擔任鮑率產生器

2. 串列埠工作於模式 1 及模式 3 的鮑率 3-1 (1) 串列埠工作於模式 1 及模式 3 時, 鮑率的規劃方法完全一樣 (2) 鮑率由計時器 1 產生時, 通常令計時器 1 工作於模式 2 ( 自動再載入功能 ), 此時 : 鮑率 =2 SMOD 除以 32x 計時器 1 的溢位率 = 2 SMOD 除以 32x 石英晶體的震盪頻率除以 12x (256 - TH1) (3) 您在設計程式以前應該早已決定好要使用多少的鮑率了, 因此可用下式求 TH1 值 : TH1=256-2 SMOD x 石英晶體的震盪頻率除以 384x 鮑率 (4) 上述 SMOD 是特殊功能暫存器 PCON 的位元 7, 欲設定為 1 可用指令 ORL PCON, #80H, 欲清除為 0 可用指令 ANL PCON, #7FH 註 : 開機 (RESET) 時,SMOD 的機定值為 0 (5) 各種常用鮑率的規劃值請參考表 -5 (6) 計時器 2 亦可擔任鮑率產生器, 其規劃方法已詳述於 -4 節

3. 串列埠工作於模式 2 的鮑率 3-1 (1) 串列埠工作於模式 2 時, 鮑率由 SMOD 決定 : 若 S MOD =1 則鮑率 = 石英晶體的震盪頻率除以 32 若 S MOD =0 則鮑率 = 石英晶體的震盪頻率除以 61 (2) 不需用任何計時 / 計數器擔任鮑率產生器 (3) 上述 SMOD 是特殊功能暫存器 PCON 的位元 7, 欲設定為 1 可用指令 ORL PCON, #80H, 欲清除為 0 可用指令 ANL PCON, #7FH 註 : 開機 (RESET) 時,SMOD 的機定值為 0-6 多處理機通訊 多處理機通訊如圖 -12 所示, 可使一群 MCS-51 互相傳送資料

中斷 -1 中斷之致能 1. MCS-51 提供了如圖 -1 所示之中斷來源 當中斷請求發生時, 若該中斷被致能, 則 CPU 會跳到相對應的位址去執行中斷副程式

-2 中斷之優先權 詳情請見圖 -4

省電模式 3-1 CMOS 版本的 MCS-51, 不但平時耗電較少, 而且還提供了下列兩種省電模式 : (1) 閒置模式 (IDLE MODE) CPU 停止工作, 但其餘部份 ( 例如計時 / 計數器 中斷 等 ) 仍在工作 (2) 功率下降模式 (POWER DOWN MODE) 一切的功能都停止, 但所有的資料保持不變 要進入上述兩種省電模式, 只須設定特殊功能暫存器 PCON 內的相對應位元即可, 請參考圖 -1 之說明

-1 閒置模式 (Idle Mode) 3-1 1. 若在程式中下達 ORL PCON, #01H 指令, 則 CPU 執行完該指令後, 會令位元 IDL=1, 而令 CMOS 版本的 MCS-51 立即進入閒置模式 2. 在閒置模式時 (1) CPU 停止工作 (2) 串列埠 計時 / 計數器 中斷控制系統等仍然正常工作 (3) CPU 內部 RAM 特殊功能暫存器的內容都保持原值不變 (4) 所有輸出埠的輸出狀態都保持原來的輸出狀態, 不再改變 (5) 接腳 ALE 及 PSEN 保持於高電位

3. 有兩種方法可脫離閒置模式, 讓 CPU 恢復正常工作 : 3-1 (1) 任何已經致能的中斷產生中斷請求時, 會令 IDL 位元自動清除為 0, 而令 CPU 恢復正常工作 此時 CPU 會先跳去執行相對應的中斷副程式, 直至遇到 RETI 指令才跳去主程式中執行 ORL PCON, #01H 的下一個指令 (2) 硬體重置 ( 在 RESET 接腳加一個高電位 ), 也可令 IDL 位元自動清除為 0, 而令 CPU 恢復正常工作 此時所有特殊功能暫存器的內容會被重置為表 2-3-1 所示之值, 並令 CPU 從位址 0000H 開始執行程式 -2 功率下降模式 (Power Down Mode) 1. 若在程式中下達 ORL PCON, #02H 指令, 則 CPU 執行完該指令後, 會令 PD=1, 而令 CMOS 版本的 MCS-51 立即進入功率下降模式 2. 在功率下降模式時, 除了內部 RAM 的內容保持不變外, 所有的功能都停止運作 接腳 ALE 及 PSEN 會保持於低電位

3. 脫離功率下降模式, 令整個 MCS-51 恢復正常工作的唯一方法是硬體重置 在 RESET 接腳加一個高電位後, 會將所有特殊功能暫存器的內容重置為表 2-3-1 所示之值 ( 此時 PD 位元亦被自動清除為 0), 並令 CPU 從位址 0000H 開始執行程式