WT51F104 具備 ADC 功能之 1T 8052 微控制器 WT51F104 具備 ADC 功能之 1T 8052 微控制器 (FLASH) 中文產品規格書 Rev. 3.0 December 2014 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 WT51F104 具備 ADC 功能之 1T 8052 微控制器 目 錄 1. 概述 ...................................................................................................................................................................3 2. 特性 ...................................................................................................................................................................3 3. 系統方框圖.........................................................................................................................................................4 3.1 系統時鐘方塊圖 ........................................................................................................................................5 4. 封裝引腳配置 .....................................................................................................................................................6 4.1 引腳功能 ...................................................................................................................................................8 4.2 引腳描述 .................................................................................................................................................11 4.3 端口結構 .................................................................................................................................................13 5. 標準功能 ..........................................................................................................................................................16 5.1 中央處理單元 (CPU) ..............................................................................................................................16 5.2 隨機數據存儲器 (RAM) ..........................................................................................................................16 5.3 閃控程序存儲器 (Flash Memory) ...........................................................................................................17 5.4 記憶體映像 (Memory Mapping) ..............................................................................................................18 5.5 線上燒錄 (ISP) (重要!!! 務必閱讀!!!) ......................................................................................................22 5.6 計時/計數器 (Timer) ...............................................................................................................................24 5.7 復位 (Reset) ...........................................................................................................................................28 5.8 系統時鐘及時鐘來源 ...............................................................................................................................29 6. 增強功能 ..........................................................................................................................................................30 6.1 外部特殊功能暫存器 (XFR) ....................................................................................................................30 6.2 I/O 端口 ...................................................................................................................................................34 6.3 中斷.........................................................................................................................................................45 6.4 通用異步收發器 (UART) ........................................................................................................................56 6.5 外部中斷要求 (IRQ) ...............................................................................................................................60 6.6 脈衝寬度調製 (PWM) .............................................................................................................................64 6.7 電源管理 .................................................................................................................................................70 6.8 12 MHz RC 振盪器校正 ..........................................................................................................................82 6.9 看門狗定時器與實時定時器 ....................................................................................................................85 6.10 I²C 串行介面............................................................................................................................................89 6.11 增強型計時/計數器 (Enhanced Timer/Counter) .....................................................................................94 6.12 SPI 串行介面 (SPI) .................................................................................................................................99 6.13 模/數轉換器 (ADC) ...............................................................................................................................105 6.14 比較器 (Comparator)............................................................................................................................110 6.15 低壓偵測 (LVD) ....................................................................................................................................114 6.16 低壓偵測復位 (LVDR) ..........................................................................................................................115 6.17 仿真式 E²PROM....................................................................................................................................117 6.18 代碼選項 (Code Option) .......................................................................................................................120 6.19 防讀與加密機制 (Read Out Protection & Encryption) ..........................................................................128 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 -1- WT51F104 具備 ADC 功能之 1T 8052 微控制器 7. 電氣特性 ........................................................................................................................................................129 7.1 極限參數 ...............................................................................................................................................129 7.2 推薦操作參數 ........................................................................................................................................129 7.3 DC 電氣特性 (VDD = 1.8V ~ 5V, -40℃ ~ +85℃) ..................................................................................130 7.4 AC 電氣特性 (TA = 25℃) .....................................................................................................................131 7.5 內部 12 MHz RC 振盪器溫度誤差表 .....................................................................................................132 7.6 A/D 轉換特性 (TA = 25℃) .....................................................................................................................133 7.7 Bandgap 電氣特性 ...............................................................................................................................134 7.8 低壓復位 (LVR)、低壓偵測 (LVD)及低壓偵測復位 (LVDR) 電氣特性 (TA = 25℃) ..........................134 7.9 比較器特性 (VDD = 5V, TA = 25℃) ........................................................................................................134 7.10 熱阻特性 ...............................................................................................................................................135 8. 應用電路 ........................................................................................................................................................136 8.1 供電線路 ...............................................................................................................................................136 8.2 振盪器線路 ............................................................................................................................................136 8.3 RESET 線路..........................................................................................................................................137 8.4 標準線路 ...............................................................................................................................................138 8.5 開發板線路 (16*2 LCM) .......................................................................................................................139 9. 產品命名規則 .................................................................................................................................................140 10. 訂購信息 ........................................................................................................................................................140 11. 裸片座標位置圖 .............................................................................................................................................141 12. 封裝尺寸 ........................................................................................................................................................143 12.1 20-Pin SSOP ........................................................................................................................................143 12.2 14-Pin SOP ...........................................................................................................................................144 12.3 10-Pin MSOP ........................................................................................................................................145 12.4 8-Pin SOP .............................................................................................................................................146 13. 開發工具 ........................................................................................................................................................147 14. 版本更改記錄 .................................................................................................................................................151 附錄: 中/簡版勘誤表 .............................................................................................................................................152 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 -2- WT51F104 具備 ADC 功能之 1T 8052 微控制器 1. 概述 WT51F104 是台灣著名的 IC 設計公司偉詮電子 (WELTREND) 推出的泛用型微處理器,產品除了採用先進的 1T 的 8052 微處理器內核,寬且低的工作電壓範圍 (1.8V ~ 5.5V),高抗雜訊能力以外,4Kx8 的閃控程序存儲器,256x8 的隨機數據存儲器與豐富的周邊資源及多樣的電源管理 (詳細請看內文) 更是讓使用者針對不同應用可以得心應 手,包括小家電、散熱風扇、電子安定器、汽車防盜器、倒車雷達數位探頭等等,WT51F104 是一顆高性價比產 品,多種包裝考量可以直接取代市面上主流的產品 (詳細請參考 WT51F104 應用手冊),另外為了讓客戶有更大的 競爭力,也提供晶片 (dice) 與晶圓 (wafer) 銷售。 2. 特性 WT51F104 是一具備多種周邊功能之增強型 8052 微控制器,擁有以下特點: 1T 8052 核心,指令設定兼容 MCS-51 最快指令執行時間: 41.67ns @24 MHz 256 位元組之記憶體 (256 位元組之標準 8052 內部數據記憶體) 4K 位元組閃控程序存儲器可供儲存程式 支援內部及外部晶振: ♦ 內部晶振: 12 MHz RC 振盪器或 32 kHz RC 振盪器 ♦ 外部晶振: 32.768 kHz ~ 24 MHz 石英晶體振盪器 (Crystal) 雙 16 位元數據指針 (DPTR0 & DPTR1) 兩組 16 位計時/計數器 (Timer0、Timer1) 一組看門狗定時器 (WDT) 一組實時定時器 (Watch Timer) 一組 16 位增強型計時/計數器 (Enhanced Timer),內建捕捉功能 一組通用異步收發器 (UART0),可支援傳輸速率: 1200 bps ~ 230400 bps (工作於 12 MHz) 支援仿真式 E²PROM 一組 SPI (支援主/從機模式) 一組 I²C (支援主/從機模式) 兩組 16 位元脈寬調制 (PWM0、PWM1),並提供四個路徑輸出 16 通道的 10 位元模/數轉換器 (ADC0 ~ ADC15),內建電壓參考電壓源 (Band-Gap) 一比較器,內建 32 段參考電壓源 支援三種省電模式: 睡眠模式 (Sleep mode)、低速省電模式 (Green mode) 與閒置模式 (Idle mode) 16 個外部中斷腳位 (IRQ0 ~ IRQ15) 18 個可程式之雙向輸出/輸入接腳,其中五根擁有高電流驅動能力 (10mA) 可程式化低壓偵測 (LVD) 與低壓偵測復位 (LVDR) 內建上電復位器 (POR) 與低壓復位 (LVR) 內建單線式仿真 (ICE) 與線上燒錄 (ISP) 模式 具程式碼防讀 (Read Out Protection) 以及加密功能 (Code Encryption) 工作電壓: 1.8V ~ 5.5V 工作溫度: -40℃ ~ +85℃ 主力封裝 (Green Package): SOP8 (150 mil)、SOP14 (150 mil)、MSOP10 (118 mil)、SSOP20 (150 mil) 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 -3- WT51F104 具備 ADC 功能之 1T 8052 微控制器 VDD VSS NRST OSCI OSCO Main/Sub Clock Processor T0 T1 VREF ADC0 ~ ADC15 SPI CMPP CMPN CMPO IIC LDO Reset Circuit RXA/RXB TXA/TXB MISO MOSIA/B SCK STBA/B 系統方框圖 SCL SDA 3. Analog Comparator Interrupt Process UART 0 16 channel 10-bit ADC PWM CPU Emulated EEPROM GPIO Process PWM0 A/B/C/D PWM1 A/B/C/D GPIOA0-5 GPIOB0-5 GPIOC0-5 Watchdog Timer Timer 0/1 Watch Timer Flash 4KBytes Internal SRAM 256Bytes ISP ICE POR/LVR/ LVDR/LVD Enhanced Timer/Counter IRQ Interface control SWUT (單線式ISP/ICE介面) 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 -4- ETMIA ETMIB IRQ0~IRQ15 WT51F104 具備 ADC 功能之 1T 8052 微控制器 3.1 系統時鐘方塊圖 clock source function block Power SOURCE_CLK_OFF 12 MHz RCOSC 00 DC ~ 24 MHz crystal OSC 01 32 kHz RCOSC 10 SOURCE clock SYSTEM_CLK_OFF SYS clock ICE/ISP Master/Slave SPI 11 00 SOURCE_CLK_SLT EN_CRY_DIV 10-Bit CRY_DIV /2 01 /4 10 /12 11 MCU clock MCU_CLK_OFF PWM Enhanced Timer MCU_CLK_SLT 0 wdt_clk 1 WDT Watchdog Timer wdt_clk_slt RAM (Internal) 0 wtch_clk 8052 CPU Watch Timer 1 Timer UART wtch_clk_slt IRC32K ADC RST_process Master/Slave I2C E2PROM * 使用外部石英晶體振盪器,必須根據石英晶體振盪器頻率選擇對映的驅動能力,請參考振盪器驅動控制暫存器 (外部記憶體位址: 0x08) 的 CRY_12M_DR[1:0]位元。 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 -5- WT51F104 具備 ADC 功能之 1T 8052 微控制器 4. 封裝引腳配置 WT51F104-OG20AWT 20-Pin SSOP VDD GPIOA5DH/IRQ15/ADC15/OSCI/PWM1B/T1/P00 GPIOA4DH/IRQ14/ADC14/OSCO/PWM0B/ETMIA/P01 GPIA3D/IRQ13/ADC13/NRST/SWUT/ETMIB GPIOB5D/IRQ12/ADC12/RX0A/PWM1A/P02 GPIOB4D/IRQ11/ADC11/TX0A/PWM1D/P03 GPIOB3D/IRQ10/ADC10/PWM0A GPIOC5D/IRQ9/ADC9 GPIOC4D/IRQ8/ADC8 GPIOC3D 1 2 3 4 5 6 7 8 9 10 WT51F104OG20AWT 20 19 18 17 16 15 14 13 12 11 VSS GPIOA0DH/IRQ0/ADC0/CMPP/MISOA/SCKB/TX0B/SDA/PWM0C GPIOA1DH/IRQ1/ADC1/VREF/CMPN/SCKA/MISOB/RX0B/SCL GPIOA2DH/IRQ2/ADC2/CMPO/T0/PWM1C/ETMIC GPIOB0D/IRQ3/ADC3 CPIOB1D/IRQ4/ADC4/MOSI/SCK GPIOB2D/IRQ5/ADC5/STB/PWM0D GPIOC0D/IRQ6/ADC6 GPIOC1D/IRQ7/ADC7 GPIOC2D WT51F104-SG140WT 14-Pin SOP (腳位可以取代 Microchip PIC16F616/676/630) VDD GPIOA5DH/IRQ15/ADC15/OSCI/PWM1B/T1/P00 GPIOA4DH/IRQ14/ADC14/OSCO/PWM0B/ETMIA/P01 GPIA3D/IRQ13/ADC13/NRST/SWUT/ETMIB GPIOB5D/IRQ12/ADC12/RX0A/PWM1A/P02 GPIOB4D/IRQ11/ADC11/TX0A/PWM1D/P03 GPIOB3D/IRQ10/ADC10/PWM0A 1 2 3 4 5 6 7 WT51F104SG140WT 14 13 12 11 10 9 8 VSS GPIOA0DH/IRQ0/ADC0/CMPP/MISOA/SCKB/TX0B/SDA/PWM0C GPIOA1DH/IRQ1/ADC1/VREF/CMPN/SCKA/MISOB/RX0B/SCL GPIOA2DH/IRQ2/ADC2/CMPO/T0/PWM1C//ETMIC GPIOB0D/IRQ3/ADC3 CPIOB1D/IRQ4/ADC4/MOSI GPIOB2D/IRQ5/ADC5/STB/PWM0D 10 9 8 7 6 VSS GPIOA0DH/IRQ0/ADC0/CMPP/MISOA/SCKB/TX0B/SDA/PWM0C GPIOA1DH/IRQ1/ADC1/VREF/CMPN/SCKA/MISOB/RX0B/SCL GPIOA2DH/IRQ2/ADC2/CMPO/TO/PWM1C/ETMIC GPIOB0D/IRQ3/ADC3 WT51F104-MG10AWT 10-Pin MSOP VDD GPIOA5DH/IRQ15/ADC15/OSCI/PWM1B/T1/P00 GPIOA4DH/IRQ14/ADC14/OSCO/PWM0B/ETMIA/P01 GPIA3D/IRQ13/ADC13/NRST/SWUT/ETMIB GPIOB5D/IRQ12/ADC12/RX0A/PWM1A/P02 1 2 3 4 5 51F104MG10AWT 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 -6- WT51F104 具備 ADC 功能之 1T 8052 微控制器 WT51F104-SG080WT 8-Pin SOP (腳位可以取代 Microchip PIC12F615/675/629) VDD GPIOA5DH/IRQ15/ADC15/OSCI/PWM1B/T1/P00 GPIOA4DH/IRQ14/ADC14/OSCO/PWM0B/ETMIA/P01 GPIA3D/IRQ13/ADC13/NRST/SWUT/ETMIB 1 2 3 4 WT51F104SG080WT 8 7 6 5 VSS GPIOA0DH/IRQ0/ADC0/CMPP/MISOA/SCKB/TX0B/SDA/PWM0C GPIOA1DH/IRQ1/ADC1/VREF/CMPN/SCKA/MISOB/RX0B/SCL GPIOA2DH/IRQ2/ADC2/CMPO/T0/PWM1C/ETMIC 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 -7- WT51F104 具備 ADC 功能之 1T 8052 微控制器 4.1 引腳功能 引腳編號 引腳名稱 主要功能 I/O OG20A WT SG140 WT MG10A WT SG080 WT 1 1 1 1 VDD 2 2 2 2 GPIOA5DH/ IRQ15/ ADC15/ OSCI/ PWM1B/ T1/ P00 3 3 3 3 GPIOA4DH/ IRQ14/ ADC14/ OSCO/ PWM0B/ ETMIA/ P01 4 4 4 4 GPIA3D/ IRQ13/ ADC13/ NRST/ SWUT/ ETMIB 5 5 5 6 6 說明 電路 型態 I/O GPIOA5DH: 一般 I/O,可程式規劃為大電流 推拉式或開汲極 IRQ15: 外部中斷要求 15 ADC15: 模/數轉換器輸入 15 OSCI: 外部晶振之輸入 PWM1B: B 路徑 PWM1 輸出腳位 T1: 計數器 1 之外部輸入腳位 P00: 對映至 8052 之 P0.0 (對映的 rGPIO_TYP 需設為開汲極) B I/O GPIOA4DH: 一般 I/O,可程式規劃為大電流 推拉式或開汲極 IRQ14: 外部中斷要求 14 ADC14: 模/數轉換器輸入 14 OSCO: 外部晶振之輸出 PWM0B: B 路徑 PWM0 輸出腳位 ETMIA: A 路徑增強型計時/計數器時鐘源或 捕捉輸入 P01: 對映至 8052 之 P0.1 (對映的 rGPIO_TYP 需設為開汲極) B I GPIA3D: 輸入腳位 IRQ13: 外部中斷要求 13 ADC13: 模/數轉換器輸入 13 NRST: 復位腳位 SWUT: 單線式 ISP/ICE 介面 ETMIB: B 路徑增強型計時/計數器時鐘源或 捕捉輸入 D GPIOB5D/ IRQ12/ ADC12/ RX0A/ PWM1A/ P02 I/O GPIOB5D: 一般 I/O,可程式規劃為推拉式 或開汲極 IRQ12: 外部中斷要求 12 ADC12: 模/數轉換器輸入 12 RX0A: A 路徑 UART0 數據輸入 (對映的 rGPIO_TYP 需設為開汲極) PWM1A: A 路徑 PWM1 輸出腳位 P02: 對映至 8052 之 P0.2 (對映的 rGPIO_TYP 需設為開汲極) C1 GPIOB4D/ IRQ11/ ADC11/ TX0A/ PWM1D/ P03 I/O GPIOB4D: 一般 I/O,可程式規劃為推拉式 或開汲極 IRQ11: 外部中斷要求 11 ADC11: 模/數轉換器輸入 11 TX0A: A 路徑 UART0 數據輸出 (對映的 rGPIO_TYP 需設為開汲極) C1 PWR VDD 電源 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 -8- WT51F104 具備 ADC 功能之 1T 8052 微控制器 引腳編號 OG20A WT SG140 WT MG10A WT 引腳名稱 主要功能 I/O SG080 WT 說明 電路 型態 PWM1D: D 路徑 PWM1 輸出腳位 P03: 對映至 8052 之 P0.3 (對映的 rGPIO_TYP 需設為開汲極) 7 7 GPIOB3D/ IRQ10/ ADC10/ PWM0A I/O GPIOB3D: 一般 I/O,可程式規劃為推拉式 或開汲極 IRQ10: 外部中斷要求 10 ADC10: 模/數轉換器輸入 10 PWM0A: A 路徑 PWM0 輸出腳位 C1 8 GPIOC5D/ IRQ9/ ADC9 I/O GPIOC5D: 一般 I/O,可程式規劃為推拉式 或開汲極 IRQ9: 外部中斷要求 9 ADC9: 模/數轉換器輸入 9 C1 9 GPIOC4D/ IRQ8/ ADC8 I/O GPIOC4D: 一般 I/O,可程式規劃為推拉式 或開汲極 IRQ8: 外部中斷要求 8 ADC8: 模/數轉換器輸入 8 C1 10 GPIOC3D I/O GPIOC3D: 一般 I/O,可程式規劃為推拉式 或開汲極 A 11 GPIOC2D I/O GPIOC2D: 一般 I/O,可程式規劃為推拉式 或開汲極 A 12 GPIOC1D/ IRQ7/ ADC7 I/O GPIOC1D: 一般 I/O,可程式規劃為推拉式 或開汲極 IRQ7: 外部中斷要求 7 ADC7: 模/數轉換器輸入 7 C1 13 GPIOC0D/ IRQ6/ ADC6 I/O GPIOC0D: 一般 I/O,可程式規劃為推拉式 或開汲極 IRQ6: 外部中斷要求 6 ADC6: 模/數轉換器輸入 6 C1 14 8 GPIOB2D/ IRQ5/ ADC5/ STB/ PWM0D I/O GPIOB2D: 一般 I/O,可程式規劃為推拉式 或開汲極 IRQ5: 外部中斷要求 5 ADC5: 模/數轉換器輸入 5 STB: SPI 之 STB 腳 PWM0D: D 路徑 PWM0 輸出腳位 C1 15 9 CPIOB1D/ IRQ4/ ADC4/ MOSI/ I/O GPIOB1D: 一般 I/O,可程式規劃為推拉式 或開汲極 IRQ4: 外部中斷要求 4 ADC4: 模/數轉換器輸入 4 MOSI: SPI 之 MOSI 腳位 C1 16 10 GPIOB0D/ IRQ3/ ADC3 I/O GPIOB0D: 一般 I/O,可程式規劃為推拉式 或開汲極 IRQ3: 外部中斷要求 3 ADC3: 模/數轉換器輸入 3 C1 6 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 -9- WT51F104 具備 ADC 功能之 1T 8052 微控制器 引腳編號 引腳名稱 主要功能 I/O 說明 電路 型態 GPIOA2DH/ IRQ2/ ADC2/ CMPO/ T0/ PWM1C/ ETMIC I/O GPIOA2DH: 一般 I/O,可程式規劃為大電流 推拉式或開汲極 IRQ2: 外部中斷要求 2 ADC2: 模/數轉換器輸入 2 CMPO: 模擬比較器之輸出腳位 T0: 計數器 0 之外部輸入腳位 PWM1C: C 路徑 PWM1 輸出腳位 ETMIC: C 路徑增強型計時/計數器時鐘源或 捕捉輸入 C1 6 GPIOA1DH/ IRQ1/ ADC1/ VREF/ CMPN/ SCKA/ MISOB/ RX0B/ SCL I/O GPIOA1DH: 一般 I/O,可程式規劃為大電流 推拉式或開汲極 IRQ1: 外部中斷要求 1 ADC1: 模/數轉換器輸入 1 VREF: 模/數轉換器參考電壓輸入腳位 CMPN: 比較器之負極輸入腳位 SCKA: A 路徑 SPI 之 SCK 腳位 MISOB: B 路徑 SPI 之 MISO 腳位 RX0B: B 路徑 UART0 數據輸入 (對映的 rGPIO_TYP 需設為開汲極) SCL: I²C 之 SCL 腳位 C2 9 7 GPIOA0DH/ IRQ0/ ADC0/ CMPP/ MISOA/ SCKB/ TX0B/ SDA/ PWM0C I/O GPIOA0DH: 一般 I/O,可程式規劃為大電流 推拉式或開汲極 IRQ0: 外部中斷要求 0 ADC0: 模/數轉換器輸入 0 CMPP: 比較器之正極輸入腳位 MISOA: A 路徑 SPI 之 MISO 腳位 SCKB: B 路徑 SPI 之 SCK 腳位 TX0B: B 路徑 UART0 數據輸出 (對映的 rGPIO_TYP 需設為開汲極) SDA: I²C 之 SDA 腳位 PWM0C: C 路徑 PWM0 輸出腳位 C2 10 8 VSS OG20A WT SG140 WT MG10A WT SG080 WT 17 11 7 5 18 12 8 19 13 20 14 GND 核心(Core)之地(ground) 註 1: 所有的 I/O 在復位時的狀態都是為輸入浮動。 註 2: 使用 8052 port (P0.x),必須將對映的 rGPIO_TYP 設為開汲極,並且外接上拉電阻。 2 註 3: 使用 UART0、I C,必須將對映的 rGPIO_TYP 設為開汲極,並且外接上拉電阻。 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 10 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 4.2 引腳描述 細部說明每支腳的功能 引腳名稱 PORT GPIOA0 ~ GPIOA5 GPIOB0 ~ GPIOB5 GPIOC0 ~ GPIOC5 Timer 0/1 T0 類型 說明 I/O 6 位元雙向通用 I/O 端口 (GPIA3 僅為輸入通用 I/O 端口) I/O 6 位元雙向通用 I/O 端口 I/O 6 位元雙向通用 I/O 端口 I 計時/計數器 0 外部輸入 I 計時/計數器 1 外部輸入 ETMIA I 增強型計時/計數器時鐘源或捕捉輸入 (A 路徑) ETMIB I 增強型計時/計數器時鐘源或捕捉輸入 (B 路徑) ETMIC I 增強型計時/計數器時鐘源或捕捉輸入 (C 路徑) I 16 根外部中斷要求輸入腳位 O PWM0 輸出 A 路徑、B 路徑、C 路徑或 D 路徑 O PWM1 輸出 A 路徑、B 路徑、C 路徑或 D 路徑 I UART0 接收 A 路徑 或 B 路徑 (對映的 rGPIO_TYP 需設為開汲極) O UART0 傳送 A 路徑 或 B 路徑 (對映的 rGPIO_TYP 需設為開汲極) T1 增強型計時/ 計數器 IRQ IRQ0 ~ IRQ15 PWM PWM0 A/B/C/D PWM1 A/B/C/D UART RX0 A/B TX0 A/B SPI SCKA MISOA SCKB MISOB MOSI STB ADC ADC0 ~ ADC15 ACOMP CMPP I/O SPI 介面之 clock A 路徑 I/O SPI 數據腳位 MISO (主控端輸入; 被控端輸出) A 路徑 I/O SPI 介面之 clock B 路徑 I/O SPI 數據腳位 MISO (主控端輸入; 被控端輸出) B 路徑 I/O SPI 數據腳位 MOSI (主控端輸出; 被控端輸入) I/O SPI 致能 I 16 個模擬轉數位輸入腳位 I 比較器之正極輸入腳位 CMPN I 比較器之負極輸入腳位 CMPO O 比較器輸出腳位 I²C SCL SDA VCC & VSS VDD I/O I²C 介面之 clock I/O I²C 介面之數據 P 電源 VSS P 接地 OSCO O 主(副)振盪器輸出 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 11 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 引腳名稱 類型 說明 OSCI I 主(副)振盪器輸入 NRST ISP & ICE SWUT I 將 CPU 復位 I/O 單線式 ISP & ICE 介面 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 12 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 4.3 端口結構 I/O 結構 (Type A) IO structure (A type) VDD GPIOx_PHN Weak pull up GPIOx_TYPE (open-drain_n) VDD CPU data bus VDD GPIOx_D (data) IO Pin GPIOx_OE (output enable) VSS VSS Read GPIOx_D 1 0 I/O 結構 (Type D) IO structure (D type) VDD GPIOx_PHN Weak pull up VDD VDD CPU data bus VDD IO Pin SWUT output SWUT enable VSS VSS analog_ FUN_SLT Read GPIOx_D SWUT input Internal function input NRST input GPxx_FUN_SLT ADC analog convertor ADC channel enable 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 13 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 I/O 結構 (Type B) IO structure (B type) VDD GPIOx_PHN Weak pull up GPIOx_TYPE (open-drain_n) VDD VDD GPIOx_D (data) XMIN IO Pin GPIOx_OE (output enable) VSS GPxx_FUN_SLT Read GPIOx_D VSS 1 0 Internal function input CPU data bus ADC analog convertor ADC channel enable XM OSC power down CRY_12M_DR[1:0] Internal OSC resistor XM OSC clock input VDD GPIOx_PHN Weak pull up GPIOx_TYPE (open-drain_n) VDD VDD GPIOx_D (data) XMOUT IO Pin GPIOx_OE (output enable) VSS GPxx_FUN_SLT Read GPIOx_D VSS 1 0 Internal function input ADC analog convertor ADC channel enable 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 14 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 I/O 結構 (Type C1) IO structure (C1 type) VDD GPIOx_PHN Weak pull up CPU data bus GPIOx_TYPE (open-drain_n) VDD VDD Function data 1 GPIOx_D (data) 0 IO Pin Function output enable 1 0 VSS GPIOx_OE (output enable) VSS GPxx_FUN_SLT Read GPIOx_D 1 0 analog_ FUN_SLT Internal function input ADC analog convertor ADC channel enable I/O 結構 (Type C2) C2 type IO structure VDD GPIOx_PHN Weak pull up CPU data bus GPIOx_TYPE (open-drain_n) VDD VDD Function data 1 GPIOx_D (data) 0 IO Pin Function output enable 1 0 VSS GPIOx_OE (output enable) VSS GPxx_FUN_SLT Read GPIOx_D 1 0 analog_ FUN_SLT Internal function input ADC analog convertor ADC channel enable COMPARATOR N/P input COMPARATOR P/N channel enable 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 15 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 5. 標準功能 5.1 中央處理單元 (CPU) 內建一個八位元 1T 之 8052 相容之 CPU,具有 16 位元位址定址與八位元數據存取功能,1T 8052 比傳統 3T 8052 指令週期快三倍,比 12T 8052 指令週期快 12 倍,它的所有功能以及特殊功能暫存器 (SFR) 的詳細定義將在以下 章節說明。 5.2 隨機數據存儲器 (RAM) WT51F104 具有 256 Bytes 的 SRAM 與通用的 8052 內部記憶體結構一樣。 下圖為隨機數據存儲器 (RAM) 空間分配圖,有關周邊控制暫存器請參考 6.1 章節。 007FH 一般資料與堆疊區 00FFH 特殊功能暫存器(SFR) 直接定址 128 Bytes 只能間接定址 (128 Bytes較高位元組) 0080H 007FH 0030H 002FH 0018H 0017H 0010H 000FH 0008H 0007H 0000H 0080H 可直接定址或間接定址 (128 Bytes較低位元組) 可位元定址區 0020H 001FH 00FFH 0000H 暫存器庫3(RB3) 暫存器庫2(RB2) 暫存器庫1(RB1) 暫存器庫0(RB0) R7 R6 R5 R4 R3 R2 R1 R0 00FFH 周邊控制暫存器 256 Bytes 透過MOVX指令進行存取 0000H 內部之一般數據記憶體 (SRAM) 包含: 128 位元組之內部 SRAM,位址於 0x0000H ~ 0x007FH (可直接或間接定址) 128 位元組之內部 SRAM,位址於 0x0080H ~ 0x00FFH (間接定址) 主要用途為擔任程式中暫時存放數據的地方,所以也稱為數據記憶體,WT51F104 的數據記憶體包含下面幾部分: (1) 低位 128 個位元組之內部 SRAM,位址從 0000H ~ 007FH,可直接或間接定址方式存取,其中包含: 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 16 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 ♦ 一般用途暫存器,位址從 0000H ~ 001FH,共 32 個位元組,其中分成四個暫存器庫,每個暫存器庫 包含八個一般用途暫存器,即 R0 ~ R7,可利用 PSW 程式狀態字組暫存器的選擇位元 RS1 與 RS0 來切換此四個暫存器庫 ♦ 可位元定址區,位址從 20H ~ 2FH,共 16 個位元組,此 16 個位元組即包含 128 個位元 (bit),且每 一個位元皆可單獨使用位元定址法來直接定址存取 ♦ 一般數據儲存區,位址從 0030H ~ 007FH,共 80 個位元組可自由使用 (包括堆疊區共用) (2) 高位 128 個位元組之內部 SRAM,位址從 0080H ~ 00FFH,採用間接定址方式存取,亦即需利用 R0 或 R1 來進行存取 (*)。 (3) 特殊功能暫存器 (SFR),位址從 0080H ~ 00FFH,採用直接定址方式存取 (*)。 (*) 暫存器 (SFR) 雖然與高位 128 個位元組之內部 SRAM 同樣擁有位址 0080H ~ 00FFH,但實際上為不同 的兩塊記憶體區塊,MCU 會藉由兩個不同的存取方式來自動判斷所要存取的區塊來進行切換。 5.3 閃控程序存儲器 (Flash Memory) WT51F104 有 4K 的嵌入式 flash,可做為通用的程式存儲或仿真式 E²PROM (0x0C00H ~ 0x0EFFH) 用途, 特色如下: ♦ FLASH 記憶體總共為 4K 位元組 ♦ 工作電壓即 1.8V ~ 5.5V ♦ 支援線上燒錄 (ISP) ♦ 數據保存 10 年以上 ♦ 具程式碼保護及加密功能 ♦ 具仿真式 E²PROM 之功能 0FFFH 0EFFH 0EFFH 仿真E²PROM 空間 0C00H Program Memory 4K Bytes Flash 0000H 註: FLASH 記憶體最後 8 個位元組為 Code Option,建議使用範圍 0x000H ~ 0xFF7H。 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 17 - 0C00H WT51F104 具備 ADC 功能之 1T 8052 微控制器 5.4 記憶體映像 (Memory Mapping) WT51F104 內置 128 位元組的直接定址暫存器,WT51F104 的標準 SFR 有以下幾種: CPU 內核暫存器: ACC、B、PSW、SP、DPL0、DPH0、DPL1、DPH1、DPS 中斷系統暫存器: IP、IE、XICON I/O 埠暫存器: P0 計時器暫存器: TCON、TMOD、TL0、TH0、TL1、TH1 UART0 暫存器: SCON0、SBUF0、SBRG0H、SBRG0L、PCON 特殊功能暫存器分布圖如下所示: 可位元 定址 不可位元定址 F8H F0H FFH B F7H E8H E0H EFH ACC E7H D8H D0H DFH PSW D7H C8H CFH C0H XICON C7H B8H IP BFH B0H A8H B7H IE AFH A0H 98H A7H SCON0 SBUF0 SBRG0H SBRG0L 9FH 90H 97H 88H TCON TMOD TL0 TL1 TH0 TH1 80H P0 SP DPL0 DPH0 DPL1 DPH1 8FH DPS 下表為特殊功能暫存器 (SFR) 的內容說明: 暫存器名稱 位址 復位值 SP DPL0 DPH0 DPL1 DPH1 DPS PCON TCON 81H 82H 83H 84H 85H 86H 87H 88H 07h 00h 00h 00h 00h 00h 00h 00h 說明 Stack Pointer Data Pointer 0 low byte Data Pointer 0 high byte Data Pointer 1 low byte Data Pointer 1 high byte Data Pointer select Power Control Register Timer 0/1 Counter Control 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 18 - PCON 87H WT51F104 具備 ADC 功能之 1T 8052 微控制器 暫存器名稱 位址 復位值 說明 TMOD 89H 00h Timer 0/1 Mode Control TL0 8AH 00h Timer 0, low byte TL1 8BH 00h Timer 1, low byte TH0 8CH 00h Timer 0, high byte TH1 8DH 00h Timer 1, high byte SCON0 98H 00h Serial Port 0, Control Register SBUF0 99H 00h Serial Port 0, Data Buffer SBRG0H 9AH 00h Serial Baud rate Generator, high byte SBRG0L 9BH 00h Serial Baud rate Generator, low byte IE A8H 00h Interrupt Enable Register IP B8H 00h Interrupt Priority Register 1 XICON C0H 00h Interrupt Enable Register (INT2/INT3) PSW D0H 00h Program Status Word ACC E0H 00h Accumulator B F0H 00h B Register 註: 特殊功能暫存器的重置值請參考 5.7“復位”章節。 WT51F104 CPU 相關 SFR 介紹如下: B: Address: F0H 7 B.7 復位值: 00h 6 B.6 5 B.5 4 B.4 3 B.3 2 B.2 1 B.1 0 B.0 B 暫存器主要用來進行乘法與除法的運算,在乘法運算中用來存放乘數與運算結果的高位元組; 在除法運算中用來 存放除數以及運算結果之餘數,亦可當作一般暫存器來使用。 復位值: 00h ACC: Address: E0H 7 ACC.7 6 ACC.6 5 ACC.5 4 ACC.4 3 ACC.3 2 ACC.2 1 ACC.1 0 ACC.0 累加器,大部分之運算都需透過累加器。 復位值: 00h PSW (Program Status Word): Address: D0H 7 CY 6 AC 5 F0 4 RS1 3 RS0 2 OV 1 F1 0 PARITY 程式狀態字元,含有程式運作時之相關訊息。 位元編號 位符號 7 CY 6 AC 說明 進位旗標 (Carry Flag),用來表示算術指令運算後的結果,其數據的第 7 個位元是否有進位或借位。 加法運算時 (ADD) 的結果: 有進位 CY = 1,沒有進位 CY = 0。 減法運算時 (SUB) 的結果: 有借位 CY = 1,沒有借位 CY = 0。 半進位旗標 (Aux Carry Flag),用來表示算術後數據的第 3 個位元是否 有向第 4 個位元進位或借位。 加法運算時 (ADD) 的結果: 有進位 AC = 1,沒有進位 AC = 0。 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 19 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 位元編號 位符號 5 4 3 2 F0 RS1 RS0 OV 1 0 F1 P 說明 減法運算時 (SUB) 的結果: 有借位 AC = 1,沒有借位 AC = 0。 一般用途旗標,可作為一般的讀/寫位元。 暫存器庫選擇 (請參考暫存器庫選擇表) 溢位旗標 (Overflow Flag),表示程式經算術或邏輯運算後的結果是否 有溢位,若是 OV = 1,若不是 OV = 0 一般用途旗標,可作為一般的讀/寫位元 同位旗標,累加器 (ACC) 的內容若有奇數個 1 則此旗標為 1,否則 為0 暫存器庫選擇表 暫存器庫 位址 RS1 RS0 0 1 2 3 00H ~ 07H 08H ~ 0FH 10H ~ 17H 18H ~ 1FH 0 0 1 1 0 1 0 1 SP (Stack Point) Address: 81H 7 SP.7 6 SP.6 5 SP.5 復位值: 07h 4 SP.4 3 SP.3 2 SP.2 1 SP.1 0 SP.0 堆疊指標,指向最後 PUSH 進入之堆疊位址。當使用 PUSH 操作時 SP 會自動先+1 再將值存入堆疊器內。 DPL0 (DPTR0, low byte of the 16-bit data pointer 0) Address: 82H 7 DPL0.7 6 DPL0.6 5 DPL0.5 4 DPL0.4 3 DPL0.3 復位值: 00h 2 DPL0.2 1 DPL0.1 0 DPL0.0 為 DPTR0 (數據指標) 之低位元組,搭配 DPH0 進行存取數據時的位址指標使用。 DPH0 (DPTR0, high byte of the 16-bit data pointer 0) Address: 83H 7 DPH0.7 6 DPH0.6 5 DPH0.5 4 DPH0.4 3 DPH0.3 復位值: 00h 2 DPH0.2 1 DPH0.1 0 DPH0.0 為 DPTR0 (數據指標) 之高位元組,搭配 DPL0 進行存取數據時的位址指標使用。 DPL1 (DPTR1, low byte of the 16-bit data pointer 1) Address: 84H 7 DPL1.7 6 DPL1.6 5 DPL1.5 4 DPL1.4 3 DPL1.3 復位值: 00h 2 DPL1.2 1 DPL1.1 為第二組數據指標 (DPTR1) 之低位元組,搭配 DPH1 進行存取數據時的位址指標使用。 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 20 - 0 DPL1.0 WT51F104 具備 ADC 功能之 1T 8052 微控制器 DPH1 (DPTR1, high byte of the 16-bit data pointer 1) Address: 85H 7 DPH1.7 6 DPH1.6 5 DPH1.5 4 DPH1.4 3 DPH1.3 復位值: 00h 2 DPH1.2 1 DPH1.1 0 DPH1.0 為第二組數據指標 (DPTR1) 之高位元組,搭配 DPL1 進行存取數據時的位址指標使用。 復位值: 00h DPS (Data point select) Address: 86H 7 6 5 4 3 數據指標 (DPTR) 選擇,當 DPS = 0,使用 DPTR0 (DPH0, DPL0) 當 DPS = 1,使用 DPTR1 (DPH1, DPL1) 註: 其它的特殊功能暫存器將在後面的章節介紹。 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 21 - 2 1 0 DPS WT51F104 具備 ADC 功能之 1T 8052 微控制器 5.5 線上燒錄 (ISP) (重要!!! 務必閱讀!!!) 線上燒錄 (In System Program) 即用戶可以直接在系統目標板進行程式燒錄。 ISP 界面可以採用: 3 線式: VDD、GND (VSS)、SWUT 2 線式: SWUT、GND (VSS),當系統目標板已有 VDD 電源 下圖為 ISP 界面接腳示意圖: VDD SWUT ISP GND 註: 請參考 WLINK-SWUT ISP 操作說明書。 5 .5 .1 線 上 燒 錄 注 意 事 項 條件: MCU SOURCE clock 12 MHz (內部/外部晶振),實際 ISP 應用線路請參考第 8 章節。 說明: 因這系列的 MCU 是使用單線式 UART (SWUT)來進行燒錄,且燒錄的傳輸鮑率為 115200 bps,所以 MCU 的 SOURCE clock 必須選擇在 12 MHz 下工作,另外 MCU 在出廠(default)的初始設定為 IRC 12 MHz,所以 可直接燒錄。如果 MCU 工作在外部 24 MHz、Green Mode、Idle Mode 及 Sleep Mode 需要增加觸發或喚醒 條件,否則會導致無法燒錄,後續會針對上述的模式做說明。(ISP 的參考時鐘源,請參考 3.1 章節) 因為 GPIOxx/RESET/SWUT 腳位同時支援復位功能、輸入口及燒錄功能,各個功能的準位也不同,可參考下表 說明。 Function (VDD = 5.0V) VIH VIL Function (VDD = 3.5V) VIH VIL SWUT 0.83 VDD 0.57 VDD SWUT 0.81 VDD 0.52 VDD NRST 0.45 VDD 0.24 VDD NRST 0.49 VDD 0.27 VDD SWUT 的燒錄電壓範圍為 2.2V ~ 5.5V,當燒錄電壓低於 2.7V 時,必須禁能 GPIA3 腳位的內部上拉電阻。(XFR 0x1C GPIOA_PHN[3]) 高速正常模式 (Normal Mode): MCU 的 SOURCE clock 選擇在 12 MHz (內部/外部晶振),這時 MCU 只要上電復位正常,燒錄就能順利進行。 MCU 搭配特別頻率的外部晶振工作,例如 1 MHz、4 MHz、8 MHz、24 MHz 的石英晶振盪器,這時因 SWUT 鮑率不是 115200 bps,所以 MCU 無法直接燒錄,需要設定 ISP 時鐘源控制暫存器 (ISP_CHG_CTL) 致能兩個 控制位元 Bit7 ISP_CHG_12M 及 Bit5 UART_ISP_CHG,讓 SWUT 腳位接收到觸發訊號後,讓 MCU 自動切到 內部晶振 12 MHz 後才能順利燒錄,詳細請參考 6.7 章節。 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 22 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 低速省電模式 (Green Mode): MCU 的 SOURCE clock 選擇在 32 kHz (內部/外部晶振)工作就稱為 Green Mode。在此模式下 MCU 是無法直接燒 錄 , 需 要 設 定 ISP 時 鐘 源 控 制 暫 存 器 ( ISP_CHG_CTL) 致 能 兩 個 控 制 位 元 Bit7 ISP_CHG_12M 及 Bit5 UART_ISP_CHG,讓 SWUT 腳位接收到觸發訊號後,讓 MCU 自動切到內部晶振 12 MHz 後才能順利燒錄,詳細 請參考 6.7 章節。 空閒模式 (Idle Mode): 在進入此模式前,除了設立 ISP 時鐘源控制暫存器 (ISP_CHG_CTL) 致能兩個控制位元 Bit7 ISP_CHG_12M 及 Bit5 UART_ISP_CHG,一定要設定喚醒條件,可以讓 MCU 切回到 12 MHz 下工作,並且能維持 2 至 3 秒來接收 SWUT 的燒錄命令,詳細請參考 6.7 章節。 睡眠模式 (Sleep Mode): 在進入此模式前,除了設立 ISP 時鐘源控制暫存器 (ISP_CHG_CTL) 致能兩個控制位元 Bit7 ISP_CHG_12 M 及 Bit5 UART_ISP_CHG,一定要設定喚醒條件,可以讓 MCU 切回到 12 MHz 下工作,並且能維持 2 至 3 秒來接收 SWUT 的燒錄命令,詳細請參考 6.7 章節。 建議線路: VDD VDD WLINK-SWUT ISP Board 4.7uF 0.1uF MCU VDD Schmitt trigger Buffer VDD VDD GND GND RST / SWUT RX TX Open Drain Buffer VDD 10K Jumper 4.7uF This reset circuit options. Jumper OFF: SWUT can work Jumper ON: Only Reset, ISP function is disabled. 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 23 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 5.6 計時/計數器 (Timer) WT51F104 有二個 16 Bit 的計時/計數器 (Timer0 ~ 1),可以被設定為計時或計數功能。 5.6.1 計時/計數器 0 與計時/計數器 1 (Timer 0/1) WT51F104 內部計時/計數器 0 與計時/計數器 1 可利用特殊暫存器 TMOD 中的 M11、M10 或 M01、M00 來選擇 4 種不同的工作模式,如下說明: TMOD (8052 Timer0/1 mode control register) Address: 89H 7 GATE1 6 C1/T1 5 M11 4 M10 3 GATE0 2 C0/T0 1 M01 0 M00 位元編號 位符號 說明 7 GATE1 6 C1/T1 5-4 M11-M10 3 GATE0 2 C0/T0 1-0 M01-M00 GATE1 = 1,無作用 GATE1 = 0,設定為內部啟動,只要 TR1 = 1 即可啟用 Timer1 計時/計數器 1 切換開關 C1/T1 = 1,設定為外部計數器,計數信號由外部腳位 (GPIOA5/T1) 輸入 C1/T1 = 0,設定為內部計時器,計數內部時鐘源除以 12 的信號 計時/計數器 1 的模式選擇位元 00: 模式 0 為 13 位元之計時/計數器 01: 模式 1 為 16 位元之計時/計數器 10: 模式 2 為 8 位元自動載入計時/計數器 11: 模式 3 計時/計數器 1,此時停止計時/計數 GATE0 = 1,無作用 GATE0 = 0,設定為內部啟動,只要 TR0 = 1 即可啟用 Timer0 計時/計數器 0 切換開關 C0/T0 = 1,設定為外部計數器,計數信號由外部腳位 (GPIOA2/T0) 輸入 C0/T0 = 0,設定為內部計時器,計數內部時鐘源除以 12 的信號 計時/計數器 0 的模式選擇位元 00: 模式 0 為 13 位元之計時/計數器 01: 模式 1 為 16 位元之計時/計數器 10: 模式 2 為 8 位元自動載入計時/計數器 11: 模式 3 為 8 位元之計時/計數器 (TL0 由 TR0 啟動,TH0 由 TR1 啟動) TCON (8052 Timer 0/1 control register) Address: 88H 7 TF1 6 TR1 5 TF0 位元編號 7 位符號 6 TR1 TF1 4 TR0 3 - 2 - 1 - 0 - 說明 計時/計數器 1 之溢位旗標。當計時或計數產生溢位時,會自動令 TF1 = 1。當 CPU 跳至計時/計數器 1 的中斷向量執行中斷副程式時, 會自動令 TF1 = 0。 計時/計數器 1 之致能位元。當 TR1=1 時,計時/計數器 1 工作; 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 24 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 位元編號 位符號 5 TF0 4 TR0 3-0 - 說明 當 TR1 = 0 時,計時/計數器 1 停止工作 計時/計數器 0 之溢位旗標。當計時或計數產生溢位時,會自動令 TF0 = 1。當 CPU 跳至計時/計數器 0 的中斷向量執行中斷副程式時, 會自動令 TF0 = 0。 計時/計數器 0 之致能位元。當 TR0 = 1 時,計時/計數器 0 工作; 當 TR0 = 0 時,計時/計數器 0 停止工作。 無作用 註: 計時/計數器 1 之傳輸速率產生器,請參考 6.4 章節。 模式 0: MCU Clock ÷ 12 C/T = 0 計量暫存器 控制開關 THx (8 位元) C/T = 1 Tx TLx (5 位元) TFx 中斷 TRx THx Bit7 b12 Bit6 b11 Bit5 b10 Bit4 b9 Bit3 b8 Bit2 b7 Bit1 b6 Bit0 b5 Bit7 Bit6 Bit5 TLx Bit4 b4 Bit3 b3 Bit2 b2 Bit1 b1 Bit0 b0 13位元 (213 = 8192) 當計時/計數器 0 及計時/計數器 1 工作於模式 0 時,兩者的動作相同,此時特殊功能暫存器 THx 與 TLx 組成 13 位 元之向上計時/計數器,當計數至 13 個位元全為 1,此時再加 1 後會令這 13 個位元全變為 0,同時計時/計數之溢 位旗標 TFx = 1 (TFx 位於特殊暫存器 TCON 中),此時若有致能計時/計數器中斷則會產生中斷。 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 25 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 模式 1: MCU Clock ÷ 12 C/T = 0 計量暫存器 控制開關 Tx TLx (8 位元) THx (8 位元) C/T = 1 TFx 中斷 TRx THx Bit7 b15 Bit6 b14 Bit5 b13 Bit4 b12 Bit3 b11 Bit2 b10 Bit1 b9 TLx Bit7 b7 Bit0 b8 Bit6 b6 Bit5 b5 Bit4 b4 Bit3 b3 Bit2 b2 Bit1 b1 Bit0 b0 16位元 (216 = 65536) 當計時/計數器 0 及計時/計數器 1 工作於模式 1 時,動作與模式 0 幾乎一模一樣,除了此時的 THx 與 TLx 是組成 16 位元之向上計時/計數器。 模式 2: MCU Clock ÷ 12 C/T = 0 Tx 計量暫存器 TLx (8 位元) 控制開關 C/T = 1 TFx 中斷 自動載入 THx (8 位元) TRx TLx Bit7 b7 Bit6 b6 Bit5 b5 Bit4 b4 Bit3 b3 Bit2 b2 Bit1 b1 Bit0 b0 THx Bit7 b15 b14 b13 b12 b11 b10 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 b9 Bit0 b8 8位元 (28 = 256) 當計時/計數器 0 及計時/計數器 1 工作於模式 2 時,兩者的動作相同,提供兩個 8 位元可自動載入的計時/計數器 (Timer0 及 Timer1),其計時或計數的量放置在 TLx 暫存器裡,當 TLx 發生溢位時,除了會令 TFx = 1 之外,並且 會自動將 THx 的值再載入 TLx 中,以繼續計數下去。 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 26 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 模式 3: MCU Clock ÷ 12 C/T = 0 T0 控制開關 C/T = 1 計量暫存器 TL0 (8 位元) TF0 中斷 TF1 中斷 TR0 控制開關 OSC/12 計量暫存器 TH0 (8 位元) TR1 當計時計數器 0 及計時計數器 1 工作於模式 3 時,兩者的動作完全不同,分別如下: 計時/計數器 0 工作於模式 3 時,TL0 是一個 8 位元之計時/計數器,TH0 則為 TR1 控制之 8 元計數器, 此時要注意的是 TH0 借用計時/計數器 1 的溢位旗標,故其相對應的中斷副程式位址是 001BH。 計時/計數器 1 工作於模式 3 時,此時停止計時/計數。 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 27 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 5.7 復位 (Reset) WT51F104 具有 7 種復位機制,包括上電復位 (POR)、低壓復位 (LVR)、低壓偵測復位 (LVDR)、外部 NRST 腳 位復位旗標、看門狗復位、ISP/ICE 命令復位、程序計數器溢位復位 (PC_OVR)。當 WT51F104 發生任何一種復位, 則幾乎所有的暫存器皆會回復至復位值,此時利用復位旗標暫存器 (XFR 0x03) 來判斷何種復位發生。 上電復位 (POR) 當 VDD 電壓低於復位電壓 (請參考 DC 電氣特性章節),則發生上電復位,此時 XFR: 0x03 上電復位 (POR) 旗標 RST_FLG. POR_RST_FLG = 1。 低壓復位 (LVR) 當 VDD 電壓低於最低允許工作電壓點時發生復位,此時 XFR: 0x03 低壓復位 (LVR) 旗標 LVR_RST_FLG = 1。 低壓偵測復位 (LVDR) 當 VDD 電壓低於所設定之偵測電壓位準時發生復位,此時 XFR: 0x03 低壓偵測復位 (LVDR) 旗標 LVD_RST_FLG = 1。 外部 NRST 腳位復位 當外部復位腳位 (NRST) 電壓低於此腳位之 VIL (請參考 DC 電氣特性章節) 時發生復位,此時 XFR: 0x03 外部 NRST 腳位復位旗標 NRST_FLG = 1。 看門狗復位 (Watchdog Timer Reset) 當看門狗定時器設定之時間到達後則發生復位,此時 XFR: 0x03 看門狗復位旗標 WDT_RST_FLG = 1。 ISP/ICE 命令復位 當從 SWUT 腳位傳送復位命令,則發生 ISP/ICE 復位,此時 XFR: 0x03 ISP 復位旗標 ISP_RST_FLG = 1。 程序計數器溢位復位 (PC_OVR) 程序計數器為儲存目前執行指令所在的地址,當位址超過閃控程序存儲器 (Flash Address 0x0000 ~ 0x3FFF) 的範圍,會產生復位,此時 XFR: 0x03 程序計數器溢位復位旗標 PC_OVL_RST_FLG = 1。 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 28 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 復位狀態 當發生上述狀況,所有的特殊暫存器皆會回到初始預設值,其中 SFR 的部分如下表,而 XFR 的部分請參考下一 章節。 特殊功能暫存器復位後的預設值,如下所示: SFR P0 SP DPL0 DPH0 DPL1 DPH1 DPS PCON TCON TMOD TL0 TL1 TH0 TH1 P1 SCON0 SBUF0 SBRG0H SBRG0L 5.8 SFR P2 IE P3 IP T2CON T2MOD RCAP2L RCAP2H TL2 TH2 PSW SCON1 SBUF1 ACC B XICON 預設值 11111111b 00000111b 00000000b 00000000b 00000000b 00000000b 00000000b 00000000b 00000000b 00000000b 00000000b 00000000b 00000000b 00000000b 11111111b 00000000b 00000000b 00000000b 00000000b 預設值 11111111b 00000000b 11111111b xx000000b 00000000b xxxxxx00b 00000000b 00000000b 00000000b 00000000b 00000000b 00000000b 00000000b 00000000b 00000000b 00000000b 系統時鐘及時鐘來源 WT51F104 具有三種時鐘源,即 32.768 kHz ~ 24 MHz 外部石英晶體振盪器、內部 12 MHz RC 振盪、內部 32 kHz RC 振盪器,其中可經由外部特殊暫存器 (XFR) SOURCE_CLK_SLT[1:0]及 MCU_CLK_SLT[1:0] 來選擇 MCU 時鐘源,預設值為內部 12 MHz RC 振盪器且不經過除頻,此時 MCU 工作於 12 MHz 之頻率,詳細請參考 6.7 “電源管理”章節。 系統晶振表,如下所示: 主系統晶振來源 DC ~ 24 MHz 石英晶體振盪器 12 MHz 內部 RC 振盪器 12 MHz 內部 RC 振盪器 副系統晶振來源 32K 內部 RC 振盪器 32K 內部 RC 振盪器 32.768 kHz 石英晶體振盪器 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 29 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 6. 增強功能 6.1 外部特殊功能暫存器 (XFR) 外部特殊功能暫存器 (XFR) 位址為 0x00 ~ 0xFF,必須使用指令 MOVX 來進行資料存取。 以下是外部特殊暫存器功能對照表: 外部記憶體位址 0000H ~ 000FH 0010H ~ 001FH 0020H ~ 002FH 0030H ~ 003FH 0040H ~ 004FH 0050H ~ 005FH 0060H ~ 006FH 0070H ~ 007FH 00A0H ~ 00AFH 00B0H ~ 00BFH 00C0H ~ 00CFH 00D0H ~ 00D7H 00DAH ~ 00DFH 00E0H ~ 00EFH 說明 系統暫存器及低壓偵測與復位暫存器 通用 I/O 端口暫存器 通用 I/O 端口暫存器及複合功能暫存器 中斷致能暫存器 外部中斷要求暫存器 (IRQ) 脈衝寬度調製暫存器 (PWM) 喚醒暫存器 內部振盪校正暫存器、看門狗暫存器、實時定時器暫存器 I²C 串行介面暫存器 增強型計時/計數器暫存器 SPI 串行介面暫存器 10 位元模/數轉換器暫存器 比較器暫存器 仿真式 E²PROM 暫存器 當發生 5.7 章節所提到的復位狀況,外部特殊功能暫存器復位後的預設值,如下表所示: 外部特殊功能暫存器復位預設值對映表 暫存器名稱 保留 系統控制暫存器 低壓偵測控制暫存器 復位旗標暫存器 ISP 時鐘源控制暫存器 系統時鐘源控制暫存器 省電控制暫存器 時鐘源開關控制暫存器 振盪器驅動控制暫存器 外部時鐘源除頻控制暫存器 1 外部時鐘源除頻控制暫存器 2 客戶代碼暫存器 1 客戶代碼暫存器 2 客戶代碼暫存器 3 通用 I/O 端口 A 輸出致能控制暫存器 通用 I/O 端口 B 輸出致能控制暫存器 位址 復位預設值 (Hex) 參照章節 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x09 0x0A 0x0D 0x0E 0x0F 0x10 0x11 80 A6 01 00 A0 50 A2 54 01 76 FF FF FF 00 00 6.9 6.15; 6.16 6.16 6.7 6.7 6.7 6.7 6.7 6.9 6.9 6.18 6.18 6.18 6.2 6.2 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 30 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 暫存器名稱 通用 I/O 端口 C 輸出致能控制暫存器 通用 I/O 端口 A 數據暫存器 通用 I/O 端口 B 數據暫存器 通用 I/O 端口 C 數據暫存器 通用 I/O 端口 A 致能內部上拉電阻暫存器 通用 I/O 端口 B 致能內部上拉電阻暫存器 通用 I/O 端口 C 致能內部上拉電阻暫存器 通用 I/O 端口 A 輸出型態控制暫存器 通用 I/O 端口 B 輸出型態控制暫存器 通用 I/O 端口 C 輸出型態控制暫存器 通用 I/O 端口 A 複合功能設定暫存器 1 通用 I/O 端口 A 複合功能設定暫存器 2 通用 I/O 端口 A 複合功能設定暫存器 3 通用 I/O 端口 B 複合功能設定暫存器 1 通用 I/O 端口 B 複合功能設定暫存器 2 通用 I/O 端口 B 複合功能設定暫存器 3 通用 I/O 端口 C 複合功能設定暫存器 1 通用 I/O 端口 C 複合功能設定暫存器 2 通用 I/O 端口 C 複合功能設定暫存器 3 8052 外部中斷 0 控制暫存器 8052 外部中斷 1 控制暫存器 8052 外部中斷 2 控制暫存器 8052 外部中斷 3 控制高位元組暫存器 8052 外部中斷 3 控制低位元組暫存器 8052 外部中斷 0(INT0)旗標暫存器 8052 外部中斷 1(INT1)旗標暫存器 8052 外部中斷 2(INT2)旗標暫存器 8052 外部中斷 3(INT3)旗標高位元組暫存器 8052 外部中斷 3(INT3)旗標低位元組暫存器 外部中斷要求(IRQ)控制高位元組暫存器 外部中斷要求(IRQ)控制低位元組暫存器 外部中斷要求(IRQ)狀態高位元組暫存器 外部中斷要求(IRQ)狀態低位元組暫存器 外部中斷要求(IRQ)清除高位元組暫存器 外部中斷要求(IRQ)清除低位元組暫存器 外部中斷要求(IRQ)雙向觸發高位元組暫存器 外部中斷要求(IRQ)雙向觸發低位元組暫存器 外部中斷要求(IRQ)觸發緣高位元組暫存器 外部中斷要求(IRQ)觸發緣低位元組暫存器 PWM 控制暫存器 PWM0 週期控制高位元組暫存器 PWM0 週期控制低位元組暫存器 位址 復位預設值 (Hex) 參照章節 0x12 0x16 0x17 0x18 0x1C 0x1D 0x1E 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2A 0x2B 0x2C 0x2D 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 0x48 0x49 0x50 0x51 0x52 00 00 00 00 3F 3F 3F 3F 3F 3F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 6.2 6.2 6.2 6.2 6.2 6.2 6.2 6.2 6.2 6.2 6.2 6.2 6.2 6.2 6.2 6.2 6.2 6.2 6.2 6.3 6.3 6.3 6.3 6.3 6.3 6.3 6.3 6.3 6.3 6.5 6.5 6.5 6.5 6.5 6.5 6.5 6.5 6.5 6.5 6.6 6.6 6.6 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 31 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 暫存器名稱 PWM0 佔空比控制高位元組暫存器 PWM0 佔空比控制低位元組暫存器 PWM1 週期控制高位元組暫存器 PWM1 週期控制低位元組暫存器 PWM1 佔空比控制高位元組暫存器 PWM1 佔空比控制低位元組暫存器 通用 I/O 端口 A 喚醒控制暫存器 通用 I/O 端口 B 喚醒控制暫存器 通用 I/O 端口 C 喚醒控制暫存器 周邊中斷喚醒控制暫存器 通用 I/O 端口 A 喚醒旗標暫存器 通用 I/O 端口 B 喚醒旗標暫存器 通用 I/O 端口 C 喚醒旗標暫存器 周邊中斷喚醒旗標暫存器 喚醒清除暫存器 內部振盪調整暫存器 內部振盪計數數據高位元組暫存器 內部振盪計數數據低位元組暫存器 內部振盪校正控制暫存器 看門狗定時控制暫存器 實時定時器控制暫存器 實時定時器速度選擇暫存器 主/從機 I²C 控制暫存器 主/從機 I²C 狀態暫存器 主/從機 I²C 傳送緩衝暫存器 主/從機 I²C 傳送及接收緩衝暫存器 從機 I²C 位址暫存器 主/從機 I²C 延伸控制暫存器 增強型計時/計數器控制暫存器 1 增強型計時/計數器控制暫存器 2 增強型計時/計數器中斷暫存器 增強型計時/計數器數據緩衝低位元組暫存器 增強型計時/計數器數據緩衝高位元組暫存器 SPI 控制暫存器 1 SPI 控制暫存器 2 SPI 中斷控制暫存器 SPI 中斷清除暫存器 SPI 旗標暫存器 SPI 速度設定暫存器 SPI 傳輸緩衝暫存器 SPI 接收緩衝暫存器 模/數轉換器控制暫存器 位址 復位預設值 (Hex) 參照章節 0x53 0x54 0x55 0x56 0x57 0x58 0x60 0x61 0x62 0x64 0x65 0x66 0x67 0x69 0x6A 0x70 0x71 0x72 0x73 0x78 0x7C 0x7D 0xA0 0xA1 0xA2 0xA3 0xA4 0xA5 0xB0 0xB1 0xB2 0xB3 0xB4 0xC0 0xC1 0xC2 0xC3 0xC4 0xC5 0xC6 0xC7 0xD0 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 40 00 00 00 02 80 00 40 00 00 FF 00 00 00 00 00 00 80 00 00 00 00 00 00 FF 00 80 6.6 6.6 6.6 6.6 6.6 6.6 6.7 6.7 6.7 6.7 6.7 6.7 6.7 6.7 6.7 6.8 6.8 6.8 6.8 6.9 6.9 6.9 6.10 6.10 6.10 6.10 6.10 6.10 6.11 6.11 6.11 6.11 6.11 6.12 6.12 6.12 6.12 6.12 6.12 6.12 6.12 6.13 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 32 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 暫存器名稱 模/數轉換器設定控制暫存器 模/數轉換器中斷控制暫存器 模/數轉換器通道控制暫存器 模/數轉換器電壓比較數據高位元組暫存器 模/數轉換器電壓比較數據低位元組暫存器 模/數轉換器轉換數據高位元組暫存器 模/數轉換器轉換數據低位元組暫存器 比較器控制暫存器 比較器旗標暫存器 比較器參考電壓暫存器 E²PROM 致能暫存器 1 E²PROM 致能暫存器 2 E²PROM 位址低位元組暫存器 E²PROM 位址高位元組暫存器 E²PROM 控制暫存器 E²PROM 數據暫存器 位址 復位預設值 (Hex) 參照章節 0xD1 0xD2 0xD3 0xD4 0xD5 0xD6 0xD7 0xDA 0xDB 0xDC 0xE0 0xE1 0xE2 0xE3 0xE4 0xE8 40 00 00 80 00 00 00 E0 00 00 00 00 FF 0F 08 00 6.13 6.13 6.13 6.13 6.13 6.13 6.13 6.14 6.14 6.14 6.17 6.17 6.17 6.17 6.17 6.17 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 33 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 6.2 I/O 端 口 6 .2 .1 特 性 ♦ 共 18 個可程式化 I/O,其中包含 GPIOA[5:0]、GPIOB[5:0]、GPIOC[5:0] ♦ 某些 I/O 具有特殊功能 (如 IRQ、ADC、PWM 等),可透過特殊暫存器進行設定 6 .2 .2 暫 存 器 WT51F104 的 I/O 相關暫存器分為以下幾類: ♦ GPIOx_OE: 控制輸出/輸入暫存器,用來設定 I/O 為輸出或輸入,當相對應的 GPIOx_OE 位元設為 1, 則此 I/O 為輸出埠,具有 4mA 之驅動能力 ♦ GPIOx_D: 數據暫存器,藉由此暫存器來讀取 I/O 的數據或設定 I/O 的輸出 ♦ GPIOx_PHN: 內部上拉電阻致能暫存器,當 I/O 設定為輸入埠時 (透過 GPIOx_OE),此時此暫存器 可以來設定 I/O 是否具有上拉電阻,當相對映的 GPIOx_PHN 位元設為 0,則此 I/O 具有內部上拉 電阻 ♦ GPIOx_TYP: 輸出模式設定暫存器,用來設定 I/O 為推拉式 (Push-Pull) 或開汲極 (Open Drain) 通用 I/O 端口 A 輸出致能控制暫存器 GPIOA_OE (外部記憶體位址: 0x10) 位元 狀態 名稱 第7位 第6位 - - 第5位 讀/寫 第4位 讀/寫 第3位 讀/寫 復位值: 00h 第2位 讀/寫 第1位 讀/寫 第0位 讀/寫 GPIOA_OE[5:0] 保留 位元編號 位符號 7-6 5-4 保留 GPIOA_OE[5:4] 說明 3 GPIOA_OE[3] 2-0 GPIOA_OE[2:0] 通用 I/O 端口 A 輸出/輸入設定 1: 輸出 0: 輸入 (預設值) 通用 I/O 端口 A 輸出/輸入設定 0: 輸入 (預設值) 註: 只有輸入模式 通用 I/O 端口 A 輸出/輸入設定 1: 輸出 0: 輸入 (預設值) -: 未能使用。 通用 I/O 端口 B 輸出致能控制暫存器 GPIOB_OE (外部記憶體位址: 0x11) 位元 狀態 名稱 第7位 第6位 - - 第5位 讀/寫 第4位 讀/寫 第3位 讀/寫 復位值: 00h 第2位 讀/寫 保留 GPIOB_OE[5:0] 位元編號 位符號 說明 7-6 5-0 保留 GPIOB_OE[5:0] 通用 I/O 端口 B 輸出/輸入設定 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 34 - 第1位 讀/寫 第0位 讀/寫 WT51F104 具備 ADC 功能之 1T 8052 微控制器 位元編號 位符號 說明 1: 輸出 0: 輸入 (預設值) -: 未能使用。 通用 I/O 端口 C 輸出致能控制暫存器 GPIOC_OE (外部記憶體位址: 0x12) 位元 狀態 名稱 第7位 第6位 - - 第5位 讀/寫 第4位 讀/寫 第3位 讀/寫 復位值: 00h 第2位 讀/寫 保留 GPIOC_OE[5:0] 位元編號 位符號 說明 7-6 5-0 保留 GPIOC_OE[5:0] 第1位 讀/寫 第0位 讀/寫 通用 I/O 端口 C 輸出/輸入設定 1: 輸出 0: 輸入 (預設值) -: 未能使用。 通用 I/O 端口 A 數據暫存器 GPIOA_D (外部記憶體位址: 0x16) 位元 狀態 名稱 第7位 第6位 - - 第5位 讀/寫 第4位 讀/寫 復位值: 00h 第3位 讀/寫 第2位 讀/寫 保留 GPIOA_D[5:0] 位元編號 位符號 說明 7-6 5-4 3 2-0 保留 GPIOA_D[5:4] GPIOA_D[3] GPIOA_D[2:0] 第1位 讀/寫 第0位 讀/寫 通用 I/O 端口 A 輸出/輸入數據 GPIA3 為輸入腳僅有輸入數據 通用 I/O 端口 A 輸出/輸入數據 -: 未能使用。 通用 I/O 端口 B 數據暫存器 GPIOB_D (外部記憶體位址: 0x17) 位元 狀態 名稱 位元編號 7-6 5-0 第7位 第6位 - - 第5位 讀/寫 第4位 讀/寫 復位值: 00h 第3位 讀/寫 GPIOB_D[5:0] 保留 位符號 保留 GPIOB_D[5:0] 第2位 讀/寫 說明 通用 I/O 端口 B 輸出/輸入數據 -: 未能使用。 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 35 - 第1位 讀/寫 第0位 讀/寫 WT51F104 具備 ADC 功能之 1T 8052 微控制器 通用 I/O 端口 C 數據暫存器 GPIOC_D (外部記憶體位址: 0x18) 位元 狀態 名稱 第7位 第6位 - - 第5位 讀/寫 第4位 讀/寫 復位值: 00h 第3位 讀/寫 第2位 讀/寫 保留 GPIOC_D[5:0] 位元編號 位符號 說明 7-6 5-0 保留 GPIOC_D[5:0] 第1位 讀/寫 第0位 讀/寫 通用 I/O 端口 C 輸出/輸入數據 -: 未能使用。 通用 I/O 端口 A 致能內部上拉電阻暫存器 GPIOA_PHN (外部記憶體位址: 0x1C) 位元 狀態 名稱 第7位 第6位 - - 第5位 讀/寫 第4位 讀/寫 第3位 讀/寫 第2位 讀/寫 保留 GPIOA_PHN[5:0] 位元編號 位符號 說明 7-6 5-0 保留 GPIOA_PHN[5:0] 復位值: 3Fh 第1位 讀/寫 第0位 讀/寫 致能通用 I/O 端口 A 上拉電阻設定 1: 禁能上拉電阻 (預設值) 0: 致能上拉電阻 -: 未能使用。 通用 I/O 端口 B 致能內部上拉電阻暫存器 GPIOB_PHN (外部記憶體位址: 0x1D) 位元 狀態 名稱 第7位 第6位 - 第5位 讀/寫 - 第4位 讀/寫 第3位 讀/寫 第2位 讀/寫 保留 GPIOB_PHN[5:0] 位元編號 位符號 說明 7-6 5-0 保留 GPIOB_PHN[5:0] 復位值: 3Fh 第1位 讀/寫 第0位 讀/寫 致能通用 I/O 端口 B 上拉電阻設定 1: 禁能上拉電阻 (預設值) 0: 致能上拉電阻 -: 未能使用。 通用 I/O 端口 C 致能內部上拉電阻暫存器 GPIOC_PHN (外部記憶體位址: 0x1E) 位元 狀態 名稱 第7位 第6位 - 第5位 讀/寫 - 第4位 讀/寫 位符號 7-6 保留 第2位 讀/寫 GPIOC_PHN[5:0] 保留 位元編號 第3位 讀/寫 說明 - 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 36 - 復位值: 3Fh 第1位 讀/寫 第0位 讀/寫 WT51F104 具備 ADC 功能之 1T 8052 微控制器 位元編號 位符號 說明 5-0 GPIOC_PHN[5:0] 致能通用 I/O 端口 A 上拉電阻設定 1: 禁能上拉電阻 (預設值) 0: 致能上拉電阻 -: 未能使用。 通用 I/O 端口 A 輸出型態控制暫存器 GPIOA_TYP (外部記憶體位址: 0x22) 位元 狀態 名稱 第7位 第6位 - - 第5位 讀/寫 第4位 讀/寫 GPIOA_TYP[5:4] 保留 位元編號 位符號 7-6 3 5-4 2-0 保留 保留 GPIOA_TYP[5:4] GPIOA_TYP[2:0] 第3位 復位值: 3Fh 第2位 讀/寫 保留 第1位 讀/寫 第0位 讀/寫 GPIOA_TYP[2:0] 說明 通用 I/O 端口 A 輸出型態設定 1: 輸出型態為推拉式 (push-pull) (預設值) 0: 輸出型態為開汲極 (open-drain) -: 未能使用。 通用 I/O 端口 B 輸出型態控制暫存器 GPIOB_TYP (外部記憶體位址: 0x23) 位元 狀態 名稱 第7位 第6位 - - 第5位 讀/寫 第4位 讀/寫 第3位 讀/寫 復位值: 3Fh 第2位 讀/寫 保留 GPIOB_TYP[5:0] 位元編號 位符號 說明 7-6 5-0 保留 GPIOB_TYP[5:0] 第1位 讀/寫 第0位 讀/寫 通用 I/O 端口 B 輸出型態設定 1: 輸出型態為推拉式 (push-pull) (預設值) 0: 輸出型態為開汲極 (open-drain) -: 未能使用。 通用 I/O 端口 C 輸出型態控制暫存器 GPIOC_TYP (外部記憶體位址: 0x24) 位元 狀態 名稱 第7位 第6位 - - 第5位 讀/寫 第4位 讀/寫 第3位 讀/寫 復位值: 3Fh 第2位 讀/寫 保留 GPIOC_TYP[5:0] 位元編號 位符號 說明 7-6 5-0 保留 GPIOC_TYP[5:0] 通用 I/O 端口 C 輸出型態設定 1: 輸出型態為推拉式 (push-pull) (預設值) 0: 輸出型態為開汲極 (open-drain) -: 未能使用。 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 37 - 第1位 讀/寫 第0位 讀/寫 WT51F104 具備 ADC 功能之 1T 8052 微控制器 6 .2 .3 端 口 共 用 主要用來設定 I/O 使用之功能,如 SPI、I²C、PWM、ADC 等。 通用 I/O 端口 A 複合功能設定暫存器 1 GPIOA_FUN1 (外部記憶體位址: 0x25) 位元 狀態 名稱 第7位 保留 第6位 讀/寫 第5位 讀/寫 第4位 讀/寫 第3位 第2位 讀/寫 保留 GPA5_FUN_SLT[2:0] 復位值: 00h 第1位 讀/寫 第0位 讀/寫 GPA4_FUN_SLT[2:0] 位元編號 位符號 說明 7 6-4 保留 GPA5_FUN_SLT[2:0] 3 2-0 保留 GPA4_FUN_SLT[2:0] 設定 GPIOA5DH 複合功能 000: GPIO/IRQ15 (預設值) 001: ADC15 模擬輸入 011: B 路徑 PWM1 輸出 010: T1 輸入 101: P00 輸出/輸入 (對映至 8052 之 P0.0) 註: 當 GPIOA4DH 設定為 OSCO 時,GPIOA5DH 需設定為 GPIO 功能。 設定 GPIOA4DH 複合功能 000: GPIO/IRQ14/ETMIA (預設值) 001: ADC14 模擬輸入 010: OSCO (選擇 OSCO,對映的 GPIOA5DH 需設為 GPIO 功能) 011: B 路徑 PWM0 輸出 101: P01 輸出/輸入 (對映至 8052 之 P0.1) -: 未能使用。 註: 當使用增強型計時/計數器的外部輸入腳位 ETMIA 及 ETMIB 時,請把 GPIOA5/GPIOA4 設定為輸入模式的 GPIO。 註: 使用外部晶體振盪器為 SOURCE clock 的設定程序: 1. GPIOA5、GPIOA4 設定為輸入口。(XFR 0x10 GPIOA_OE[5:4]) 2. GPIOA5、GPIOA4 禁能內部上拉電阻,如果致能上拉電阻會使振盪器輸出頻率不穩定。 (XFR 0x1C GPIOA_PHN[5:4]) 3. GPIOA4 設定為 OSCO 晶振腳位。(XFR 0x25 GPA4_FUN_SLT[2:0]) 4. GPIOA5 的複合功能設定為 GPIO 功能。(XFR 0x25 GPA5_FUN_SLT[2:0]) 5. 設定外部晶振的驅動能力。(XFR 0x08 CRY_12M_DR[1:0]) 6. 開啟外部振盪器電源開關。(XFR 0x07 CRY_12M_PD) 7. 將 SOURCE clock 切到外部晶振源。(XFR 0x05 SOURCE_CLK_SLT[1:0]) 註: 使用 8052 port (P0.x),必須將對映的 rGPIO_TYP 設為開汲極,並且外拉上拉電阻。 通用 I/O 端口 A 複合功能設定暫存器 2 GPIOA_FUN2 (外部記憶體位址: 0x26) 位元 狀態 名稱 第7位 保留 第6位 讀/寫 第5位 讀/寫 第4位 讀/寫 GPA3_FUN_SLT[2:0] 第3位 保留 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 38 - 復位值: 00h 第2位 讀/寫 第1位 讀/寫 第0位 讀/寫 GPA2_FUN_SLT[2:0] WT51F104 具備 ADC 功能之 1T 8052 微控制器 位元編號 位符號 說明 7 6-4 保留 GPA3_FUN_SLT[2:0] 3 2-0 保留 GPA2_FUN_SLT[2:0] 設定 GPIA3D 複合功能 000: GPIO/IRQ13/ETMIB (預設值) 001: ADC13 模擬輸入 010: 復位腳位 (NRST) 輸入 設定 GPIOA2DH 複合功能 000: GPIO/IRQ2 (預設值) 001: ADC2 模擬輸入 010: CMPO,比較器輸出 011: C 路徑 PWM1 輸出 101: T0 輸入 -: 未能使用。 通用 I/O 端口 A 複合功能設定暫存器 3 GPIOA_FUN3 (外部記憶體位址: 0x27) 位元 狀態 名稱 第7位 第6位 讀/寫 保留 第5位 讀/寫 第4位 讀/寫 GPA1_FUN_SLT[2:0] 第3位 復位值: 00h 第2位 讀/寫 保留 第1位 讀/寫 第0位 讀/寫 GPA0_FUN_SLT[2:0] 位元編號 位符號 說明 7 6-4 保留 GPA1_FUN_SLT[2:0] 3 2-0 保留 GPA0_FUN_SLT[2:0] 設定 GPIOA1DH 複合功能 000: GPIO/IRQ1 (預設值) 001: ADC1 模擬輸入或 VREF 輸入 010: CMPN,比較器之負極輸入腳位 100: RX0B,為 UART0 的 B 路徑 RX 101: I²C SCL 輸入/輸出腳位 110: A 路徑 SPI 之 SCK 腳位 111: B 路徑 SPI 之 MISO 數據腳位 註: ADC1 模擬輸入可由模/數轉換器通道控制暫存器的 EN_AD[3:0] 選 擇 , 至 於 VREF 輸 入 是 由 模 / 數 轉 換 器 設 定 控 制 暫 存 器 的 ADC_VREF_SEL[1:0]選擇 設定 GPIOA0DH 複合功能 000: GPIO/IRQ0 (預設值) 001: ADC0 模擬輸入 010: CMPP,比較器之正極輸入腳位 011: C 路徑 PWM0 輸出 100: TX0B,為 UART0 的 B 路徑 TX 101: I²C SDA 輸入/輸出腳位 110: A 路徑 SPI 之 MISO 腳位 111: B 路徑 SPI 之 SCK 數據腳位 2 註: 當 GPIOA1DH 設定為 I C SCL 時,GPIOA0DH 需設定為 GPIO 功能。 2 註: 使用 UART0 B 路徑、I C,必須將對映的 rGPIO_TYP 設為開汲極,並且外接上拉電阻。 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 39 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 通用 I/O 端口 B 複合功能設定暫存器 1 GPIOB_FUN1 (外部記憶體位址: 0x28) 第7位 位元 狀態 名稱 保留 第6位 讀/寫 第5位 讀/寫 第4位 讀/寫 第3位 第2位 讀/寫 保留 GPB5_FUN_SLT[2:0] 復位值: 00h 第1位 讀/寫 第0位 讀/寫 GPB4_FUN_SLT[2:0] 位元編號 位符號 說明 7 6-4 保留 GPB5_FUN_SLT[2:0] 3 2-0 保留 GPB4_FUN_SLT[2:0] 設定 GPIOB5 複合功能 000: GPIO/IRQ12 (預設值) 001: ADC12 模擬輸入 010: RX0A,為 UART0 的 A 路徑 RX 011: A 路徑 PWM1 輸出 101: P02 輸出/輸入 (對映至 8052 之 P0.2) 設定 GPIOB4 複合功能 000: GPIO/IRQ11 (預設值) 001: ADC11 模擬輸入 010: TX0A, 為 UART0 的 A 路徑 TX 011: D 路徑 PWM1 輸出 101: P03 輸出/輸入 (對映至 8052 之 P0.3) 註: 當 GPIOB5 設定為 RX0A 時,GPB4_FUN_SLT 會強制選擇 TX0A, 其它 ADC11/PWM1D 會失效 -: 未能使用。 註 1: 使用 8052 port (P0.x),必須將對映的 rGPIO_TYP 設為開汲極,並且外接上拉電阻。 註 2: 使用 UART0 A 路徑,必須將對映的 rGPIO_TYP 設為開汲極,並且外接上拉電阻。 通用 I/O 端口 B 複合功能設定暫存器 2 GPIOB_FUN2 (外部記憶體位址: 0x29) 第7位 位元 狀態 名稱 保留 第6位 讀/寫 第5位 讀/寫 第4位 讀/寫 第3位 GPB3_FUN_SLT[2:0] 位元編號 位符號 7 6-4 保留 GPB3_FUN_SLT[2:0] 3 2-0 保留 GPB2_FUN_SLT[2:0] 第2位 讀/寫 保留 第1位 讀/寫 第0位 讀/寫 GPB2_FUN_SLT[2:0] 說明 設定 GPIOB3 複合功能 000: GPIO/IRQ10 (預設值) 001: ADC10 模擬輸入 011: A 路徑 PWM0 輸出 設定 GPIOB2 複合功能 000: GPIO/IRQ5 (預設值) 001: ADC5 模擬輸入 010: SPI 之 STB 腳位 011: D 路徑 PWM0 輸出 -: 未能使用。 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 40 - 復位值: 00h WT51F104 具備 ADC 功能之 1T 8052 微控制器 通用 I/O 端口 B 複合功能設定暫存器 3 GPIOB_FUN3 (外部記憶體位址: 0x2A) 第7位 位元 狀態 名稱 第6位 讀/寫 保留 第5位 讀/寫 第4位 讀/寫 GPB1_FUN_SLT[2:0] 位元編號 位符號 7 6-4 保留 GPB1_FUN_SLT[2:0] 3 2-0 保留 GPB0_FUN_SLT[2:0] 第3位 復位值: 00h 第2位 讀/寫 保留 第1位 讀/寫 第0位 讀/寫 GPB0_FUN_SLT[2:0] 說明 設定 GPIOB1 複合功能 000: GPIO/IRQ4 (預設值) 001: ADC4 模擬輸入 010: SPI 之 MOSI 腳位 設定 GPIOB0 複合功能 000: GPIO/IRQ3 (預設值) 001: ADC3 模擬輸入 -: 未能使用。 通用 I/O 端口 C 複合功能設定暫存器 1 GPIOC_FUN1 (外部記憶體位址: 0x2B) 第7位 位元 狀態 名稱 第6位 讀/寫 保留 第5位 讀/寫 第4位 讀/寫 GPC5_FUN_SLT[2:0] 位元編號 位符號 7 6-4 保留 GPC5_FUN_SLT[2:0] 3 2-0 保留 GPC4_FUN_SLT[2:0] 第3位 復位值: 00h 第2位 讀/寫 保留 第1位 讀/寫 第0位 讀/寫 GPC4_FUN_SLT[2:0] 說明 設定 GPIOC5 複合功能 000: GPIO/IRQ9 (預設值) 001: ADC9 模擬輸入 設定 GPIOC4 複合功能 000: GPIO/IRQ8 (預設值) 001: ADC8 模擬輸入 -: 未能使用。 通用 I/O 端口 C 複合功能設定暫存器 2 GPIOC_FUN2 (外部記憶體位址: 0x2C) 位元 狀態 名稱 第7位 第6位 讀/寫 保留 第5位 讀/寫 第4位 讀/寫 GPC3_FUN_SLT[2:0] 位元編號 位符號 7 6-4 保留 GPC3_FUN_SLT[2:0] 3 保留 第3位 第2位 讀/寫 保留 第1位 讀/寫 第0位 讀/寫 GPC2_FUN_SLT[2:0] 說明 設定 GPIOC3 複合功能 000: GPIO (預設值) - 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 41 - 復位值: 00h WT51F104 具備 ADC 功能之 1T 8052 微控制器 位元編號 位符號 說明 2-0 GPC2_FUN_SLT[2:0] 設定 GPIOC2 複合功能 000: GPIO (預設值) -: 未能使用。 通用 I/O 端口 C 複合功能設定暫存器 3 GPIOC_FUN3 (外部記憶體位址: 0x2D) 第7位 位元 狀態 名稱 保留 第6位 讀/寫 第5位 讀/寫 第4位 讀/寫 GPC1_FUN_SLT[2:0] 位元編號 位符號 7 6-4 保留 GPC1_FUN_SLT[2:0] 3 2-0 保留 GPC0_FUN_SLT[2:0] 第3位 第2位 讀/寫 保留 第1位 讀/寫 第0位 讀/寫 GPC0_FUN_SLT[2:0] 說明 設定 GPIOC1 複合功能 000: GPIO/IRQ7 (預設值) 001: ADC7 模擬輸入 設定 GPIOC0 複合功能 000: GPIO/IRQ6 (預設值) 001: ADC6 模擬輸入 -: 未能使用。 ADC 複合功能設定表: ADC 暫存器設定 Shared with GPIO ADC15 ADC14 ADC13 ADC12 ADC11 ADC10 ADC9 ADC8 ADC7 ADC6 ADC5 ADC4 ADC3 ADC2 ADC1 ADC0 GPA5_FUN_SLT[2:0] = 001 GPA4_FUN_SLT[2:0] = 001 GPA3_FUN_SLT[2:0] = 001 GPB5_FUN_SLT[2:0] = 001 GPB4_FUN_SLT[2:0] = 001 GPB3_FUN_SLT[2:0] = 001 GPC5_FUN_SLT[2:0] = 001 GPC4_FUN_SLT[2:0] = 001 GPC1_FUN_SLT[2:0] = 001 GPC0_FUN_SLT[2:0] = 001 GPB2_FUN_SLT[2:0] = 001 GPB1_FUN_SLT[2:0] = 001 GPB0_FUN_SLT[2:0] = 001 GPA2_FUN_SLT[2:0] = 001 GPA1_FUN_SLT[2:0] = 001 GPA0_FUN_SLT[2:0] = 001 GPIOA5 GPIOA4 GPIA3 GPIOB5 GPIOB4 GPIOB3 GPIOC5 GPIOC4 GPIOC1 GPIOC0 GPIOB2 GPIOB1 GPIOB0 GPIOA2 GPIOA1 GPIOA0 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 42 - 復位值: 00h WT51F104 具備 ADC 功能之 1T 8052 微控制器 ADC VREF 複合功能設定表: ADC VREF 暫存器設定 Shared with GPIO VREF GPA1_FUN_SLT[2:0] = 001 GPIOA1 石英晶體振盪器複合功能設定表: CLKIO 暫存器設定 Shared with GPIO OSCO OSCI GPA4_FUN_SLT[2:0] = 010 GPA4_FUN_SLT[2:0] = 010 GPIOA4 GPIOA5 SPI 暫存器設定 Shared with GPIO STB SCKA SCKB MOSI MISOA MISOB GPB2_FUN_SLT[2:0] = 010 GPA1_FUN_SLT[2:0] = 110 GPA0_FUN_SLT[2:0] = 111 GPB1_FUN_SLT[2:0] = 010 GPA0_FUN_SLT[2:0] = 110 GPA1_FUN_SLT[2:0] = 111 GPIOB2 GPIOA1 GPIOA0 GPIOB1 GPIOA0 GPIOA1 SPI 複合功能設定表 UART 複合功能設定表: UART Shared with GPIO 暫存器設定 GPIOB_OE[5] = 0 GPIOB_TYP[5] = 0 GPB5_FUN_SLT[2:0] = 010 GPIOB_OE[4] = 1 GPIOB_TYP[4] = 0 GPB4_FUN_SLT[2:0] = 010 GPIOA_OE[1] = 0 GPIOA_TYP[1] = 0 GPA1_FUN_SLT[2:0] = 100 GPIOA_OE[0] = 1 GPIOA_TYP[0] = 0 GPA0_FUN_SLT[2:0] = 100 RX0A TX0A RX0B TX0B GPIOB5 GPIOB4 GPIOA1 GPIOA0 I²C 複合功能設定表: 2 Master I C SDA SCL Shared with GPIO 暫存器設定 GPIOA_OE[0] = 1 GPIOA_TYP[0] = 0 GPA0_FUN_SLT[2:0] = 101 GPIOA_OE[1] = 1 GPIOA_TYP[1] = 0 GPA1_FUN_SLT[2:0] = 101 GPIOA0 GPIOA1 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 43 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 2 Slave I C SDA SCL Shared with GPIO 暫存器設定 GPIOA_OE[0] = 0 GPIOA_TYP[0] = 0 GPA0_FUN_SLT[2:0] = 101 GPIOA_OE[1] = 0 GPIOA_TYP[1] = 0 GPA1_FUN_SLT[2:0] = 101 GPIOA0 GPIOA1 比較器複合功能設定表: ACOM 暫存器設定 Shared with GPIO COMPP COMPN COMPO GPA0_FUN_SLT[2:0] = 010 GPA1_FUN_SLT[2:0] = 010 GPA2_FUN_SLT[2:0] = 010 GPIOA0 GPIOA1 GPIOA2 Timer0/1 暫存器設定 Shared with GPIO T0 T1 GPA2_FUN_SLT[2:0] = 101 GPA5_FUN_SLT[2:0] = 010 GPIOA2 GPIOA5 Timer0/1 腳位設定表: PWM0 複合功能設定表: PWM0 暫存器設定 Shared with GPIO PWM0A PWM0B PWM0C PWM0D GPB3_FUN_SLT[2:0] = 011 GPA4_FUN_SLT[1:0] = 011 GPA0_FUN_SLT[1:0] = 010 GPB2_FUN_SLT[1:0] = 011 GPIOB3 GPIOA4 GPIOA0 GPIOB2 PWM1 複合功能設定表: PWM1 暫存器設定 Shared with GPIO PWM1A PWM1B PWM1C PWM1D GPB5_FUN_SLT[2:0] = 011 GPA5_FUN_SLT[2:0] = 011 GPA2_FUN_SLT[1:0] = 011 GPB4_FUN_SLT[2:0] = 011 GPIOB5 GPIOA5 GPIOA2 GPIOB4 8052 Port 0 複合功能設定表: 8052 Port 0.x 暫存器設定 Shared with GPIO P0.0 P0.1 P0.2 P0.3 GPA5_FUN_SLT[2:0] = 101 GPA4_FUN_SLT[2:0] = 101 GPB5_FUN_SLT[2:0] = 101 GPB4_FUN_SLT[2:0] = 101 GPIOA5 GPIOA4 GPIOB5 GPIOB4 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 44 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 6.3 中斷 WT51F104 提供七個 8052 向量中斷源,即 8052 外部中斷 INT0、8052 外部中斷 INT1、計時/計數器中斷 TF0、 計時/計數器中斷 TF1、串行口中斷 (RI0/TI0)、8052 外部中斷 INT2、8052 外部中斷 INT3。 每個中斷源都在特殊暫存器 (SFR) 中有自已的致能控制位元,透過特殊暫存器 IE0 及 XICON 選擇致能或禁能。 當中斷發生時,CPU 將會由主程序跳至中斷程序向量,如下表所示,一旦多個中斷同時發生,就從較高優先等級的 中斷先執行,再由 RETI 指令返回主程序。倘若有中斷旗標位元被設定,處理器將再進入中斷處理程式。 8052 的七個中斷向量表與優先權順序: Keil C 中斷函數編號 0 1 2 3 4 7 8 中斷源 中斷向量位址 優先權順序 (初始設定值) 開啟中斷設定 03H 0BH 13H 1BH 23H 3BH 43H 1 2 3 4 5 6 7 IE.0 (EX0) IE.1 (ET0) IE.2 (EX1) IE.3 (ET1) IE.4 (ES) XICON.2 (EX2) XICON.6 (EX3) 8052 外部中斷 0 計時/計數器 0 中斷 8052 外部中斷 1 計時/計數器 1 中斷 串行口 0 中斷 (UART0) 8052 外部中斷 2 8052 外部中斷 3 中斷致能暫存器 0 IE (8052 interrupt enable register,包括 INT0/INT1) Address: A8H 7 EA 6 ES1 5 ET2 位元編號 位符號 7 EA 6 ES1 5 ET2 4 ES 3 ET1 2 EX1 1 ET0 0 EX0 4 ES 3 ET1 復位值: 00h 2 EX1 1 ET0 說明 1: 0: 1: 0: 1: 0: 1: 0: 1: 0: 1: 0: 1: 0: 1: 0: 致能所有中斷功能 禁能所有中斷功能 致能串行口 1 中斷 (WT51F104 無此功能) 禁能串行口 1 中斷 致能計時/計數器 2 中斷 (WT51F104 無此功能) 禁能計時/計數器 2 中斷 致能串行口 0 中斷 禁能串行口 0 中斷 致能計時/計數器 1 中斷 禁能計時/計數器 1 中斷 致能 8052 外部中斷 1 中斷 禁能 8052 外部中斷 1 中斷 致能計時/計數器 0 中斷 禁能計時/計數器 0 中斷 致能 8052 外部中斷 0 中斷 禁能 8052 外部中斷 0 中斷 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 45 - 0 EX0 WT51F104 具備 ADC 功能之 1T 8052 微控制器 中斷致能暫存器 1 XICON (8052 interrupt enable register,包括 INT2/INT3)) Address: C0H 7 PX3 6 EX3 5 IE3 位元編號 位符號 7 PX3 6 EX3 5 IE3 4 保留 3 PX2 2 EX2 1 IE2 0 -: 未能使用。 保留 4 - 3 PX2 2 EX2 復位值: 00h 1 IE2 0 - 說明 定義外部中斷 3 之中斷優先權 1: INT3 具有高優先權 0: INT3 不具有高優先權 1: 致能外部中斷 3 中斷 0: 禁能外部中斷 3 中斷 當 CPU 偵測到外部中斷 3 中斷時,IE3 會由硬體自動清為 0 1: 有外部中斷 3 請求 0: 無外部中斷 3 請求 定義外部中斷 2 之中斷優先權 1: INT2 具有高優先權 0: INT2 不具有高優先權 1: 致能外部中斷 2 中斷 0: 禁能外部中斷 2 中斷 當 CPU 偵測到外部中斷 2 中斷時,IE2 會由硬體自動清為 0 1: 有外部中斷 2 請求 0: 無外部中斷 2 請求 - 中斷優先權暫存器 IP (8052 interrupt priority register) Address: B8H 7 - 6 PS1 5 PT2 位元編號 位符號 7 6 Reserved PS1 5 PT2 4 PS 3 PT1 復位值: 00h 4 PS 3 PT1 2 PX1 說明 定義串行口 1 之中斷優先權 1: 具有高優先權 0: 具有低優先權 定義計時/計數器 2 之中斷優先權 1: 具有高優先權 0: 具有低優先權 定義串行口 0 之中斷優先權 1: 具有高優先權 0: 具有低優先權 定義計時/計數器 1 之中斷優先權 1: 具有高優先權 0: 具有低優先權 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 46 - 1 PT0 0 PX0 WT51F104 具備 ADC 功能之 1T 8052 微控制器 位元編號 位符號 2 PX1 1 PT0 0 PX0 說明 定義外部中斷 1 之中斷優先權 1: 具有高優先權 0: 具有低優先權 定義計時/計數器 0 之中斷優先權 1: 具有高優先權 0: 具有低優先權 定義外部中斷 0 之中斷優先權 1: 具有高優先權 0: 具有低優先權 -: 未能使用。 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 47 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 如下圖所示,若都沒有在中斷優先權暫存器 (IP) 裡設定優先等級,則中斷的優先等級為 「INT0 > T0 > INT1 > T1 > UART0 > T2 > UART1 > INT2 > INT3」; INT0 最 高 等 級 T0 INT1 T1 UART0 T2 UART1 INT2 INT3 最低等級 預置優先權 若將其中任一個中斷設為高優先等級,例如讓 PT1 = 1,則中斷的優先等級變為 「T1 > INT0 > T0 > INT1 > UART0 > T2 > UART1 > INT2 > INT3」; 主程式 INT1 中斷副程式(二) T1 中斷副程式(一) 中斷副程式(二)之優先等級低於中斷副程式(一)之優先等級 若讓 PT1 = 1、PX1 = 1,則中斷的優先等級變為「INT1 > T1 > INT0 > T0 > UART0 > T2 > UART1 > INT2 > INT3」,以此類推。如下圖所示,分別是不同優先等級下,程式執行的流程: 主程式 INT1 中斷副程式(二) T1 中斷副程式(一) 中斷副程式(二)之優先等級高於中斷副程式(一)之優先等級 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 48 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 6 .3 .1 8 0 5 2 外 部 中 斷 0 /1 /2 WT51F104 從 8052 的外部中斷 0/1/2 衍生成八個周邊中斷如下: 1. SPI 中斷 2. I²C 中斷 3. ADC 中斷 4. 比較器 (ACOMP) 中斷 5. 低壓偵測 (LVD) 中斷 6. 實時定時器中斷 7. 增強型計時/計數器中斷 8. 通用 I/O 端口輸入觸發中斷 下圖為 8052 外部中斷 0/1/2 的中斷來源示意圖: IEx_SPI IFx_SPI旗標 SPI_INT來源 IEx_MSIIC IFx_MSIIC旗標 MSIIC_INT來源 IEx_ADC IFx_ADC旗標 ADC_INT來源 IEx_ACOMP IFx_ACOMP旗標 ACOMP_INT來源 IEx_LVD INTx To MCU 8052 INTx X = 0/1/2(INT0/INT1/INT2) IFx_LVD旗標 LVD_INT來源 IEx_WTMR IFx_WTMR旗標 WTMR_INT來源 IEx_ETIMER IFx_ETIMER旗標 ETIMER_INT來源 IEx_IN_TOG IFx_IN_TOG旗標 IN_TOG_INT來源 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 49 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 6 .3 .2 8 0 5 2 外 部 中 斷 3 WT51F104 共有 16 根外部中斷要求輸入腳位,使用 8052 外部中斷向量 3 來產生中斷,示意圖如下圖所示 (詳細 請參考 6.5 章節)。 IE3_IRQ15 IF3_IRQ15旗標 EN_IRQ15 IE3_IRQ14 IF3_IRQ14旗標 EN_IRQ14 IE3_IRQ13 IF3_IRQ13旗標 EN_IRQ13 IE3_IRQ12 IF3_IRQ12旗標 EN_IRQ12 IE3_IRQ11 IF3_IRQ11旗標 EN_IRQ11 IE3_IRQ10 IF3_IRQ10旗標 EN_IRQ10 IE3_IRQ9 IF3_IRQ9旗標 EN_IRQ9 IE3_IRQ8 IF3_IRQ8旗標 EN_IRQ8 IE3_IRQ7 INT3 IF3_IRQ7旗標 To MCU 8052 INT3 EN_IRQ7 IE3_IRQ6 IF3_IRQ6旗標 EN_IRQ6 IE3_IRQ5 IF3_IRQ5旗標 EN_IRQ5 IE3_IRQ4 IF3_IRQ4旗標 EN_IRQ4 IE3_IRQ3 IF3_IRQ3旗標 EN_IRQ3 IE3_IRQ2 IF3_IRQ2旗標 EN_IRQ2 IE3_IRQ1 IF3_IRQ1旗標 EN_IRQ1 IE3_IRQ0 IF3_IRQ0旗標 EN_IRQ0 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 50 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 8052 外部中斷 0 控制暫存器 IE0_CTL (外部記憶體位址: 0x30) 位元 狀態 名稱 復位值: 00h 第7位 讀/寫 第6位 讀/寫 第5位 讀/寫 第4位 讀/寫 第3位 讀/寫 第2位 讀/寫 第1位 讀/寫 第0位 讀/寫 IE0_SPI IE0_MSI²C IE0_ADC IE0_ACOMP IE0_LVD IE0_WTMR IE0_ETIMER IE0_IN_TOG 位元編號 位符號 7 IE0_SPI 6 IE0_MSI²C 5 IE0_ADC 4 IE0_ACOMP 3 IE0_LVD 2 IE0_WTMR 1 IE0_ETIMER 0 IE0_IN_TOG 說明 1: 0: 1: 0: 1: 0: 1: 0: 1: 0: 1: 0: 1: 0: 1: 0: 致能 SPI 中斷由 INT0 產生 禁能 SPI 中斷由 INT0 產生 致能 M/S I²C 中斷由 INT0 產生 禁能 M/S I²C 中斷由 INT0 產生 致能 ADC 中斷由 INT0 產生 禁能 ADC 中斷由 INT0 產生 致能 ACOMP 中斷由 INT0 產生 禁能 ACOMP 中斷由 INT0 產生 致能 LVD 中斷由 INT0 產生 禁能 LVD 中斷由 INT0 產生 致能 Watch Timer 中斷由 INT0 產生 禁能 Watch Timer 中斷由 INT0 產生 致能 Enhanced Timer 中斷由 INT0 產生 禁能 Enhanced Timer 中斷由 INT0 產生 致能 All-Input Toggle 中斷由 INT0 產生 禁能 All-Input Toggle 中斷由 INT0 產生 8052 外部中斷 1 控制暫存器 IE1_CTL (外部記憶體位址: 0x31) 位元 狀態 名稱 復位值: 00h 第7位 讀/寫 第6位 讀/寫 第5位 讀/寫 第4位 讀/寫 第3位 讀/寫 第2位 讀/寫 第1位 讀/寫 第0位 讀/寫 IE1_SPI IE1_MSI²C IE1_ADC IE1_ACOMP IE1_LVD IE1_WTMR IE1_ETIMER IE1_IN_TOG 位元編號 位符號 7 IE1_SPI 6 IE1_MSI²C 5 IE1_ADC 4 IE1_ACOMP 3 IE1_LVD 2 IE1_WTMR 1 IE1_ETIMER 說明 1: 0: 1: 0: 1: 0: 1: 0: 1: 0: 1: 0: 1: 0: 致能 SPI 中斷由 INT1 產生 禁能 SPI 中斷由 INT1 產生 致能 M/S I²C 中斷由 INT1 產生 禁能 M/S I²C 中斷由 INT1 產生 致能 ADC 中斷由 INT1 產生 禁能 ADC 中斷由 INT1 產生 致能 ACOMP 中斷由 INT1 產生 禁能 ACOMP 中斷由 INT1 產生 致能 LVD 中斷由 INT1 產生 禁能 LVD 中斷由 INT1 產生 致能 Watch Timer 中斷由 INT1 產生 禁能 Watch Timer 中斷由 INT1 產生 致能 Enhanced Timer 中斷由 INT1 產生 禁能 Enhanced Timer 中斷由 INT1 產生 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 51 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 位元編號 位符號 說明 0 IE1_IN_TOG 1: 致能 All-Input Toggle 中斷由 INT1 產生 0: 禁能 All-Input Toggle 中斷由 INT1 產生 8052 外部中斷 2 控制暫存器 IE2_CTL (外部記憶體位址: 0x32) 位元 狀態 名稱 復位值: 00h 第7位 讀/寫 第6位 讀/寫 第5位 讀/寫 第4位 讀/寫 第3位 讀/寫 第2位 讀/寫 第1位 讀/寫 第0位 讀/寫 IE2_SPI IE2_MSI²C IE2_ADC IE2_ACOMP IE2_LVD IE2_WTMR IE2_ETIMER IE2_IN_TOG 位元編號 位符號 說明 7 IE2_SPI 6 IE2_MSI²C 5 IE2_ADC 4 IE2_ACOMP 3 IE2_LVD 2 IE2_WTMR 1 IE2_ETIMER 0 IE2_IN_TOG 1: 0: 1: 0: 1: 0: 1: 0: 1: 0: 1: 0: 1: 0: 1: 0: 致能 SPI 中斷由 INT2 產生 禁能 SPI 中斷由 INT2 產生 致能 M/S I²C 中斷由 INT2 產生 禁能 M/S I²C 中斷由 INT2 產生 致能 ADC 中斷由 INT2 產生 禁能 ADC 中斷由 INT2 產生 致能 ACOMP 中斷由 INT2 產生 禁能 ACOMP 中斷由 INT2 產生 致能 LVD 中斷由 INT2 產生 禁能 LVD 中斷由 INT2 產生 致能 Watch Timer 中斷由 INT2 產生 禁能 Watch Timer 中斷由 INT2 產生 致能 Enhanced Timer 中斷由 INT2 產生 禁能 Enhanced Timer 中斷由 INT2 產生 致能 All-Input Toggle 中斷由 INT2 產生 禁能 All-Input Toggle 中斷由 INT2 產生 8052 外部中斷 3 控制高位元組暫存器 INT3_IRQ[15:8] (外部記憶體位址: 0x33) 位元 狀態 名稱 第7位 讀/寫 第6位 讀/寫 第5位 讀/寫 第4位 讀/寫 第3位 讀/寫 IE3_IRQ[15:8] 位元編號 位符號 7 IE3_IRQ15 6 IE3_IRQ14 5 IE3_IRQ13 4 IE3_IRQ12 3 IE3_IRQ11 說明 1: 0: 1: 0: 1: 0: 1: 0: 1: 0: 致能 IRQ15 中斷由 INT3 產生 禁能 IRQ15 中斷由 INT3 產生 致能 IRQ14 中斷由 INT3 產生 禁能 IRQ14 中斷由 INT3 產生 致能 IRQ13 中斷由 INT3 產生 禁能 IRQ13 中斷由 INT3 產生 致能 IRQ12 中斷由 INT3 產生 禁能 IRQ12 中斷由 INT3 產生 致能 IRQ11 中斷由 INT3 產生 禁能 IRQ11 中斷由 INT3 產生 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 52 - 第2位 讀/寫 復位值: 00h 第1位 讀/寫 第0位 讀/寫 WT51F104 具備 ADC 功能之 1T 8052 微控制器 位元編號 位符號 說明 2 IE3_IRQ10 1 IE3_IRQ9 0 IE3_IRQ8 1: 0: 1: 0: 1: 0: 致能 IRQ10 中斷由 INT3 產生 禁能 IRQ10 中斷由 INT3 產生 致能 IRQ9 中斷由 INT3 產生 禁能 IRQ9 中斷由 INT3 產生 致能 IRQ8 中斷由 INT3 產生 禁能 IRQ8 中斷由 INT3 產生 8052 外部中斷 3 控制低位元組暫存器 INT3_IRQ[7:0] (外部記憶體位址: 0x34) 位元 狀態 名稱 第7位 讀/寫 第6位 讀/寫 第5位 讀/寫 第4位 讀/寫 第3位 讀/寫 第2位 讀/寫 復位值: 00h 第1位 讀/寫 IE3_IRQ[7:0] 位元編號 位符號 7 IE3_IRQ7 6 IE3_IRQ6 5 IE3_IRQ5 4 IE3_IRQ4 3 IE3_IRQ3 2 IE3_IRQ2 1 IE3_IRQ1 0 IE3_IRQ0 說明 1: 0: 1: 0: 1: 0: 1: 0: 1: 0: 1: 0: 1: 0: 1: 0: 致能 IRQ7 中斷由 INT3 產生 禁能 IRQ7 中斷由 INT3 產生 致能 IRQ6 中斷由 INT3 產生 禁能 IRQ6 中斷由 INT3 產生 致能 IRQ5 中斷由 INT3 產生 禁能 IRQ5 中斷由 INT3 產生 致能 IRQ4 中斷由 INT3 產生 禁能 IRQ4 中斷由 INT3 產生 致能 IRQ3 中斷由 INT3 產生 禁能 IRQ3 中斷由 INT3 產生 致能 IRQ2 中斷由 INT3 產生 禁能 IRQ2 中斷由 INT3 產生 致能 IRQ1 中斷由 INT3 產生 禁能 IRQ1 中斷由 INT3 產生 致能 IRQ0 中斷由 INT3 產生 禁能 IRQ0 中斷由 INT3 產生 8052 外部中斷 0(INT0)旗標暫存器 IF0_FLAG (外部記憶體位址: 0x35) 位元 狀態 名稱 第0位 讀/寫 第7位 讀 IF0_SPI 第6位 讀 第5位 讀 IF0_MSI²C IF0_ADC 復位值: 00h 第4位 讀 第3位 讀 第2位 讀 IF0_ACOMP IF0_LVD IF0_WTMR 第1位 讀 第0位 讀 IF0_ETIMER IF0_IN_TOG 位元編號 位符號 說明 7 6 5 4 3 2 IF0_SPI IF0_MSI²C IF0_ADC IF0_ACOMP IF0_LVD IF0_WTMR 1: SPI 中斷事件旗標,SPI 中斷清除,請參考 6.12 章節 0xC3 1: M/S I²C 中斷事件旗標,M/S I²C 中斷清除,請參考 6.10 章節 0xA0 1: ADC 中斷事件旗標,ADC 轉換後自動清除 1: ACOMP 中斷事件旗標,ACOMP 中斷清除,請參考 6.14 章節 0xDB 1: LVD 中斷事件旗標,LVD 中斷清除,請參考 6.16 章節 0x03 1: Watch Timer 中斷事件旗標,Watch Timer 中斷清除,請參考 6.9 章節 0x7C 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 53 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 位元編號 位符號 1 IF0_ETIMER 0 IF0_IN_TOG 說明 1: Enhanced Timer 中斷事件旗標,Enhanced Timer 中斷清除,請參考 6.11 章節 0xB2 1: All-Input Toggle 中斷事件旗標,Input Toggle 中斷清除,請參考 6.7 章節 0x6A 8052 外部中斷 1(INT1)旗標暫存器 IF1_FLAG (外部記憶體位址: 0x36) 位元 狀態 名稱 復位值: 00h 第7位 讀 第6位 讀 第5位 讀 第4位 讀 第3位 讀 第2位 讀 第1位 讀 第0位 讀 IF1_SPI IF1_MSI²C IF1_ADC IF1_ACOMP IF1_LVD IF1_WTMR IF1_ETIMER IF1_IN_TOG 位元編號 位符號 說明 7 6 5 4 3 2 1 IF1_SPI IF1_MSI²C IF1_ADC IF1_ACOMP IF1_LVD IF1_WTMR IF1_ETIMER 0 IF1_IN_TOG 1: SPI 中斷事件旗標,SPI 中斷清除,請參考 6.12 章節 0xC3 1: M/S I²C 中斷事件旗標,M/S I²C 中斷清除,請參考 6.10 章節 0xA0 1: ADC 中斷事件旗標,ADC 轉換後自動清除 1: ACOMP 中斷事件旗標,ACOMP 中斷清除,請參考 6.14 章節 0xDB 1: LVD 中斷事件旗標,LVD 中斷清除,請參考 6.16 章節 0x03 1: Watch Timer 中斷事件旗標,Watch Timer 中斷清除,請參考 6.9 章節 0x7C 1: Enhanced Timer 中斷事件旗標,Enhanced Timer 中斷清除,請參考 6.11 章 節 0xB2 1: All-Input Toggle 中斷事件旗標,Input Toggle 中斷清除,請參考 6.7 章節 0x6A 8052 外部中斷 2(INT2)旗標暫存器 IF2_FLAG (外部記憶體位址: 0x37) 位元 狀態 名稱 第7位 讀 IF2_SPI 第6位 讀 IF2_MSI²C 位元編號 7 6 5 4 3 2 1 位符號 IF2_SPI IF2_MSI²C IF2_ADC IF2_ACOMP IF2_LVD IF2_WTMR IF2_ETIMER 0 IF2_IN_TOG 第5位 第4位 第3位 讀 讀 讀 IF2_ADC IF2_ACOMP IF2_LVD 復位值: 00h 第2位 第1位 第0位 讀 讀 讀 IF2_WTMR IF2_ETIMER IF2_IN_TOG 說明 1: SPI 中斷事件旗標,SPI 中斷清除,請參考 6.12 章節 0xC3 1: M/S I²C 中斷事件旗標,M/S I²C 中斷清除,請參考 6.10 章節 0xA0 1: ADC 中斷事件旗標,ADC 轉換後自動清除 1: ACOMP 中斷事件旗標,ACOMP 中斷清除,請參考 6.14 章節 0xDB 1: LVD 中斷事件旗標,LVD 中斷清除,請參考 6.16 章節 0x03 1: Watch Timer 中斷事件旗標,Watch Timer 中斷清除,請參考 6.9 章節 0x7C 1: Enhanced Timer 中斷事件旗標,Enhanced Timer 中斷清除,請參考 6.11 章節 0xB2 1: All-Input Toggle 中斷事件旗標,Input Toggle 中斷清除,請參考 6.7 章節 0x6A 8052 外部中斷 3(INT3)旗標高位元組暫存器 IF3_IRQ[15:8] (外部記憶體位址: 0x38) 位元 狀態 名稱 第7位 讀 第6位 讀 第5位 讀 第4位 讀 第3位 讀 IF3_IRQ[15:8] 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 54 - 第2位 讀 復位值: 00h 第1位 讀 第0位 讀 WT51F104 具備 ADC 功能之 1T 8052 微控制器 位元編號 7 6 5 4 3 2 1 0 位符號 IF3_IRQ15 IF3_IRQ14 IF3_IRQ13 IF3_IRQ12 IF3_IRQ11 IF3_IRQ10 IF3_IRQ9 IF3_IRQ8 說明 1: IRQ15 中斷事件旗標,IRQ 中斷清除,請參考 6.5 章節 0x44 1: IRQ14 中斷事件旗標,IRQ 中斷清除,請參考 6.5 章節 0x44 1: IRQ13 中斷事件旗標,IRQ 中斷清除,請參考 6.5 章節 0x44 1: IRQ12 中斷事件旗標,IRQ 中斷清除,請參考 6.5 章節 0x44 1: IRQ11 中斷事件旗標,IRQ 中斷清除,請參考 6.5 章節 0x44 1: IRQ10 中斷事件旗標,IRQ 中斷清除,請參考 6.5 章節 0x44 1: IRQ9 中斷事件旗標,IRQ 中斷清除,請參考 6.5 章節 0x44 1: IRQ8 中斷事件旗標,IRQ 中斷清除,請參考 6.5 章節 0x44 8052 外部中斷 3(INT3)旗標低位元組暫存器 IF3_IRQ[7:0] (外部記憶體位址: 0x39) 位元 狀態 名稱 第7位 讀 第6位 讀 第5位 讀 第4位 讀 第3位 讀 第2位 讀 復位值: 00h 第1位 讀 IF3_IRQ[7:0] 位元編號 位符號 7 6 5 4 3 2 1 0 IF3_IRQ7 IF3_IRQ6 IF3_IRQ5 IF3_IRQ4 IF3_IRQ3 IF3_IRQ2 IF3_IRQ1 IF3_IRQ0 說明 1: IRQ7 中斷事件旗標,IRQ 中斷清除,請參考 6.5 章節 0x45 1: IRQ6 中斷事件旗標,IRQ 中斷清除,請參考 6.5 章節 0x45 1: IRQ5 中斷事件旗標,IRQ 中斷清除,請參考 6.5 章節 0x45 1: IRQ4 中斷事件旗標,IRQ 中斷清除,請參考 6.5 章節 0x45 1: IRQ3 中斷事件旗標,IRQ 中斷清除,請參考 6.5 章節 0x45 1: IRQ2 中斷事件旗標,IRQ 中斷清除,請參考 6.5 章節 0x45 1: IRQ1 中斷事件旗標,IRQ 中斷清除,請參考 6.5 章節 0x45 1: IRQ0 中斷事件旗標,IRQ 中斷清除,請參考 6.5 章節 0x45 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 55 - 第0位 讀 WT51F104 具備 ADC 功能之 1T 8052 微控制器 6.4 通用異步收發器 (UART) WT51F104 有一個通用異步接收/傳輸器,即 UART0。 作為標準 8052 的 UART,其傳輸速率可通過 SFR 中的串行傳輸速率暫存器來選擇。 特殊功能暫存器 SBUF0 在接收跟傳輸時,是對映到兩個單獨暫存器,即一個傳輸緩衝區和一個接收緩衝區。 傳送數據: 寫入數據到 SBUF0 暫存器並設定這些數據在串行輸出緩衝區,並開始傳輸。 讀取數據: 讀取 SBUF0 暫存器的數據及從串行接收緩衝區讀取數據,串行口可同時傳輸和接收數據,它也可在接收 時緩存 1 位元組,如 CPU 在第一個位元組傳輸完成之前讀取第二個位元組,以防接收數據丟失。 通用異步收發器之相關暫存器: 特殊暫存器名稱 位址 PCON SCON0 SBUF0 SBRG0H SBRG0L 87H 98H 99H 9AH 9BH 說明 8052 power control register Serial Port 0, Control Register Serial Port 0, Data Buffer Serial Baud rate Generator 0, high byte Serial Baud rate Generator 0, low byte UART0 相關暫存器 PCON (Power control register) Address: 87H 7 SMOD1 6 SMOD2 5 - 4 - 3 - 2 - 1 - 0 - 3 SBUF0.3 2 SBUF0.2 1 SBUF0.1 0 SBUF0.0 SMOD1: 串行口 0 (UART0) 雙倍傳輸速率位元。 SMOD2: 串行口 1 (UART1) 雙倍傳輸速率位元。 -: 未能使用。 SBUF0 (8052 UART0 buffer) Address: 99H 7 SBUF0.7 6 SBUF0.6 5 SBUF0.5 4 SBUF0.4 UART0 之串行數據緩衝區,用來存收從 UART0 所接收到的數據或等待傳送之數據。 SBRG0H: Address: 9Ah 7 SBRG_EN 6 BRG_M[10] 5 BRG_M[9] 4 BRG_M[8] 3 BRG_M[7] 2 BRG_M[6] 1 BRG_M[5] 0 BRG_M[4] 3 BRG_F[3] 2 BRG_F[2] 1 BRG_F[1] 0 BRG_F[0] 用來規劃 UART0 之傳輸速率,與 SBRG0L 搭配使用。 SBRG0L: Address: 9Bh 7 BRG_M[3] 6 BRG_M[2] 5 BRG_M[1] 4 BRG_M[0] 用來規劃 UART0 之傳輸速率,與 SBRG0H 搭配使用。 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 56 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 SCON0 (8052 UART0 control register) Address: 98H 7 SM0_1 6 SM0_2 5 SM0_3 位元編號 7-6 位符號 SM0_1, SM0_2 5 SM0_3 4 REN_0 3 TB8_0 2 RB8_0 1 TI_0 0 RI_0 4 REN_0 3 TB8_0 2 RB8_0 1 TI_0 說明 串行口 0 模式選擇 00: 模式 0 01: 模式 1 10: 模式 2 11: 模式 3 多處理機通信致能位元 模式 0 時,SM0_3 必須為 0; 此時將禁能多重處理器通訊功能。 模式 1、模式 2 或模式 3 時,若 SM0_3 = 1,將可執行多重處理器通 訊功能。 本位元為串行接收致能位元,須由軟體清除禁止接收 REN_0 = 1,開始接收。 REN_0 = 0,停止接收 模式 2 或模式 3 傳送資料時,本位元為第 9 傳送位元,可用軟體來 設定或清除。 模式 0 時,本位元無作用。 模式 1 時,若 SM0_3 = 0,則本位元為停止位元。 模式 2 或模式 3 接收資料時,本位元為第 9 個接收位元。 本位元為傳送中斷旗標,當中斷結束時,本位元並不會恢復為 0,必須 由軟體清除。 模式 0 時,若完成傳送第 8 位元,則本位元自動設定為 1,並提出 TI_0 中斷。 模式 1、模式 2 或模式 3 時,若完成傳送停止位元,則本位元自動 設定為 1,並提出 TI_0 中斷。 本位元為接收中斷旗標,當中斷結束時,本位元並不會恢復為 0,必須 由軟體清除。 模式 0 時,若完成接收第 8 位元,則本位元自動設定為 1,並提出 RI_0 中斷。 模式 1、模式 2 或模式 3 時,若完成接收到停止位元,則本位元自 動設定為 1,並提出 RI_0 中斷。 串行介面 0 可由以下四種模式來設定: SM0_1 SM0_2 0 0 0 1 1 0 1 1 *Fosc = MCU clock 模式 0 1 2 3 0 RI_0 功能 移位暫存器 8 位元之 UART 8 位元之 UART 9 位元之 UART 傳輸速率 Fosc/12 軟體規劃 Fosc/32 或 Fosc/64 軟體規劃 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 57 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 模式 0 (Mode 0) 模式 0 是以固定鮑率之移位式資料傳輸,其鮑率為系統時鐘源的十二分之一 (即 fOSC/12),若在 12 MHz 下,則 其鮑率為 1Mbps。在此模式下,不管是接收數據還是數據傳送,CPU 的 Rx0 連接串行資料線,Tx0 連接移位脈波 線。執行數據接收時,由 Tx0 接腳送出移位脈波,而由 Rx0 接腳收下串行資料; 執行數據傳送時,也是依據 Tx0 接 腳所送出的移位脈波,而由 Rx0 接腳送出串行資料。 Write to SBUFx LSB Mode 0 RxD(Data Out) bit0 MSB bit1 bit2 bit3 bit4 bit5 bit6 bit7 TxD(Shift Clock) 模式 1 (Mode 1) 模式 1 是以可變的鮑率進行串行數據傳輸,其鮑率可由 Timer 1 來控制 (若是支援 UART1 還可使用 Timer 2 控制 鮑率)。 在此模式下,WT51F104 的 Rx0 接腳連接目的地的 TxD 接腳、WT51F104 的 Tx0 接腳連接目的地的 RxD 接腳。 模式 1 的資料長度為 10 位元,包括起始位元 (start bit)、8 個位元的資料,以及停止位元 (stop bit),其中第一個 位元就是低準位的起始位元 (start bit = 0),緊接著是由 bit 0 (即 LSB) 開始的 8 位元資料,而接續於 bit 7 (MSB) 之 後的是高準位的停止位元 (stop bit = 1)。 Write to SBUFx LSB Mode 1 Start bit0 Bit 啟始 位元 MSB bit1 bit2 bit3 bit4 bit5 bit6 bit7 Stop Bit 停止 位元 模式 2 (Mode 2) 模式 2 是以 fOSC/32 ( SMOD = 1) 或 fOSC/64 (SMOD = 0) 的鮑率進行串行數據傳輸,而其線路的連接,也是 WT51F104 的 Rx0 接腳連接目的地的 TxD 接腳、WT51F104 的 Tx0 接腳連接目的地的 RxD 接腳。模式 2 的資 料是由 11 位元所組成,包括起始位元 (start bit)、8 個位元的資料、同位位元 (parity bit),以及停止位元 (stop bit), 其中第一個位元就是低準位的起始位元,緊接著是由 bit 0 (即 LSB) 開始的 8 位元資料,而接續於 bit 7 之後的是同 位位元,最後則是高準位的停止位元。 在傳送中,SCON0 中的 TB8_0 輸出第九位; 在接收中,SCON0 中的 RB8_0 將被影響。 Mode 2 Write to SBUFx LSB TxD Start bit0 Bit 啟始 位元 MSB bit1 bit2 bit3 bit4 bit5 bit6 bit7 TB8 orParity bit 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 58 - Stop Bit 停止 位元 WT51F104 具備 ADC 功能之 1T 8052 微控制器 模式 3 (Mode 3) 模式 3 是以可變的鮑率進行串行數據傳輸,其鮑率可由 Timer 1 來控制 (若是支援 UART1 還可使用 Timer 2 控制 鮑率)。除此之外,模式 3 與模式 2 幾乎完全一樣。 UART0 之串行傳輸速率表: SBRG_EN (SBRG0H.7) SMOD1 (PCON.7) 0 0 fosc 1 × 32 12 × (256 − TH1) 0 1 fosc 1 × 16 12 × (256 − TH1) Baud Rate for UART0 fosc 1 X 16 * (BRG _ M[10 : 0] + BRG _ F[3 : 0] ) 16 當 SBRG_EN (SBRG0H.7) = 1 fosc UART0 之鮑率 = 16 * (BRG _ M[10 : 0] + BRG _ F[3 : 0] ) 16 傳輸速率支援表: Bits/sec 600 1200 Baud Rate Register 1250 625 BRG_M 1250 625 2400 4800 9600 14400 19200 38400 57600 115200 230400 312.5 156.25 78.125 52.083 39.0625 19.531 13 6.5 3.25 312 156 78 52 39 19 13 6 3 12 MHz BRG_F 0 0 8 4 2 1 1 8 0 8 4 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 59 - Actual 600 1200 Error 0.0% 0.0% 2400 4800 9600 14405 19200 38461 57692 115384 230769 0.0% 0.0% 0.0% 0.04% 0.0% 0.16% 0.16% 0.16% 0.16% WT51F104 具備 ADC 功能之 1T 8052 微控制器 6.5 外部中斷要求 (IRQ) 支援 16 個輸入中斷,並內建數位濾波器 (數位濾波器的晶振來源為內部晶振 12 MHz) 支援單邊正緣、負緣觸發、正負緣同時觸發 可以與 PWM 功能搭配,應用在馬達轉速的控制,請參考下表 外部中斷要求(IRQ) 與 PWM0 對映表: 外部中斷要求(IRQ)腳位 PWM0 輸出腳位 IRQ10 IRQ14 IRQ0 IRQ5 A 路徑 B 路徑 C 路徑 D 路徑 GPIOB3 GPIOA4 GPIOA0 GPIOB2 外部中斷要求(IRQ)與 PWM1 對映表: 外部中斷要求(IRQ)腳位 PWM1 輸出腳位 IRQ12 IRQ15 IRQ2 IRQ11 A 路徑 B 路徑 C 路徑 D 路徑 GPIOB5 GPIOA5 GPIOA2 GPIOB4 單邊觸發: IRQ0 IRQ1 正負緣同時觸發: IRQ2 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 60 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 外部中斷要求(IRQ)控制高位元組暫存器 EN_IRQ[15:8] (外部記憶體位址: 0x40) 位元 狀態 名稱 第7位 讀/寫 第6位 讀/寫 第5位 讀/寫 第4位 讀/寫 第3位 讀/寫 第2位 讀/寫 復位值: 00h 第1位 讀/寫 EN_IRQ[15:8] 位元編號 位符號 7-0 EN_IRQ[15:8] 說明 外部中斷要求致能設定,每個位元對應至相關的 IRQ 腳位 1: 致能相對應腳位之外部中斷要求 0: 禁能相對應腳位之外部中斷要求 外部中斷要求(IRQ)控制低位元組暫存器 EN_IRQ[7:0] (外部記憶體位址: 0x41) 位元 狀態 名稱 第7位 讀/寫 第6位 讀/寫 第5位 讀/寫 第4位 讀/寫 第3位 讀/寫 第2位 讀/寫 復位值: 00h 第1位 讀/寫 位符號 7-0 EN_IRQ[7:0] 說明 外部中斷要求致能設定,每個位元對應至相關的 IRQ 腳位 1: 致能相對應腳位之外部中斷要求 0: 禁能相對應腳位之外部中斷要求 外部中斷要求(IRQ)狀態高位元組暫存器 EVT_IRQ[15:8] (外部記憶體位址: 0x42) 第7位 讀 第6位 讀 第5位 讀 第4位 讀 第3位 讀 第2位 讀 復位值: 00h 第1位 讀 第0位 讀 EVT_IRQ[15:8] 位元編號 位符號 7-0 EVT_IRQ[15:8] 說明 外部中斷要求狀態,每個位元對應至相關的 IRQ 狀態 1: 相對應之腳位發生中斷觸發 0: 相對應之腳位未發生中斷觸發 外部中斷要求(IRQ)狀態低位元組暫存器 EVT_IRQ[7:0] (外部記憶體位址: 0x43) 位元 狀態 名稱 第0位 讀/寫 EN_IRQ[7:0] 位元編號 位元 狀態 名稱 第0位 讀/寫 第7位 讀 第6位 讀 第5位 讀 第4位 讀 第3位 讀 第2位 讀 復位值: 00h 第1位 讀 EVT_IRQ[7:0] 位元編號 位符號 7-0 EVT_IRQ[7:0] 說明 外部中斷要求狀態,每個位元對應至相關的 IRQ 狀態 1: 相對應之腳位發生中斷觸發 0: 相對應之腳位未發生中斷觸發 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 61 - 第0位 讀 WT51F104 具備 ADC 功能之 1T 8052 微控制器 外部中斷要求(IRQ)清除高位元組暫存器 CLR_IRQ[15:8] (外部記憶體位址: 0x44) 位元 狀態 名稱 第7位 寫 第6位 寫 第5位 寫 第4位 寫 第3位 寫 第2位 寫 復位值: 00h 第1位 寫 CLR_IRQ[15:8] 位元編號 位符號 7-0 CLR_IRQ[15:8] 說明 外部中斷要求清除 1: 相對應位元寫 1 可清除此中斷狀態 0: 未動作 外部中斷要求(IRQ)清除低位元組暫存器 CLR_IRQ[7:0] (外部記憶體位址: 0x45) 位元 狀態 名稱 第7位 寫 第6位 寫 第5位 寫 第4位 寫 第3位 寫 第2位 寫 復位值: 00h 第1位 寫 位符號 7-0 CLR_IRQ[7:0] 說明 外部中斷要求清除 1: 相對應位元寫 1 可清除此中斷狀態 0: 未動作 外部中斷要求(IRQ)雙向觸發高位元組暫存器 IRQ_CHG[15:8] (外部記憶體位址: 0x46) 第7位 讀/寫 第6位 讀/寫 第5位 讀/寫 第4位 讀/寫 第3位 讀/寫 第2位 讀/寫 復位值: 00h 第1位 讀/寫 位符號 7-0 IRQ_CHG[15:8] 說明 外部中斷要求觸發設定 1: 雙邊觸發 0: 單邊觸發 (根據 IRQ_EDGE[15:8]設定正緣或負緣觸發) 外部中斷要求(IRQ)雙向觸發低位元組暫存器 IRQ_CHG[7:0] (外部記憶體位址: 0x47) 位元編號 7-0 第0位 讀/寫 IRQ_CHG[15:8] 位元編號 位元 狀態 名稱 第0位 寫 CLR_IRQ[7:0] 位元編號 位元 狀態 名稱 第0位 寫 第7位 讀/寫 第6位 讀/寫 第5位 讀/寫 第4位 讀/寫 第3位 讀/寫 第2位 讀/寫 復位值: 00h 第1位 讀/寫 IRQ_CHG[7:0] 位符號 IRQ_CHG[7:0] 說明 外部中斷要求觸發設定 1: 雙邊觸發 0: 單邊觸發 (根據 IRQ_EDGE[7:0]設定正緣或負緣觸發) 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 62 - 第0位 讀/寫 WT51F104 具備 ADC 功能之 1T 8052 微控制器 外部中斷要求(IRQ)觸發緣高位元組暫存器 IRQ_EDGE[15:8] (外部記憶體位址: 0x48) 位元 狀態 名稱 位元編號 7-0 第7位 讀/寫 第6位 讀/寫 第5位 讀/寫 第4位 讀/寫 第3位 讀/寫 第2位 讀/寫 第1位 讀/寫 第0位 讀/寫 IRQ_EDGE[15:8] 位符號 IRQ_EDGE[15:8] 說明 外部中斷要求觸發緣設定 1: 負緣觸發 0: 正緣觸發 外部中斷要求(IRQ)觸發緣低位元組暫存器 IRQ_EDGE[7:0] (外部記憶體位址: 0x49) 位元 狀態 名稱 復位值: 00h 第7位 讀/寫 第6位 讀/寫 第5位 讀/寫 第4位 讀/寫 第3位 讀/寫 第2位 讀/寫 IRQ_EDGE[7:0] 位元編號 位符號 7-0 IRQ_EDGE[7:0] 說明 外部中斷要求觸發緣設定 1: 負緣觸發 0: 正緣觸發 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 63 - 復位值: 00h 第1位 讀/寫 第0位 讀/寫 WT51F104 具備 ADC 功能之 1T 8052 微控制器 6.6 脈衝寬度調製 (PWM) WT51F104 提供兩組 16 位精度的脈衝寬度調製模組,可以產生週期和佔空比。 輸出頻率共有 65535 階; 頻率範圍: 6 MHz ~ 183.1 Hz (工作於 IRC 12 MHz) Duty、Period 和 Source clock 彼此間有密切的關係,關係如下: Source clock Duty resolution Period x = 2 舉例: Source clock 是 IRC 12 MHz,若 Duty 設為 10-bit 解析度,則 Period 的範圍會在 11.7 kHz 以內 輸出型態: 推拉輸出 (push pull) 或開汲輸出 (open drain),可透過暫存器 GPIOx_TYP[x] (請參考下表對映 的腳位) 來設定 脈衝寬度輸出可觸發外部中斷要求 (IRQ) 來產生中斷,來計算 PWM 輸出數目,以達到馬達控制的應用 PWM0 及 PWM1 可透過複合功能設定暫存器選擇不同腳位輸出,減少佔用腳位問題 PWM0 可透過通用 I/O 端口 x 複合功能設定暫存器選擇四支腳位,其中一支腳位輸出。 PWM0 輸出腳位 外部中斷要求(IRQ)腳位 通用 I/O 端口 x 複合功能設定暫存器 A 路徑 B 路徑 C 路徑 D 路徑 GPIOB3 GPIOA4 GPIOA0 GPIOB2 IRQ10 IRQ14 IRQ0 IRQ5 GPB3_FUN_SLT[2:0] = 011 GPA4_FUN_SLT[1:0] = 011 GPA0_FUN_SLT[1:0] = 010 GPB2_FUN_SLT[1:0] = 011 PWM1 可透過通用 I/O 端口 x 複合功能設定暫存器選擇四支腳位,其中一支腳位輸出。 PWM1 輸出腳位 外部中斷要求(IRQ)腳位 通用 I/O 端口 x 複合功能設定暫存器 A 路徑 B 路徑 C 路徑 D 路徑 GPIOB5 GPIOA5 GPIOA2 GPIOB4 IRQ12 IRQ15 IRQ2 IRQ11 GPB5_FUN_SLT[2:0] = 011 GPA5_FUN_SLT[2:0] = 011 GPA2_FUN_SLT[1:0] = 011 GPB4_FUN_SLT[2:0] = 011 舉例: 設計 PWM0 輸出五個脈衝,可利用 GPIOB3/IRQ10 的正緣觸發中斷,來計數五次後,再把 PWM 關閉, 另外也可以計算 PWM 的 period。 PWM0/IRQ10 使用單邊正緣 觸發計數 PWM OFF 2 1 3 4 5 使用單邊正緣 觸發產生 PWM0 週期中斷 T0 使用雙邊正負緣 觸發產生 PWM0 佔空中斷 T2 T1 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 64 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 PWM 控制暫存器 位元 狀態 名稱 PWM_CTL (外部記憶體位址: 0x50) 第7位 第6位 - - 第5位 讀/寫 第4位 讀/寫 復位值: 00h 第3位 保留 PWM_PLRTY[1:0] 保留 位元編號 7-6 5-4 位符號 保留 PWM_PLRTY[1:0] 3 2 保留 LBYTE_UPD_EN 1 PWM_EN[1:0] 0 第2位 讀/寫 LBYTE_UPD_EN 第1位 讀/寫 第0位 讀/寫 PWM_EN[1:0] 說明 Bit 5: 1: PWM1 負緣輸出 0: PWM1 正緣輸出 Bit 4: 1: PWM0 負緣輸出 0: PWM0 正緣輸出 1: 致能寫入 PWM 週期或占空比控制低位元組暫存器時更新 PWM 輸出 0: 禁能寫入 PWM 週期或占空比控制低位元組暫存器時更新 PWM 輸出 1: 致能 PWM1 功能 0: 禁能 PWM1 功能 1: 致能 PWM0 功能 0: 禁能 PWM0 功能 -: 未能使用。 PWM0 週期控制高位元組暫存器 PWM0_PRD[15:8] (外部記憶體位址: 0x51) 位元 狀態 名稱 位元編號 7-0 第7位 讀/寫 第6位 讀/寫 第5位 讀/寫 第4位 讀/寫 第3位 讀/寫 復位值: 00h 第2位 讀/寫 第1位 讀/寫 PWM0_PRD[15:8] 位符號 PWM0_PRD[15:8] 說明 PWM0_PRD[15:8]是設定 PWM0 的輸出週期,搭配 PWM0_PRD[7:0]組 成 16 位元的週期調整值。 PWM0 週期: 時鐘源/ (PWM0_PRD[15:0]+1),時鐘源: 12 MHz IRC,DC ~ 24 MHz 石英晶體振盪器,32 kHz IRC 和 32.768 kHz 石英晶體振盪器。 PWM0 週期控制低位元組暫存器 PWM0_PRD[7:0] (外部記憶體位址: 0x52) 位元 狀態 名稱 位元編號 7-0 第0位 讀/寫 第7位 讀/寫 第6位 讀/寫 第5位 讀/寫 第4位 讀/寫 第3位 讀/寫 復位值: 01h 第2位 讀/寫 第1位 讀/寫 第0位 讀/寫 PWM0_PRD[7:0] 位符號 PWM0_PRD[7:0] 說明 PWM0_PRD[7:0]是設定 PWM0 的輸出週期,搭配 PWM0_PRD[15:8]組 成 16 位元的週期調整值。 PWM0 週期: 時鐘源/ (PWM0_PRD[15:0]+1),時鐘源: 12 MHz IRC,DC ~ 24 MHz 石英晶體振盪器,32 kHz IRC 和 32.768 kHz 石英晶體振盪器。 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 65 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 PWM0 佔空比控制高位元組暫存器 PWM0_DUTY[15:8] (外部記憶體位址: 0x53) 位元 狀態 名稱 位元編號 第7位 讀/寫 第6位 讀/寫 第5位 讀/寫 第4位 讀/寫 第3位 讀/寫 第2位 讀/寫 復位值: 00h 第1位 讀/寫 第0位 讀/寫 PWM0_DUTY[15:8] 位符號 說明 設定 PWM0 的佔空比輸出 PWM0_DUTY[15:8]是設定 PWM0 的佔空比,搭配 PWM0_DUTY[7:0]組 成 16 位元的佔空比調整值。 註: 佔空比輸出的最大設定必須是合理的值。 7-0 PWM0_DUTY[15:8] PWM0 佔空比控制低位元組暫存器 PWM0_DUTY[7:0] (外部記憶體位址: 0x54) 位元 狀態 名稱 位元編號 第7位 讀/寫 第6位 讀/寫 第5位 讀/寫 第4位 讀/寫 第3位 讀/寫 第2位 讀/寫 復位值: 00h 第1位 讀/寫 第0位 讀/寫 PWM0_DUTY[7:0] 位符號 說明 設定 PWM0 的佔空比輸出 PWM0_DUTY[7:0]是設定 PWM0 的佔空比,搭配 PWM0_DUTY[15:8]組成 16 位元的佔空比調整值。 註: 佔空比輸出的最大設定必須是合理的值。 7-0 PWM0_DUTY[7:0] PWM1 週期控制高位元組暫存器 PWM1_PRD[15:8] (外部記憶體位址: 0x55) 位元 狀態 名稱 第7位 讀/寫 第6位 讀/寫 第5位 讀/寫 第4位 讀/寫 第3位 讀/寫 復位值: 00h 第2位 讀/寫 第0位 讀/寫 PWM1_PRD[15:8] 位元編號 位符號 7-0 PWM1_PRD[15:8] 說明 PWM1_PRD[15:0]是設定 PWM1 的輸出週期,搭配 PWM1_PRD[7:0]組成 16 位元的週期調整值。 PWM1 週期: 時鐘源/ (PWM1_PRD[15:0]+1),時鐘源: 12 MHz IRC,DC ~ 24 MHz 石英晶體振盪器,32 kHz IRC 和 32.768 kHz 石英晶體振盪器。 PWM1 週期控制低位元組暫存器 PWM1_PRD[7:0] (外部記憶體位址: 0x56) 位元 狀態 名稱 第1位 讀/寫 第7位 讀/寫 第6位 讀/寫 第5位 讀/寫 第4位 讀/寫 第3位 讀/寫 復位值: 01h 第2位 讀/寫 第1位 讀/寫 第0位 讀/寫 PWM1_PRD[7:0] 位元編號 位符號 7-0 PWM1_PRD[7:0] 說明 PWM1_PRD[7:0]是設定 PWM1 的輸出週期,搭配 PWM1_PRD[15:8]組成 16 位元的週期調整值。 PWM1 週期: 時鐘源/ (PWM1_PRD[15:0]+1),時鐘源: 12 MHz IRC,DC ~ 24 MHz 石英晶體振盪器,32 kHz IRC 和 32.768 kHz 石英晶體振盪器。 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 66 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 PWM1 佔空比控制高位元組暫存器 PWM1_DUTY[15:8] (外部記憶體位址: 0x57) 位元 狀態 名稱 位元編號 第7位 讀/寫 第6位 讀/寫 第5位 讀/寫 第4位 讀/寫 第3位 讀/寫 第2位 讀/寫 復位值: 00h 第1位 讀/寫 第0位 讀/寫 PWM1_DUTY[15:8] 位符號 說明 設定 PWM1 的佔空比輸出 PWM1_DUTY[15:8]是設定 PWM1 的佔空比,搭配 PWM1_DUTY[7:0]組成 16 位元的佔空比調整值。 註: 佔空比輸出的最大設定必須是合理的值。 7-0 PWM1_DUTY[15:8] PWM1 佔空比控制低位元組暫存器 PWM1_DUTY[7:0] (外部記憶體位址: 0x58) 位元 狀態 名稱 位元編號 第7位 讀/寫 第6位 讀/寫 第5位 讀/寫 第4位 第3位 讀/寫 讀/寫 PWM1_DUTY[7:0] 位符號 第2位 讀/寫 復位值: 00h 第1位 讀/寫 第0位 讀/寫 說明 設定 PWM1 的佔空比輸出 PWM1_DUTY[7:0]是設定 PWM1 的佔空比,搭配 PWM1_DUTY[15:8]組成 16 位元的佔空比調整值。 註: 佔空比輸出的最大設定必須是合理的值。 7-0 PWM1_DUTY[7:0] 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 67 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 PWM0/PWM1 Period 設定說明: Period = PWMx_PRD PWM 輸出頻率 1 6MHz (最大值) 3 3 MHz 11 1 MHz 23 500 kHz 59 200 kHz 119 100 kHz 239 50 kHz 599 20 kHz 1199 10 kHz 2399 5 kHz 2999 4 kHz 3999 3 kHz 5999 2 kHz 11999 1 kHz 23999 500 Hz 29999 400 Hz 39999 300 Hz 59999 200 Hz 65535 183.1 Hz (最小值) Source clock (if: IRC 12MHz) PWMx_PRD + 1 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 68 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 Period FFFFH Duty 3 Duty 2 Duty 1 Period 0000H PWM_PLRTY = 0 Duty 1 PWM_PLRTY = 1 PWM_PLRTY = 0 Duty 2 PWM_PLRTY = 1 PWM_PLRTY = 0 Duty 3 PWM_PLRTY = 1 Period Period 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 69 - Period WT51F104 具備 ADC 功能之 1T 8052 微控制器 6.7 電源管理 WT51F104 提供四種操作模式,如下: 高速正常模式 (Normal mode) 低速省電模式 (Green mode) 空閒模式 (Idle mode) 睡眠模式 (Sleep mode) 下圖是四種操作模式的切換示意圖: Operating Mode 8052 Normal 1 Peripheral XTAL XTAL IRC IRC Power Clock (12 MHz) (32.768 kHz) (12 MHz) (32 kHz) Consumption@5V on on off off on on 3mA *1 Normal 2 on on off on on on 3mA *2 Normal 3 on on on off off off 3.5mA *3 Green 1 on on off off off on 17uA *4 *6 Green 2 on on off on off on 200uA *5 *6 Idle 1 off on off off on on 650uA *7 *9 *12 Idle 2 off off off off on on 500uA *8 *9 *12 Sleep 1 off off off off off off 300uA *10 *12 Sleep 2 off off off off off off 5uA *11 *12 Note 註: 1. LVD&LVDR 耗電流約 5uA@5V 2. LVR 耗電流約 5uA@5V 3. BLDO 耗電流 160uA@5V (只有在 Green 1 才可以關閉) *1 Normal 1 Mode: MCU 全部使用內部振盪器,故此模式最省成本,但 IRC 12 MHz 會受溫度影響,請參考 7.5 章節。 *2 Normal 2 Mode: 透過外部振盪器 32.768 kHz 來校正,IRC 12 MHz 可達到±1%。 *3 Normal 3 Mode: 此模式針對高頻準確的需求,因無外部 32.768 kHz 振盪器提供給實時定時器為系統參考源, 故要實現萬年曆或時鐘功能僅能使用 8052 計時器。 *4 Green 1 Mode: 將 Source clock 選擇內部 IRC 32 kHz 後,才可以手動關閉 main BLDO,讓耗電流降低, 至於內部 IRC 32 kHz 其頻率誤差為±30%。 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 70 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 *5 Green 2 Mode: Source clock 也是選擇內部 IRC 32 kHz 並且需手動開啟外部晶體振盪器 32.768 kHz 的電源 (CRY_32K_PD),因 main BLDO 控制整個外部振盪器的電源,故 main BLDO 不可以關閉。另外實時定時器 的系統參考源選擇外部晶體振盪器 32.768 kHz,並且將外部時鐘源除頻控制存器 (EN_CRY_DIV = 1 & CRY_DIV[9:0]=1) 設定除 2,此時實時定時器所選擇的計時時間會延長一倍,此模式為系統源為內部 IRC 32 kHz,而實時定時器的系統參考源為外部晶體振盪器 32.768 kHz 除 2 為 16.384 kHz,,才可以實現精確的萬 年曆或時鐘功能。 MCU 系統時鐘源 實時定時器時鐘源 耗電量 IRC 32 kHz IRC 32 kHz < 20uA@5V IRC 32 kHz Ext 32.768 kHz < 220uA@5V IRC 32 kHz Ext 32.768 kHz / 2 = 16.384 kHz Ext 32.768 kHz > 400uA@5V Ext 32.768 kHz 備註 IRC 32 kHz ±30% This mode cannot capture the Interrupt Event of Watch Timer due to System Clock < Watch Timer Clock. EN_CRY_DIV = 1 & CRY_DIV[9:0] = 1 *6 在 Green 1 模式下要切回 Normal x Mode 前需先開啟 main BLDO 才可以將 Source clock 選擇到內部 IRC 12 MHz 或外部振盪器 12 MHz 工作。 *7 Idle 1 Mode: 致能 MCU_CLK_OFF 即進入 Idle 模式,此模式喚醒快速且支援最多的喚醒源,可參考下圖喚醒 源的示意圖。 *8 Idle 2 Mode: 致能 SYSTEM_CLK_OFF 即進入 Idle 模式,此模式關閉 Peripheral Clock,所以 MCU 無法使 用 INT0/1/2_WK 喚醒,詳細可參考下圖喚醒源的示意圖。 *9 Idle 1 及 Idle 2 Mode 的喚醒時間: Source clock 為 12 MHz 的喚醒時間 2 * (1/12 MHz) = 166ns;Source clock 為 32 kHz 的喚醒時間 2 * (1/32 kHz) = 62.5us。 *10 Sleep 1 Mode.: 此模式為針對 Source clock 在 IRC 12 MHz 下致能 IRC12M_CLK_OFF,讓 MCU 進入睡眠 模式,且支援快速喚醒,喚醒時間為 8 * (1/12 MHz) = 666ns,至於喚醒源可參考下圖喚醒源的示意圖。 *11 Sleep 2 Mode.: 致能 SOURCE_CLK_OFF 即進入 Sleep 模式,喚醒時間: Source clock 為 IRC 12 MHz 的 喚醒時間 128 * (1/12 MHz) = 10.66us; Source clock 為外部晶振 12 MHz 的喚醒時間 16*1024 * (1/12 MHz) = 1360us,至於喚醒源可參考下圖喚醒源的示意圖。 *12 在 Idle 及 Sleep 模 式 下 採 用 實 時 定 時 器 定 時 喚 醒 , 需 開 啟 副 晶 振 盪 器 電 源 開 關 (IRC_32K_PD 或 CRY_32K_PD) 來當作實時定時器定時的時鐘源,此時的耗電流也會增加。 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 71 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 下圖為 MCU 工作模式圖: 可由代碼選項設定 RESET Normal mode Main CLK ON SUB CLK ON MCU ON 可由代碼選項設定 Wake up SOURCE clock = 32.768 kHz Idle SOURCE clock = 12 MHz Idle mode Main CLK ON or OFF SUB CLK ON MCU OFF Wake up Wake up Sleep Green mode Main CLK OFF SUB CLK ON MCU ON Idle Sleep Wake up 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 72 - Sleep mode Main CLK OFF SUB CLK OFF MCU OFF WT51F104 具備 ADC 功能之 1T 8052 微控制器 WT51F104 提供多種方式可喚醒,讓 WT51F104 從 Sleep/Idle 模式回到 Normal 模式。 下圖是各模式下喚醒源的示意圖: SOURCE NRST GPIOx_WK[x] INT0/1/2_WK INT3_WK ADC_WK ACOMP_WK WTMR_WK Idle 1 Idle 2 Sleep Mode MCU_CLK_OFF SYSTEM_CLK_OFF SOURCE_CLK_OFF IRC12M_CLK_OFF ○ ○ ○ ○ ○ ○ ○ ╳ ╳ ○ ╳ ╳ ╳ ╳ ╳ ○ ╳ ╳ ○ ○ ○ ╳ ╳ ╳ ○ ╳ ╳ ○ ○ ○ ╳ ╳ ╳ ○ ○ ○ ○ ○ ○ ○ ○ ○ IE0/1/2_SPI IE0/1/2_MSIIC IE0/1/2_ADC IE0/1/2_ACOMP IE0/1/2_LVD IE0/1/2_WTMR IE0/1/2_ETIMER IE0/1/2_IN_TOG IRQ[15:0] 註: 1. GPIOx_WK[x] 及 IE0/1/2_IN_TOG: 僅支援 18 根通用 I/O pin Toggle (GPIO A/B/C)。 2. IRQ[15:0]: IRQ 不支援喚醒,請使用 GPIOx_WK[x]喚醒。 3. ADC_WK: 針對輸入源來作比較觸發喚醒。 4. WTMR_WK: 需開啟副晶振 (IRC 32 kHz 或 Ext 32 kHz) 及副晶振盪器電源開關來當作實時定時器定時的 時鐘源。 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 73 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 ISP 時鐘源控制暫存器 ISP_CHG_CTL (外部記憶體位址: 0x04) 位元 狀態 名稱 第7位 讀/寫 ISP_CHG_12M 第6位 保留 第5位 讀/寫 第4位 讀 UART_ISP_CHG ISP_CHG_FLAG 位元編號 位符號 7 ISP_CHG_12M 6 5 保留 UART_ISP_CHG 4 ISP_CHG_FLAG 3-2 1 保留 LVD_RST_ACT_FLG 0 LVR_ACT_FLG 復位值: 00h 第3位 第2位 - 保留 第1位 讀 第0位 讀 LVD_RST_ACT_FLG LVR_ACT_FLG 說明 當 MCU 在低速省電及睡眠模式,ISP 腳位自動開啟內部 12 MHz RC 振盪器 1: 致能 0: 禁能 UART 腳位 (GPIA3) 觸發 ISP 時鐘源為內部 12 MHz RC 振盪器 1: 致能 0: 禁能 ISP_CHG_FLAG = 1: MCU 被 SWUT 腳位強制喚醒,自動開啟內部 12 MHz RC 振盪器並且把 SOURCE clock 切換為 12 MHz。 清除 ISP_CHG_FLAG,需將 ISP_CHG_12M 位元設定為 0。 1: 電源電壓 < 設定的低壓偵測復位範圍。 (此旗標沒有連接到類比濾波 器,易受干擾,僅供參考用) 1: 電源電壓 < 內部的低壓復位電壓。 (此旗標沒有連接到類比濾波器, 易受干擾,僅供參考用) -: 未能使用。 註: 當 Source clock 非 12 MHz 的應用時,請將下述強制觸發 SWUT 設定程序加到程式內,可讓 MCU 重複燒錄。 非 12 MHz 模式包括 Green、Sleep 模式或使用外部振盪器 (非 12 MHz),可以致能 ISP_CHG_12M 及 UART_ISP_CHG 位元讓 MCU 透過 SWUT 腳位觸發將 SOURCE clock 及 ISP clock 切到內部 12 MHz RC 振盪器,這時 MCU 才能接收到正確的 ISP command。 強制觸發 SWUT 設定程序: 1. 程式初始化致能 ISP_CHG_12M 及 UART_ISP_CHG 位元。 rISP_CHG_CTL = 0xA0; 2. 程式主迴圈判斷 ISP_CHG_FLAG 是否被觸發,並且針對 Sleep mode 增加一個軟體喚醒機制,可參考範例程式。 void DRV_CheckSwutTriggerWakeup(void) { //If enable rISP_CHG_CTL of bit 7 and Bit. //When Swut pin have hi to low(2V) level, Mcu will change source clock to IRC 12 MHz if(rISP_CHG_CTL & 0x10) { DRV_SoftwareWakeup(); //need delay 100ms(minimum) to wait ISP command, Don't remove this delay command DelayWhile(100); //This time MCU change source clock to IRC 12 MHz rISP_CHG_CTL = 0x00; //Disable ISP change clock. MCU go back to original setting rISP_CHG_CTL = 0xA0; //Enable ISP change clock } } 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 74 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 系統時鐘源控制暫存器 SOURCE_CLK_SLT (外部記憶體位址: 0x05) 位元 狀態 名稱 第7位 第6位 第5位 第4位 - - - - 位符號 保留 SOURCE_CLK_SLT[1:0] 1-0 MCU_CLK_SLT[1:0] 第2位 讀/寫 SOURCE_CLK_SLT[1:0] 保留 位元編號 7-4 3-2 第3位 讀/寫 復位值: A0h 第1位 讀/寫 第0位 讀/寫 MCU_CLK_SLT[1:0] 說明 必須等於”1010”,否則位元[3:0]無法寫入 選擇 SOURCE clock 來源 00: 內部 12 MHz RC 振盪器 (預設值) 01: 外部 DC ~ 24 MHz 石英晶體振盪器 10: 內部 32 kHz RC 振盪器 預設值可由 6.18 代碼選項選擇 MCU clock 設定 00: MCU clock = SOURCE clock (預設值) 01: MCU clock = SOURCE clock /2 10: MCU clock = SOURCE clock /4 11: MCU clock = SOURCE clock /12 -: 未能使用。 註: 1. 因外部晶振腳位同時支援 12 MHz 及 32.768 kHz 石英晶體振盪器的緣故,所以當 SOURCE clock 為外部 32.768 kHz 石英晶體振盪器時,不可以將 BLDO_PD 關閉,否則會使 SOURCE clock 停止工作且無法燒錄,可選擇 SOURCE clock 為內部 32 kHz RC 振盪器,搭配實時定時器選擇外部 32.768 kHz 石英晶體振盪器來操作。 2. 當 SOURCE clock 為內部 32 kHz RC 振盪器且實時定時器的系統時鐘源是選擇外部 32.768 kHz 石英晶體振盪 器時,會因內部 32 kHz RC 振盪器誤差太大,執行速度比實時定時器產生的中斷慢,而無法即時捕捉到中斷源, 所以在此模式下,需要將外部時鐘源除頻控制暫存器 1 及外部時鐘源除頻控制暫存器 2 設定為除 2,將實時定 時器的時鐘源除 2 為 16.384 kHz,此時實時定時器所選擇的時間都會增加一倍的計數時間,這時 MCU 才能完 全捕捉不會漏掉。 設定外部時鐘源除 2 流程: 1. 設定除頻數據: CRY_DIV[9:0] = 1,32.768 kHz/( CRY_DIV[9:0]+1) = 32.768 kHz/2 =16.384 kHz 2. 致能外部石英晶體振盪器之時鐘源除頻: EN_CRY_DIV = 1 省電控制暫存器 POWER_SAVE_CTL (外部記憶體位址: 0x06) 位元 狀態 名稱 第7位 第6位 - 第5位 第4位 - - 保留 位元編號 位符號 7-4 3 MCU_CLK_OFF 2 SYSTEM_CLK_OFF 第3位 讀/寫 第2位 讀/寫 復位值: 50h 第1位 讀/寫 第0位 讀/寫 MCU_CLK_OFF SYSTEM_CLK_OFF SOURCE_CLK_OFF IRC12M_CLK_OFF 說明 必須等於”0101”,否則位元[3:0]無法寫入 1: MCU clock 關閉 (包含 MCU 與部份周邊硬體),MCU 需等待 2 個 MCU clock 才可工作 0: MCU clock 開啟 1: System clock 關閉 (包含 MCU 與全部周邊硬體),MCU 需等待 2 個 MCU clock 才可工作 0: MCU clock 開啟 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 75 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 位元編號 位符號 說明 1 SOURCE_CLK_OFF (bias OFF) 0 IRC12M_CLK_OFF (bias ON) 1: SOURCE clock 關閉 SOURCE clock 來源: (MCU clock 全部關閉且 bias OFF) 為外部 24 MHz 或 32.768 kHz 石英晶體振盪器,MCU 需等待 1024 個 SYSTEM clock 才可工作 為內部 24 MHz 或 32 kHz RC 振盪器,MCU 需等待 128 個 SYSTEM clock 才可工作 0: MCU clock 開啟 1: 內部 12 MHz RC 振盪器關閉但 bias ON,MCU 需等待 8 個 SYSTEM clock 才可工作 0: MCU clock 開啟 -: 未能使用。 註: 請參考 3.1 章節系統時鐘方塊圖。 時鐘源開關控制暫存器 IRC_12M_PD (外部記憶體位址: 0x07) 位元 第7位 狀態 - 第6位 第5位 - - 名稱 第4位 第3位 讀/寫 讀/寫 復位值: A2h 第2位 IRC_12M_PD1 IRC_12M_PD2 保留 位元編號 7-5 4 位符號 IRC_12M_PD1 3 IRC_12M_PD2 2 IRC_32K_PD 1 CRY_12M_PD 0 保留 第1位 第0位 讀/寫 讀/寫 - IRC_32K_PD CRY_12M_PD 保留 說明 必須等於”101”,否則位元[4:0]無法寫入 1: 內部 12 MHz RC 振盪器部份電源關閉 (預設值不關閉) 0: 不關閉 1: 內部 12 MHz RC 振盪器全部電源關閉 (預設值不關閉) 0: 不關閉 1: 內部 32 kHz RC 振盪器電源關閉 (預設值不關閉) 0: 不關閉 1: 外部 12 MHz ~ 32 kHz 石英晶體振盪器電源關閉 (預設值關閉) 0: 不關閉 - -: 未能使用。 振盪器驅動控制暫存器 CRY_12M_DR[1:0] (外部記憶體位址: 0x08) 位元 狀態 名稱 位元編號 7-4 3 2-1 第7位 第6位 第5位 第4位 第3位 - - - - 保留 保留 位符號 保留 保留 CRY_12M_DR[1:0] 復位值: 54h 第2位 讀/寫 第1位 讀/寫 CRY_12M_DR[1:0] 說明 必須等於”0101”,否則位元[3:0]無法寫入 外部石英晶體振盪器驅動能力設定 00: 頻率為小於 100 kHz 之晶體振盪器 01: 頻率為 100 kHz ~ 1 MHz 之晶體振盪器 10: 頻率為 1 MHz ~ 12 MHz 之晶體振盪器 (預設值) 11: 頻率為 12 MHz ~ 24 MHz 之晶體振盪器 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 76 - 第0位 讀/寫 BLDO_PD WT51F104 具備 ADC 功能之 1T 8052 微控制器 位元編號 位符號 0 說明 預設值可由 6.18 代碼選項選擇 內部穩壓器 (main LDO) 1: 關閉 main LDO 0: 開啟 main LDO (預設值) 預設值可由 6.18 代碼選項選擇 BLDO_PD -: 未能使用。 註: main LDO 關閉僅針對 Green 模式,如果 SOURCE clock 為 12 MHz (IRC 內部或外部晶振) 都必須開啟,否則 會造成工作異常且不能燒錄。 註: 因 WT51F104 僅支援一組外部振盪器輸入,須根據外部石英晶體振盪器的頻率來設定振盪器的驅動能力, 詳細請參考下表。 CRY_12M_DR[1:0] 11 10 00 外部石英晶體振盪器 24 MHz 12 MHz 32.768 kHz 通用 I/O 端口 A 喚醒控制暫存器 GPIOA_WK[5:0] (外部記憶體位址: 0x60) 位元 狀態 名稱 第7位 第6位 - - 第5位 讀/寫 第4位 讀/寫 第3位 讀/寫 復位值: 00h 第2位 讀/寫 保留 GPIOA_WK[5:0] 位元編號 位符號 說明 7-6 5-0 保留 GPIOA_WK[5:0] 第1位 讀/寫 通用 I/O 端口 A 喚醒 MCU 致能設定 Bit 5 = 1: 致能通用 I/O 端口 A5 喚醒 MCU 之功能,為”0” Bit 4 = 1: 致能通用 I/O 端口 A4 喚醒 MCU 之功能,為”0” Bit 3 = 1: 致能通用 I/O 端口 A3 喚醒 MCU 之功能,為”0” Bit 2 = 1: 致能通用 I/O 端口 A2 喚醒 MCU 之功能,為”0” Bit 1 = 1: 致能通用 I/O 端口 A1 喚醒 MCU 之功能,為”0” Bit 0 = 1: 致能通用 I/O 端口 A0 喚醒 MCU 之功能,為”0” 第0位 讀/寫 禁能 禁能 禁能 禁能 禁能 禁能 -: 未能使用。 通用 I/O 端口 B 喚醒控制暫存器 GPIOB_WK[5:0] (外部記憶體位址: 0x61) 位元 狀態 名稱 第7位 第6位 - - 第5位 讀/寫 第4位 讀/寫 第3位 讀/寫 復位值: 00h 第2位 讀/寫 保留 GPIOB_WK[5:0] 位元編號 位符號 說明 7-6 5-0 保留 GPIOB_WK[5:0] 第1位 讀/寫 第0位 讀/寫 通用 I/O 端口 B 觸發喚醒 MCU 致能設定 Bit 5 = 1: 致能通用 I/O 端口 B5 觸發喚醒 MCU 之功能,為”0”禁能 Bit 4 = 1: 致能通用 I/O 端口 B4 觸發喚醒 MCU 之功能,為”0”禁能 Bit 3 = 1: 致能通用 I/O 端口 B3 觸發喚醒 MCU 之功能,為”0”禁能 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 77 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 位元編號 位符號 說明 Bit 2 = 1: 致能通用 I/O 端口 B2 觸發喚醒 MCU 之功能,為”0”禁能 Bit 1 = 1: 致能通用 I/O 端口 B1 觸發喚醒 MCU 之功能,為”0”禁能 Bit 0 = 1: 致能通用 I/O 端口 B0 觸發喚醒 MCU 之功能,為”0”禁能 -: 未能使用。 通用 I/O 端口 C 喚醒控制暫存器 GPIOC_WK[5:0] (外部記憶體位址: 0x62) 位元 狀態 名稱 第7位 第6位 - - 第5位 讀/寫 第4位 讀/寫 復位值: 00h 第3位 讀/寫 第2位 讀/寫 保留 GPIOC_WK[5:0] 位元編號 位符號 說明 7-6 5-0 保留 GPIOC_WK[5:0] 第1位 讀/寫 第0位 讀/寫 通用 I/O 端口 C 觸發喚醒 MCU 致能設定 Bit 5 = 1: 致能通用 I/O 端口 C5 觸發喚醒 MCU 之功能,為”0”禁能 Bit 4 = 1: 致能通用 I/O 端口 C4 觸發喚醒 MCU 之功能,為”0”禁能 Bit 3 = 1: 致能通用 I/O 端口 C3 觸發喚醒 MCU 之功能,為”0”禁能 Bit 2 = 1: 致能通用 I/O 端口 C2 觸發喚醒 MCU 之功能,為”0”禁能 Bit 1 = 1: 致能通用 I/O 端口 C1 觸發喚醒 MCU 之功能,為”0”禁能 Bit 0 = 1: 致能通用 I/O 端口 C0 觸發喚醒 MCU 之功能,為”0”禁能 -: 未能使用。 周邊中斷喚醒控制暫存器 PERIPHERAL_WK (外部記憶體位址: 0x64) 位元 狀態 名稱 第7位 讀/寫 第6位 讀/寫 第5位 讀/寫 第4位 讀/寫 INT_WK[3:0] 位元編號 位符號 7-4 INT_WK[3:0] 3 ADC_WK 2 ACOMP_WK 1 WTMR_WK 0 保留 復位值: 00h 第3位 讀/寫 第2位 讀/寫 第1位 讀/寫 ADC_WK ACOMP_WK WTMR_WK 說明 外部 8052 INT0/1/2/3 喚醒 MCU 致能設定 Bit 7 = 1: 致能 8052 INT3 喚醒 MCU 之功能,為”0”禁能 Bit 6 = 1: 致能 8052 INT2 喚醒 MCU 之功能,為”0”禁能 Bit 5 = 1: 致能 8052 INT1 喚醒 MCU 之功能,為”0”禁能 Bit 4 = 1: 致能 8052 INT0 喚醒 MCU 之功能,為”0”禁能 ADC 比較模式喚醒 MCU 致能設定 1: 致能 ADC 比較完成後喚醒 MCU 之功能 0: 禁能 ADC 比較完成後喚醒 MCU 之功能 比較器喚醒 MCU 致能設定 1: 致能比較器觸發後喚醒 MCU 之功能 0: 禁能比較器觸發後喚醒 MCU 之功能 實時定時器喚醒 MCU 致能設定 1: 致能實時定時器觸發後喚醒 MCU 之功能 0: 禁能實時定時器觸發後喚醒 MCU 之功能 - -: 未能使用。 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 78 - 第0位 保留 WT51F104 具備 ADC 功能之 1T 8052 微控制器 通用 I/O 端口 A 喚醒旗標暫存器 GPIOA_TOG[5:0] (外部記憶體位址: 0x65) 位元 狀態 名稱 第7位 第6位 - - 第5位 讀 第4位 讀 第3位 讀 復位值: 00h 第2位 讀 保留 GPIOA_TOG[5:0] 位元編號 位符號 說明 7-6 5-0 保留 GPIOA_TOG[5:0] 第1位 讀 第0位 讀 通用 I/O 端口 A 觸發喚醒旗標,若產生喚醒,則旗標位元 = 1 Bit 5: I/O 端口 A5 喚醒旗標 Bit 4: I/O 端口 A4 喚醒旗標 Bit 3: I/O 端口 A3 喚醒旗標 Bit 2: I/O 端口 A2 喚醒旗標 Bit 1: I/O 端口 A1 喚醒旗標 Bit 0: I/O 端口 A0 喚醒旗標 -: 未能使用。 通用 I/O 端口 B 喚醒旗標暫存器 GPIOB_TOG[5:0] (外部記憶體位址: 0x66) 位元 狀態 名稱 第7位 第6位 - - 第5位 讀 第4位 讀 第3位 讀 復位值: 00h 第2位 讀 保留 GPIOB_TOG[5:0] 位元編號 位符號 說明 7-6 5-0 保留 GPIOB_TOG[5:0] 第1位 讀 第0位 讀 通用 I/O 端口 B 觸發喚醒旗標,若產生喚醒,則旗標位元 = 1 Bit 5: I/O 端口 B5 喚醒旗標 Bit 4: I/O 端口 B4 喚醒旗標 Bit 3: I/O 端口 B3 喚醒旗標 Bit 2: I/O 端口 B2 喚醒旗標 Bit 1: I/O 端口 B1 喚醒旗標 Bit 0: I/O 端口 B0 喚醒旗標 -: 未能使用。 通用 I/O 端口 C 喚醒旗標暫存器 GPIOC_TOG[5:0] (外部記憶體位址: 0x67) 位元 狀態 名稱 第7位 第6位 - - 第5位 讀 第4位 讀 第3位 讀 復位值: 00h 第2位 讀 保留 GPIOC_TOG[5:0] 位元編號 位符號 說明 7-6 5-0 保留 GPIOC_TOG[5:0] 第1位 讀 通用 I/O 端口 C 觸發喚醒旗標,若產生喚醒,則旗標位元 = 1 Bit 5: I/O 端口 C5 喚醒旗標 Bit 4: I/O 端口 C4 喚醒旗標 Bit 3: I/O 端口 C3 喚醒旗標 Bit 2: I/O 端口 C2 喚醒旗標 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 79 - 第0位 讀 WT51F104 具備 ADC 功能之 1T 8052 微控制器 位元編號 位符號 說明 Bit 1: I/O 端口 C1 喚醒旗標 Bit 0: I/O 端口 C0 喚醒旗標 -: 未能使用。 周邊中斷喚醒旗標暫存器 PERIPHERAL_TOG (外部記憶體位址: 0x69) 第7位 讀 位元 狀態 名稱 第6位 讀 第5位 讀 第4位 讀 INT_WK_EVT [3:0] 位元編號 7-4 位符號 INT_WK_EVT[3:0] 3 ADC_TOG 2 ACOMP_TOG 1 WTMR_EVT 0 -: 未能使用。 保留 復位值: 00h 第3位 讀 第2位 讀 第1位 讀 ADC_TOG ACOMP_TOG WTMR_EVT 第7位 寫 說明 7 6-1 0 -: 未能使用。 復位值: 00h 第6位 第5位 第4位 第3位 第2位 第1位 - - - - - - CLR_IN_TOG 位元編號 IN_TOG 說明 1: 清除所有輸入觸發喚醒 1: 所有的通用 I/O 端口觸發喚醒旗標 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 80 - 第0位 讀 IN_TOG 保留 位符號 CLR_IN_TOG 保留 保留 中斷喚醒旗標 Bit 7 = 1: MCU 是由 INT3 中斷喚醒 Bit 6 = 1: MCU 是由 INT2 中斷喚醒 Bit 5 = 1: MCU 是由 INT1 中斷喚醒 Bit 4 = 1: MCU 是由 INT0 中斷喚醒 ADC 觸發比較模式 (喚醒) 旗標 1: ADC 比較模式發生觸發 (喚醒) 0: ADC 比較模式未發生觸發 (喚醒) 比較器觸發 (喚醒) 旗標 1: 比較器發生觸發 (喚醒) 0: 比較器未發生觸發 (喚醒) 實時定時器觸發 (喚醒) 旗標 1: 實時定時器發生觸發 (喚醒) 0: 實時定時器未發生觸發 (喚醒) - 喚醒清除暫存器 CLR_IN_TOG (外部記憶體位址: 0x6A) 位元 狀態 名稱 第0位 WT51F104 具備 ADC 功能之 1T 8052 微控制器 進入睡眠模式及喚醒的設定程序: 1. 設定 RST_NDF = 1 2. 禁能看門狗定時器 (DIS_WDT[7:5] = 101) 3. 選擇喚醒的來源 Sleep Mode 來源 1. NRST 腳位為低電位 2. 外部中斷 INT0/1/2 來源 3. Idle Mode No Clock Sub: 32 kHz Main: 12 MHz ● ● ● SPI 中斷 ● 比較器中斷 ● 低壓偵測中斷 實時定時器中斷 增強型計時/計數中斷 ● 18 根通用 I/O pin Toggle 中斷 ● ● ● ● ● ● 外部中斷 INT3 來源 (GPIO A/B/C) 16 根 IRQ 中斷 ● 4. 18 根通用 I/O pin Toggle (GPIO A/B/C) ● ● ● 5. ADC_WK (Compare Mode) ● ● ● 6. ACOMP_WK ● ● ● 7. WTMR_WK ● ● ● 4. 清除所有輸入觸發喚醒 (CLR_IN_TOG = 1) 5. 將 SOURCE clock 選擇內部 12 MHz RC 振盪器 (SOURCE_CLK_SLT[1:0] = 00) 6. 進入睡眠電模式 (SOURCE_CLK_OFF = 1) 7. 等待喚醒觸發 SOURCE clock 為 IRC 12M,需要等待 128 clock 才可回主程式工作 SOURCE clock 為 Crystal,需要等待 16 x 1024 clock 才可回主程式工作 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 81 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 6.8 12 MHz RC 振盪器校正 WT51F104 內建 12 MHz RC 振盪器,可減少外掛石英晶體振盪器的成本,但如果要較精確的系統時鐘,除了利用 外部石英晶體振盪器 12 MHz 之外,使用 32.768 kHz (石英晶體振盪器) 來校正內部 RC 12 MHz 振盪器,也是一種 較佳的選擇 (校正可以達到 ±1% 在 -40℃ ~ +85℃)。 內部振盪調整暫存器 RC_LADJ (外部記憶體位址: 0x70) 位元 狀態 名稱 第7位 第6位 讀/寫 保留 位元編號 第5位 讀/寫 第4位 讀/寫 復位值: 40h 第3位 讀/寫 第2位 讀/寫 RC_LADJ_C[2:0] 第1位 讀/寫 第0位 讀/寫 RC_LADJ_F[3:0] 位符號 說明 7 6-4 RC_LADJ_C[2:0] 3-0 RC_LADJ_F[3:0] -: 未能使用。 保留 內部 RC 振盪頻率每一階 8%粗調 (預設值’100’),共有 7 階 內部 RC 振盪頻率每一階 0.5%細調 (預設值’1000’),共有 15 階 註: 內部振盪調整暫存器 RC_LADJ_C[2:0]及 RC_LADJ_F[3:0]直接調整 IRC 12 MHz 的控制電路。 內部振盪計數數據高位元組暫存器 RC12M_CNT[9:2] (外部記憶體位址: 0x71) 位元 狀態 名稱 位元編號 7-0 第7位 讀 第6位 讀 第5位 讀 第4位 讀 第3位 讀 復位值: 00h 第2位 讀 第1位 讀 RC12M_CNT[9:2] 位符號 RC12M_CNT[9:2] 說明 內部 12 MHz RC 振盪器的計數值 RC12M_CNT [9:2], 搭配 RC12M_CNT[1:0] 組成 10 位元計數值 內部振盪計數數據低位元組暫存器 RC12M_CNT[1:0] (外部記憶體位址: 0x72) 位元 狀態 名稱 第0位 讀 第7位 第6位 第5位 - - - 第4位 第3位 第2位 - - - 位符號 7-2 1-0 保留 RC12M_CNT[1:0] 第1位 讀 第0位 讀 RC12M_CNT[1:0] 保留 位元編號 復位值: 00h 說明 內部 12 MHz RC 振盪器的計數值 RC12M_CNT [1:0], 搭配 RC12M_CNT[9:2]組成 10 位元計數值 -: 未能使用。 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 82 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 內部振盪校正控制暫存器 RC_CALIB_EN (外部記憶體位址: 0x73) 位元 狀態 名稱 第7位 讀/寫 RC_CALIB_EN 位元編號 7 6 5 4-0 -: 未能使用。 第6位 保留 第5位 讀/寫 AUTO_CAL_EN 第4位 - 位符號 復位值: 00h 第3位 - 第2位 保留 第1位 - 第0位 - 說明 RC_CALIB_EN 保留 AUTO_CAL_EN 保留 1: 致能 RC 振盪器校正功能 1: 致能 H/W 自動校正功能 - 註: 手動校正: 致能 RC_CALIB_EN,並且搭配 Firmware 調整。 自動校正: 致能 RC_CALIB_EN 及 AUTO_CAL_EN。 32.768 kHz crystal OSC/GPIOA4D ................ RC 12 MHz RC12M_CNT[9:0] 校正原理: 當外部採用 32.768 kHz 振盪器,可利用內部 RC 12 MHz 在一個精準的 32.768 kHz 的固定寬度計數個數,所得到 的計數值,再經由控制內部振盪調整暫存器 RC_LADJ_C[2:0]及 RC_LADJ_F[3:0]去作補償,在室溫下達到 ±1%的 標準。 校正粗調及細調的範圍: 粗調: 目前內部 RC 頻率 ± (內部 RC 頻率 * 0.08); RC_LADJ_C[2:0]共有 000 ~ 111,中間值為 100。 細調: 目前內部 RC 頻率 ± (內部 RC 頻率 * 0.005); RC_LADJ_F[3:0]共有 0000 ~ 1111,中間值為 1000。 RC12M_CNT[9:0] 360 361 362 363 364 365 366 367 368 369 370 外掛 32.768 kHz 取樣 (Hz) 目標值 (Hz) 誤差 % 11796480 11829248 11862016 11894784 11927552 11960320 11993088 12025856 12058624 12091392 12124160 12000000 12000000 12000000 12000000 12000000 12000000 12000000 12000000 12000000 12000000 12000000 +1.70 +1.42 +1.15 +0.88 +0.60 +0.33 +0.06 -0.22 -0.49 -0.76 -1.03 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 83 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 註: 1. WT51F104 從睡眠中被喚醒時,RC 振盪器校正功能至少需要等待 83.3ns (在 12 MHz),才可以正常工作。 2. 當致能 RC 振盪器校正功能後,必須讀取 RC12M_CNT[9:2]及 RC12M_CNT[1:0]暫存器兩次,並且確認數據 相同才可進行校正。 3. 當 RC12M_CNT[9:0] 內部振盪計數數據暫存器為 511 (0x1FF),表示沒有外部振盪器或是沒有致能外部振盪器。 4. 當系統復位時,WT51F104 會自動載入 RC 12 MHz 振盪器的校正值到內部振盪調整暫存器 0x70。 5. 當致能 AUTO_CAL_EN 且 MCU 的外部 32.768 kHz 振盪器也起振,MCU 會每 30.5us 自動校正一次。 (條件:CRY_12M_PD、IRC_12M_PD1 及 IRC_12M_PD2 不可關閉) 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 84 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 6.9 看門狗定時器 與實時定時器 6.9.1 看門狗定時器 (WDT) 看門狗定時器可迅速發現 CPU 的故障,比如由噪聲或、電源干擾,或斷電等導致軟體死循環,進而使 CPU 恢復正 常狀態。當看門狗定時器的內部計數器溢出時會產生復位訊號,並將 CPU 復位。 看門狗定時器不同於通用的 8052 的計時器 0/1/2,為了防止看門狗定時器產生復位,可以透過軟體定時清除看門狗 計數器。當不可預料的復位發生時,用戶應該檢查復位旗標暫存器的 WDT_RST_FLG 位元,來判斷上次是否是由 看門狗產生的復位。 看門狗定時器的時鐘來源: 內部 32 kHz 或 外部 32.768 kHz 石英晶體振盪器 重置時間: 16 ms、32 ms、1.024 S、2.048 S 看門狗定時控制暫存器 WDT_CTL (外部記憶體位址: 0x78) 第7位 讀/寫 位元 狀態 名稱 第6位 讀/寫 第5位 讀/寫 第4位 第3位 第2位 - - - DIS_WDT[2:0] 位元編號 位符號 7-5 DIS_WDT[2:0] 4-2 1-0 保留 WDT_TM_SLT[1:0] 復位值: 02h 保留 第1位 讀/寫 第0位 讀/寫 WDT_TM_SLT[1:0] 說明 看門狗定時器開關 101: 禁能看門狗定時器同時清除計數 其它值: 致能看門狗定時器 看門狗復位時間設定 當看門狗使用內部 RC 32 kHz 振盪器: 00: 16 ms 01: 32 ms 10: 1.024 S 11: 2.048 S 當看門狗使用外部 32.768 kHz 石英晶體振盪器: 00: 15.625 ms 01: 31.25 ms 10: 1 S 11: 2 S -: 未能使用。 注意: 1. 內部 32 kHz RC 振盪器的頻率誤差約為 ±30%。 2. 看門狗定時器的時鐘源可由系統控制暫存器 (外部記憶體位址: 0x01) 的 WDT_CLK_SLT 來選擇,細節描述 在後。 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 85 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 系統控制暫存器 SYS_CTL (外部記憶體位址: 0x01) 位元 狀態 名稱 第7位 讀/寫 第6位 讀/寫 第5位 讀/寫 RST_NDF LVR_PD EN_PC_OVL_RST 位元編號 位符號 7 RST_NDF 6 LVR_PD 5 EN_PC_OVL_RST 4-2 1 保留 WDT_CLK_SLT 0 WTMR_CLK_SLT 復位值: 80h 第4位 第3位 第2位 保留 第1位 讀/寫 第0位 讀/寫 WDT_CLK_SLT WTMR_CLK_SLT 說明 1: NRST 腳位沒有數位濾波功能 0: NRST 腳位有數位濾波功能 (4 個 clock) 1: 關閉低壓復位電源 0: 開啟低壓復位電源 1: 致能程序計數器溢位復位 0: 禁能程序計數器溢位復位 1: 看門狗定時器使用外部 12 MHz ~ 32 kHz 石英晶體振盪器 0: 看門狗定時器使用內部 32 kHz RC 振盪器 1: 實時定時器使用外部 12 MHz ~ 32 kHz 石英晶體振盪器 0: 實時定時器使用內部 32 kHz RC 振盪器 -: 未能使用。 註: 當 WDT_CLK_SLT = 1 或 WTMR_CLK_CLT = 1 時,必須同時致能 EN_CRY_DIV 並且設定 CRY_DIV[9:0],讓看門狗定時器及實時定時器使用準確的時鐘源 32 kHz。 外部時鐘源除頻控制暫存器 1 CRY_DIV[9:8] (外部記憶體位址: 0x09) 位元 狀態 名稱 第7位 讀/寫 復位值: 01h 第6位 第5位 第4位 第3位 第2位 - - 保留 - - EN_CRY_DIV 位元編號 位符號 7 EN_CRY_DIV 6-2 1-0 保留 CRY_DIV[9:8] 第1位 讀/寫 第0位 讀/寫 CRY_DIV[9:8] 說明 1: 致能外部石英晶體振盪器之時鐘源除頻 0: 禁能外部石英晶體振盪器之時鐘源除頻 外部石英晶體振盪器之時鐘源除頻數據[9:8],搭配 CRY_DIV[7:0]組成 10 位元除頻數據 -: 未能使用。 外部時鐘源除頻控制暫存器 2 CRY_DIV[7:0] (外部記憶體位址: 0x0A) 位元 狀態 名稱 位元編號 第7位 讀/寫 第6位 讀/寫 第5位 讀/寫 第4位 讀/寫 復位值: 76h 第3位 讀/寫 第2位 讀/寫 第1位 讀/寫 第0位 讀/寫 CRY_DIV[7:0] 位符號 說明 外部石英晶體振盪器之時鐘源除頻數據[7:0],搭配 CRY_DIV[9:8]組成 10 7-0 CRY_DIV[7:0] 位元除頻數據 註: 當致能 EN_CRY_DIV 時,CRY_DIV[9:0]不可以為零,會導致 MCU 無法工作。 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 86 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 舉例: 1. 當SOURCE clock選擇外部24 MHz 石英晶體振盪器,且看門狗定時器及實時定時器要使用頻率誤差較低的時鐘 源,須致能外部時鐘源除頻控制暫存器及除頻數據。 1. 設定除頻數據: CRY_DIV[9:0] = 731,24 MHz / (CRY_DIV[9:0] + 1) = 24 MHz / 732 = 32.768 kHz 2. 致能外部石英晶體振盪器之時鐘源除頻: EN_CRY_DIV = 1 3. 選擇看門狗定時器及實時定時器的時鐘源為外部振盪器:WDT_CLK_SLT = 1;WTMR_CLK_SLT = 1 2. 當SOURCE clock選擇外部12 MHz 石英晶體振盪器,且看門狗定時器及實時定時器要使用頻率誤差較低的時鐘 源,須致能外部時鐘源除頻控制暫存器及除頻數據。 1. 設定除頻數據: CRY_DIV[9:0] = 365,12 MHz / (CRY_DIV[9:0] + 1) = 12 MHz / 366 = 32.768 kHz 2. 致能外部石英晶體振盪器之時鐘源除頻: EN_CRY_DIV = 1 3. 選擇看門狗定時器及實時定時器的時鐘源為外部振盪器:WDT_CLK_SLT = 1;WTMR_CLK_SLT = 1 3. 當SOURCE clock選擇內部32 kHz,且看門狗定時器及實時定時器要使用外部32.768 kHz 石英晶體振盪器來當 時鐘源,須致能外部時鐘源除頻控制暫存器及除頻數據。 1. 設定除頻數據: CRY_DIV[9:0] =1,32.768 kHz / (CRY_DIV[9:0] + 1) = 32.768 kHz / 2 = 16.384 kHz 2. 致能外部石英晶體振盪器之時鐘源除頻: EN_CRY_DIV = 1 3. 選擇看門狗定時器及實時定時器的時鐘源為外部振盪器:WDT_CLK_SLT = 1;WTMR_CLK_SLT = 1 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 87 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 6.9.2 實時定時器 (Watch Timer) 實時定時器的應用功能包括: 定時中斷、定時喚醒、定時模/數轉換等功能。 實時定時器的時鐘源為 32 kHz 內部 RC 振盪器或 32.768 kHz 外部振盪器。利用此時鐘源,可以產生八組 基準時間 實時定時器控制暫存器 WTMR_CTL (外部記憶體位址: 0x7C) 位元 狀態 名稱 第7位 讀/寫 DIS_WTMR 第6位 讀 第5位 寫 復位值: 80h 第4位 第3位 第2位 第1位 第0位 - - 保留 - - WTMR_EVT CLR_WTMR_EVT 位元編號 位符號 7 DIS_WTMR 6 WTMR_EVT 5 4-0 CLR_WTMR_EVT 保留 說明 1: 禁能實時定時器 0: 致能實時定時器 1: 表示產生實時定時器事件 (實時定時器計數到 WTMER[2:0]的設定 時間) 0: 硬體自動設定為 0,當 CLR_WTMR_EVT = 1 1: 清除實時定時器事件,使 WTMR_EVT = 0 - -: 未能使用。 實時定時器速度選擇暫存器 WTMR_SLT[2:0] (外部記憶體位址: 0x7D) 位元 狀態 名稱 第7位 第6位 第5位 第4位 第3位 - - 保留 - - 位元編號 位符號 7-3 2-0 保留 WTMR_SLT[2:0] 復位值: 00h 第2位 讀/寫 第1位 讀/寫 第0位 讀/寫 WTMR_SLT[2:0] 說明 實時定時器時間基礎選擇位元 (若要精準,建議採用外部石英晶體振盪器 12 MHz or 32.768 kHz, 請參考 6.9.1 章節) 000: watch time = 3.91 ms 001: watch time = 31.25 ms 010: watch time = 62.50 ms 011: watch time = 125 ms 100: watch time = 0.25 S 101: watch time = 0.5 S 110: watch time = 1 S 111: watch time = 2 S -: 未能使用。 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 88 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 6.10 I²C 串行介面 I²C 模組使用 SCL (時鐘) 和 SDA (數據) 線來聯繫其它的 I²C 介面, 其速度可以由軟體設定特殊暫存器 (XFR) 中 的 MI²C_CLK[1:0],從而使其高達到 400KBpS (最大值)。 I²C 模組可以提供主/從機模式,可由暫存器來設定。 主/從機 I²C 控制暫存器 MI²C_CTL (外部記憶體位址: 0xA0) 位元 狀態 名稱 第7位 讀/寫 MI²C_EN 位元編號 7 第6位 讀/寫 第5位 讀/寫 MI²C_CLK[1:0] 復位值: 40h 第4位 寫 第3位 寫 第2位 讀/寫 第1位 寫 MI²C_START MI²C_STOP MI²C_TXNAK 第0位 寫 MI²C_CLR_RT MI²C_CLR_STP 位符號 MI²C_EN 說明 1: 致能 I²C 功能 0: 禁能 I²C 功能 I²C 速度段位選擇位元 6-5 MI²C_CLK[1:0] 00: SCL clock = 400 kHz 在 12 MHz 晶振下 01: SCL clock = 200 kHz 在 12 MHz 晶振下 10: SCL clock = 100 kHz 在 12 MHz 晶振下 11: SCL clock = 50 kHz 在 12 MHz 晶振下 1: 致能 I²C 傳送開始位元 4 MI²C_START 0: 禁能 I²C 傳送開始位元 1: 致能 I²C 傳送停止位元 3 MI²C_STOP 0: 禁能 I²C 傳送停止位元 主機模式下在接收下筆資料前的應答位元 2 MI²C_TXNAK 1: 傳送 NACK 0: 傳送 ACK 1: 清除傳送及接收中斷 1 MI²C_CLR_RT 1: 清除從機模式停止狀態中斷 0 MI²C_CLR_STP 註: 如果更改主機 I²C 速度,需要等待 10us (SOURCE clock 為 12 MHz),給內部的參考時鐘穩定,才可以讓 主機 I²C 開始工作。 主/從機 I²C 狀態暫存器 MI²C_STA (外部記憶體位址: 0xA1) 位元 狀態 名稱 第7位 讀 第6位 讀 第5位 讀 第4位 讀 MI²C_RDY MI²C_INT_RT MI²C_INT_STOP MI²C_BB 復位值: 00h 第3位 讀 第2位 讀 MI²C_FIRST MI²C_RW 第1位 讀 第0位 MI²C_RXNAK 保留 - 位元編號 位符號 說明 7 6 5 4 3 MI²C_RDY MI²C_INT_RT MI²C_INT_STOP MI²C_BB MI²C_FIRST 2 MI²C_RW 接收/傳輸第九位元或從機模式接收到停止位元的中斷發生 接收/傳輸第九位元中斷發生狀態位 從機模式接收到停止位元中斷發生 從機模式線路忙碌狀態位 從機模式的接收第一個位元組狀態位,這是第一個位元組從主機 I²C 與特 定從機位址。 從機模式的讀/寫模式狀態位 (第一個位元組的第八位元) 1: 從機 I²C 為傳送模式 0: 從機 I²C 為接收模式 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 89 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 位元編號 位符號 1 MI²C_RXNAK 0 -: 未能使用 保留 說明 從機傳輸模式應答狀態位 1: 主機回覆 NACK 0: 主機回覆 ACK - 主/從機 I²C 傳送緩衝暫存器 MI²C_DSLV[7:0] (外部記憶體位址: 0xA2) 位元 狀態 名稱 第7位 讀/寫 第6位 讀/寫 位元編號 位符號 7-0 MI²C_DSLV[7:0] 第5位 讀/寫 復位值: 00h 第4位 第3位 讀/寫 讀/寫 MI²C_DSLV[7:0] 第2位 讀/寫 第1位 讀/寫 說明 主機模式下所要傳輸的從機位址 主/從機 I²C 傳送及接收緩衝暫存器 MI²C_DTRX[7:0] (外部記憶體位址: 0xA3) 位元 狀態 名稱 第7位 讀/寫 第6位 讀/寫 位元編號 位符號 7-0 MI²C_DTRX[7:0] 第5位 讀/寫 第4位 第3位 讀/寫 讀/寫 MI²C_DTRX[7:0] 復位值: FFh 第2位 讀/寫 第1位 讀/寫 第7位 讀/寫 I²C 傳輸及接收的緩衝區 對此暫存器作寫入的動作,將會把數據從 I²C 傳送緩衝區傳送出去 對此暫存器作讀取的動作,將會把數據從 I²C 接收緩衝區接收出去 第6位 讀/寫 第5位 讀/寫 第4位 讀/寫 復位值: 00h 第3位 讀/寫 第2位 讀/寫 第1位 讀/寫 MI²C_SADR 位元編號 位符號 7-1 MI²C_SADR 0 MI²C_SLVE 第0位 讀/寫 MI²C_SLVE 說明 從機的位址 The slave address 致能 I²C 為從機模式 1: I²C 為從機 0: I²C 為主機 主/從機 I²C 延伸控制暫存器 MI²C_EXTEND (外部記憶體位址: 0xA5) 位元 狀態 名稱 第0位 讀/寫 說明 從機 I²C 位址暫存器 MI²C_SADR (外部記憶體位址: 0xA4) 位元 狀態 名稱 第0位 讀/寫 復位值: 00h 第7位 第6位 第5位 第4位 第3位 第2位 - - - - - - 保留 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 90 - 第1位 讀/寫 第0位 讀/寫 MI²C_AUTOSTP MI²C_WAIT WT51F104 具備 ADC 功能之 1T 8052 微控制器 位元編號 7-2 1 0 -: 未能使用 位符號 保留 MI²C_AUTOSTP MI²C_WAIT 說明 致能主機 I²C 自動傳送停止位元,當接收到 NACK 位元時 致能 SCL 延長 (在第九個 SCL 後拉低 SCL 準位) 當韌體處理時間比 I²C 接收九個位元的時間還慢時,韌體必須設定 MI²C_WAIT,使 WT51F104 在第九個 SCL 後 拉低準位,請主機等待它。 Pull low SCL START SCL SDA Slave Address 0 A 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 91 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 2 WT51F104 Master/Slave I C Data Flow (1) Master write mode : STOP START MSCL MSDA internal MSDA Slave Address 0 A TX DATA 1 Slave Address 0 TX DATA 1 MIIC_RDY A TX DATA 2 A TX DATA 2 set MIIC_CLR_RT set MIIC_START MIIC_BB=1 MIIC_RXNAK=0 MIIC_RDY=1 MIIC_BB=1 MIIC_RXNAK=0 MIIC_RDY=1 MIIC_BB=0 MIIC_BB=1 MIIC_RXNAK=0 MIIC_RDY=1 (2) Master read mode : START STOP MSCL MSDA internal MSDA Slave Address 1 A Slave Address 1 RX DATA 1 A RX DATA 2 A MIIC_RDY N N set MIIC_CLR_RT set MIIC_START MIIC_BB=1 MIIC_RXNAK=0 MIIC_RDY=1 MIIC_DRX=RXDATA1 MIIC_BB=1 MIIC_RXNAK=0 MIIC_RDY=1 (3) Slave write mode : MIIC_BB=1 MIIC_RXNAK=0 MIIC_RDY=1 MIIC_DRX=RXDATA2 START MIIC_BB=0 STOP MSCL Slave Address MSDA internal RX DATA 1 0 A A MSDA A RX DATA 2 A A MIIC_RDY A set MIIC_CLR_STP set MIIC_CLR_RT MIIC_RDY=1 MIIC_INT_RT=1 MIIC_INT_STOP=0 MIIC_BB=1 MIIC_FIRST=0 MIIC_RW=0 MIIC_RXNAK=0 MIIC_DRX=RXDATA1 MIIC_RDY=1 MIIC_INT_RT=1 MIIC_INT_STOP=0 MIIC_BB=1 MIIC_FIRST=1 MIIC_RW=0 MIIC_RXNAK=0 (4) Slave read mode : MIIC_RDY=1 MIIC_INT_RT=1 MIIC_INT_STOP=0 MIIC_BB=1 MIIC_FIRST=0 MIIC_RW=0 MIIC_RXNAK=0 MIIC_DRX=RXDATA2 START MIIC_RDY=1 MIIC_INT_RT=0 MIIC_INT_STOP=1 MIIC_BB=1 MIIC_FIRST=0 MIIC_RW=0 MIIC_RXNAK=0 STOP MSCL MSDA internal Slave Address MSDA 1 A TX DATA 1 A TX DATA 1 MIIC_RDY TXDATA1=>MIIC_DTX A TX DATA 2 N TX DATA 2 set MIIC_CLR_STP set MIIC_CLR_RT TXDATA2=>MIIC_DTX MIIC_RDY=1 MIIC_INT_RT=1 MIIC_INT_STOP=0 MIIC_BB=1 MIIC_FIRST=1 MIIC_RW=1 MIIC_RXNAK=0 MIIC_RDY=1 MIIC_INT_RT=1 MIIC_INT_STOP=0 MIIC_BB=1 MIIC_FIRST=0 MIIC_RW=1 MIIC_RXNAK=0 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 92 - MIIC_RDY=1 MIIC_INT_RT=1 MIIC_INT_STOP=0 MIIC_BB=1 MIIC_FIRST=0 MIIC_RW=1 MIIC_RXNAK=1 MIIC_RDY=1 MIIC_INT_RT=0 MIIC_INT_STOP=1 MIIC_BB=1 MIIC_FIRST=0 MIIC_RW=1 MIIC_RXNAK=1 WT51F104 具備 ADC 功能之 1T 8052 微控制器 2 WT51F104 Master/Slave I C Data Flow START set EN_MIIC_IO set EN_MIIC select MIIC clock (MIIC_CLK[1:0]) clr MIIC_SLV NO MIIC_BB=0? YES We can set AUTO_STOP to reduce this flow clr MIIC_TXNAK Time out set SLAVE_ADDRS YES set 1st Byte Data (WRITE Mode) set MIIC_SATRT set MIIC_STOP set MIIC_CLR_RT NO MIIC_RDY=1? Hardware Fail NO MIIC_RDY=1? YES MIIC_RXNAK=0? NO YES NO set MIIC_CLR_RT YES Write Mode YES set 2nd Byte Data set MIIC_CLR_RT MIIC_RDY=1? NO set MIIC_CLR_RT YES MIIC_RXNAK=0? MIIC_FIRST=1? Read Mode NO last byte-1 NO YES NO NO YES Send last byte ? last byte YES YES set TXNAK set MIIC_STOP NO set 3rd Byte Data set MIIC_STOP set MIIC_CLR_RT set MIIC_CLR_RT MIIC_RDY=1? Read MIIC_DTRX Read MIIC_DTRX set MIIC_CLR_RT set MIIC_CLR_RT NO MIIC_RDY=1? YES set MIIC_CLR_RT YES END 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 93 - NO WT51F104 具備 ADC 功能之 1T 8052 微控制器 6.11 增強型計時/計數器 (Enhanced Timer/Counter) 增強型計時/計數器的時鐘源有內部時鐘源或是由外部輸入,可由暫存器設定。 增強型計時/計數器主要可分兩個模式: 1. 比較模式 2. 捕捉模式; 且它也提供三種捕捉匹配條件的選擇: 高準位、低 準位及週期的捕捉模式。 1. 比較模式: 增強型計時/計數器內部有一個 16 位元計數器及一個 16 位元增強型緩衝器 (ETM_BUF[15:0]),當致能增強型計時/ 計數器 (EN_ETM = 1) 並且設定為比較模式後 (ETM_CNT_TM = 1),計時器會依據時鐘源進行計數,當計數器與 增強型緩衝器的數據匹配時會產生中斷。每次的匹配發生會將 ETMO (無此功能) 觸發輸出,且會自動清除內部 16 位元計數器的計數值,請參考下圖。 比較模式操作圖: Counter value FFFFh ETM_BUF2 ETM_BUF1 0000h System CLK EN_ETM ETM_CNT_TM ETM_BUF[15:0] ETM_BUF1 ETM_BUF2 EMTO 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 94 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 2. 捕捉模式: 增強型計時/計數器設定為捕捉模式 (ETM_CNT_TM = 0),然後致能增強型計時/計數器 (EN_ETM = 1),此時開始 捕捉,當輸入端的狀態變化與所設定的捕捉條件匹配時,會清除內部 16 位元計數器並重新計數後,再將計數值自 動載到 16 位元增強型緩衝器 (ETM_BUF[15:0]),此時軟體可由增強型計時/計數器數據緩衝暫存器 (暫存器 B3H 及 B4H) 讀取計數值,同時會產生捕捉中斷、捕捉旗標和輸出 ETMO (無此功能),請參考下圖。 捕捉模式操作圖: Counter value FFFFh 0000h System CLK Input capture signal ETM_BUF ETM_COUNT_MD 00 Capture at high level 11 Capture at Period Capture 01 low level 增強型計時/計數器控制暫存器 1 ETM_CTL1 (外部記憶體位址: 0xB0) 位元 狀態 名稱 位元編號 7 6 5-4 第7位 讀/寫 第6位 讀/寫 EN_ETM ETM_CNT_TM 第5位 讀/寫 第4位 讀/寫 ETM_CLK_PSCAL[1:0] 位符號 復位值: 00h 第3位 讀/寫 第2位 讀/寫 ETM_CLK_SEL 第1位 讀/寫 ETM_EXCLK_SEL[1:0] 說明 1: 致能增強型計時/計數器 1: 比較模式 (SOURCE clock = 12 MHz) 0: 捕捉模式 (capture) ETM_CLK_PSCAL[1:0] 設定內部 16 位元計數器之時鐘源預除器 00: 增強型計時/計數器時鐘源 = SOURCE clock/1 01: 增強型計時/計數器時鐘源 = SOURCE clock/4 10: 增強型計時/計數器時鐘源 = SOURCE clock/8 11: 增強型計時/計數器時鐘源可選擇除以 16 或除以 12 (ETM_CLK_DIV12: 0 -> SOURCE clock/16; ETM_CLK_DIV12: 1 -> SOURCE clock /12) EN_ETM ETM_CNT_TM 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 95 - 第0位 讀/寫 ETM_CLK_DIV12 WT51F104 具備 ADC 功能之 1T 8052 微控制器 位元編號 位符號 3 ETM_CLK_SEL 2-1 0 說明 設定增強型計時/計數器時鐘源 1: 外部時鐘源 (可由 ETM_EXCLK_SEL[1:0],選擇輸入的時鐘源) 0: 內部時鐘源 (SOURCE clock) ETM_EXCLK_SEL[1:0] 設定增強型計時/計數器輸入的外部時鐘源通道 00: GPIOA4 (設定 GPIOA4DH 為 GPIO input,GPA4_FUN_SLT[2:0] = 000) 01: GPIA3 (設定 GPIA3D 為 GPIO input,GPA3_FUN_SLT[2:0]= 000) 10: GPIOA2 (設定 GPIOA2DH 為 GPIO input,GPA2_FUN_SLT[2:0] = 000) 11: ACOMP_TGATE_O (內部訊號,請參考 6.14 章節) ETM_CLK_DIV12 1: SOURCE clock/12 0: SOURCE clock/16 -: 未能使用 註: 當設定增強型計時/計數器輸入的外部時鐘源通道為 GPIOA4、GPIA3、GPIOA2 其中一個,必須將 GPIO 的複 合功能設定為 GPIO 且 I/O 端口為輸入狀態。 增強型計時/計數器控制暫存器 2 ETM_CTL2 (外部記憶體位址: 0xB1) 第7位 讀/寫 第6位 讀/寫 位元 狀態 名稱 ETM_IN_SOURCE[1:0] 位元編號 位符號 7-6 5-4 3-2 1-0 第5位 第4位 - - 第3位 讀/寫 復位值: 00h 第2位 讀/寫 ETM_IN_PSCAL[1:0] 保留 第1位 讀/寫 第0位 讀/寫 ETM_COUNT_MD[1:0] 說明 設定增強型計時/計數器輸入比較或捕捉通道 ETM_IN_SOURCE[1:0] 00: GPIOA4 (設定 GPIOA4DH 為 GPIO input,GPA4_FUN_SLT[2:0] = 000) 01: GPIA3 (設定 GPIA3D 為 GPIO input,GPA3_FUN_SLT[2:0] = 000) 10: GPIOA2 (設定 GPIOA2DH 為 GPIO input,GPA2_FUN_SLT[2:0] = 000) 11: ACOMP_TGATE_O (內部訊號,請參考 6.13 章節) 保留 ETM_IN_PSCAL[1:0] 設定輸入通道週期預除器 00: 輸入週期除以 1 01: 輸入週期除以 4 10: 輸入週期除以 8 11: 輸入週期除以 16 ETM_COUNT_MD[1:0] 捕捉的計數模式選擇 00: 捕捉高準位的間隔 01: 捕捉低準位的間隔 1x: 捕捉週期間隔 (根據 ETM_IN_PSCAL[1:0]的設定去捕捉) -: 未能使用 註: 當設定增強型計時/計數器輸入比較或捕捉通道為 GPIOA4、GPIA3、GPIOA2 其中一個,必須將 GPIO 的複合 功能設定為 GPIO 且 I/O 端口為輸入狀態。 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 96 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 增強型計時/計數器中斷暫存器 ETM_INT (外部記憶體位址: 0xB2) 位元 狀態 名稱 第7位 讀/寫 第6位 讀/寫 第5位 讀/寫 第4位 讀/寫 EN_CAPINT EN_OVRINT EN_CMPINT CLR_FLAG 位元編號 位符號 7 EN_CAPINT 6 EN_OVRINT 5 EN_CMPINT 4 3 2 CLR_FLAG CAPF OVRF 1 CPMF 0 保留 復位值: 00h 第3位 讀 第2位 讀 第1位 讀 CAPF OVRF CPMF 第0位 保留 說明 1: 致能輸入捕捉中斷 0: 禁能輸入捕捉中斷 1: 致能溢位中斷 0: 禁能溢位中斷 1: 致能比較匹配時產生中斷 0: 禁能比較匹配時產生中斷 1: 清除增強型計時/計數器的所有旗標 輸入捕捉旗標 溢位旗標 當內部 16 位元計數器產生溢位時,OVRF = 1 比較匹配旗標 當內部 16 位元計數器與 ETM_BUF 的數據相同時,CPMF = 1 - -: 未能使用 增強型計時/計數器數據緩衝低位元組暫存器 ETM_BUF[7:0] (外部記憶體位址: 0xB3) 位元 狀態 名稱 第7位 讀/寫 第6位 讀/寫 第5位 讀/寫 第4位 讀/寫 第3位 讀/寫 第2位 讀/寫 復位值: 00h 第1位 讀/寫 ETM_BUF[7:0] 位元編號 位符號 7-0 ETM_BUF[7:0] 說明 搭配 ETM_BUF[15:8],組成 16 位元計數值 讀取: 在捕捉模式下,捕捉到輸入訊號的計數值 寫入: 在比較模式下,作為與內部 16 位元計數器的比較值 增強型計時/計數器數據緩衝高位元組暫存器 ETM_BUF[15:8] (外部記憶體位址: 0xB4) 位元 狀態 名稱 位元編號 第0位 讀/寫 第7位 讀/寫 第6位 讀/寫 第5位 讀/寫 第4位 讀/寫 第3位 讀/寫 第2位 讀/寫 復位值: 80h 第1位 讀/寫 第0位 讀/寫 ETM_BUF[15:8] 位符號 說明 搭配 ETM_BUF[7:0],組成 16 位元計數值 7-0 ETM_BUF[15:8] 讀取: 在捕捉模式下,捕捉到輸入訊號的計數值 寫入: 在比較模式下,作為與內部 16 位元計數器的比較值 註: 在捕捉模式下,ETM_BUF[15:8]與 ETM_BUF[7:0]組成 16 位元計數值,實際應用時必須將計數值加 1 才是 真正的計數值。 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 97 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 說明 1: 因捕捉源的內部有經過濾波器,所以輸入訊號高電平的脈波寬度與低電平脈波寬度須大於兩個 SYSTEM Clock 的 寬度。 說明 2: ETM_IN_PSCAL[3:2] = 00: 選擇捕捉輸入源一個週期,則有效捕捉訊號精準度 (Capture effective Resolution) 為 1 / 12 MHz / 1 = 83.333 ns ETM_IN_PSCAL[3:2] = 11: 選擇捕捉輸入源 16 個週期,則有效捕捉訊號精準度 (Capture effective Resolution) 為 1 / 12 MHz / 16 = 5.208 ns 當選擇捕捉 16 個週期可以讓增強型計時/計數器得到更多的有效位數,減少捕捉的誤差。 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 98 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 6.12 SPI 串行介面 (SPI) SPI 是一個同步串行介面,允許主機和從機溝通,支援全雙工數據傳輸,及支援三或四線訊號傳輸。 SPI 支援: 主機及從機模式 傳送的串行數據可選擇 LSB 或 MSB 優先傳輸 SPI 串行介面傳輸速度,頻率範圍: 6 MHz ~ 23.4375 kHz (Bit Rate) MOSI Switch MISO Shift Register SCK Tx buffer Rx buffer STBA STBB SPI_TXEMPE SPI_RXFULE Slave controller Master Baud rate controller OR SPI_STPIE SPI_INT SPI_RXOVFE SPI_MODFE SPI 通信使用四個引腳,分別為: MOSI: 在主機模式中數據輸出; 在從機模式中數據輸入。 MISO: 在主機模式中數據輸入; 在從機模式中數據輸出。 SCK: 在主機模式中時鐘輸出; 從機模式時鐘輸入,達到數據同步。 STBA、STBB: 在主機模式中為輸出; 在從機模式中為輸入。 主機模式下,當做致能從機的 I/O 端口: STBx = 0: 主機致能從機 STBx = 1: 主機禁能從機 使用 SPI 串行介面,須透過軟體設定 SPI 相關腳位為輸出或輸入狀態,如下圖所示: 主機模式 從機模式 四線式 SPI MOSI (GPIOB1) 輸出 (Output) 輸入 (Input) MISO (GPIOA0/GPIOA1) 輸入 (Input) 輸出 (Output) SCK (GPIOA1/GPIOA0) 輸出 (Output) 輸入 (Input) STB (GPIOB2) 輸出 (Output) 輸入 (Input) 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 99 - 備註 A 路徑: GPIOA0 B 路徑: GPIOA1 A 路徑: GPIOA1 B 路徑: GPIOA0 WT51F104 具備 ADC 功能之 1T 8052 微控制器 四線式及三線式 SPI 連結圖: VDDVDD VDDVDDVDD 4.7K x 2 4.7K x 3 4-WIRE SPI Master MOSI MOSI MISO MISO SCK SCK IO SPI 控制暫存器 1 位元 狀態 名稱 3-WIRE SPI Master Slave Slave MOSI MISO MOSI MISO SCK STBA SCK IO STBA SPI_CTL1 (外部記憶體位址: 0xC0) 復位值: 00h 第7位 讀/寫 第6位 讀/寫 第5位 讀/寫 第4位 讀/寫 第3位 - 第2位 讀/寫 SPI_EN SPI_MASTER SPI_CPOL SPI_CPHA 保留 SPI_LSBFE 位元編號 7 位符號 SPI_EN 6 SPI_MASTER 5 SPI_CPOL 4 SPI_CPHA 3 2 保留 SPI_LSBFE 1-0 保留 說明 1: 致能 SPI 模組 0: 禁能 SPI 模組 SPI 主/從機模式選擇 1: SPI 為主機模式 0: SPI 為從機模式 SPI 時脈極性位元選擇 1: 時脈為低電壓準位動作 0: 時脈為高電壓準位動作 SPI 時脈相位位元選擇 1: 在輸入的時鐘源由 high 轉 low 時取樣數據 0: 在輸入的時鐘源由 low 轉 high 時取樣數據 起始位元選擇 1: 數據起始為最低有效位元 0: 數據起始為最高有效位元 - -: 未能使用 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 100 - 第1位 第0位 - 保留 WT51F104 具備 ADC 功能之 1T 8052 微控制器 *SPI 串行介面模式是由 SPI_CPOL 及 SPI_CPHA 位元組成以下四組模式: SPI_CPOL SPI_CPHA 接收數據方式 正緣觸發 0 0 負緣觸發 0 1 負緣觸發 1 0 正緣觸發 1 0 *傳送與接收方式,請參考後面 SPI Mode Timing SPI 控制暫存器 2 位元 狀態 名稱 傳送數據方式 SPI Mode 負緣觸發 正緣觸發 負緣觸發 正緣觸發 0 1 2 3 SPI_CTL2 (外部記憶體位址: 0xC1) 第7位 讀/寫 第6位 讀/寫 第5位 讀/寫 SPI_RXONLY SPI_DFBYP 位元編號 7 位符號 SPI_RXONLY 6 SPI_DFBYP 5-4 SPI_DLY[1:0] 3-0 保留 復位值: 00h 第4位 讀/寫 第3位 第2位 第1位 第0位 - - - - SPI_DLY[1:0] 保留 說明 SPI 接收致能位元 (只限主機模式使用) 1: 致能 SPI 接收模式 輸入數位濾波器旁路致能位元 (只限從機模式) 1: 致能數位濾波器 主機 SPI 位元組延遲控制 00: 無延遲 01: 延遲 1 個位元組 10: 延遲 2 個位元組 11: 延遲 3 個位元組 - -: 未能使用 SPI 中斷控制暫存器 SPI_INT (外部記憶體位址: 0xC2) 位元 狀態 名稱 位元編號 7 6 5 4 3 2-0 第7位 讀/寫 第6位 讀/寫 第5位 讀/寫 SPI_TXEMPE SPI_RXFULE 位符號 SPI_TXEMPE SPI_RXFULE SPI_STPIE SPI_RXOVFE SPI_MODFE 保留 復位值: 00h 1: 1: 1: 1: 1: - 第4位 讀/寫 SPI_STPIE 第3位 讀/寫 第2位 SPI_RXOVFE SPI_MODFE T 說明 致能 SPI 傳送數據緩衝區 empty 所產生的中斷 致能 SPI 接收數據緩衝區 full 所產生的中斷 致能 SPI 傳輸序列完成中斷旗標 致能 SPI 接收數據緩衝區溢出旗標 致能 SPI 模式故障中斷 (只限從機模式) -: 未能使用 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 101 - - 第1位 第0位 - - 保留 WT51F104 具備 ADC 功能之 1T 8052 微控制器 SPI 中斷清除暫存器 SPI_CLR (外部記憶體位址: 0xC3) 位元 狀態 名稱 復位值: 00h 第7位 寫 第6位 寫 第5位 寫 第4位 寫 CLR_TXEMP CLR_RXFUL CLR_STPIF CLR_RXOVF 位元編號 位符號 7 6 5 4 3-0 CLR_TXEMP CLR_RXFUL CLR_STPIF CLR_RXOVF 保留 第3位 第2位 第1位 第0位 - - - - 保留 說明 1: 1: 1: 1: - 清除 SPI 傳輸中斷旗標 清除 SPI 接收中斷旗標 清除 SPI 序列完成中斷旗標 清除 SPI 接收緩衝區溢出旗標 -: 未能使用 SPI 旗標暫存器 SPI_FLG (外部記憶體位址: 0xC4) 位元 狀態 名稱 復位值: 00h 第7位 讀 第6位 讀 第5位 讀 第4位 讀 第3位 讀 第2位 讀 SPI_TXEMP SPI_RXFUL SPI_STPIF SPI_RXOVF SPI_MODF SPI_BUSY 位元編號 位符號 7 SPI_TXEMP 6 SPI_RXFUL 5 SPI_STPIF 4 SPI_RXOVF 3 SPI_MODF 2 SPI_BUSY 1-0 保留 第1位 第0位 - 保留 說明 SPI 傳輸數據緩衝器清空狀態旗標*1 1: SPI 傳輸緩衝器已清空 SPI 接收數據緩衝器填滿狀態旗標 1: SPI 接收緩衝器已經填滿 SPI 傳輸/接收數據完成狀態旗標 (SS pin goes high) 1: SPI 傳輸/接收完成 SPI 接收數據緩衝區產生溢位狀態旗標*2 1: SPI 接收數據緩衝區產生溢位 SPI 模式故障狀態旗標 (只限從機模式)*3 1: SPI 模式故障 SPI 忙碌狀態旗標*4 1: SPI 在忙碌狀態 - -: 未能使用 *1. 韌體必須確認 SPI_TXEMP = 1 時,才可以 SPI 傳輸緩衝暫存器寫入(SPI_RXBUF[7:0]) 下一筆數據。 *2. 清除 SPI_RXOVF 旗標,可以透過讀取 SPI 接收緩衝暫存器(SPI_RXBUF[7:0])。 *3. 清除 SPI_MODF 旗標,必須致能 SPI 串行介面模組。 *4. SPI_BUSY 旗標是 WT51F104 的內部硬體腳位的狀態,可以用來監視 SPI 完成與否。 SPI 速度設定暫存器 SPI_BRS[7:0] (外部記憶體位址: 0xC5) 位元 狀態 名稱 第7位 讀/寫 第6位 讀/寫 第5位 讀/寫 第4位 讀/寫 復位值: 00h 第3位 讀/寫 SPI_BRS[7:0] 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 102 - 第2位 讀/寫 第1位 讀/寫 第0位 讀/寫 WT51F104 具備 ADC 功能之 1T 8052 微控制器 位元編號 位符號 7-0 SPI_BRS[7:0] 說明 SPI 位速率選擇 (SPI 最高速度 = mcu_clk / 2) SPI Bit Rate = mcu_clk / (SPI_BRS[7:0]+1) x 2 如果 mcu_clk = 12 MHz SPI_BRS[7:0] = 0, SPI Bit Rate 為 6 MHz SPI_BRS[7:0] = 1, SPI Bit Rate 為 3 MHz … SPI_BRS[7:0] = 255, SPI Bit Rate 為 23.4375 kHz SPI 傳輸緩衝暫存器 SPI_TXBUF[7:0] (外部記憶體位址: 0xC6) 位元 狀態 名稱 第7位 讀/寫 第6位 讀/寫 第5位 讀/寫 第4位 讀/寫 復位值: FFh 第3位 讀/寫 第2位 讀/寫 第1位 讀/寫 第2位 讀 第1位 讀 SPI_TXBUF[7:0] 位元編號 位符號 7-0 SPI_TXBUF[7:0] 說明 SPI 傳輸緩衝器 SPI 接收緩衝暫存器 SPI_RXBUF[7:0] (外部記憶體位址: 0xC7) 位元 狀態 名稱 第0位 讀/寫 第7位 讀 第6位 讀 第5位 讀 第4位 讀 復位值: 00h 第3位 讀 SPI_RXBUF[7:0] 位元編號 位符號 7-0 SPI_RXBUF[7:0] 說明 SPI 接收緩衝器 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 103 - 第0位 讀 WT51F104 具備 ADC 功能之 1T 8052 微控制器 SPI Mode Timing Begin Transfer End CLK (CPOL = 0) CLK (CPOL = 1) MOSI MISO MSB First bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 MISO LSB First bit0 bit1 bit2 bit3 bit4 bit5 bit6 bit7 Sample Time Chip Select (CPHA = 0) Begin Transfer End CLK (CPOL = 0) CLK (CPOL = 1) MOSI MISO MSB First bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0 MISO LSB First bit0 bit1 bit2 bit3 bit4 bit5 bit6 bit7 Sample Time Chip Select (CPHA = 1) 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 104 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 6.13 模/數轉換器 (ADC) WT51F104 內建 16 通道 10 位元模/數轉換器,提供四種轉換模式 (單一 Single、連續 Continuous、電壓比較、 定時器自動) 與四種轉換速率 (1 MHz、500 kHz、125 kHz、31.25 kHz) 的選擇。 單一轉換模式 (Single Mode): 首 先 要 開 啟 模 / 數 轉 換 器 電 源 (ADC 控 制 暫 存 器 中 ADC_PD = 0) , 並 且 把 模 / 數 轉 換 器 控 制 暫 存 器 ADC_SINGLE_CVT = 1 開始轉換; ADC_SINGLE_CVT = 0 轉換結束。當轉換完成時,更新模/數轉換器數據暫存 器,模/數轉換器中斷控制暫存器中的 EN_ADFINSH_INT 位元為 1,並產生一個中斷事件 (如果模/數轉換器的 中斷被致能)。 連續轉換模式 (Continuous Mode): 若再啟動 ADC_CNTNU_CVT 連續轉換控制位元,則系統進入連續轉換模式。 電壓比較模式 (Compare Mode): 當 開 啟 模 /數 轉 換 器 電 源 (ADC控 制暫存器中ADC_PD = 0),且啟動比較功能 (模/數轉換器控制暫存器中 EN_ADC_CMP = 1) 時,可以對模擬輸入 (ADC_IN) 進行AD轉換並與電壓比較數據暫存器 (ADC_CMP_V) 中的 數據比較。當相應的電壓模擬輸入的數位值大於 (ADC_BIG = 0) 或小於 (ADC_BIG = 1) 模/數轉換器電壓比較數 據暫存器(ADC_CMP_V) 中的設定值時,會產生模/數轉換器中斷,模/數轉換器集成數位電壓比較功能,能在睡眠 模式下工作,並且可以將WT51F104喚醒。另外搭配ADCMP_TM可以選擇ADC開啟時間方式,達到省電目的。 定時器自動模式 (Timer Auto Mode): 當啟動 ADC_AUTO_CVT,並配合 Watch Timer 的設定,每次 Timer 事件時會自動啟動 ADC 做一次轉換。 模/數轉換器的轉換時間為 16 us (取樣時間 6 us + 轉換時間 10 us) 基於 1 MHz 轉換速率 參考電壓源 VREF 有三個選擇: 電源電壓 VDD、內建基準電壓 VBGAP、外接基準電壓 VREF 模/數轉換器控制暫存器 ADC_CTL (外部記憶體位址: 0xD0) 位元 狀態 名稱 第7位 讀/寫 ADC_PD 第6位 讀/寫 第5位 讀/寫 第4位 讀/寫 復位值: 80h 第3位 讀/寫 第2位 讀/寫 ADC_SINGLE_CVT ADC_CNTNU_CVT ADC_AUTO_CVT EN_ADC_CMP EN_ADC_FLT 位元編號 位符號 7 ADC_PD 6 ADC_SINGLE_CVT 5 ADC_CNTNU_CVT 說明 模/數轉換器電源控制 1: 關閉模/數轉換器電源 0: 開啟模/數轉換器電源 模/數轉換器開始轉換位元 (單一轉換模式) 1: 開始轉換 1=> 0: 轉換完成 (硬體會自動清除為”0”) 1: 致能模/數轉換器連續轉換 (連續轉換模式) 0: 禁能模/數轉換器連續轉換 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 105 - 第1位 保留 第0位 讀/寫 ADC_BIG WT51F104 具備 ADC 功能之 1T 8052 微控制器 位元編號 位符號 4 ADC_AUTO_CVT 1: 說明 致能模/數轉換器根據實時定時器所設定時間 WTMR_SLT[2:0]自動 轉換一次 (定時器比較模式) 致能模/數轉換器比較器模式 (電壓比較模式) 致能模/數轉換器濾波器 (需要等待 332ns) 不開啟濾波功能 1: 1: 0: 1 保留 模/數轉換器數據比較旗標 0 ADC_BIG 1: 當 Vin < ADC_CMP_V[9:0]所設定數據 0: 當 Vin > ADC_CMP_V[9:0]所設定數據 Vin: 由 EN_AD[3:0]所選擇的通道 註: ADC 轉換模式在同一時間只可以致能一種轉換模式,否則會造成 ADC 工作異常。 3 2 EN_ADC_CMP EN_ADC_FLT 模/數轉換器設定控制暫存器 ADC_SEL (外部記憶體位址: 0xD1) 第7位 讀/寫 位元 狀態 名稱 第6位 讀/寫 ADC_CLK_SEL[1:0] 位元編號 位符號 7 6 ADC_CLK_SEL[1:0] 5 ADCMP_TM 4-2 1-0 保留 ADC_VREF_SEL[1:0] 第5位 讀/寫 第4位 - ADCMP_TM 復位值: 40h 第3位 第2位 - - 保留 第1位 讀/寫 第0位 讀/寫 ADC_VREF_SEL[1:0] 說明 模/數轉換器轉換頻率選擇 00: 1 MHz 01: 500 kHz 10: 125 kHz 11: 31.25 kHz 1: 模/數轉換器是根據實時定時器,固定 32u sec 開啟電壓比較功能, 達到省電目的 0: 模/數轉換器一直打開來做電壓比較功能 模/數轉換器參考電壓腳位選擇 00: VDD 01: VREF pin 1x: 內部參考電壓 BGAP (Bandgap) -: 未能使用。 註:內部參考電壓 Bandgap 出廠未校正,且容易受溫度及電源電壓影響,但可透過暫存器讀取實際電壓值,詳細 請參考下列及 7.6、7.7 “電氣特性”章節。 VBGAP Voltage 存放位址: 外部記憶體位址 E04H[1:0] E05H[7:0] 說明 記錄內部 Bandgap 電壓低位元組 = ADC[1:0] 記錄內部 Bandgap 電壓高位元組 = ADC[9:2] VBGAP Voltage 計算公式: VBGAP = ( 5 * ADC[9:0]) / 1024 舉例: E04H[1:0] = 0x01 E05H[7:0] = 0x42 VBGAP = (5 * 0x109) / 1024 = 1.294V 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 106 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 模/數轉換器中斷控制暫存器 ADC_INT (外部記憶體位址: 0xD2) 位元 狀態 名稱 第7位 讀/寫 第6位 讀/寫 第5位 第4位 EN_ADCMP_INT EN_ADFINSH_INT 保留 - 復位值: 00h - 第3位 讀 第2位 讀 第1位第0位 ADCMP_FLG ADFINSH_FLG 保留 - - 位元編號 位符號 說明 7 EN_ADCMP_INT 6 EN_ADFINSH_INT 5-4 3 保留 ADCMP_FLG 2 ADFINSH_FLG 1-0 保留 1: 致能模/數轉換器電壓比較中斷 0: 禁能模/數轉換器電壓比較中斷 1: 致能模/數轉換器轉換完成後產生中斷 0: 禁能模/數轉換器轉換完成後產生中斷 ADC 電壓比較模式旗標,根據模/數轉換器控制暫存器的 ADC_BIG 位元 所選擇條件成立時 ADCMP_FLG = 1 ADC 轉換完成中斷旗標 (單一與連續模式及定時器模式在完成轉換, 此旗標 ADFINSH_FLG = 1) - -: 未能使用。 註: 當讀取 AD_DATA[9:0]時,硬體會自動清除 ADCMP_FLG 與 ADFINSH_FLG 旗標。 模/數轉換器通道控制暫存器 ADC_ENCH (外部記憶體位址: 0xD3) 位元 狀態 名稱 第7位 第6位 - - 第5位 第4位 - - 復位值: 00h 第3位 讀/寫 第2位 讀/寫 EN_AD[3:0] 保留 位元編號 7-4 位符號 保留 3-0 EN_AD[3:0] 第1位 讀/寫 說明 模/數轉換器通道選擇 0000: 選擇通道 CH0 0001: 選擇通道 CH1 0010: 選擇通道 CH2 0011: 選擇通道 CH3 0100: 選擇通道 CH4 0101: 選擇通道 CH5 0110: 選擇通道 CH6 0111: 選擇通道 CH7 1000: 選擇通道 CH8 1001: 選擇通道 CH9 1010: 選擇通道 CH10 1011: 選擇通道 CH11 1100: 選擇通道 CH12 1101: 選擇通道 CH13 1110: 選擇通道 CH14 1111: 選擇通道 CH15 -: 未能使用。 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 107 - 第0位 讀/寫 WT51F104 具備 ADC 功能之 1T 8052 微控制器 模/數轉換器電壓比較數據高位元組暫存器 ADC_CMP_V[9:2] (外部記憶體位址: 0xD4) 位元 狀態 名稱 第7位 讀/寫 第6位 讀/寫 位元編號 位符號 7-0 ADC_CMP_V[9:2] 第5位 讀/寫 第4位 第3位 讀/寫 讀/寫 ADC_CMP_V[9:2] 第2位 讀/寫 第1位 讀/寫 第0位 讀/寫 說明 ADC_CMP_V[9:2] 喚醒電壓值設定,搭配 ADC_CMP_V[1:0]組成 10 位元 數據 模/數轉換器電壓比較數據低位元組暫存器 ADC_CMP_V[1:0] (外部記憶體位址: 0xD5) 位元 狀態 名稱 復位值: 80h 第7位 第6位 第5位 第4位 第3位 第2位 - - - - - - 復位值: 00h 第1位 讀/寫 第0位 讀/寫 ADC_CMP_V[1:0] 保留 位元編號 位符號 說明 7-2 1-0 保留 ADC_CMP_V[1:0] ADC_CMP_V[1:0]喚醒電壓值設定,搭配 ADC_CMP_V[9:2]組成 10 位元 數據 -: 未能使用。 模/數轉換器轉換數據高位元組暫存器 AD_DATA[9:2] (外部記憶體位址: 0xD6) 位元 狀態 名稱 位編號 7-0 -: 未能使用。 第7位 讀 第6位 讀 位符號 AD_DATA[9:2] 第5位 讀 第4位 第3位 讀 讀 AD_DATA[9:2] 第2位 讀 位編號 7-2 1-0 -: 未能使用 第7位 - 第6位 - 第5位 - 第4位 - 第3位 - 保留 位符號 保留 AD_DATA[1:0] 第1位 讀 第0位 讀 說明 AD_DATA[9:2]轉換數據值設定, 搭配 AD_DATA[1:0]組成 10 位元數據 模/數轉換器轉換數據低位元組暫存器 AD_DATA[1:0] (外部記憶體位址: 0xD7) 位元 狀態 名稱 復位值: 00h 第2位 - 復位值: 00h 第1位 第0位 讀 讀 AD_DATA[1:0] 說明 AD_DATA[1:0]轉換數據值設定, 搭配 AD_DATA[9:2]組成 10 位元數據 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 108 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 致能模/數轉換器轉換數據流程圖 單一轉換模式: 連續模式: 定時器自動模式: 開始 開始 開始 開啟ADC電源 (ADC_PD = 0) 開啟ADC電源 (ADC_PD = 0) 開啟ADC電源 (ADC_PD = 0) 設定ADC參考電壓 (ADC_VREF_SEL[1:0] 設定ADC參考電壓 (ADC_VREF_SEL[1:0] 設定ADC參考電壓 (ADC_VREF_SEL[1:0] ADC通道選擇 (EN_AD[3:0]) ADC通道選擇 (EN_AD[3:0]) ADC通道選擇 (EN_AD[3:0]) ADC開始轉換 (ADC_SINGLE_CVT = 1) ADC開始自動轉換 (ADC_CNTNU_CVT = 1) 設定Watch Time = 125ms NOP ADFINSH_FLG = 1 Yes ADC_SINGLE_CVT = 0 or ADFINSH_FLG = 1 No No ADC follow Watch Timer所設定的固定 時間開始轉換 (ADC_AUTO_CVT = 1) 讀取ADC數據 (AD_DATA[9:0]) Watch Time = 125ms No Yes 結束 讀取ADC數據 (AD_DATA[9:0]) ADFINSH_FLG = 1 結束 Yes 讀取ADC數據 (AD_DATA[9:0]) 結束 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 109 - No WT51F104 具備 ADC 功能之 1T 8052 微控制器 6.14 比較器 (Comparator) WT51F104 內建一組模擬電壓比較器,特點如下: 比較器可以被單獨致能或禁能 比較器參考電壓可以透過對應的比較器控制暫存器 (ACOMP_VREF) 設定 比較器的正緣和負緣都可以產生中斷 具比較器輸出捕捉功能 (請參考 6.11 章節) 當致能比較器功能時,在外部記憶體位址: 0xDA 比較器控制暫存器 ACOMP_CTL0 的 ACOMP_PD 位元為 0, 可以對模擬輸入 (GPIOA0 = CMPP) 及比較器參考電壓 (GPIOA1 = CMPN) 進行比較,有三種應用方法如下: 1. 中斷 2. 事件輸出 (GPIOA2) 3. Gating Timer (可透過增強型計時/計數器暫存器設定) GPIOA0 + GPIOA1 00 Bandgap 01 polarity - GPIOA2 ACOMP_EVENT & TO GATING TIMER edge 10 ACOMP_RESULT 11 ACOMP_TGATE_O ACOMP_SEL_BGP[1:0] 5 32段 (2 = 32) Bandgap 10 VDD 11 ACOMP_VREF[4:0] 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 110 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 比較器控制暫存器 ACOMP_CTL (外部記憶體位址: 0xDA) 位元 狀態 名稱 位元編號 7 6-5 第7位 讀/寫 第6位 讀/寫 ACOMP_PD 第5位 讀/寫 ACOMP_SEL_BGP[1:0] 復位值: E0h 第4位 讀/寫 第3位 讀/寫 ACOMP_OUT_INV ACOMP_TGATE 位符號 第2位 第1位 第0位 - 保留 - 說明 1: 關閉比較器電源 0: 開啟比較器電源 ACOMP_SEL_BGP[1:0] 比較器 CMPN 輸入選擇 00: 選擇 GPIOA1 在 COMN 輸入 01: 選擇 Bandgap 在 COMN 輸入 10: 選擇 nxBGP/32 在 COMN 輸入 11: 選擇 nxVDD/32 在 COMN 輸入 ACOMP_PD n 4 ACOMP_OUT_INV 3 ACOMP_TGATE 2-0 保留 n 當選擇 32 BGP 或 32 VDD 為 COMN 輸入,可搭配比較器參考電壓暫存器 (0xDC),可提供 32 段參考電壓源 1: 將比較結果輸出之訊號 (ACOMP_RESULT) 反向 0: 比較結果輸出之訊號不反向 1: 將比較器的結果輸出至增強型計時/計數器,以計算比較器 H/L 時間 0: 比較器的結果不輸出至計時/計數器 - -: 未能使用 註: 內部參考電壓 Bandgap 出廠未校正,且容易受溫度及電源電壓影響,實際電壓值請參考 6.13 章節。 比較器旗標暫存器 ACOMP_FLG (外部記憶體位址: 0xDB) 復位值: 00h 位元 第7位 第6位 第5位 第4位 第3位 第2位 第1位 第0位 狀態 讀 讀/寫 讀 讀/寫 名稱 ACOMP_RESULT ACOMP_EVENT_EDGE ACOMP_EVENT CLR_ACOMP_EVENT 保留 位元編號 位符號 7 ACOMP_RESULT 6 ACOMP_EVENT_EDGE 5 ACOMP_EVENT 4 CLR_ACOMP_EVENT 3-0 保留 說明 1: 比較器 CMPP 電壓 > CMPN 0: 比較器 CMPP 電壓 < CMPN (當 ACOMP_PD = 1,此時 ACOMP_RESULT = 0) 1: 當比較器之 CMPP 電壓 < CMPN 電壓時觸發中斷 0: 當比較器之 CMPP 電壓 > CMPN 電壓時觸發中斷 比較器觸發旗標 1: 比較器發生觸發 0: 比較器未發生觸發 1: 清除比較器觸發旗標 0: 無動作 - -: 未能使用 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 111 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 比較器參考電壓暫存器 ACOMP_VREF[4:0] (外部記憶體位址: 0xDC) 位元 狀態 名稱 第7位 第6位 第5位 - 保留 - 位元編號 位符號 7-5 4-0 保留 ACOMP_VREF[4:0] 第4位 讀/寫 復位值: 00h 第3位 讀/寫 第2位 讀/寫 第1位 讀/寫 第0位 讀/寫 ACOMP_VREF[4:0] 說明 比較器參考電壓 (從 CMPN 輸入) n CMPN 參考電壓 = ACOMP_VREF[4:0] * (VDD-VSS) /32 = 32 VDD n 或 ACOMP_VREF[4:0] * VBandgap /32 = 32 BGP -: 未能使用 比較器參考電壓表 ACOMP_VREF[4:0] 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 CMPN Voltage (VDD = 3.3V; VSS = 0V) 0.00 0.10 0.21 0.31 0.41 0.52 0.62 0.72 0.83 0.93 1.03 1.13 1.24 1.34 1.44 1.55 1.65 1.75 1.86 1.96 2.06 2.17 2.27 2.37 2.48 2.58 2.68 2.78 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 112 - VBandgap = 1.262V 0.00 0.04 0.08 0.12 0.16 0.20 0.24 0.28 0.32 0.35 0.39 0.43 0.47 0.51 0.55 0.59 0.63 0.67 0.71 0.75 0.79 0.83 0.87 0.91 0.95 0.99 1.03 1.06 WT51F104 具備 ADC 功能之 1T 8052 微控制器 ACOMP_VREF[4:0] 28 29 30 31 CMPN Voltage (VDD = 3.3V; VSS = 0V) 2.89 2.99 3.09 3.20 VBandgap = 1.262V 1.10 1.14 1.18 1.22 舉例來說,下圖顯示比較器輸入可透過增強型計時器進行 Gating Timer 捕捉低準位或高準位週期。 Vin Vref Vin Vref + - CMPO 啟動增強型計時/計數器的捕捉模式,並設定捕捉準位 及輸入源為比較器輸出端(CMPO),即可計數 捕捉低準位並計數 (ETM_BUF) 捕捉高準位並計數 (ETM_BUF) 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 113 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 6.15 低壓偵測 (LVD) WT51F104 內置低壓偵測電路,可以檢測電源電壓下降到軟體設定範圍值,而產生中斷。 低壓偵測功能的致能和禁能操作,可以由軟體控制 低壓測偵位準有八段電壓可供選擇: 2.00V、2.25V、2.50V、2.75V、3.00V、3.25V、3.50V 或 3.75V 低壓偵測控制暫存器 LVD_CTL (外部記憶體位址: 0x02) 位元 狀態 名稱 位元編號 第7位 讀/寫 LVD_PD 第6位 讀 LVD_CMP 第5位 讀/寫 第4位 第3位 讀/寫 讀/寫 LVD_LVL[2:0] 位符號 復位值: A6h 第2位 讀/寫 LVD_RST_PD 說明 1: 關閉低壓偵測電源 0: 開啟低壓偵測電源 低壓偵測比較後的結果 6 LVD_CMP 1: 電源電壓 < 設定的低壓偵測電壓範圍 0: 電源電壓 > 設定的低壓偵測電壓範圍 低壓偵測範圍: 5-3 LVD_LVL[2:0] 000: 2.00V 001: 2.25V 010: 2.50V 011: 2.75V 100: 3.00V 101: 3.25V 110: 3.50V 111: 3.75V 註: 低壓偵測的電壓範圍誤差大,詳細請參考 7.8 “電氣特性”章節。 7 LVD_PD 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 114 - 第1位 第0位 讀/寫 讀/寫 LVD_RST_LVL[1:0] WT51F104 具備 ADC 功能之 1T 8052 微控制器 6.16 低壓偵測復位 (LVDR) WT51F104 內置低壓偵測復位電路,可以偵測電源電壓下降到軟體設定範圍值,而產生復位。 致能和禁能操作,可以由軟體控制 低壓測偵位準有四段電壓可供選擇: 2.00V、2.50V、3.00V、3.50V VDD LVD LVDR 低壓偵測控制暫存器 LVD_CTL (外部記憶體位址: 0x02) 位元 狀態 名稱 位元編號 第7位 讀/寫 第6位 讀 LVD_PD LVD_CMP 第5位 讀/寫 第4位 讀/寫 復位值: A6h 第3位 讀/寫 LVD_LVL[2:0] 位符號 第2位 讀/寫 LVD_RST_PD 說明 1: 關閉低壓偵測復位電源 0: 開啟低壓偵測復位電源 低壓偵測復位範圍: 1-0 LVD_RST_LVL[1:0] 00: 2.00V 01: 2.50V 10: 3.00V 11: 3.50V 註: 低壓偵測復位的電壓範圍誤差大,詳細請參考 7.8 “電氣特性”章節。 2 LVD_RST_PD 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 115 - 第1位 讀/寫 第0位 讀/寫 LVD_RST_LVL[1:0] WT51F104 具備 ADC 功能之 1T 8052 微控制器 復位旗標暫存器 RESET_FLG (外部記憶體位址: 0x03) 位元 狀態 名稱 第7位 寫 第6位 讀 CLR_RST_FLG PC_OVL_RST_FLG 位元編號 復位值: 01h 第5位 讀 第4位 讀 第3位 讀 第2位 讀 ISP_RST_FLG WDT_RST_FLG NRST_FLG LVD_RST_FLG 位符號 7 CLR_RST_FLG 6 PC_OVL_RST_FLG 5 ISP_RST_FLG 4 WDT_RST_FLG 3 NRST_FLG 2 LVD_RST_FLG 1 LVR_RST_FLG 0 POR_RST_FLG 註: 詳細說明請參考 5.7 “復位”章節。 說明 1: 1: 1: 1: 1: 1: 1: 1: 清除所有復位旗標 復位的來源是程序計數器溢出 復位的來源是 ISP 復位的來源是看門狗 復位的來源是外部復位腳 復位的來源是低壓偵測復位 復位的來源是低壓復位 復位的來源是外部電源復位 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 116 - 第1位 讀 第0位 讀 LVR_RST_FLG POR_RST_FLG WT51F104 具備 ADC 功能之 1T 8052 微控制器 6.17 仿真式 E²PROM 利用內部 Flash PROM 的空間來模擬 E²PROM,儲存位址: 0x0C00 ~ 0x0EFF (768 位元組)。 E²PROM 致能暫存器 1 EER_EN1[3:0] (外部記憶體位址: 0xE0) 位元 狀態 名稱 第7位 第6位 第5位 第4位 - - - - 復位值: 00h 第3位 寫 第2位 寫 第1位 寫 第0位 寫 EER_EN1[3:0] 保留 位元編號 位符號 說明 7-4 3-0 保留 EER_EN1[3:0] 當 EER_EN1[3:0] = ‘1010’,同時 EER_EN2[3:0] = ‘0101’,則致能 E²PROM 之功能 -: 未能使用 E²PROM 致能暫存器 2 EER_EN2[3:0] (外部記憶體位址: 0xE1) 位元 狀態 名稱 第7位 第6位 - - 第5位 第4位 - - 復位值: 00h 第3位 寫 第2位 寫 位符號 7-4 3-0 保留 EER_EN2[3:0] 第0位 寫 EER_EN2[3:0] 保留 位元編號 第1位 寫 說明 當 EER_EN2[3:0] = ‘0101’,同時 EER_EN1[3:0] = ‘1010’,則開啟 E²PROM 之功能 -: 未能使用 E²PROM 位址低位元組暫存器 EER_ADDR[7:0] (外部記憶體位址: 0xE2) 位元 狀態 名稱 位元編號 7-0 第7位 讀/寫 第6位 讀/寫 第5位 讀/寫 第4位 讀/寫 第3位 讀/寫 復位值: FFh 第2位 讀/寫 第1位 讀/寫 EER_ADDR[7:0] 位符號 EER_ADDR[7:0] 說明 EER_ADDR[7:0]位址設定,搭配 EER_ADDR[11:8]組成 12 位元位址 E²PROM 位址高位元組暫存器 EER_ADDR[11:8] (外部記憶體位址: 0xE3) 位元 狀態 名稱 第0位 讀/寫 第7位 第6位 - - 第5位 第4位 - - 第3位 讀/寫 第2位 讀/寫 位符號 7-4 3-0 保留 EER_ADDR[11:8] 第1位 讀/寫 第0位 讀/寫 EER_ADDR[11:8] 保留 位元編號 復位值: 0Fh 說明 EEP_ADDR[11:8]位址設定,搭配 EER_ADDR[7:0]組成 12 位元位址 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 117 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 E²PROM 控制暫存器 EER_TCTL[3:0] (外部記憶體位址: 0xE4) 位元 狀態 名稱 第7位 保留 復位值: 08h 第6位 寫 第5位 寫 第4位 寫 ERR_IFREN EER_ERASE EER_PROG 位元編號 位符號 7 6 5 保留 ERR_IFREN EER_ERASE 4 EER_PROG 3-0 EER_TCTL[3:0] 第3位 寫 第2位 寫 第1位 寫 EER_TCTL[3:0] 說明 必須設為 0 1: E²PROM 進行 ERASE (256 Bytes)/頁 0: 不進行 ERASE 1: E²PROM 進行 PROGRAM (1 Byte) 0: 不進行 PROGRAM E²PROM ERASE/PROGRAM 時間設定 (請參考“註”) E²PROM 數據暫存器 EER_DATA[7:0] (外部記憶體位址: 0xE8) 位元 狀態 名稱 第7位 寫 第0位 寫 第6位 寫 第5位 寫 第4位 寫 復位值: 00h 第3位 寫 第2位 寫 第1位 寫 第0位 寫 EER_DATA[7:0] 位元編號 位符號 7-0 EER_DATA[7:0] 說明 E²PROM 數據暫存器 註 1. 當 WT51F104 在使用 E²PROM 功能時(寫入數據、清除),因為 MCU clock 會被關掉,所以 8052 CPU 和所 有對應到的功能都會停止不會動作,請參考 3.1 章節系統時鐘方塊圖。 註 2. 建議 WT51F104 工作在 12 MHZ 下才可以使用 E²PROM 功能(寫入數據、清除),且 EER_TCTL[3:0] 只能設 為“1000”,此時寫入 1 Byte 數據所需時間為 28u sec ~ 32u sec;清除 1 Bank (256 Bytes) 數據所需時間 為 28m sec ~ 32m sec。 註 3. 使用 E²PROM 清除及寫入數據功能前,需先禁能 LVR 功能,等 E²PROM 清除及寫入數據完成後,再致能 LVR 功能。詳細請參考 E²PROM 致能流程圖。 E²PROM 清除範圍及位址設定 (清除後數據都是 0xFF) Flash 位址 0x0C00 0x0D00 0x0E00 EER_ADDR[11:8] 1100 1101 1110 EER_ADDR[7:0] 0000 0000 0000 0000 0000 0000 清除範圍 0x0C00 ~ 0x0CFF 0x0D00 ~ 0x0DFF 0x0E00 ~ 0x0EFF 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 118 - 備註 WT51F104 具備 ADC 功能之 1T 8052 微控制器 E²PROM 致能流程圖: 寫入功能: 清除功能: START START 禁能 LVR LVR_PD = 1 禁能 LVR LVR_PD = 1 致能 EER_EN1 = 0x0A EER_EN2 = 0x05 致能 EER_EN1 = 0x0A EER_EN2 = 0x05 設定寫入地址 EER_ADDR[11:0] 設定清除啟始位址 EER_ADDR[11:0] 設定 default Programming Timing EER_TCTL[3:0] = 1000 設定 default Erase Timing EER_TCTL[3:0] = 1000 寫入資料 EER_DATA 致能清除功能 EER_ERASE = 1 CPU hold during Erasing state 禁能 EER_EN1 = 0 及 EER_EN2 = 0 致能寫入功能 EER_PROG = 1 CPU hold during Programming state 禁能 EER_EN1 = 0 及 EER_EN2 = 0 致能 LVR LVR_PD = 0 致能 LVR LVR_PD = 0 END END 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 119 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 6.18 Code Option Code Block 位於 Flash ROM 的最後八個位元組,其位址如下表所示,用於存放客戶 ID 與 IC 組態。 若不啟用此功能,請保留此八個位元組空間,並只能填寫 0xFF。當致能此功能後,在每次復位中,WT51F104 會 自動載入相關設定,請參考下面的說明及載入時序圖。 位址 0FF8H 位元編號 7-0 0FF9H 7-0 0FFAH 7-0 0FFBH 7-0 0FFCH 7-0 0FFDH 7-5 4 3 2 1-0 0FFEH 7-5 4-3 2-1 0 說明 = AFH, 致能 Code Option 功能; 當此位元組的高 4 位元為”1010”,致能此功能。 = FFH, 禁能 Code Option 功能 預設值 0xFF Customer ID 1 對映到 XFR: CSM_ID1 = 0x0D[7:0] 預設值 0xFF: 可透過 SWUT ISP 軟體燒錄指定代碼 Customer ID 2 對映到 XFR: CSM_ID2 = 0x0E[7:0] 預設值 0xFF: 可透過 SWUT ISP 軟體燒錄指定代碼 Customer ID 3 對映到 XFR: CSM_ID3 = 0x0F[7:0] 預設值 0xFF: 可透過 SWUT ISP 軟體燒錄指定代碼 Flash 記憶體內容保護: 此為獨立設置,不因 Code Option 禁能而關閉。 = 00H flash 記憶體無法寫入 = 10H flash 記憶體無法讀取 預設值 0xFF: Flash 可讀寫 (可用加密燒錄,達到相同的保護) 通用 I/O 複合功能選項設定: 保留 對映到 XFR: GPA3_FUN_SLT = 26H[5:4] 0: 一般 I/O (預設值) 1: 復位腳位 (NRST) 對映到 XFR: GPA4_FUN_SLT = 25H[1:0] 0: 一般 I/O (預設值) 1: 主外部晶振腳位 (Main Crystal) 對映到 XFR: LVD_RST_PD = 02H[2] 1: 禁能低壓復位 (預設值) 0: 致能低壓復位 對映到 XFR: LVD_RST_LVL = 02H[1:0],低壓偵測及復位準位設定 00: 2.00V 01: 2.50V 10: 3.00V (預設值) 11: 3.50V 初始化振盪器及驅動能力選項設定: 保留 對映到 XFR: SOURCE_CLK_SLT[1:0] = 0x05H[3:2]; 主晶振初始值 00: SOURCE clock = 內部 12 MHz RC 振盪器 (預設值) 01: SOURCE clock = 外部 32 kHz ~ 24 MHz 石英晶體振盪器 1X: SOURCE clock = 內部 32 kHz RC 振盪器 對映到 XFR: CRY_12M_DR[1:0] = 0x08H[2:1]; 振盪器驅動能力選擇 00: 選擇 < 100 kHz 石英晶體振盪器 01: 選擇 100 kHz ~ 1 MHz 石英晶體振盪器 10: 選擇 1 MHz ~ 12 MHz 石英晶體振盪器 (預設值) 11: 選擇 12 MHz ~ 24 MHz 石英晶體振盪器 對映到 XFR: BLDO_PD 0x08H[0]; 內部穩壓器 (main LDO) 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 120 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 位址 位元編號 說明 1: 關閉 0: 開啟 (預設值) 所有振盪器電源開關選項設定: 0FFFH 7-5 4 3 2 1 0 保留 對映到 XFR: IRC_12M_PD1 = 0x07H[4] 1: 關閉內部 12 MHz RC 振盪器的部份電源 0: 開啟內部 12 MHz RC 振盪器的部份電源 (預設值) 對映到 XFR: IRC_12M_PD2 = 0x07H[3] 1: 關閉內部 12 MHz RC 振盪器全部電源 0: 開啟內部 12 MHz RC 振盪器全部電源 (預設值) 保留 對映到 XFR: CRY_12M_PD = 0x 07H[1] 1: 關閉外部 32 kHz ~ 24 MHz 石英晶體振盪器 (預設值) 0: 開啟外部 32 kHz ~ 24 MHz 石英晶體振盪器 保留 註: 代碼選項的設定最後也會被程式的設定覆蓋掉,因此建議使用程序來設定代碼選項功能,下一頁有 Code Option 設定範例可參考,也會提供範例程式。 12 MHz 32 kHz IRC 256 clock 256 clock 256-32 = 224 clock = 7ms 32 clock = 1ms POR/LVR Global reset Initial load reset Code Option 內容載入 Initial load time 由 IRC 32 kHz 切換 IRC 12 MHz or CRY 12 MHz 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 121 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 WT51F104 Code Option 範例: ;-----------------------------------------------------------------------------; This Code: CodeOption104.A51 is for WT51F104 Code Option Setting ;-----------------------------------------------------------------------------#define OPTION_ON 1 #define OPTION_OFF 0 ;;Default Code Option OFF #define WT51F104_CODE_OPTION OPTION_OFF #if(WT51F104_CODE_OPTION==OPTION_ON) ;;Load Code option switch CSEG AT 0x0FF8 DB 10101111B ;;0xAF: load code option ;;Customer ID 1 CSEG AT 0x0FF9 DB 11111111B ;;Customer ID 2 CSEG AT 0x0FFA DB 11111111B ;;Customer ID 3 CSEG AT 0x0FFB DB 11111111B ;;Flash Protect Read/Write CSEG AT 0x0FFC ;;Flash memory content protection: ;;default 0xFF select no protection MCU can read/write ;;bit7-0 = 10H flash memory cannot be read ;;bit7-0 = 00H flash memory cannot be written into DB 11111111B ;;Crystal GPIO setting CSEG AT 0x0FFD ;;bit7 NC default 0 ;;bit6-5 Mapping to XFR: GPA4_FUN_SLT = 25H[1:0] ;;default 00 GPIOA4 set GPIO function ;;00: GPIO ;;10: Main crystal ;;bit4-3 Mapping to XFR: GPA3_FUN_SLT = 26H[5:4] ;;default 00 GPIOA3 set GPIO function ;;00: GPIO ;;10: NRST ;;bit2 Mapping to XFR: LVD_RST_PD 0x02H[2] ;;default 1 select disable ;;1: disable low voltage reset ;;0: enable low voltage reset ;;bit1-0 Mapping to XFR: LVD_RST_LVL 0x02H[1:0], low voltage detection and reset level setting ;;default 10 select 3.00V ;;00: 2.00V ;;01: 2.50V ;;10: 3.00V ;;11: 3.50V DB 00000110B ;;Source Clock and Crystal drive setting CSEG AT 0x0FFE ;;bit7 NC default 0 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 122 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 ;;bit6 NC default 0 ;;bit5 NC default 0 ;;bit4-3 Mapping to XFR: SOURCE_CLK_SLT[1:0] 0x05H[3:2]; initialization value of main oscillator ;;default 00 ;;00: SOURCE clock = internal 12 MHz RC oscillator ;;01: SOURCE clock = external 32 kHz ~ 24 MHz crystal oscillator ;;1X: SOURCE clock = internal 32 kHz RC oscillator ;;bit2-1 Mapping to XFR: CRY_12M_DR[1:0] 0x08H[2:1]; oscillator driving ability selection ;;default 10 ;;00: select < 100 kHz crystal oscillator ;;01: select 100 kHz ~ 1 MHz crystal oscillator ;;10: select 1 MHz ~ 12 MHz crystal oscillator ;;11: select 12 MHz ~ 24 MHz crystal oscillator ;;bit0 Mapping to XFR: BLDO_PD 0x08H[0]; internal voltage regulator (main LDO) ;;default turn on ;;1: turn off ;;0: turn on DB 00000100B ;;Crystal Power setting CSEG AT 0x0FFF ;;bit7 NC default 0 ;;bit6 NC default 0 ;;bit5 NC default 0 ;;bit4 Mapping to XFR: IRC_12M_PD1 0x07H[4] default turn on ;;1: turn off partial power of internal 12 MHz RC oscillator ;;0: turn on partial power of internal 12 MHz RC oscillator ;;bit3 Mapping to XFR: IRC_12M_PD2 0x07H[3] default turn on ;;1: turn off all power of internal 12 MHz RC oscillator ;;0: turn on all power of internal 12 MHz RC oscillator ;;bit2 Mapping to XFR: IRC_32K_PD 0x07H[2] default turn on ;;1: turn off the power of internal 32 kHz RC oscillator ;;0: turn of the power of internal 32 kHz RC oscillator ;;bit1 Mapping to XFR: CRY_12M_PD 0x07H[1] default turn off ;;1: Turn off external 32 kHz ~ 24 MHz crystal oscillator ;;0: Turn on external 32 kHz ~ 24 MHz crystal oscillator ;;bit0 NC default 0 DB 00000010B #else CSEG AT 0x0FF8 DB 11111111B CSEG AT 0x0FF9 DB 11111111B CSEG AT 0x0FFA DB 11111111B CSEG AT 0x0FFB DB 11111111B CSEG AT 0x0FFC DB 11111111B CSEG AT 0x0FFD DB 11111111B CSEG AT 0x0FFE DB 11111111B CSEG AT 0x0FFF DB 11111111B #endif 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 123 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 Customer ID 1 ~ 3 對映到客戶代碼暫存器 1~3,請參考下面三個客戶代碼暫存器的說明。 客戶代碼暫存器 1 位元 狀態 名稱 CSTM_ID1 (外部記憶體位址: 0x0D) 第7位 讀 第6位 讀 位符號 7-0 CSTM_ID1 客戶代碼暫存器 2 第3位 讀 第2位 讀 第1位 讀 第0位 讀 說明 客戶代碼,與 CSTM_ID2 及 CSTM_ID3 搭配共有 3 個位元組。 CSTM_ID2 (外部記憶體位址: 0x0E) 第7位 讀 第6位 讀 第5位 讀 復位值: FFh 第4位 讀 第3位 讀 第2位 讀 第1位 讀 第0位 讀 CSTM_ID2 位元編號 位符號 7-0 CSTM_ID2 客戶代碼暫存器 3 位元 狀態 名稱 第4位 讀 CSTM_ID1 位元編號 位元 狀態 名稱 第5位 讀 復位值: FFh 說明 客戶代碼,與 CSTM_ID3 及 CSTM_ID1 搭配共有 3 個位元組。 CSTM_ID3 (外部記憶體位址: 0x0F) 第7位 讀 第6位 讀 第5位 讀 復位值: FFh 第4位 讀 第3位 讀 第2位 讀 第1位 讀 第0位 讀 CSTM_ID3 位元編號 位符號 說明 客戶代碼,與 CSTM_ID1 及 CSTM_ID2 搭配共有 3 個位元組。 7-0 CSTM_ID3 註: WT51F104 的代碼選項提供三個位元組 (24 個位元),可供客戶自行設定,在每次復位後由程序存儲區讀取 數據。 以下暫存器在前面章節已有說明,現針對 Code Option 設定通用 I/O 複合功能選項所對映的暫存器,包括晶振腳位、 復位、低壓偵測復位的選項設定,將 0x25、0x26、0x02 暫存器再一次說明如下。 通用 I/O 端口 A 複合功能設定暫存器 1 GPIOA_FUN1 (外部記憶體位址: 0x25) 位元 狀態 名稱 第7位 保留 第6位 讀/寫 第5位 讀/寫 第4位 讀/寫 GPA5_FUN_SLT[2:0] 位元編號 位符號 7 6-4 保留 GPA5_FUN_SLT[2:0] 第3位 第2位 讀/寫 保留 第1位 讀/寫 第0位 讀/寫 GPA4_FUN_SLT[2:0] 說明 設定 GPIOA5DH 複合功能 000: GPIO/IRQ15 (預設值) 001: ADC15 模擬輸入 011: B 路徑 PWM1 輸出 010: T1 輸入 101: P00 輸出/輸入 (對映至 8052 之 P0.0) 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 124 - 復位值: 00h WT51F104 具備 ADC 功能之 1T 8052 微控制器 位元編號 位符號 說明 3 2-0 保留 GPA4_FUN_SLT[2:0] 註: 當 GPIOA4DH 設定為 OSCO 時,GPIOA5DH 需設定為 GPIO 功能。 設定 GPIOA4DH 複合功能 000: GPIO/IRQ14/ETMIA (預設值) 001: ADC14 模擬輸入 010: OSCO (選擇 OSCO,對映的 GPIOA5DH 需設為 GPIO 功能) 011: B 路徑 PWM0 輸出 101: P01 輸出/輸入 (對映至 8052 之 P0.1) -: 未能使用。 通用 I/O 端口 A 複合功能設定暫存器 2 GPIOA_FUN2 (外部記憶體位址: 0x26) 位元 狀態 名稱 第7位 第6位 讀/寫 保留 第5位 讀/寫 第4位 讀/寫 GPA3_FUN_SLT[2:0] 位元編號 位符號 7 6-4 保留 GPA3_FUN_SLT[2:0] 3 2-0 保留 GPA2_FUN_SLT[2:0] 第3位 復位值: 00h 第2位 讀/寫 保留 第1位 讀/寫 第0位 讀/寫 GPA2_FUN_SLT[2:0] 說明 設定 GPIA3D 複合功能 000: GPIO/IRQ13/ETMIB (預設值) 001: ADC13 模擬輸入 010: 復位腳位 (NRST) 輸入 設定 GPIOA2DH 複合功能 000: GPIO/IRQ2 (預設值) 001: ADC2 模擬輸入 010: CMPO,比較器輸出 011: C 路徑 PWM1 輸出 101: T0 輸入 -: 未能使用。 低壓偵測控制暫存器 LVD_CTL (外部記憶體位址: 0x02) 位元 狀態 名稱 第7位 讀/寫 LVD_PD 第6位 讀 LVD_CMP 位元編號 位符號 7 LVD_PD 6 LVD_CMP 5-3 LVD_LVL[2:0] 第5位 讀/寫 第4位 第3位 讀/寫 讀/寫 LVD_LVL[2:0] 復位值: A6h 第2位 讀/寫 LVD_RST_PD 說明 1: 關閉低壓偵測電源 0: 開啟低壓偵測電源 低壓偵測比較後的結果 1: 電源電壓 < 設定的低壓偵測電壓範圍 0: 電源電壓 > 設定的低壓偵測電壓範圍 低壓偵測範圍: 000: 2.00V 001: 2.25V 010: 2.50V 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 125 - 第1位 第0位 讀/寫 讀/寫 LVD_RST_LVL[1:0] WT51F104 具備 ADC 功能之 1T 8052 微控制器 位元編號 位符號 說明 011: 2.75V 100: 3.00V 101: 3.25V 110: 3.50V 111: 3.75V 以下為 Code Option 設定初始化振盪器及驅動能選項所對應的暫存器,包括晶振來源、驅動能力的選項設定。 系統時鐘源控制暫存器 SOURCE_CLK_SLT (外部記憶體位址: 0x05) 位元 狀態 名稱 第7位 第6位 第5位 第4位 - - - - 位符號 保留 SOURCE_CLK_SLT[1:0] 1-0 MCU_CLK_SLT[1:0] 第2位 讀/寫 SOURCE_CLK_SLT[1:0] 保留 位元編號 7-4 3-2 第3位 讀/寫 復位值: A0h 第1位 讀/寫 第0位 讀/寫 MCU_CLK_SLT[1:0] 說明 必須等於”1010”,否則位元[3:0]無法寫入 選擇 SOURCE clock 來源 00: 內部 12 MHz RC 振盪器 (預設值) 01: 外部 DC ~ 24 MHz 石英晶體振盪器 10: 內部 32 kHz RC 振盪器 預設值可由 6.18 代碼選項選擇 MCU clock 設定 00: MCU clock = SOURCE clock (預設值) 01: MCU clock = SOURCE clock /2 10: MCU clock = SOURCE clock /4 11: MCU clock = SOURCE clock /12 -: 未能使用。 註: 1. 因外部晶振腳位同時支援 12 MHz 及 32.768 kHz 石英晶體振盪器的緣故,所以當 SOURCE clock 為外部 32.768 kHz 石英晶體振盪器時,不可以將 BLDO_PD 關閉,否則會使 SOURCE clock 停止工作且無法燒錄,可選擇 SOURCE clock 為內部 32 kHz RC 振盪器,搭配實時定時器選擇外部 32.768 kHz 石英晶體振盪器來操作。 2. 當 SOURCE clock 為內部 32 kHz RC 振盪器且實時定時器的系統時鐘源是選擇外部 32.768 kHz 石英晶體振盪 器時,會因內部 32 kHz RC 振盪器誤差太大,執行速度比實時定時器產生的中斷慢,而無法即時捕捉到中斷源, 所以在此模式下,需要將外部時鐘源除頻控制暫存器 1 及外部時鐘源除頻控制暫存器 2 設定為除 2,將實時定 時器的時鐘源除 2 為 16.384 kHz,此時實時定時器所選擇的時間都會增加一倍的計數時間,這時 MCU 才能完 全捕捉不會漏掉。 設定外部時鐘源除 2 流程: 1. 設定除頻數據: CRY_DIV[9:0] = 1,32.768 kHz/( CRY_DIV[9:0]+1) = 32.768 kHz/2 =16.384 kHz 2. 致能外部石英晶體振盪器之時鐘源除頻: EN_CRY_DIV = 1 振盪器驅動控制暫存器 CRY_12M_DR[1:0] (外部記憶體位址: 0x08) 位元 狀態 名稱 第7位 第6位 - - 第5位 第4位 第3位 - - 保留 保留 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 126 - 復位值: 54h 第2位 讀/寫 第1位 讀/寫 CRY_12M_DR[1:0] 第0位 讀/寫 BLDO_PD WT51F104 具備 ADC 功能之 1T 8052 微控制器 位元編號 位符號 7-4 3 2-1 保留 保留 CRY_12M_DR[1:0] 0 BLDO_PD 說明 必須等於”0101”,否則位元[3:0]無法寫入 外部石英晶體振盪器驅動能力設定 00: 頻率為小於 100 kHz 之晶體振盪器 01: 頻率為 100 kHz ~ 1 MHz 之晶體振盪器 10: 頻率為 1 MHz ~ 12 MHz 之晶體振盪器 (預設值) 11: 頻率為 12 MHz ~ 24 MHz 之晶體振盪器 預設值可由 6.18 代碼選項選擇 內部穩壓器 (main LDO) 1: 關閉 main LDO 0: 開啟 main LDO (預設值) 預設值可由 6.18 代碼選項選擇 -: 未能使用。 註: main LDO 關閉僅針對 Green 模式,如果 SOURCE clock 為 12 MHz (IRC 內部或外部晶振)都必須開啟,否則 會造成工作異常且不能燒錄。 註: 因 WT51F104 僅支援一組外部振盪器輸入,須根據外部石英晶體振盪器的頻率來設定振盪器的驅動能力, 詳細請參考下表。 CRY_12M_DR[1:0] 11 10 00 外部石英晶體振盪器 24 MHz 12 MHz 32.768 kHz 以下為 Code Option 設定所有振盪器電源開關選項設定,建議照復位值去設定,如果要使用外部晶振可等 MCU 執 行程序時再去設定。 時鐘源開關控制暫存器 IRC_12M_PD (外部記憶體位址: 0x07) 復位值: A2h 位元 第7位 第6位 第5位 第4位 第3位 第2位 第1位 第0位 狀態 - - - 讀/寫 讀/寫 讀/寫 讀/寫 - IRC_32K_PD CRY_12M_PD 保留 名稱 保留 位元編號 7-5 4 位符號 IRC_12M_PD1 3 IRC_12M_PD2 2 IRC_32K_PD 1 CRY_12M_PD 0 保留 IRC_12M_PD1 IRC_12M_PD2 說明 必須等於”101”,否則位元[4:0]無法寫入 1: 內部 12 MHz RC 振盪器部份電源關閉 (預設值不關閉) 0: 不關閉 1: 內部 12 MHz RC 振盪器全部電源關閉 (預設值不關閉) 0: 不關閉 1: 內部 32 kHz RC 振盪器電源關閉 (預設值不關閉) 0: 不關閉 1: 外部 12 MHz ~ 32 kHz 石英晶體振盪器電源關閉 (預設值關閉) 0: 不關閉 - -: 未能使用。 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 127 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 6.19 防讀與加密機制 (Read Out Protection & Encryption) START Source Code Keil C 編譯成 Hex File 進行加密, 產生 Bin File 燒錄到 WT51F104 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 128 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 7. 電氣特性 7.1 極限參數 參數 符號 條件 範圍 VDD VI VO ∑ IOH ∑ IOL TA TSTG 直流供電電壓 輸入電壓 輸出電壓 總輸出高電流 總輸出低電流 環境溫度 儲存溫度 單位 -0.3 ~ 6.0 -0.3 to VDD +0.3 -0.3 to VDD +0.3 90 @-40 ℃~+ 90 @-40 ℃~+ -40 ~ 85 -60 ~ 125 V V V mA mA ℃ ℃ 注意: 晶片使用超過上面列表 “極限參數”會引起晶片永久性損壞。這是一個額定值,在任何情況下,如果對器件 的有效操作參數大於規格書中操作章節所標識的值都是不允許的。長期大於“極限參數”工作會影響器件的可 靠性。超過上面所列數據可能對設備造成永久性損壞。 7.2 推薦操作參數 參數 符號 VDD Fmain Fsub TOPR VPOR 電源電壓 主操作頻率 次操作頻率 操作溫度 上電復位電壓 Fmain = 12 MHz VDD = 1.8V ~ 5.5V VDD = VDD 規格 典型值 最小值 1.8 最大值 5.5 12 32.768 -40 85 1.15 At VDDTR = 30ms, TA = 25℃ 單位 V MHz kHz ℃ V (*) VDDTRA 50 µS /V (*) VDDTFA 150 µS /V VDD 電壓上升速率 VDD 電壓下降速率 (*) 條件 : 以上參數未經測試,僅供參考,不提供保證。 上電復位 Timing VDDTR = 30 ms VDD 1.15V tDDH tDDL 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 129 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 7.3 DC 電氣特性 (VDD = 1.8V ~ 5V, -40℃ ~ +85℃) 參數 符號 引腳/條件 施密特觸發低到高電位 VT+ VDD = 1.8V ~ 5.5V 施密特觸發高到低電位 VT- VDD = 1.8V ~ 5.5V 輸出高電壓電位 (註) 輸出低電壓電位 (註) (*) 規格 最小值 典型值 0.6 VDD 最大值 單位 VDD +0.3 V 0.2 VDD V VOH4 IOH = 4 mA at VDD = 5V GPIOB0 ~ GPIOB5, GPIOC0 ~ GPIOC5 VDD -0.4 V VOH8 IOH = 8 mA at VDD = 5V GOIOA0 ~ GPIOA2, GPIOA4 ~ GPIOA5 VDD -0.4 VOL4 IOL = 4 mA at VDD = 5V GPIOB0 ~ GPIOB5, GPIOC0 ~ GPIOC5 VSS +0.4 VOL8 IOL = 8 mA at VDD = 5V GOIOA0 ~ GPIOA2, GPIOA4 ~ GPIOA5 VSS +0.4 V IOZ VO = 0V or VDDV RPH VDD = 5V, VPIN = 0V 33 KΩ 正常高速模式 at 12 MHz 工作電流 IVDD12M No load on output (VDD = 5V, IRC12M on), peripheral off 3.5 mA 正常高速模式 at 6 MHz 工作電流 IVDD6M No load on output (VDD = 5V, IRC12M on), peripheral off 2.1 mA 正常高速模式 at 3 MHz 工作電流 IVDD3M No load on output (VDD = 5V, IRC12M on), peripheral off 1.4 mA 正常高速模式 at 1 MHz 工作電流 IVDD1M No load on output (VDD = 5V, IRC12M on), peripheral off 0.9 mA Idle 模式工作電流 IVDDS1 No load on output (VDD = 5V, mcuClk = stop, Peripheral clock = IRC12M, BLDO on), peripheral off 600 µA Green 模式工作電流 IVDDS2 No load on output (VDD = 5V, mcuClk = IRC32K, 17 µA 輸入漏電流 上拉電阻 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 130 - ±0.01 ±1 µA WT51F104 具備 ADC 功能之 1T 8052 微控制器 參數 符號 引腳/條件 規格 最小值 典型值 最大值 單位 Peripheral clock = IRC32K, BLDO off, LVR off), peripheral off Sleep 模式工作電流 (*) IVDDS3 No load on output (VDD = 5V, mcuClk = stop, Peripheral clock = stop, BLDO off, LVR off), peripheral off 5 µA : 以上參數未經測試,僅供參考,不提供保證。 註: VOH4 /VOL4 腳位最大汲/源電流為 10mA; VOH8 /VOL8 腳位最大汲/源電流為 20mA。 7.4 AC 電氣特性 (TA = 25℃) 參數 符號 FMCP 主操作頻率 (*) 主晶振穩定時間 引腳/條件 XIN 最小值 規格 典型值 0.032 最大值 單位 24 MHz VDD = 4.5V ~ 5.5V at 12 MHz 10 ms VDD = 1.8V ~ 4.5V at 12 MHz 30 ms 1 s 10 s VDD = 4.5V ~ 5.5V at 32768 Hz 0.5 VDD = 1.8V ~ 4.5V at 32768 Hz 中斷輸入脈衝寬度 (IRQx) tINTH, tINTL MCU clock = 12 MHz 167 ns 復位輸入脈衝寬度 tRSL RST_NDF = 1, main clock = 12 MHz 334 ns (*) : 以上參數未經測試,僅供參考,不提供保證。 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 131 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 Input Timing for External Interrupts tINTL tINTH 0.8 VDD 0.2 VDD 0.2 VDD Input Timing for RESET tRSL RESET 0.2 VDD 7.5 內部 12 MHz RC 振盪器溫度誤差表 規格 參數 符號 單位 引腳/條件 最小值 (*) 出廠頻率誤差值 VDD = 5V MHz ΔFRCH1/FRCH 無外部石英晶體振 盪器作校正 25℃ ±1 % 無外部石英晶體振 盪器作校正 0℃ ~ 70℃ ±2 % 無外部石英晶體振 盪器作校正 -40℃ ~ 85℃ ±3 % 無外部石英晶體振 盪器作校正 -40℃ ~ 125℃ ±4 % 有外部石英晶體振 盪器作校正 -40℃ ~ 125℃ (*) 最大值 12 FRCH RC 振盪器頻率 典型值 : 以上參數未經測試,僅供參考,不提供保證。 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 132 - ±1 % WT51F104 具備 ADC 功能之 1T 8052 微控制器 7.6 A/D 轉換特性 (TA = 25℃) 參數 符號 引腳/條件 最小值 分辨率 規格 典型值 最大值 單位 10 bit 積分非線性誤差 (INL) EIL AVREF = VDD = 5V ±2 LSB 差分非線性誤差 (DNL) EDL AVREF = VDD = 5V ±2 LSB 模擬電壓輸入範圍 VADCIN TCT 轉換時間 (*) 參考電壓 (*) 對地電壓 (*) ADC 工作電流 VSS main clock = 12 MHz VREF ADC_clk 16 AVREF 2.5 VDD V AVSS VSS VSS +0.3 V IADC at Power mode mA 0.2 AVREF = VDD = 5V 1 AVREF = VDD = 5V (*) V µA Down : 以上參數未經測試,僅供參考,不提供保證。 ADC ENOB (Effective number of bits) 參數 引腳/條件 ADC convert time clock base = 1 MHz 規格 最小值 典型值 最大值 單位 ENOB (有效位元數) AVREF = VDD = 5V 9 bit AVREF = VDD = 4V 8 bit AVREF = VDD = 3V 8 bit AVREF = VDD = 2V 8 bit AVREF = VDD = 1.22V (Bandgap) 6 bit 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 133 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 7.7 Bandgap 電氣特性 參數 符號 引腳/條件 規格 典型值 最小值 最大值 單位 (*) 1.8 5.5 V (*) -40 85 ℃ 操作電壓 操作溫度 Bandgap 電壓 VBDIE VDD = 5V 1.22 ±15% V Temp = 25℃ 電壓變異 VBSP VDD = 1.8V ~ 5.5V 50 mV 溫度變異 VBTP Temp = -40℃ ~ 85℃ 30 mV (*): 以上參數未經測試,僅供參考,不提供保證。 註: 內部參考電壓 Bandgap 出廠未校正,且容易受溫度及電源電壓影響,實際電壓值請參考 6.13 章節。 7.8 低壓復位 (LVR)、低壓偵測 (LVD)及低壓偵測復位 (LVDR) 電氣特性 (TA = 25℃) 參數 符號 引腳/條件 LVR 電壓 VLVR TA = 25℃ LVR 工作電流 IDDPR VDD = 5V ±10% 最小值 LVD 及 LVDR 反應時間 規格 典型值 最大值 單位 1.5 V 5 µA 120 µS 低壓偵測範圍誤差 VLVD 10 % 低壓偵測復位範圍誤差 VLVDR 10 % 7.9 比較器特性 (VDD = 5V, TA = 25℃) 參數 符號 引腳/條件 最小值 規格 典型值 VICM 輸入偏移電壓 VIOS ±5 mV 反應時間 TRT 1 µs 設定時間 TST 32 段參考電壓誤差 VREF 比較器工作電流 ICMP VDD 單位 比較器輸入電壓範圍 (*) VSS 最大值 3 VDD = 5V ACOMP_SEL_BGP [1:0] = 00 (*): 以上參數未經測試,僅供參考,不提供保證。 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 134 - 10 V µs 10 % 20 µA WT51F104 具備 ADC 功能之 1T 8052 微控制器 7.10 熱阻特性 參數 符號 特性 典型值 單位 條件 TH01 θJA 熱阻 (結到環境) 90 ℃/W 20-pin SSOP 包裝 TH02 θJC 熱阻 (結到管殼) 30 ℃/W 20-pin SSOP 包裝 TH03 TJMAX 最高結溫 125 ℃ 20-pin SSOP 包裝 典型值 單位 條件 參數 符號 特性 TH01 θJA 熱阻 (結到環境) 90 ℃/W 14-pin SOP 包裝 TH02 θJC 熱阻 (結到管殼) 37 ℃/W 14-pin SOP 包裝 TH03 TJMAX 最高結溫 125 ℃ 14-pin SOP 包裝 典型值 單位 條件 參數 符號 特性 TH01 θJA 熱阻 (結到環境) 45 ℃/W 10-pin MSOP 包裝 TH02 θJC 熱阻 (結到管殼) 120 ℃/W 10-pin MSOP 包裝 TH03 TJMAX 最高結溫 125 ℃ 10-pin MSOP 包裝 典型值 單位 條件 參數 符號 特性 TH01 θJA 熱阻 (結到環境) 150 ℃/W 8-pin SOP 包裝 TH02 θJC 熱阻 (結到管殼) 39 ℃/W 8-pin SOP 包裝 TH03 TJMAX 最高結溫 125 ℃ 8-pin SOP 包裝 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 135 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 8. 應用電路 8.1 供電線路 WT51F104 VDD 0.1uF 8.2 4.7uF 振盪器線路 8.2.1 外掛 12 MHz 晶體振盪器 Example Crystal Oscillator C1, C2 = 10pF ~ 33pF Ceramic Resonator C1, C2 = 10pF ~ 33pF * The example load capactor value (C1, C2, C3, C4) is common value but may not be appropriate for some crystal or ceramic resonator. WT51F104 C1 OSCI 12MHz OSCO C2 註: WT51F104 已提供內部 RC 振盪,可以不需要外掛晶體振盪器,但有需求更精準的應用可以外掛晶體振盪器。 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 136 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 8.2.2 外掛 32.768 kHz 晶體振盪器 WT51F104 C3 OSCI 32.768 kHz OSCO Example C3,C4 = 10pF ~ 66pF 8.3 RESET 線路 VDD WT51F104 10K Jumper NRST 4.7uF 註: 復位電路會影響到燒錄,需增加 Jumper 作隔離。 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 137 - C4 WT51F104 具備 ADC 功能之 1T 8052 微控制器 8.4 標準線路 VDD VDD WLINK-SWUT ISP Board 4.7uF 0.1uF MCU VDD Schmitt trigger Buffer VDD VDD GND GND RST / SWUT RX TX Open Drain Buffer VDD 10K Jumper 4.7uF This reset circuit options. Jumper OFF: SWUT can work Jumper ON: Only Reset, ISP function is disabled. 註: 目前提供的 WLINK-SWUT 僅支援 VDD = 5V 燒錄 (版本:WLINK-SWUT 20120120) ,在下一版將支援 VDD = 2.2V ~ 5.5V 都可燒錄。 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 138 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 8.5 開發板線路 (16*2 LCM) VDD VDD 4.7uF 0.1uF 22pF SCL(GPIOA0) SDA(GPIOA1) VSS OSCI 32.768KHz M/S I2C Host GPIOB4 LED 1 GPIOB5 LED 2 OSCO 22pF VDD WT51F104 DB 4~7(GPIOC5~GPIOC2) R/W(GPIOB3) RS(GPIOC0) GPIOA2 EN(GPIOC1) LCD MODULE 47R + BUZ 10K VDD 10K Jumper 4.7uF RST / SWUT WLINK-SWUT ISP Board GPIOB1 KEY 1 GPIOB0 KEY 2 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 139 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 9. 產品命名規則 WT 消費性市場 LCD 功能 種子碼 (家族) WT 5 1F 1 0 4 5 1 6 1 0 8 2 1 6 WT 5 10. 6F Flash Size (K Bytes) 註解 5: 具 MCU/DSP,使用在泛用型 或 消費性市場的相關產品 1X: 8-bit MCU 1F: Flash type 不帶 LCD 功能的 8-bit MCU 5: 具 MCU/DSP,使用在泛用型 或 消費性市場的相關產品 6X: LCD 背光模組控制器 6F: Flash type 帶 LCD 功能的 8-bit MCU 訂購信息 包裝型 包裝外觀尺寸 產品型號 20-pin SSOP 150 mil WT51F104-OG20AWT 14-pin SOP 150 mil WT51F104-SG140WT 10-pin MSOP 118 mil WT51F104-MG10AWT 8-pin SOP Wafer form or Chip form 150 mil WT51F104-SG080WT - WT51F104HXXXWT 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 140 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 VSS VSS VSS VDD NC1 VDD 裸片座標位置圖 NC2 11. 1 WELTREND WT51F104 GPIOA5DH OSCI GPIOA0DH OSCO GPIOA1DH GPIOA4DH GPIOA2DH GPIA3 GPIOB5D GPIOB0D GPIOB1D 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 141 - GPIOB2D GPIOC0D GPIOC1D GPIOC2D GPIOC3D GPIOC4D GPIOC5D NC4 NC3 GPIOB3D GPIOB4D WT51F104 具備 ADC 功能之 1T 8052 微控制器 No 1 2 3 4 5* 6* 7* 8* 9* 10* 11* 12 13 14 15 Name VDD VDD NC1 NC2 GPIOA5DH OSCI OSCO GPIOA4DH GPIA3 GPIOB5D GPIOB4D GPIOB3D NC3 NC4 GPIOC5D X 1069.05 976.05 563.61 266.23 46.45 46.45 46.45 46.45 46.45 46.45 46.45 166.95 259.95 352.95 485.95 Y 1678.55 1678.55 1678.55 1678.55 1558.05 1454.55 1361.55 1219.41 1126.41 873.41 460.41 46.45 46.45 46.45 46.45 No 16 17 18 19 20 21 22* 23* 24* 25* 26* 27 28 29 Name GPIOC4D GPIOC3D GPIOC2D GPIOC1D GPIOC0D GPIOB2D GPIOB1D GPIOB0D GPIOA2DH GPIOA1DH GPIOA0DH VSS VSS VSS X 618.95 751.95 964.05 1097.05 1230.05 1363.05 1483.55 1483.55 1483.55 1483.55 1483.55 1363.05 1270.05 1169.55 Y 46.45 46.45 46.45 46.45 46.45 46.45 577.99 688.82 1212.415 1305.415 1398.415 1678.55 1678.55 1678.55 Notes: 1. The origin of pad location shown here is at lower-left corner of die. 2. PAD Window (a) A type: 73um x 66um (b) B type: 66 um x 73um (*) 3. To stabilize the supply voltages, please connect 0.1uF and 4.7uF bypass capacitors between VDD and VSS. 4. NC1, NC2, NC3, NC4 pins, no connection for normal application. 5. All VDD pin need connect together. (No: 1, 2) 6. All VSS pin need connect together. (No: 27, 28, 29) 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 142 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 12. 封裝尺寸 12.1 20-Pin SSOP 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 143 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 12.2 14-Pin SOP 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 144 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 12.3 10-Pin MSOP 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 145 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 12.4 8-Pin SOP UNIT: mm 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 146 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 13. 開發工具 WT51F104 可以與 Keil C51 搭配,調試工具與開發演示板、應用軟體,都可以在電腦系統 Win98/2000/XP/Win7 完成在線仿真 (ICE) 與在線燒錄 (ISP)。 示意圖如下: 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 147 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 開發工具說明表: 請上偉詮電子公司網頁 產品資訊 http://www.weltrend.com.tw/ 可以下載開發工具相關資料與購買品號 泛用型 IC ADC Type MCU WT51F104 Product Spec WT51F116/WT51F108 Product Spec ADC+LCD Type MCU WT56F216 Product Spec WT56F108 Product Spec WT56F248/WT56F232 Product Spec 技術支援 支援工具/泛用型 IC 線上模擬器/線上燒錄器 WA001 WLINK-SWUT Adapter 量產型燒錄器 WA007 WLINK-SWUT-M4S 量產型燒錄器擴充板 WS001 WLINK-SWUT-M4S Daughter Board Support WT56F216/WT56F232/WT56F248 MCU RG44AWT LQFP 44 PKG WS003 WLINK-SWUT-M4S Daughter Board Support WT56F216 MCU SG28AWT SOP28 PKG WS004 WLINK-SWUT-M4S Daughter Board Support WT51F104/WT51F116/WT51F108 MCU OG20AWT SSOP20 PKG WS005 WLINK-SWUT-M4S Daughter Board Support WT51F104 MCU SG140WT SOP14 PKG SG080WT SOP8 PKG WS006 WLINK-SWUT-M4S Daughter Board Support WT51F104 MCU MG10AWT MSOP10 PKG WS007 WLINK-SWUT-M4S Daughter Board Support WT56F108 MCU RG64AWT LQFP64 PKG WS009 WLINK-SWUT-M4S Daughter Board Support WT51F116/WT51F108 MCU UG32AWT QFN32 PKG WS010 WLINK-SWUT-M4S Daughter Board Support WT51F116/WT51F108 MCU MG10BWT MSOP10 PKG WS011 WLINK-SWUT-M4S Daughter Board Support WT56F248/WT56F232 MCU RG64AWT LQFP64 PKG WS012 WLINK-SWUT-M4S Daughter Board Support WT56F248/WT56F232 MCU UG32AWT QFN32 PKG WS013 WLINK-SWUT-M4S Daughter Board Support WT56F108 MCU RG44AWT LQFP 44 PKG WS014 WLINK-SWUT-M4S Daughter Board Support WT56F108 MCU SG28AWT SOP28 PKG 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 148 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 技術支援 支援工具/泛用型 IC WB000 WT56F216 EV Board 驗證板 WB001 WT51F104 EV Board WB005 WT56F216 Starter Kit Board WB006 WT51F104 Starter Kit Board WB007 WT56F108 Starter Kit Board WB008 WT51F116/WT51F108 Starter Kit Board WB010 WT56F248/WT56F232 Starter Kit Board 技術資料/泛用型 IC WK000 WT56F216 Starter Kit 開發套件 WK001 WT51F104 Starter Kit WK004 WT56F108 Starter Kit WK005 WT51F116/WT51F108 Starter Kit WK007 WT56F248/WT56F232 Starter Kit 技術資料/泛用型 IC WLINK Adapter 安裝說明 書 Doc2 WLINK-SWUT Adapter 安裝說明書 量產型燒錄器說明書 Doc26 WLINK-SWUT-M4S 使用說明書 ICE/ISP 操作說明書 Doc6 WLINK ICE 操作說明書 (uVision IDE 版) Doc8 WLINK-SWUT ISP 操作說明書 (獨立版) 驗證版操作說明書 Doc12 WT56F216 EV Board 操作說明書 Doc13 WT51F104 EV Board 操作說明書 Doc21 WT56F216 Starter Kit 快速啟動手冊 Doc22 WT51F104 Starter Kit 快速啟動手冊 Doc23 WT56F216 Starter Kit 操作說明書 Doc24 WT51F104 Starter Kit 操作說明書 Doc27 WT56F108 Starter Kit 操作說明書 Doc28 WT51F116/WT51F108 Starter Kit 操作說明書 Doc30 WT56F248/WT56F232 Starter Kit 操作說明書 軟體下載/泛用型 IC 量產型燒錄工具與供應商 聯絡資訊 Doc20 量產型燒錄工具供應商 WLINK Adapter 驅動程式 SW2 WLINK-SWUT Adapter 驅動程式 量產型燒錄器驅動程式 SW2 WLINK-SWUT Adapter 驅動程式 ICE 驅動程式/ISP 應用程 式 SW6 WLINK-SWUT ICE 驅動程式(uVision IDE 版) SW8 WLINK-SWUT ISP 驅動程式(uVision IDE 版) SW9 WLINK-SWUT ISP 應用程式(獨立版) SW17 自動安裝 WLINK-SWUT ICE 及 ISP 驅動程式 (uVision IDE 版)WLINK-SWUT ISP 驅動程式 (uVision IDE 版) 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 149 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 技術支援 軟體下載/泛用型 IC SW13 WT56F216 EV Board 範例程式 範例程式 SW14 WT51F104 EV Board 範例程式 SW18 WT56F216 Starter Kit Board 範例程式 SW19 WT51F104 Starter Kit Board 範例程式 SW21 WT56F108 Starter Kit Board 範例程式 SW22 WT51F116/WT51F108 Starter Kit Board 範例程式 SW25 WT56F248/WT56F232 Starter Kit Board 範例程式 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 150 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 14. 版本更改記錄 版本 記錄 日期 1.0 初始版本 2011 年 11 月 1.05 改版,詳見勘誤表 2012 年 6 月 2.0 改版,詳見勘誤表 (0327) 改版,詳見勘誤表 (0711) 2013 年 3 月 2013 年 7 月 3.0 改版,詳見勘誤表 (20140630) 改版,詳見勘誤表 (20140912) 改版,詳見勘誤表 (20141226) 2014 年 6 月 2014 年 9 月 2014 年 12 月 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 151 - WT51F104 具備 ADC 功能之 1T 8052 微控制器 附錄: 中/簡版勘誤表 2.0 版 -> 3.0 版 項目 頁碼 章節 異動說明 1 3 2 2 8-10 4.1 引腳功能內容 3 11 4.2 引腳描述內容 4 38-40 6.2.3 XFR: 0x25, 0x27, 0x28 內容 5 43-44 6.2.3 複合功能設定表 6 67 6.6 7 86-87 6.9.1 XFR: 0x0A 內容 8 105 6.13 ADC 內容 9 111 6.14 XFR: 0xDB 內容 10 118 6.17 內容修改 11 119 6.17 致能流程圖更新 12 120 6.18 代碼選項 內容 13 125 6.18 XFR: 0x25 內容 14 148-150 13 增加 Green Package 說明 XFR: 0x57,0x58 內容 開發工具說明表 更新 本文件為偉詮電子股份有限公司機密資料,未經許可不得擅自複印或備份。 - 152 -