什麼是 MPASM MPASM 就是 Microchip PICmicro Assembler 單一原始檔案格式 將組合語言直接翻譯成 hex 格式的機械碼 多原始檔案格式 將組合語言翻譯成 object 格式的檔案, 該檔案須經連結器 (linker) 再產生 hex 格式的機械碼 2003 Mi

Size: px
Start display at page:

Download "什麼是 MPASM MPASM 就是 Microchip PICmicro Assembler 單一原始檔案格式 將組合語言直接翻譯成 hex 格式的機械碼 多原始檔案格式 將組合語言翻譯成 object 格式的檔案, 該檔案須經連結器 (linker) 再產生 hex 格式的機械碼 2003 Mi"

Transcription

1 使用 Microchip 組合語言編譯器 MPASM & MPLINK 2003 Microchip Technology Taiwan. All Rights Reserved. 1 Using MPASM & MPLINK 認識 MPASM & MPLINK 自行下載 2003 Microchip Technology Taiwan. All Rights Reserved. 2 Using MPASM & MPLINK

2 什麼是 MPASM MPASM 就是 Microchip PICmicro Assembler 單一原始檔案格式 將組合語言直接翻譯成 hex 格式的機械碼 多原始檔案格式 將組合語言翻譯成 object 格式的檔案, 該檔案須經連結器 (linker) 再產生 hex 格式的機械碼 2003 Microchip Technology Taiwan. All Rights Reserved. 3 Using MPASM & MPLINK 什麼是 MPLINK MPLINK 就是 Microchip PICmicro Linker 依據連結描述檔的需求對所輸入的 obj 檔案統一規劃處理 聯結資料庫 安排變數 (RAM) 位址 安排程式 (ROM) 位址 產生唯一的 hex 格式的機械碼 2003 Microchip Technology Taiwan. All Rights Reserved. 4 Using MPASM & MPLINK

3 MPASM 組譯流程 單一原始組合語言檔 (.ASM.HEX ) Code.ASM Code.INC MPASM Code.HEX Programmer Emulator Others 多原始組合語言檔 (.ASM.OBJ.HEX ) Main.ASM MPASM Main.O.LIB.LKR Sub.ASM MPASM More.ASM MPASM Sub.O More.O MPLINK Main.HEX Programmer Emulator Others 2003 Microchip Technology Taiwan. All Rights Reserved. 5 Using MPASM & MPLINK MPASM Input/Output Files.asm - 原始組合語言輸入檔.lst - 組譯完成後的列印輸出檔.err - 組譯錯誤提示輸出檔.hex - 16 進制 ASCII 的輸出檔 ( Intel Hex INHX8M - Intel 8-bit HEX Format (16C5x, INHX32 - Intel extended 32-bit address HEX format.cod - MPLAB IDE 除錯專用檔案.o - 可重新定址的目的檔 2003 Microchip Technology Taiwan. All Rights Reserved. 6 Using MPASM & MPLINK

4 MPLINK Input/Output Files.o - 可重新定址的目的檔.lib - 資料庫檔, 由 MPLIB 建立 MPLINK 來連結.lkr - 連結描述輸入檔.cof 暫存檔, 用來產生.cod,.hex 及.lst 等檔案.cod - MPLAB IDE 除錯專用檔案.map 記憶體位址配置表.lst - 組譯完成後的列印輸出檔.hex - 16 進制 ASCII 的輸出檔 (Intel Hex ) 2003 Microchip Technology Taiwan. All Rights Reserved. 7 Using MPASM & MPLINK 內含多功能程式編輯器 MPASM Assembler MPLAB IDE - 整合式的發展環境 MPLAB Integrated Development Environment 語言工具軟體模擬模擬器及除錯器燒錄器 MPLAB SIM Sofware Simulator 單一系統專案管理模式 MPLAB REAL ICE PICkit 1 PICSTART Plus 原始檔案程式偵錯功能 協力廠商支援工具 Compilers IAR, Hi-Tech, CCS, ME Labs, Green Hills MPLINK MPLIB MPLAB ICE 2000 & 4000 MPLAB PM3 Real-time Operating Systems CMX, Vector, Realogy, Express Logic MPLAB C18 MPLAB C30 MPLAB C32 PICkit 2 MPLAB ICD 2 MATLAB Live Devices, CMX, Momentum Data Systems Uniquely supporting 8, 16 and 32 bit MCUS within one integrated development Environment! 2003 Microchip Technology Taiwan. All Rights Reserved. 8 Using MPASM & MPLINK

5 執行 MPASM 的方式 直接在 Windows 下執行 mpasmwin.exe C:\Program Files\MPLAB IDE\MCHIP_Tools 在 MPLAB IDE 開發平台下叫用 MPASM 建立 Project 撰寫組合語言 利用 Build 功能組譯組合語言 2003 Microchip Technology Taiwan. All Rights Reserved. 9 Using MPASM & MPLINK 直接在 Windows 下執行 MPASM C:\Program Files\MPLAB IDE\MCHIP_Tools\mpasmwin.exe 2003 Microchip Technology Taiwan. All Rights Reserved. 10 Using MPASM & MPLINK

6 MPLAB IDE 選用 MPASM 組譯工具 在 MPLAB IDE 主目錄下選擇 Project Set Language Toolsuite 2003 Microchip Technology Taiwan. All Rights Reserved. 11 Using MPASM & MPLINK 組合語言的格式 數值的表示指令集常數值的載入 2003 Microchip Technology Taiwan. All Rights Reserved. 12 Using MPASM & MPLINK

7 進制的互換 數值 數字及字元的表示 二進制 八進制 十六進制 A 十六進制十進制 A 6 (A*16+6=166) 166 十六進制 字元 41 A 61 a 2003 Microchip Technology Taiwan. All Rights Reserved. 13 Using MPASM & MPLINK ( 數值 數字 ) 表示法 十進制表示 (Decimal): D < 十進制數目 >,. < 十進制數目 > MOVLW D 100 載入常數 100 (10) to W Reg. MOVLW.100 載入常數 100 (10) to W Reg. Const1 EQU D 200 Const1 = 200 ( 十進制 ) 十六進制表示 (Hexadecimal): H < 十六進制數目 >, 0x< 十六進制數目 >, < 十六進制數目 > h MOVLW H 3F 載入常數 3F (16) to W Reg. MOVLW 0x3F 載入常數 3F (16) to W Reg. MOVLW 0FEh 載入常數 FE (16) to W Reg. Const1 EQU H 5A Const1 = 5A ( 十六進制 ) 八進制表示 (Octal): O < 八進制數目 > MOVLW O 133 載入常數 133 (8) to W Reg. Const1 EQU O 300 Const1 = 300 ( 八進制 ) 2003 Microchip Technology Taiwan. All Rights Reserved. 14 Using MPASM & MPLINK

8 ( 字元 字串 ) 表示法 二進制表示 (Binary): B < 二進制數目 > MOVLW B 載入常數 0xF0 to W Reg. Const1 EQU B Const1 = ( 二進制 ) 字元 (ASCII): A < 字元 >, < 字元 > MOVLW A R 載入字元 R to W Reg. MOVLW c 載入字元 c to W Reg. Const1 EQU a Const1 = 小寫的字元 A 字串 (STRING): 字串 DT Baud Rate = 定訂查表字串為 Baud Rate 2003 Microchip Technology Taiwan. All Rights Reserved. 15 Using MPASM & MPLINK 組合語言的語法格式 標記欄 (Labels) 指令助憶欄 (mnemonics) 運算欄 (operands) 註解欄 (comments) Sample MPASM Source Code. For illustration only list p=16f54 Dest equ h 0B org h 1FF goto Start org h 000 Start movlw h 0A Load 0x0a to WREG movwf Dest Store 0x0a to Dest bcf Dest,3 goto Start end 2003 Microchip Technology Taiwan. All Rights Reserved. 16 Using MPASM & MPLINK

9 標記欄 (Labels) 標記欄 (Lable) - 程式位址的助憶標記 必須放在該行的第一個位置 標記開頭必須是英文字母或 _ 標記文字不可超過 32 個字 字母大 小寫為不同的定義 (Default) port_set clrf PORTC movlw B _input: movwf PORTB output clrf PORTA goto port_set 2003 Microchip Technology Taiwan. All Rights Reserved. 17 Using MPASM & MPLINK 指令與運算欄 (operands) 指令 ( 虛擬指令 ) 和運算元 MOVF f, d Move RAM/Register to Destination f d 暫存器或 RAM 的位址 選擇資料移送的目的暫存器 d= 0 時, 放置在 w 暫存器, 亦可寫成 W d= 1 時, 放回在 f 暫存器, 亦可寫成 F 或忽略不寫 範例 : var_count equ 0x3f addwf var_count, 0 addwf var_count, 1 建議語法 addwf var_count, F addwf var_count, w 2003 Microchip Technology Taiwan. All Rights Reserved. 18 Using MPASM & MPLINK

10 PICmicro MCU 指令集 (14-bit core 共 35 個指令 ) 位元組操作指令集 NOP - No Operation MOVWF f Move W to f CLRW - Clear W CLRF f Clear f SUBWF f,d Subtract W from f DECF f,d Decrement f IORWF f,d Inclusive OR W and f ANDWF f,d AND W and f XORWF f,d Exclusive OR W and f ADDWF f,d Add W and f MOVF f,d Move f COMF f,d Complement f INCF f,d Increment f DECFSZ f,d Decrement f, skip if zero RRF f,d Rotate right f through carry RLF f,d Rotate left f through carry SWAPF f,d Swap nibbles of f INCFSZ f,d Increment f, skip if zero 位元操作指令集 BCF f,b Bit clear f BSF f,b Bit set f BTFSC f,b Bit test f, skip if clear BTFSS f,b Bit test f, skip if set 立即數及控制指令集 SLEEP - Go into standby mode CLRWDT - Clear watchdog timer RETLW k Return, place literal in W RETFIE - Return from interrupt RETURN - Return from subroutine CALL k Call subroutine GOTO k Go to address (k is 9-bit) MOVLW k Move literal to W IORLW k Inclusive OR literal with W ADDLW k Add literal with W SUBLW k Subtract W from literal ANDLW k AND literal with W XORLW k Exclusive OR literal with W f = 暫存器, k = 8 位元的常數, b = 位元定址位置 <0,7>, d = 儲存的位置 ( 0= W, 1= F( 預設值 ) ) 2003 Microchip Technology Taiwan. All Rights Reserved. 19 Using MPASM & MPLINK 位元組操作指令集 位元組操作指令集 NOP - MOVWF f CLRW - CLRF f SUBWF f,d DECF f,d IORWF f,d ANDWF f,d XORWF f,d ADDWF f,d MOVF f,d COMF f,d INCF f,d DECFSZ f,d RRF f,d RRL f,d SWAPF f,d INCFSZ f,d Example: ADDWF ADDWF 14 位元指令 位元組操作指令說明 OP CODE d f f f f f f f d = 儲存目的控制位元 d = 0, 存到 W d = 1, 存到 F f = 7 個位元的定址, 指到欲操作的暫存器位址 REG, W REG 2003 Microchip Technology Taiwan. All Rights Reserved. 20 Using MPASM & MPLINK

11 位元操作指令集 位元操作指令集 BCF f,b BSF f,b BTFSC f,b BTFSS f,b 14 位元指令 位元操作指令說明 OP CODE b b b f f f f f f f b = 3 個位元的定址, 指到欲運算的位元 f = 7 個位元的定址, 指到欲操作的暫存器位址 Example: BTFSC BTFSC STATUS, Z PORTC, Microchip Technology Taiwan. All Rights Reserved. 21 Using MPASM & MPLINK 立即數運算指令集 立即數運算指令集 MOVLW k IORLW k ADDLW k SUBLW k ANDLW k XORLW k 14 位元指令 位元操作指令說明 OP CODE k k k k k k k k k = 8 個位元, 立即常數 Example: MOVLW 0x2F MOVLW k 2003 Microchip Technology Taiwan. All Rights Reserved. 22 Using MPASM & MPLINK

12 控制指令集 控制指令集 SLEEP - CLRWDT - RETLW k RETFIE - RETURN - CALL k GOTO k 14 位元指令 控制指令說明 RETLW OP CODE k k k k k k k k k = 8 個位元, 立即常數 14 位元指令 控制指令說明 CALL K GOTO K OP CODE k k k k k k k k k k k k = 11 個位元, 立即位址 CALL K, GOTO K 只能指到 11 個有效位址, 故直接定址能力只有 2K 的範圍故需配合 PCLATH 的 bit [ 3:4 ] 以擴展程式位址到 8K 的範圍 2003 Microchip Technology Taiwan. All Rights Reserved. 23 Using MPASM & MPLINK 應注意的指令減法指令 減法指令 -- SUBLW k, SUBWF f, d 減法是採 2 的補數運算 SUBLW k 的運算方式為 ( K- W --> W ) SUBWF f, d 的運算方式為 ( f - W --> W ) 減法運算後, 若 C=1 表示沒有借位 ( 即 f >= w, C 為 1 ) 減法運算後, 若 C=0 表示有借位 ( 即 f < w, C 為 0 ) 減法運算後, 若 Z=1 表示兩數相等 ( 即 f = w, Z 為 1 ) C 旗號旗號 Z 旗號旗號比較結果 F > > = = W F < < W F = = W 若需判斷 F > W, 測試 C = 1, Z=0 兩條件同時成立 若要判斷 F < = W, 測試 C = 0 或 Z=1 只要有一條件成立 2003 Microchip Technology Taiwan. All Rights Reserved. 24 Using MPASM & MPLINK

13 應注意的指令 CALL, GOTO 指令 CALL k, GOTO k k 為 11-bit 的直接位址值, 它會直接以指令的方式直接載入到 PC 的 bit<10:0> 的位置 ( 範圍為 2K 內 ) 每個連續 2K 位址範圍的程式記憶區塊稱為一個 Page 以 PIC16F877 為例, 最高定址能力為 8K, 須切分為 4 個 Page PC 的最高位元位址 bit<11:12> 直接從暫存器 PCLATH<4:3> 載入以擴展程式位址至 8K 範圍 ( 0000h:1FFFh) K --> PC<10:0>, PCLATH<4:3> --> PC<12:11> 這種方式稱為跳頁選擇 ( Page Select ) 建議使用需指令 PAGESEL 做跳頁的切換 2003 Microchip Technology Taiwan. All Rights Reserved. 25 Using MPASM & MPLINK 常數值的計算 ( 一 ) 在 MPASM 的語法中, 常數值是可以利用一些計算符號來計算其值 + : 加法運算 -: 減法運算 * : 乘法運算 / : 除法運算後, 取商數 movlw (a * b c) / d - a % : 除法運算後, 取餘數 movlw % : 將數值取 2 的補數 ( 負數 ) addlw -2 將 W 減 2 運算 ~ : 將數值取 1 的補數 ( 位元反向 ) 2003 Microchip Technology Taiwan. All Rights Reserved. 26 Using MPASM & MPLINK

14 常數值的計算 ( 二 ) << : 向左旋轉 n 個位元 >> : 向右旋轉 n 個位元 movlw h 2A >> 3 && : 邏輯 AND 判斷 if ( a = = 255 ) && ( b = = c ) : 邏輯 OR 判斷! : 邏輯反向判斷 if! ( a = = b ) & : 邏輯 AND 運算 movlw (b >>3) & 0x0F ^ : 邏輯 XOR 運算 : 邏輯 OR 運算 2003 Microchip Technology Taiwan. All Rights Reserved. 27 Using MPASM & MPLINK 常數值的計算 ( 三 ) $ : 目前的位址 ( 適用 PIC16Fxxx 的組合語言, 如果使用此語法在 PIC18Fxxxx 的話後面所帶的位址必須為偶數位址 ) goto $ 永久迴圈 goto $-3 往回跳三個指令 goto $+5 往下跳五個指令 LOW : 取位址的低位元組 HIGH : 取位址的高位元組 UPPER : 取位址的最高位元組 movlw (low) CTR_Table movlw (high) CTR_Table 2003 Microchip Technology Taiwan. All Rights Reserved. 28 Using MPASM & MPLINK

15 常數值載入 範例 假設 Timer1 接一個外部 32768Hz 的石英振盪器, 欲設定的中斷時間為一秒, 其所需的常數值可以用下列方式來設定給 Timer1 的計數器 #define TMR1_VAL Define Timer1 time period are 1 SEC movlw ( TMR1_VAL) /.256 Calculate the MSB value for the Timer1 movwf TMR1H movlw ( TMR1_VAL)%.256 Calculate the LSB value for the Timer1 movwf TMR1L 2003 Microchip Technology Taiwan. All Rights Reserved. 29 Using MPASM & MPLINK 認識最基本的虛指令 LIST #INCLUDE EQU ORG END 2003 Microchip Technology Taiwan. All Rights Reserved. 30 Using MPASM & MPLINK

16 必需要使用的五個虛擬指令 LIST - 目錄控制 (Listing Control) list p=16f877a, f=inhx8m #INCLUDE - 加入一原始檔 定義檔或敘述檔 #include <C:\MPLAB\16f877a.INC> EQU - 宣告常數 變數 memory equ 0x3f count equ.100 io_set equ B ORG - 設定程式組譯的起始位址 org 0x00 組譯位址從 00h 開始 org 0x30 組譯位址從 30h 開始 END - 程式結束 2003 Microchip Technology Taiwan. All Rights Reserved. 31 Using MPASM & MPLINK 虛指令 - list list 顯示項目的選擇 主要是用來設定使用何種 PIC 元件 次要用來選擇 hex 檔案的輸出格式 使用範例 : list p=16f877a, f=inh8s 設定使用 PIC16F877A,Hex 的輸出格式為標準的 8-bit 格式 2003 Microchip Technology Taiwan. All Rights Reserved. 32 Using MPASM & MPLINK

17 虛指令 - #include #include 加入額外的原始程式或定義檔案 18f452.inc 與 <18f452.inc> 磁碟路徑不同如下範例之說明 使用範例 : #include c:\workshop\wap002\18f452.inc ( 使用指定路徑將 18f452.inc 的定義檔加入 ) #include <18f452.inc> ( 使用 MPLAB IDE 內定路徑將 18f452.inc 的定義檔加入 ) 2003 Microchip Technology Taiwan. All Rights Reserved. 33 Using MPASM & MPLINK 虛指令 - equ equ 定義一個常數值或位址給一個代表文字該代表文字只能唯一不可重複再定義 使用範例 : Count_us equ h 20 Count_ms equ Count_us + 1 DLY_VAL equ h 20 movlw DLY_VAL movwf Count_us movlw DLY_VAL movwf Count_ms ****** 你看的出兩個 h 20 有何差異? ******* 2003 Microchip Technology Taiwan. All Rights Reserved. 34 Using MPASM & MPLINK

18 org 設定底下程式執行的起始位址 org 虛指令只能用在獨立的程式設計, 它無須藉由 Linker 來安排位址, 就可以產生特定執行位址的 hex 不指定 org 時, 程式自動從位址 0x00 開始 使用範例 : 虛指令 - org ORG 0x000 設定程式執行位址從 0 開始 (Reset Vector) clrf PCLATH goto main ORG 0x004 中斷向量進入位址 ******* 中斷處理副程式區 ****** retfie 中斷返回 2003 Microchip Technology Taiwan. All Rights Reserved. 35 Using MPASM & MPLINK 虛指令 - end end 結束組合語言的組譯動作在 end 以後的組合語言將不會被組譯 2003 Microchip Technology Taiwan. All Rights Reserved. 36 Using MPASM & MPLINK

19 虛擬指令的使用 - 範例一 list p=16f877a 定義使用的 MCU 為 PIC16F877A #include <p16f877a.inc> 使用 16F877A 的標準定義檔 ***** 定義變數 常數 參數區 ****** t_delay EQU D 100 dly_count EQU H 7 ****************************************************************** ORG 0x000 設定程式執行位址從 0 開始 (Reset Vector) clrf PCLATH goto main ORG 0x004 中斷向量進入位址 ******* 中斷處理副程式區 ****** retfie 中斷返回 main movlw t_delay 主程式開始 movwf dly_count : remaining code goes here END 程式結束 2003 Microchip Technology Taiwan. All Rights Reserved. 37 Using MPASM & MPLINK 練習一 建立一個 MPLAB IDE 的 Project 目錄在..\Exercise\Exer1 原始程式為 Exer1.asm 建立的 Project 名稱為 Exer1.mcp 組譯成功後, 觀察 Exer1.lst 的記憶分配這是組合語言最基本的寫法 2003 Microchip Technology Taiwan. All Rights Reserved. 38 Using MPASM & MPLINK

20 MPLINK 2003 Microchip Technology Taiwan. All Rights Reserved. 39 Using MPASM & MPLINK 介紹 MPLINK 什麼是 MPLINK? MPLINK 是將組合語言或 C 編譯器所產生的 obj 檔加以連結並指定變數及程式執行的位址後, 輸出一可執行的 hex 檔 MPLINK 能作做什麼? 安排位址給程式 (CODE) 及資料暫存器 (RAM) 產生執行擋 (HEX) 安排堆疊位址及深度給 MPLAB C-17 / C18 提供 COD 檔以利程式偵錯讓程式更容易模組化連結資料庫 (Library) 2003 Microchip Technology Taiwan. All Rights Reserved. 40 Using MPASM & MPLINK

21 MPLINK 流程方塊 mult.c avg.asm add.asm main.c prog.asm source files MPLAB-C18 MPASM MPASM MPLAB-C18 MPASM mult.o avg.o add.o main.o prog.o object files MPLIB library math.lib MPLINK 18f452.lkr linker script output files prog.out prog.cod prog.hex prog.lst prog.map 2003 Microchip Technology Taiwan. All Rights Reserved. 41 Using MPASM & MPLINK 可重新定位程式 固定位址組合語言程式 程式執行位址及變數位址在程式中已強制指定不需 MPLINK 來重新排定位址 此種方式適用於較小的程式及獨立個人程式的研發 可重新定位程式 採用高階語言時程式編譯後, 程式及變數需連接資料庫以決定最後的執行位址 多個組合語言程式間相互位址的安排 適用開發大程式及多人合作撰寫的程式 2003 Microchip Technology Taiwan. All Rights Reserved. 42 Using MPASM & MPLINK

22 在 MPLAB 下使用 MPLINK LINK 描述檔 組合語言原始程式檔 語言工具列的設定 2003 Microchip Technology Taiwan. All Rights Reserved. 43 Using MPASM & MPLINK // Sample linker command file for 16F877 LIBPATH. CODEPAGE NAME=vectors START=0x0 END=0x4 PROTECTED CODEPAGE NAME=page0 START=0x5 END=0x7FF CODEPAGE NAME=page1 START=0x800 END=0xFFF CODEPAGE NAME=page2 START=0x1000 END=0x17FF CODEPAGE NAME=page3 START=0x1800 END=0x1FFF CODEPAGE NAME=.idlocs START=0x2000 END=0x2003 PROTECTED CODEPAGE NAME=.config START=0x2007 END=0x2007 PROTECTED CODEPAGE NAME=eedata START=0x2100 END=0x21FF PROTECTED DATABANK NAME=sfr0 START=0x0 END=0x1F PROTECTED DATABANK NAME=sfr1 START=0x80 END=0x9F PROTECTED DATABANK NAME=sfr2 START=0x100 END=0x10F PROTECTED DATABANK NAME=sfr3 START=0x180 END=0x18F PROTECTED DATABANK NAME=gpr0 START=0x20 END=0x6F DATABANK NAME=gpr1 START=0xA0 END=0xEF DATABANK NAME=gpr2 START=0x110 END=0x16F DATABANK NAME=gpr3 START=0x190 END=0x1EF MPLINK 描述檔 (16F877.lkr) 程式位址宣告 特殊暫存器位址宣告 資料 RAM 位址宣告 SHAREBANK NAME=gprnobnk START=0x70 SHAREBANK NAME=gprnobnk START=0xF0 SHAREBANK NAME=gprnobnk START=0x170 SHAREBANK NAME=gprnobnk START=0x1F0 END=0x7F END=0xFF END=0x17F END=0x1FF 共用 RAM 位址宣告 SECTION NAME=STARTUP ROM=vectors // Reset and interrupt vectors SECTION NAME=PROG1 ROM=page0 // ROM code space - page0 SECTION NAME=PROG2 ROM=page1 // ROM code space - page1 SECTION NAME=PROG3 ROM=page2 // ROM code space - page2 SECTION NAME=PROG4 ROM=page3 // ROM code space - page3 SECTION NAME=IDLOCS ROM=.idlocs // ID locations SECTION NAME=CONFIG ROM=.config // Configuration bits location SECTION NAME=DEEPROM ROM=eedata // Data EEPROM 內定的程式節區宣告 2003 Microchip Technology Taiwan. All Rights Reserved. 44 Using MPASM & MPLINK

23 連結描述檔 命令行 LIBPATH 指定資料庫 (Library) 的路徑 LKRPATH 指定連結描述檔路徑 FILES 將所指定的特定資料庫 (.lib) 或.obj 檔案加入到目前編譯的程式中 2003 Microchip Technology Taiwan. All Rights Reserved. 45 Using MPASM & MPLINK 連結描述檔 記憶體的命令 CODEPAGE 程式記憶區域 DATABANK 切換 Bank 的資料記憶區域 SHAREBANK 共用的資料記憶區域 (16F87x) ACCESSBANK 共用的資料記憶區域 (18Fxxxx) PROTECTED 關鍵字可以被用來設定某些特定位址的保護, 除了使用者強行設定外, 一般 MPLINK 是不會將變數及程式安排此位址 2003 Microchip Technology Taiwan. All Rights Reserved. 46 Using MPASM & MPLINK

24 第一階段的虛指令 2003 Microchip Technology Taiwan. All Rights Reserved. 47 Using MPASM & MPLINK 常用的虛擬指令 -- #DEFINE #DEFINE < 定義名稱 > < 取代的字串 > 通常用來定義文字 標記 & 常數. 在此定義中,< 取代的字串 > 所描述的文字是以 < 定義名稱 > 內的文字為助憶文字, 在組合語言中可以用 < 定義名稱 > 來代替 < 取代的字串 > 以增加程式的閱讀性 例 : #DEFINE S_CLK PORTC,3 #DEFINE S_DATA PORTC,2 #DEFINE LENGTH.20 list p=16f877 #include <p16f877.inc> val_ff equ h F8 #define m_flag Count,6 #define clk PORTC,0 #define sda PORTC,1 : : bsf clk btfss sda goto sda_low call sda_hi 2003 Microchip Technology Taiwan. All Rights Reserved. 48 Using MPASM & MPLINK

25 常用的虛擬指令 -- SET Label SET H 3F 通常用來宣告變數 & 常數. 在使用 SET 所宣告之變數或常 數均可重覆使用 SET 再對同 一 Label 重新宣告時, 組譯器會 使用最近的宣告為主 SET 和 EQU 之功能極為類似 但 EQU 的宣告變數或常數不可 重複 例 : area set.20 width set h 3F area set width *.5 list p=16f877 #include <p16f877.inc> val_hi set h ff val_low set h 00 mask set b : movlw val_hi movwf TMR1H movlw val_low movwf TMR1L : val_hi set h ff movlw val_hi movwf TMR1H 2003 Microchip Technology Taiwan. All Rights Reserved. 49 Using MPASM & MPLINK 常用的虛擬指令 -- TITLE & PAGE TITLE Interrupt Service Routine PAGE <TITLE> 是用標示主題程示以增加程式的閱讀性 例如 : title 中斷程式處理 : title 數學運算副程式 若有 <TITLE> 的設定, 在列印.LST 檔案時, 會自動在每頁報表的第一行加入此顯示設定 <PAGE> 是用來設定檔案列印 (.LST) 的換頁控制 在列印.LST 檔時, 若使用了 <PAGE> 指令則在列印時印表機會自動換頁列印 2003 Microchip Technology Taiwan. All Rights Reserved. 50 Using MPASM & MPLINK

26 常用的虛擬指令 -- DT Lable DT <expr>, <string> 用來設定查表的資料 每一資料的內容是以 8-bit 為主, 其內容將會與 RETLW 指令相互結合以 RETLW K 的形式置放於程式中 說明 : out_tab addwf PCL,F retlw a retlw b retlw c 可以用以下的指令取代之 out_tab addwf PCL,F dt abc list p=16f877 #include <p16f877.inc> index_vol equ h 00 movlw HIGH br_tab movwf PCLATH movlw index_vol call br_tab : org 0x300 br_tab addwf PCL,F dt Baud Rate! ev_tab addwf PCL,F dt even parity! od_tab addwf PCL,F dt odd parity! 2003 Microchip Technology Taiwan. All Rights Reserved. 51 Using MPASM & MPLINK 練習二 試著修改 16F877A.lkr 檔案中的位址設定 目錄在..\Exercise\Exer2 原始程式為 Exer2.asm, LCD.asm 建立的 Project 名稱為 Exer2.mcp 變更節區名稱 : STARTUP, PROG1 檢查 map 檔的程式位址是否有變 沒有 map 檔案, 在 Build Options Project MPLINK 勾選 Generate map file 2003 Microchip Technology Taiwan. All Rights Reserved. 52 Using MPASM & MPLINK

27 安排的 RAM 位址 RAM 的配置 BANK 切換問題不可重新定位語法可重新定位語法 2003 Microchip Technology Taiwan. All Rights Reserved. 53 Using MPASM & MPLINK PIC16F87x RAM 的架構 Bank0 SFRs GPRs 000h 01Fh 020h 070h 07Fh Bank1 SFRs GPRs 080h 09Fh 0A0h 0F0h 0FFh Bank2 SFRs GPRs 100h 11Fh 120h 170h 17Fh Bank3 SFRs GPRs RP<1:0> RP<1:0> RP<1:0> RP<1:0> = 00 = 01 = 10 = h 19Fh 1A0h 1F0h 1FFh 共有四個 Banks, 每個 bank 的大小為 128 bytes 特殊暫存器 (SFRs) 的位址分佔每個 Bank 最前面的 32 byte 位址 Banks 的切換動作需由 STATUS 暫存器中的 RP0,RP1 及 IRP 位元來完成 Share Bank 的位址在每個 Bank 的最後 16 byte IRP=0 IRP= Microchip Technology Taiwan. All Rights Reserved. 54 Using MPASM & MPLINK

28 換 Bank 的好幫手 -- BANKSEL BANKSEL TRISA 依據 BANKSEL 指令所指到的暫存器, 自動加入該暫存器頁 (BANK) 的設定指令 透過 BANKSEL 的自動設定與 UDATA (Uninitialized data) 宣告, 可輕鬆的進行多原始檔的組譯並加以連結成一 HEX 檔 以 PIC16C77 為例 : 共有四個暫存器頁 (BANK) 就會使用到兩個換頁指令 000B banksel ADCON1 Message[302]: Register in operand not in bank 0. Ensure that bank 000D 019F clrf ADCON1 Message[302]: Register in operand not in bank 0. Ensure that bank 000E 170C bsf PIE1,ADIE 000F banksel ADCON C movlw h'c1' F movwf ADCON Microchip Technology Taiwan. All Rights Reserved. 55 Using MPASM & MPLINK 定義變數 (RAM) 的位址 簡單常用方式 EQU,SET 不可重新定位語法 CBLOCK,ENDC 可重新定位語法 UDATA UDATA_ACS UDATA_SHR RES ( 需配合 UDATA 使用 ) 2003 Microchip Technology Taiwan. All Rights Reserved. 56 Using MPASM & MPLINK

29 有關常數的寫法 建議的寫法 最好都用大寫以利於區別於變數 常數的定義建議使用 #define, 避免使用 EQU 和 SET 來指定 有關變數的寫法 第一個字母最好用大寫, 以 _ 區隔 Volt_Range, Rec_Buffer, Counter 有關 label 的寫法 第一個字母最好用 _ 來識別 大 小寫不限制 _LCD_Table, _Sine_Table 2003 Microchip Technology Taiwan. All Rights Reserved. 57 Using MPASM & MPLINK 一 使用 EQU & SET 定義變數位址 定義 RAM 位址最簡單的方式可用在兩種定位址的模式中 ***** VARIABLE DEFINITIONS Count_us EQU 0x20 Delay function variable for us W_temp EQU 0x71 variable used for context saving Status_Temp EQU 0x72 variable used for context saving Pclath_Temp EQU 0x73 variable used for context saving #define Carry STATUS,C #define SW2 PORTA,4 Define KEY SW2 = PA4 pin #define Motor PORTC,2 Define Motor drive pin M_KEY0 EQU 0x01 Define Manufacture Code (LSB) M_KEY1 EQU 0x23 M_KEY2 EQU 0x Microchip Technology Taiwan. All Rights Reserved. 58 Using MPASM & MPLINK

30 EQU 定義變數於不同 Bank EQU 對定義不同 Bank 的變數位址需採全域位址的方式, 如此方可正確的切換正確的 Bank ***** VARIABLE DEFINITIONS B0_ABC EQU 0x20 Variable on Bank 0 at 0x20 Location B1_ABC EQU 0xA0 Variable on Bank 1 at 0x20 Location B2_ABC EQU 0x120 Variable on Bank 2 at 0x20 Location B3_ABC EQU 0x1A0 Variable on Bank 3 at 0x20 Location banksel B0_ABC Select Bank0 movlw 0x00 movwf B0_ABC Save WREG to 0x20 banksel B1_ABC Select Bank1 movlw 0x01 movwf B1_ABC Save WREG to 0xA0 banksel B3_ABC Select Bank3 movlw 0x03 movwf B3_ABC Save WREG to 0x1A Microchip Technology Taiwan. All Rights Reserved. 59 Using MPASM & MPLINK CBLOCK & ENDC 的語法 ( 一 ) CBLOCK < 強制定義位址 > < 變數名稱 1>, < 變數名稱 2>, < 變數名稱 n> ENDC 語法 ( 二 ) 二 不可重新定位的變數定義 CBLOCK < 強制定義位址 > < 變數名稱 1> [: 位址的增量值 ], < 變數名稱 2> [: 位址的增量值 ], ENDC 2003 Microchip Technology Taiwan. All Rights Reserved. 60 Using MPASM & MPLINK

31 CBLOCK 的強制定位方式 CBLOCK 無須經 MPLINK 排定變數位址, 故使用時需在程式裡強制設定變數群的起始位址 程式裡可以使用多個 CBLOCK 來定位址, 但一定要用 ENDC 指令來結束該變數區塊的設定 CBLOCK 所指定的位址必須是一個有效位址, 使用時應注意 如果需定義不同 Bank 的變數位址, 需採用全域位址的方式來定義位址 2003 Microchip Technology Taiwan. All Rights Reserved. 61 Using MPASM & MPLINK CBLOCK & ENDC 的語法 ( 一 ) list p = 16f include <p16f877.inc> LIST P16F877.INC Standard Header File, Version 1.1 Microchip Technology, Inc CBLOCK 0x C_Hold_Delay variable used for the sample hold charge time Flag_Reg Flag Register Hex_Temp Hex to ASICC convert buffer ENDC CBLOCK 0x70 強制定址在 0x00 強制定址在 0x WREG_TEMP variable used for context saving STATUS_TEMP variable used for context saving BSR_TEMP variable used for context saving ENDC #define TMR1_VAL Define Timer1 time period are 1 SEC #define TxD_Flag Flag_Reg,0 Define the TX data flag 2003 Microchip Technology Taiwan. All Rights Reserved. 62 Using MPASM & MPLINK

32 CBLOCK & ENDC 的語法 ( 二 ) list p = 16f include <p16f877.inc> LIST P16F877.INC Standard Header File, Version 1.1 Microchip Technology, Inc CBLOCK 0x Int_Var : 2 16-bit integer variable Long_Var : 4 32-bit variable reserved Hex_Temp : 2 2-bytes convert buffer ENDC CBLOCK 0x70 該變數佔有 4 個 Bytes WREG_TEMP variable used for context saving STATUS_TEMP variable used for context saving BSR_TEMP variable used for context saving ENDC #define TMR1_VAL Define Timer1 time period are 1 SEC #define TxD_Flag Flag_Reg,0 Define the TX data flag 2003 Microchip Technology Taiwan. All Rights Reserved. 63 Using MPASM & MPLINK CBLOCK & ENDC 的 Bank 切換 如需使用各個 Bank 的 RAM,CBLOCK 的強制定位需擴及到全域位址 ***** VARIABLE DEFINITIONS CBLOCK 0x20 Variable on Bank 0 at 0x20 Location B0_ABC, B0_DEF ENDC CBLOCK 0xA0 Variable on Bank 1 at 0x20 Location B1_ABC, B1_DEF ENDC 變數宣告在 Bank1 banksel B0_ABC Select Bank0 movlw 0x00 movwf B0_ABC Save WREG to 0x20 banksel B1_ABC Select Bank1 movlw 0x01 movwf B1_ABC Save WREG to 0xA Microchip Technology Taiwan. All Rights Reserved. 64 Using MPASM & MPLINK

33 三 可重新定位的變數定義 UDATA 宣告未設定初始值變數的資料節區 (Data Section) 適用於所有 PIC UDATA_SHR 宣告變數的資料節區在 Share Bank 區域 適用於 PIC16F87x UDATA_ACS 宣告變數的資料節區在 Access Bank 區域 適用於 PIC18Fxxxx 2003 Microchip Technology Taiwan. All Rights Reserved. 65 Using MPASM & MPLINK UDATA 的宣告 UDATA 資料節區的宣告經 MPASM 組譯後, 會先產生 obj 檔案再由 MPLINK 安排變數位址 UDATA 語法 <Section Name> UDATA <RAM Address> <Section Name> RAM 節區名稱 : 可省略 如有指定節區名稱, 會依 16F877A.lkr 檔案中對 RAM 該節區位址的設定進行 RAM 實際位址的安排 如不指定節區名稱, 會自動安排到 unprotected 的 GPR(n) RAM 的位址 節區名稱不可重複 <RAM Address> 自定 RAM 位址 : 可省略 自定變數在 RAM 的起始位址 該起始位址可以為 protected 或 unprotected 的區域 2003 Microchip Technology Taiwan. All Rights Reserved. 66 Using MPASM & MPLINK

34 UDATA & RES 合併使用 UDATA 是對 RAM 節區的宣告, 必須使用 RES 來對 RAM 位址的保留 範例一 : 最簡單的使用方式 ( 由 MPLINK 自動安排到 GPRn 的位址 ) UDATA Var1 RES 1 Double RES 2 範例二 : 自定位址方式 ( 由 MPLINK 安排到 0x20 的起始位址 ) UDATA 0x20 Var1 RES 1 Double RES 2 範例三 : 節區位址方式 ( 由 MPLINK 安排到節區宣告的起始位址 ) My_RAM UDATA Var1 RES 1 Double RES Microchip Technology Taiwan. All Rights Reserved. 67 Using MPASM & MPLINK UDATA_SHR 的宣告 (16F87x) UDATA_SHR 宣告本節區位指定安排在 Share Bank Share Bank 位址在 0x70 ~ 0x7F, 無須切換 Bank UDATA_SHR 語法 <Section Name> UDATA_SHR <RAM Address> <Section Name> RAM 節區名稱 : 可省略 有指定或不指定節區名稱都沒關係, 自動安排到 Share bank 的位址 節區名稱不可重複 <RAM Address> : 必須在 Share Bank 的位址 使用 Share Bank 時, 一般無須設定位址 2003 Microchip Technology Taiwan. All Rights Reserved. 68 Using MPASM & MPLINK

35 在 MPLINK 的描述檔 (RAM 部份 ) // Sample linker command file for 16F877 // $Id: 16f877.lkr,v /01/29 22:10:01 sealep Exp $ DATABANK NAME=sfr0 START=0x0 END=0x1F PROTECTED DATABANK NAME=sfr1 START=0x80 END=0x9F PROTECTED DATABANK NAME=sfr2 START=0x100 END=0x10F PROTECTED DATABANK NAME=sfr3 START=0x180 END=0x18F PROTECTED DATABANK NAME=gpr0 START=0x20 END=0x6F DATABANK NAME=gpr1 START=0xA0 END=0xEF DATABANK NAME=gpr2 START=0x110 END=0x16F DATABANK NAME=gpr3 START=0x190 END=0x1EF SHAREBANK NAME=gprnobnk START=0x70 END=0x7F SHAREBANK NAME=gprnobnk START=0xF0 END=0xFF SHAREBANK NAME=gprnobnk START=0x170 END=0x17F SHAREBANK NAME=gprnobnk START=0x1F0 END=0x1FF SECTION NAME=Share_RAM RAM=gprnobnk // Shared Bank SECTION NAME=My_RAM0 RAM=gpr0 // RAM variable space - Bank0 SECTION NAME=My_RAM1 RAM=gpr1 // ROM variable space - Bank Microchip Technology Taiwan. All Rights Reserved. 69 Using MPASM & MPLINK 可重新定位範例 RAM 的宣告 ***** VARIABLE DEFINITIONS (examples) example of using Shared Uninitialized Data Section Share_RAM UDATA_SHR w_temp RES 1 variable used for context saving at 0x70 status_temp RES 1 variable used for context saving at 0x71 Rec_Data RES 1 USART received data buffer example of using Uninitialized Data Section My_RAM0 UDATA variable on GPR0 at 0x20 temp_count RES 1 temporary variable Count_ms RES 1 Count_us RES 1 My_RAM1 UDATA variable on GPR1 at 0xA0 Tx_Ring RES 16 reserved 16 bytes for Tx ring buffer TX_Flag RES 1 8-bit Tx status Flag 2003 Microchip Technology Taiwan. All Rights Reserved. 70 Using MPASM & MPLINK

36 UDATA_ACS 的宣告 (18Fxxx) UDATA_ASC 宣告本節區位指定安排在 Access Bank Access Bank 位址在 0x00 ~ 0x7F, 無須切換 Bank UDATA_ACS 語法 <Section Name> UDATA_ACS <RAM Address> <Section Name> RAM 節區名稱 : 可省略 指定或不指定節區名稱都沒關係, 自動安排到 Access bank 的位址 節區名稱不可重複 <RAM Address> : 必須在 Access Bank 的位址 使用 Access Bank 時, 一般無須設定位址 2003 Microchip Technology Taiwan. All Rights Reserved. 71 Using MPASM & MPLINK 練習三 試著修改 Exer3.mcp 檔案中的變數設定 UDATA 與 p16f877a.lkr 關係 UDATA_SHR 的位址 執行程式後, 觀察變數在 RAM 的位址 虛指令 BANKSEL 是否很重要? 2003 Microchip Technology Taiwan. All Rights Reserved. 72 Using MPASM & MPLINK

37 安排的程式執行位址 程式記憶體位址配置 Page 切換問題不可重新定位語法可重新定位語法 2003 Microchip Technology Taiwan. All Rights Reserved. 73 Using MPASM & MPLINK PIC16F87x 程式記憶體架構 PCLATH<4:3> = 00 PCLATH<4:3> = 10 Reset 0000h 1000h 最大的程式定址範圍為 8K words (13 bits) Interrupt Page 0 PCLATH<4:3> = h 07FFh Page 2 17FFh PCLATH<4:3> = 11 8K 的程式範圍再劃分四個 2K 大小的程式頁 (Page) 程式頁 (Page) 的切換許使用 PCLATH<4:3> 的兩個位元 0800h 1800h 程式超過 2K 時, 需要考慮到換頁的問題 Page 1 Page 3 Reset 向量位址在 0000h 中斷向量位址在 0004h 0FFFh 1FFFh 2003 Microchip Technology Taiwan. All Rights Reserved. 74 Using MPASM & MPLINK

38 程式頁 (Page) 的切換 -- PAGESEL PAGESEL Subroutine 依據 PAGESEL 指令所指到的程式位址, 自動加入程式頁 (PAGE) 的設定指令 PAGESEL 通常與 CALL 及 GOTO 指令一起使用, 並可擴展使用多個原始檔之間的互相呼叫 以 PIC16f877 為例 : 共有四個程式頁 (BANK), 就會使用到兩個換頁指令 org 0x A 120A pagesel initial Message[306]: Crossing page boundary -- ensure page bits are set call initial A 160A pagesel start Message[306]: Crossing page boundary -- ensure page bits are set FFF goto start initial 起始位址設定在 h 0A30 start 起始位址設定在 h 17FF 2003 Microchip Technology Taiwan. All Rights Reserved. 75 Using MPASM & MPLINK 程式記憶體跳頁問題 PAGESEL 可以幫助您完成因程式超過 2K 範圍所需對 PCLATH 的設定工作對可重新定位的程式因 MPLINK 會重新安排執行位址也許這時候程式就會有換頁的問題產生, 故適時的使用 PAGESEL 是有必要的 例如 : 要呼叫的位址為 TARGET_ADDR 使用下列的敘述 PAGESEL CALL MOVLW MOVWF CALL TARGET_ADDR TARGET_ADDR 相當於 (HIGH) TARGET_ADDR PCLATH TARGET_ADDR 2003 Microchip Technology Taiwan. All Rights Reserved. 76 Using MPASM & MPLINK

39 定義程式 (ROM) 的位址 不可重新定位語法 ORG - 設定程式起始位址 可重新定位語法 CODE 程式節區位址的宣告 2003 Microchip Technology Taiwan. All Rights Reserved. 77 Using MPASM & MPLINK CODE 的宣告 宣告 obj 檔案的程式節區起始位址, 需經由 MPLINK 安排最終的程式執行位址 語法 : <Section Name> CODE <ROM Address> <Section Name> 程式節區名稱 : 可省略 如有指定節區名稱, 會依 16F877.lkr 檔案中對 ROM 節區位址的設定進行程式位址的安排如不指定節區名稱, 會自動安排到 unprotected 的 ROM 區 程式節區名稱不可重複 <ROM Address> 自定 ROM 的位址 : 可省略 自定程式執行的起始位址 該起始位址可以為 protected 或 unprotected 的區域 2003 Microchip Technology Taiwan. All Rights Reserved. 78 Using MPASM & MPLINK

40 PROG1 CODE CODE 使用範例 節區名稱為 PROG1,Linker 會排定在 Page0 的區域 ( 詳細請參閱 p16f877.lkr 的檔案 ) ABC CODE 宣告程式節區名稱為 ABC 如在 Link 描述檔中有指定名稱則按指定位址排定 如無指定名稱, 則由 Link 自行安排到 unprotected 區域 CODE 0x0004 無指定節區名稱, 但強制定址到 0x04 的位址 常用於特定位址的設定, 例 : 中斷向量位址 CDE CODE 0x2000 節區名稱僅供參考, 強制指定位址到 0x Microchip Technology Taiwan. All Rights Reserved. 79 Using MPASM & MPLINK 在 MPLINK 的描述檔 ( 程式部份 ) // File: c:\program files\mplab\16c77.lkr // Sample linker command file for 16c77 CODEPAGE NAME=vectors START=0x0 END=0x4 PROTECTED CODEPAGE NAME=page0 START=0x10 END=0x7FF CODEPAGE NAME=page1 START=0x800 END=0xFFF CODEPAGE NAME=page2 START=0x1000 END=0x17FF CODEPAGE NAME=page3 START=0x1800 END=0x1FFF CODEPAGE NAME=.idlocs START=0x2000 END=0x2003 PROTECTED CODEPAGE NAME=.config START=0x2007 END=0x2007 PROTECTED SECTION NAME=STARTUP ROM=vectors // Reset and interrupt vectors SECTION NAME=SUB_PROG0 ROM=page0 // ROM code space - page0 SECTION NAME=SUB_PROG1 ROM=page0 // ROM code space - page1 SECTION NAME=MAIN ROM=page1 // ROM code space - page2 SECTION NAME=PROG4 ROM=page3 // ROM code space - page3 SECTION NAME=IDLOCS ROM=.idlocs // ID locations SECTION NAME=CONFIG ROM=.config // Configuration bits location STARTUP CODE goto nop nop nop goto Initial Int_service SUB_PROG0 CODE clrwdt clrw movlw banksel movwf b TRISA TRISA 2003 Microchip Technology Taiwan. All Rights Reserved. 80 Using MPASM & MPLINK

41 練習四 利用 MPLAB IDE 開啟 \Exercise\Exer4 的 Exer4.mcp 檢查一下 lst 檔案裡的程式分配位置與 PAGESEL 的跳頁切換 2003 Microchip Technology Taiwan. All Rights Reserved. 81 Using MPASM & MPLINK 特殊位址的安排 Configuration Word ID Location Internal EEPROM 2003 Microchip Technology Taiwan. All Rights Reserved. 82 Using MPASM & MPLINK

42 常用的虛擬指令 -- CONFIG CONFIG _CP_ALL & _XT_OSC & _LVP_ON 設定 IC 硬體工作方式, 此項設定是非常重要, 倘若設定錯誤將使程式發生不可預期的誤動作 每一種設定選項均須用一符號 & (AND) 相連 需注意使用右表的助憶文字時必需使用該 IC 預設的定義檔例如 : #include <p16f877.inc> Configuration Word 的位址是 0x2007(14-bit core only) Configuration Bits of PIC16F877 _CP_ALL _CP_HALF _CP_UPPER_256 _CP_OFF _DEBUG_ON _DEBUG_OFF _WRT_ENABLE_ON _WRT_ENABLE_OFF _CPD_ON _CPD_OFF _LVP_ON _LVP_OFF _BODEN_ON _BODEN_OFF _PWRTE_OFF _PWRTE_ON _WDT_ON _WDT_OFF _LP_OSC _XT_OSC _HS_OSC _RC_OSC 2003 Microchip Technology Taiwan. All Rights Reserved. 83 Using MPASM & MPLINK 常用的虛擬指令 -- IDLOCS IDLOCS H 1234 設定此 IC 共四位數的辨別碼 識別碼位元組的位址是 <2000h:2003h>, 每個位址有 14 個位元但只有最低的 4 位元有效此識別碼不論設定與否, 均不影響程式之執行, 但有些 IC 設定程式保護模式後會受該識別碼影響而改變 Check-Sum 在使用 IDLOCS 指令之前必須事先設定微處理器的型號 2003 Microchip Technology Taiwan. All Rights Reserved. 84 Using MPASM & MPLINK

43 設定範例 程式經過組譯過後將會在 0x2000~0x2003 產生 ID 辨識碼, 在 0x2007 產生 Configuration Word 的設定值 兩者所產生的機械碼會以 Hex 格式存在於程式碼裡 MPASM Intermediate TEST.ASM :13:47 PAGE 1 LOC OBJECT CODE LINE SOURCE TEXT title "Test program" list p=16c74b #include <p16c74b.inc> idlocs H FF config _XT_OSC & _PWRTE_ON & _WDT_OFF & _CP_OFF 2003 Microchip Technology Taiwan. All Rights Reserved. 85 Using MPASM & MPLINK 設定 EEPROM Data 利用虛指令 DE 來設定 EEPROM 的內容 此方式設定的資料是 8-bit 必須透過燒錄後才會將資料寫入 EEPROM 由於 EEPROM 位址在 0x2100, 需用 ORG 或 CODE 訂定位址 語法 : <Label> DE <expr>,<expr>, <Label> 標記助憶符號, 可省略 <expr> 8-bit 型態的設定資料, 也可為字串型態 2003 Microchip Technology Taiwan. All Rights Reserved. 86 Using MPASM & MPLINK

44 用 ORG 定址 DE 使用範例 ORG 0x2100 DE Firmware Version v2.30,0 DE A, B, 0x07, 0x0A, 0x0D 用 CODE 定址 DEEPROM CODE DE Firmware Version v2.30,0 DE A, B, 0x07, 0x0A, 0x0D 由 Linker 指定 2003 Microchip Technology Taiwan. All Rights Reserved. 87 Using MPASM & MPLINK 練習五 利用 MPLAB IDE 開啟 \Exercise\Exer5 的 Exer5.mcp 設定 PIC16F877A 的 Configuration Word 設定 PIC16F877A 的 ID 設定 PIC16F877A 的 EEPROM Data 2003 Microchip Technology Taiwan. All Rights Reserved. 88 Using MPASM & MPLINK

45 程式間相互的連結 變數傳遞副程式的呼叫不同程式的跳躍 2003 Microchip Technology Taiwan. All Rights Reserved. 89 Using MPASM & MPLINK 不同程式間的呼叫 在同一個 Project 中, 由三個不同的程式 A,B,C 組成 A 所宣告的變數,B 與 C 都需用到 B 需呼叫 A 與 C 的副程式 C 會直接跳到 A,A 也會跳到 C 如此錯綜複雜的關係應如何解決??? 2003 Microchip Technology Taiwan. All Rights Reserved. 90 Using MPASM & MPLINK

46 進階的虛擬指令 -- GLOBAL GLOBAL 標記 1, 標記 2, 變數. Global 是用來宣告本指令後所銜接的標記或變數是屬於共用標記 變數 Global 通常是使用在多個原始檔的程式組譯, 透過 Global 和 Extern 指令的宣告, 其它原始程式均可直接使用 例如 : udata global var1, var2 var1 res 1 var2 res 1 Startup code global delay delay movlw h 3f global global mulplr, h_byte,l_byte, mpy_sub mulcnt equ h 60 mulplr equ mulcnt + 1 h_byte equ mulcnt + 2 l_byte equ mulcnt + 3 count equ mulcnt + 4 code mpy_sub clrf h_byte clrf l_byte movlw h 8 movwf count movf mulcnt, W bcf STATUS, C loop rrf mplplr, F btfsc STATUS, C addwf h_byte, F 2003 Microchip Technology Taiwan. All Rights Reserved. 91 Using MPASM & MPLINK 進階的虛擬指令 -- EXTERN EXTERN 標記 1, 標記 2, 變數. Extern 是用來告知組譯器, 其後所連接的標記或變數已經在其它原始檔中宣告過 Extern 通常是使用在多個原始檔的程式組譯, 透過 Extern 指令的宣告, 目前的原始程式可直接使用 Global 所宣告的標記或變數 使用 Global 和 Extern 指令的時機通常是撰寫多個原始檔時所需使用的指令,MPLINK 會自動安排相關的位址 extern extern PROG1 code movf movwf movf movwf call movf movwf movf movwf : mulplr, h_byte,l_byte mpy_sub PORTA, W mulplr PORTB, W mulcnt mpy_sub h_byte, W PORTC l_byte, W PORTD 2003 Microchip Technology Taiwan. All Rights Reserved. 92 Using MPASM & MPLINK

47 MPLINK 的範例 - (MAIN.ASM) 本程式在 PAGE0 本程式在PAGE I 宣告外部的標記 EXTERN DELAY_1MS, HEX_BCD, DECODE EXTERN RS_232, EEPROM, KEYBOARD STARTUP CODE MOVLW 0x8 pagesel initial a MOVWF 0xa CALL 0x0 call initial CODE 0x4 直接宣告位址 = 0x RETFIE Int_Service retfie MAIN CODE CLRWDT initial clrwdt CLRW clrw f MOVLW 0xf movlw b' ' BSF 0x3,0x5 banksel TRISA Select RAM bank BCF 0x3,0x MOVWF 0x5 movwf TRISA f0 MOVLW 0xf0 movlw b' ' MOVWF 0x6 movwf TRISB BCF 0x3,0x5 banksel count Select RAM bank BCF 0x3,0x a 3000 MOVLW 0x0 loop pagesel RS_232 Select PAGE b 008a MOVWF 0xa 00080c 201a CALL 0x1a call RS_ d 2017 CALL 0x17 call DECODE 00080e 201c CALL 0x1c call EEPROM 00080f 2010 CALL 0x10 call DELAY_1MS e CALL 0x1e call KEYBOARD MOVLW 0x8 movlw HIGH loop Select PAGE a MOVWF 0xa movwf PCLATH a GOTO 0xa goto loop end 在 LKR 檔中宣告位址 在 LKR 檔中宣告位址 2003 Microchip Technology Taiwan. All Rights Reserved. 93 Using MPASM & MPLINK MPLINK 的範例 - (SUB1.ASM) title "SUB1.ASM" list p=16c77 #include <p16c77.inc> P16C77.INC Standard Header File, Version 1.01 Microchip Technology, Inc. #include <main.equ> val_ff equ 0Xf8 count equ 0x20 count_ms equ 0x21 本副程式在 PAGE0 GLOBAL DELAY_1MS, HEX_BCD, DECODE SUB_PROG1 CODE f8 MOVLW 0xf8 DELAY_1MS movlw val_ff a0 MOVWF 0x20 movwf count a0 DECF 0x20,0x1 dec_loop decf count,f d03 BTFSS 0x3,0x2 btfss STATUS,Z GOTO 0x12 goto dec_loop RETURN return RETURN HEX_BCD return RETURN DECODE return end 2003 Microchip Technology Taiwan. All Rights Reserved. 94 Using MPASM & MPLINK

48 MPLINK 的範例 - (SUB2.ASM) title "SUB2.ASM" list p=16c77 #include <p16c77.inc> P16C77.INC Standard Header File, Version 1.01 Microchip Technology, Inc. #include <main.equ> val_ff equ 0Xf8 本副程式在 PAGE0 count equ 0x20 count_ms equ 0x21 GLOBAL RS_232, EEPROM, KEYBOARD SUB_PROG2 CODE 00001a 0000 NOP RS_232 nop 00001b 0008 RETURN return 00001c 0000 NOP EEPROM nop 00001d 0008 RETURN return 00001e 0000 NOP KEYBOARD nop 00001f 0008 RETURN return end 2003 Microchip Technology Taiwan. All Rights Reserved. 95 Using MPASM & MPLINK 有關定位虛指令整理 不可重新定位指令 程式 : ORG 變數 : CBLOCK, ENDC 可重新定位指令 程式 : CODE 變數 : UDATA, UDATA_SHR, UDATA_ACS 2003 Microchip Technology Taiwan. All Rights Reserved. 96 Using MPASM & MPLINK

49 練習六 利用 MPLAB IDE 開啟 \Exercise\Exer6 的 Exer6.mcp 練習不同程式間的呼叫與變數傳遞 熟悉 GLOBAL 與 EXTERN 的用法 注意不同 Page 的切換 2003 Microchip Technology Taiwan. All Rights Reserved. 97 Using MPASM & MPLINK 第二階段的虛指令 BANKISEL DA, DATA, DB, DE, DT, DW MACRO, LOCAL, ENDM FILL, TITLE, SUBTITLE 2003 Microchip Technology Taiwan. All Rights Reserved. 98 Using MPASM & MPLINK

50 BANKISEL 產生索引定址模式中的第九位元 PIC16F87x RAM 的位址從 0x00~0x1FF, 索引定址 暫存器 (FSR) 只能定址到八個位元, 第九個位元就可 由此虛指令設定 語法 : BANKISEL <RAM 的助憶符號 > 範例 : movlw Var1 Var1 的 bit 9 是個未知值 movwf FSR bankisel Var1 movwf INDF 2003 Microchip Technology Taiwan. All Rights Reserved. 99 Using MPASM & MPLINK DA 產生一組以 14-bit 為型態的兩個 7-bit ASCII 字元 DA 所產生的字元或字串存放在 ROM 語法 : <Label> DA <expr>, <expr1>, 範例 : 01B9 30E2 31E4 32E Table_1 DA "abcdef" 01BC 18B2 19B4 1AB DA "123456", C0 3FFF DA 0x3FFF Microchip Technology Taiwan. All Rights Reserved. 100 Using MPASM & MPLINK

51 DATA 在程式中建立數字或字串資料 (word) 建議使用在 PIC18Fxxxx 元件中 語法 : <Label> DATA <expr>, <expr1>, 範例 : 01C DATA "1234abcd" 2364 Message[303]: Program word too large. Truncated to core size. (6162) Message[303]: Program word too large. Truncated to core size. (6364) ( 14-bit 架構無法置放 16-bit 資料所產生的訊息 ) 01C5 004E DATA 'N' Microchip Technology Taiwan. All Rights Reserved. 101 Using MPASM & MPLINK DB 在程式中宣告 Byte 資料 建議使用在 PIC18Fxxxx 元件中 語法 : <Label> DB <expr>, <expr1>, 範例 : db " Temperature 00029a c 706d 00029e a a a a Microchip Technology Taiwan. All Rights Reserved. 102 Using MPASM & MPLINK

52 DE & DT DE 定義 Internal EEPROM 資料 DT 定義 Mid-Range (14-bit) 程式查表資料 2003 Microchip Technology Taiwan. All Rights Reserved. 103 Using MPASM & MPLINK DW 在程式中宣告 Word 資料, 類似 DB 虛指令 建議使用在 PIC18Fxxxx 元件中 語法 : <Label> DW <expr>, <expr1>, 範例 : dw " Temperature 00029a c 706d 00029e a a a a Microchip Technology Taiwan. All Rights Reserved. 104 Using MPASM & MPLINK

53 MACRO & LOCAL & ENDM MACRO 一般稱之為巨集函數, 是用來制定使用者自己專用的指令, 並可傳遞參數給巨集函數內的指令 User_instru MACRO var_in1,var_in2,var_out 使用者定義的指令名稱 參數及變數傳遞 LOCAL 是用來定義在巨集函數內所使用到的變數 (Variable) 給本巨集 函數使用, 不同的巨集函數可使用相同的變數名稱 在巨集函數內, 如需執行 GOTO 指令可用 $ 符號做為跳躍的基準位 址做加 ( 往下跳 ) 或減 ( 往上跳 ) 的短程跳躍 swap_led movlw h 8 movwf led_count rrf led_right,f rlf led_lift,f decfsz led_count goto $-.3 ENDM 是用來結束本巨集函數 有 MACRO 的宣告就必須有 ENDM 的存在 2003 Microchip Technology Taiwan. All Rights Reserved. 105 Using MPASM & MPLINK MACRO & LOCAL & ENDM 範例 portc_bfr equ 0x70 w_buffer equ 0x71 s_buffer equ 0x72 PUSH MACRO movwf w_buffer swapf w_buffer,f swapf STATUS,W movwf s_buffer ENDM POP MACRO swapf s_buffer,w movwf STATUS swapf w_buffer,w ENDM MOV MACRO regd,regs movf regs,w movwf regd ENDM ******************************* Program start ******************************* org 0x0 goto start org 0x04 Interrupt PUSH MOV portc_bfr,portc : POP retfie 2003 Microchip Technology Taiwan. All Rights Reserved. 106 Using MPASM & MPLINK

54 填入立即值或程式碼 FILL 連續填入的個數 可以用 $ 為參考位址來計算所剩餘的記憶容量 在完成的程式中, 所剩餘的記憶容量最好填入 GOTO H 0 以增加系統的穩定性 語法 : FILL ( 填入值 ),( 連續填入的個數 ) 以使用 2K 的 PIC16C72A 為例 : : FILL (goto 0x00),(h'7ff' - $+1) END 2003 Microchip Technology Taiwan. All Rights Reserved. 107 Using MPASM & MPLINK TITLE & SUBTITLE TITLE 程式顯示列印名稱 TITLE CAN Host Monitoring, ver 1.10 SUNTITLE 副程式顯示列印名稱 SUBTITLE Interrupt Service Routine 2003 Microchip Technology Taiwan. All Rights Reserved. 108 Using MPASM & MPLINK

55 條件組譯控制指令 虛擬指令說明使用範例 IF ELSE 條件式組譯區塊的起始指令 當 IF 條件不成立時用以執行相對組譯區塊的指令 IF Rate < 50 retlw Slow_Speed ELSE retlw Fast_Speed ENDIF 結束條件式組譯區塊的判斷 IFDEF 判斷標記是否已被定義的指令 IFDEF 16F877 IFNDEF 判斷標記是否未被定義的指令 IFNDEF AD_10BIT 2003 Microchip Technology Taiwan. All Rights Reserved. 109 Using MPASM & MPLINK IF, ELSE, ENDIF 當欲使用某些條件的成立與否來控制 MPASM 的組譯流程時, 可利用這些條件判斷指令來達成 語法 : IF < 條件 > 條件成立的組譯程式 ELSE 條件不成立的組譯程式 ENDIF 當條件成立 (TRUE) 時則執行 IF 之下區塊之組譯 ELSE 用來處理當 IF 的條件不成立時 (FALSE) 的狀況 ENDIF 用於結束該條件式組譯 使用範例 #define Motor_Type 50 : : call Table_Read : : Table_Read: IF Motor_Type == 50 retlw 0xC0 ELSE retlw 0x40 ENDIF 2003 Microchip Technology Taiwan. All Rights Reserved. 110 Using MPASM & MPLINK

56 IFDEF, IFNDEF 當欲使用標記的宣告與否來控制 MPASM 的組譯流程時, 可利用這些條件判斷指令來達成 IFDEF 的語法與 IFNDEF 相同, 皆為 IFDEF (or IFNDEF) < 標記 > 標記可使用 #define 的虛指令來加以定義 適當的標記宣告與使用可增加程式開發時的彈性與減少修改的複雜度 例如欲使用 16F87X 為 16C6X/7X 的發展 IC 時, 便可使用如右的方法來調適其間的差異 IFDEF 的使用範例 EX1: list p=16f877 : IFNDEF 16F877 MESSG Check Processor Type ENDIF EX2: #define USE_ 16F877 : IFDEF USE_16F877 Device used 16F877 movf ADRESH,W ELSE Device used 16C74B movf ADRES,W ENDIF 2003 Microchip Technology Taiwan. All Rights Reserved. 111 Using MPASM & MPLINK Intel Hex 檔案補充說名 2003 Microchip Technology Taiwan. All Rights Reserved. 112 Using MPASM & MPLINK

57 HEX 檔格式說明 MPASM & MPLINK 的 HEX 輸出格式共有三種 : Intel HEX Format ( INHX8M ) : 給標準 8-bit 格式燒錄器 Intel Split Hex Format ( INHX8S) : 需要燒錄奇 偶分離的 ROM Intel Hex 32 Format ( INHX32 ) : 給需要 16-bit 格式燒錄器 INHX8M 格式說明 -- : EE AABB TT LLHH. LLHH CC EE : 為二位 16 進制值, 用以指示該行的資料長度 AABB : 為四位 16 進制值, 用以指示資料的起始位址 TT : 為二位 16 進制值, 為該行欄位功能指示 TT = 00 表是該行是一般性資料 TT = 01 表是資料結束 LLHH : 16 進制值 ROM 的資料 ( 即程式碼 ),PIC 的程式碼是以字元 (word) 為單位, 其低位的 8-bit (lsb) 是放在 LL, 較高位的 8-bit (msb) 是放在 HH 的欄位 CC : 為二位 16 進制的檢查碼, 該行全部以 16 進制加總後, 其和為零 ( EE+AA+BB+TT+LL+HH+LL1+HH1+.. +CC = Zero ) 2003 Microchip Technology Taiwan. All Rights Reserved. 113 Using MPASM & MPLINK HEX 檔格式範例 : A 檢查碼 A+20+18=00 資料為 3008, 008A, 為資料欄程式位址從 0000 開始資料長度 = 6 : ED : F830A000A003031D F3 : :0C A8 : F F F : A001A C E : E A000A2896 : FF 01 表示資料結束 2003 Microchip Technology Taiwan. All Rights Reserved. 114 Using MPASM & MPLINK

58 Click below to find more Mipaper at Mipaper at

2.5 idlocs PIC idloc idloc 0x1234 ; 0x config idloc HEX errorlevel errorlevel Error (Warning) Message HEX 3-14 errorlevel

2.5 idlocs PIC idloc idloc 0x1234 ; 0x config idloc HEX errorlevel errorlevel Error (Warning) Message HEX 3-14 errorlevel 3.2.3 MPASM PIC 35 35 #include include #include MPASM include PIC MPLAB C:\Program Files\MPLAB IDE\MCHIP_Tools PIC.inc 3-01 #include ; PIC16F877A #include math.asm ; 3-01 MPASM MPLAB

More information

第5章:汇编语言程序设计

第5章:汇编语言程序设计 第 5 章 : 汇编语言程序设计 程 汇编语言指令格式 系统伪指令 存储器选择方式 常用子程序 1 汇编语言程序设计 PIC 指令系统 语言系统 指 CPU 编 器语言 器语言 器语言 设计 用 语言 设计 语言 汇编语言 2 汇编语言指令格式 汇编语言指令格式 ( 指令 ) label opcode operand comment 指令 用 存 指令 指令语 3 汇编语言指令格式 1 指令 用 指令

More information

PIC16F F MPLAB 08 16F LED 15 LED

PIC16F F MPLAB 08 16F LED 15 LED PIC16F877 PIC16F877 03 16F877 05 06 MPLAB 08 16F877 13 LED 15 LED 17 20 24 2 PIC16F877 PIC16F877 DIP VDD VSS CLOCK CPU :,AND,OR,XOR ROM: CPU ROM RAM: CPU,CPU I/O:CPU, CPU,, 16F877 RAM 512 128 Bank Bank

More information

文件名

文件名 MICROCHIP PIC10F200/202/204/206 6 8 FLASH PIC10F200 PIC10F202 PIC10F204 PIC10F206 RISC CPU 33 12 8 8 4MHz 1 s 4MHz 1% TM ICSP TM ICD POR DRT WDT RC MCLR I/O /CMOS < 350 A @ 2V 4 MHz 100 na @ 2V FLASH 10000

More information

INCF SEC1,F ; 將 SEC1+1 作查表取回對應數字 MOVF SEC1,W banksel STRING1 banksel PORTB RETFIE run_sec2: MOVF SEC2,W SUBLW.5 GOTO run_min ; 將秒個位數歸 0 CLRF SEC1 MOVL

INCF SEC1,F ; 將 SEC1+1 作查表取回對應數字 MOVF SEC1,W banksel STRING1 banksel PORTB RETFIE run_sec2: MOVF SEC2,W SUBLW.5 GOTO run_min ; 將秒個位數歸 0 CLRF SEC1 MOVL ;************************************************ ; Null Clock REV:1.0 by Jed ; www.xuan.idv.tw ;************************************************ INCLUDE P16F84A.INC LIST P=16F84A,R=Dec CONFIG _XT_OSC&_WDT_OFF

More information

ICD ICD ICD ICD ICD

ICD ICD ICD ICD ICD MPLAB ICD2 MPLAB ICD2 PIC MPLAB-IDE V6.0 ICD2 usb PC RS232 MPLAB IDE PC PC 2.0 5.5V LED EEDATA MPLAB ICD2 Microchip MPLAB-IDE v6.0 Windows 95/98 Windows NT Windows 2000 www.elc-mcu.com 1 ICD2...4 1.1 ICD2...4

More information

C PICC C++ C++ C C #include<pic.h> C static volatile unsigned char 0x01; static volatile unsigned char 0x02; static volatile unsigned cha

C PICC C++ C++ C C #include<pic.h> C static volatile unsigned char 0x01; static volatile unsigned char 0x02; static volatile unsigned cha CYPOK CYPOK 1 UltraEdit Project-->Install Language Tool: Language Suite----->hi-tech picc Tool Name ---->PICC Compiler Executable ---->c:hi-picinpicc.exe ( Command-line Project-->New Project-->File Name--->myc

More information

PIC16F87X基本指令說明

PIC16F87X基本指令說明 PIC16F87X 基本指令說明 ADDLW K 是 Add Literal and W 縮寫,ADDLW K 此指令是將 W 的內容與數值 K 相加, 並將加完結果存於 W 內 即 (W)+K (W) 例 :W=0X11,K=0X15, 執行 ADDLW K 之後, 結果為 W=0X26,K=0X15 ADDWF 是 Add W and f 縮寫,ADDWF F,d 此指令是將 W 之內容與 RAM(file)

More information

(Load Project) (Save Project) (OffLine Mode) (Help) Intel Hex Motor

(Load Project) (Save Project) (OffLine Mode) (Help) Intel Hex Motor 1 4.1.1.1 (Load) 14 1.1 1 4.1.1.2 (Save) 14 1.1.1 1 4.1.2 (Buffer) 16 1.1.2 1 4.1.3 (Device) 16 1.1.3 1 4.1.3.1 (Select Device) 16 2 4.1.3.2 (Device Info) 16 2.1 2 4.1.3.3 (Adapter) 17 2.1.1 CD-ROM 2 4.1.4

More information

AN579

AN579 深圳市英锐恩科技有限公司 单片机集成方案全方位解决服务商 优质智能电子产品 芯 方案解决商 Microchip 产品用户参考手册 深圳市英锐恩科技有限公司 ENROO-TECH(SHENZHEN)CO.,LTD 中国 深圳市福田区福华路嘉汇新城汇商中心 27 楼 2701 Enroo-Tech Technologies CO., Limited Light-Tech International Limited

More information

目 录

目 录 1 Quick51...1 1.1 SmartSOPC Quick51...1 1.2 Quick51...1 1.3 Quick51...2 2 Keil C51 Quick51...4 2.1 Keil C51...4 2.2 Keil C51...4 2.3 1 Keil C51...4 2.4 Flash Magic...9 2.5 ISP...9 2.6...10 2.7 Keil C51...12

More information

701PIC Introduction to PICMicro MCUs

701PIC Introduction to PICMicro MCUs 701 PIC PICmicro MCU 介绍 PIC16 系列产品的汇编编程 HANDS-ON Microchip Technology Incorporated. All Rights Reserved. 701 PIC PIC MCU - Introduction to Programming 1 日程 讲述部分 讲述 90 分钟 休息 20 分钟 实验部分 1 2 个实验 60 分钟 休息

More information

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

51 C 51 isp 10   C   PCB C C C C KEIL http://wwwispdowncom 51 C " + + " 51 AT89S51 In-System-Programming ISP 10 io 244 CPLD ATMEL PIC CPLD/FPGA ARM9 ISP http://wwwispdowncom/showoneproductasp?productid=15 51 C C C C C ispdown http://wwwispdowncom

More information

bingdian001.com

bingdian001.com TSM12M TSM12 STM8L152C6, STM8L152R8 MSP430F5325 whym1987@126.com! /******************************************************************************* * : TSM12.c * : * : 2013/10/21 * : TSM12, STM8L f(sysclk)

More information

untitled

untitled 8086/8088 CIP /. 2004.8 ISBN 7-03-014239-X.... TP313 CIP 2004 086019 16 100717 http://www.sciencep.com * 2004 8 2004 8 1 5 500 787 1092 1/16 16 1/2 391 000 1 2 ii 1 2 CAI CAI 3 To the teacher To the student

More information

Microsoft PowerPoint - C15_LECTURE_NOTE_05.ppt

Microsoft PowerPoint - C15_LECTURE_NOTE_05.ppt 8088/8086 MICROPROCSOR PROGRAMMING INTEGER INSTRUCTIONS AND COMPUTATIONS The MOVE The move (MOV) instruction is used to transfer a byte or a word of data from a source operand to a destination operand

More information

Microsoft PowerPoint - C15_LECTURE_NOTE_04.ppt

Microsoft PowerPoint - C15_LECTURE_NOTE_04.ppt MACHINE LANGUAGE CODING AND THE DEBUG SOFTWARE DEVELOPMENT PROGRAM OF THE PC MACHINE LANGUAGE CODING AND THE DEBUG SOFTWARE DEVELOPMENT PROGRAM OF THE PC 4.1 Converting Assembly Language Instructions to

More information

(Guangzhou) AIT Co, Ltd V 110V [ ]! 2

(Guangzhou) AIT Co, Ltd V 110V [ ]! 2 (Guangzhou) AIT Co, Ltd 020-84106666 020-84106688 http://wwwlenxcn Xi III Zebra XI III 1 (Guangzhou) AIT Co, Ltd 020-84106666 020-84106688 http://wwwlenxcn 230V 110V [ ]! 2 (Guangzhou) AIT Co, Ltd 020-84106666

More information

<4D F736F F D20B3E6B4B9A4F930365F32A443AC71C5E3A5DCBEB9B1B1A8EE2E646F63>

<4D F736F F D20B3E6B4B9A4F930365F32A443AC71C5E3A5DCBEB9B1B1A8EE2E646F63> 七段顯示器控制電路四位數 _ 使用解碼器驅動 +5 V 10 uf 8.2 k 12 MHz 20 pf 1 2 3 4 5 6 7 8 9 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 RESET 10 P3.0 11 12 13 14 15 16 17 18 19 20 P3.1 P3.2 P3.3 P3.4 P3.5 P3.6 P3.7 XTAL2 XTAL1

More information

Microsoft PowerPoint - C15_LECTURE_NOTE_04.ppt

Microsoft PowerPoint - C15_LECTURE_NOTE_04.ppt MACHINE LANGUAGE CODING AND THE DEBUG SOFTWARE DEVELOPMENT PROGRAM OF THE PC General instruction format for machine code 611 37100 微處理機原理與應用 Lecture 04-4 MACHINE LANGUAGE CODING AND THE DEBUG SOFTWARE

More information

12232A LED LED LED EL EL CCFL EL CCF

12232A LED LED LED EL EL CCFL EL CCF 12232A 0 50-20 +70-30 +85 LED LED LED EL EL CCFL EL CCF 122 x 32 1/32Duty 1/5Bias 6:00 STN( ), EL LED EL/100VAC 400HZ LED/4.2VDC 1 / VDD-VSS 0 6.5 V Ta=25 LCD VDD-V0 0 12.0 V V1 0 VDD V VDD-VSS - 4.75

More information

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

1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File 51 C 51 51 C C C C C C * 2003-3-30 pnzwzw@163.com C C C C KEIL uvision2 MCS51 PLM C VC++ 51 KEIL51 KEIL51 KEIL51 KEIL 2K DEMO C KEIL KEIL51 P 1 1 1 1-1 - 1 Project New Project 1 2 Windows 1 3 N C test

More information

EK-STM32F

EK-STM32F STMEVKIT-STM32F10xx8 软 件 开 发 入 门 指 南 目 录 1 EWARM 安 装... 1 1.1 第 一 步 : 在 线 注 册... 1 1.2 第 二 步 : 下 载 软 件... 2 1.3 第 三 步 : 安 装 EWARM... 3 2 基 于 STMEVKIT-STM32F10xx8 的 示 例 代 码 运 行... 6 2.1 GPIO Demo... 6 2.2

More information

第 15 章 程 式 編 写 語 言 15.1 程 式 編 写 語 言 的 角 色 程 式 編 寫 語 言 是 程 式 編 寫 員 與 電 腦 溝 通 的 界 面 語 法 是 一 組 規 則 讓 程 式 編 寫 員 將 字 詞 集 合 起 來 電 腦 是 處 理 位 元 和 字 節 的 機 器, 與

第 15 章 程 式 編 写 語 言 15.1 程 式 編 写 語 言 的 角 色 程 式 編 寫 語 言 是 程 式 編 寫 員 與 電 腦 溝 通 的 界 面 語 法 是 一 組 規 則 讓 程 式 編 寫 員 將 字 詞 集 合 起 來 電 腦 是 處 理 位 元 和 字 節 的 機 器, 與 程 式 編 写 語 言 在 完 成 這 章 後, 你 將 能 夠 了 解 程 式 編 写 語 言 的 功 能 了 解 高 階 語 言 和 低 階 語 言 之 間 的 分 別 知 道 翻 譯 程 式 的 意 義 和 能 夠 把 翻 譯 程 式 分 類 為 : 匯 編 程 式 編 譯 程 式 和 解 譯 程 式 認 識 不 同 翻 譯 程 式 的 優 點 和 缺 點 程 式 是 指 揮 電 腦 的 指

More information

Bus Hound 5

Bus Hound 5 Bus Hound 5.0 ( 1.0) 21IC 2007 7 BusHound perisoft PC hound Bus Hound 6.0 5.0 5.0 Bus Hound, IDE SCSI USB 1394 DVD Windows9X,WindowsMe,NT4.0,2000,2003,XP XP IRP Html ZIP SCSI sense USB Bus Hound 1 Bus

More information

Gerolor Motors Series Dimensions A,B C T L L G1/2 M8 G1/ A 4 C H4 E

Gerolor Motors Series Dimensions A,B C T L L G1/2 M8 G1/ A 4 C H4 E Gerolor Motors Series Size CC-A Flange Options-B Shaft Options-C Ports Features 0 0 12 12 1 1 0 0 2 2 31 31 0 0 SAE A 2 Bolt - (2) 4 Bolt Magneto (4) 4 Bolt Square (H4) 1.0" Keyed (C) 2mm Keyed (A) 1.0'

More information

PIC PICC C 4K C <10% C PIC 11.3 MPLAB-IDE PICC PICC MPLAB-IDE MPLAB-IDE ICE2000 ICD2 PICC MPLAB-IDE IDE Project Set Language Tool Locations 11-1 11-1

PIC PICC C 4K C <10% C PIC 11.3 MPLAB-IDE PICC PICC MPLAB-IDE MPLAB-IDE ICE2000 ICD2 PICC MPLAB-IDE IDE Project Set Language Tool Locations 11-1 11-1 PIC C 11.1 PIC C C C PIC C C PC PC PC C C PIC C PIC Microchip PIC C PIC C Hitech CCS IAR Bytecraft Hitech PICC PIC Hitech PIC PICC-Lite PIC PIC16F84 PIC16F877 PIC16F628 Flash PICC-Lite PIC C PIC C Hitech-PICC

More information

Simulator By SunLingxi 2003

Simulator By SunLingxi 2003 Simulator By SunLingxi sunlingxi@sina.com 2003 windows 2000 Tornado ping ping 1. Tornado Full Simulator...3 2....3 3. ping...6 4. Tornado Simulator BSP...6 5. VxWorks simpc...7 6. simulator...7 7. simulator

More information

Microsoft PowerPoint - C15_LECTURE_NOTE_05.ppt

Microsoft PowerPoint - C15_LECTURE_NOTE_05.ppt 8088/8086 MICROPROCESSOR PROGRAMMING INTEGER INSTRUCTIONS AND COMPUTATIONS 8088/8086 MICROPROCESSOR PROGRAMMING INTEGER INSTRUCTIONS AND COMPUTATIONS 5.1 Data-Transfer Instructions 5.2 Arithmetic Instructions

More information

Microsoft PowerPoint - 701_PIC-CHN_Attendee.ppt

Microsoft PowerPoint - 701_PIC-CHN_Attendee.ppt 701 PIC PICmicro MCU 介绍 PIC16 系列产品的汇编编程 HANDS-ON 日程 讲述部分 讲述 90 分钟 休息 20 分钟 实验部分 1 2 个实验 60 分钟 休息 60 分钟 实验部分 2 10 4 个实验 2 小时 休息 20 分钟 讲述部分的内容 架构 存储器 指令集 开发软件 (MPLAB IDE) 实验和演示部分的内容 Labs 在 MPLAB IDE 创建项目

More information

epub83-1

epub83-1 C++Builder 1 C + + B u i l d e r C + + B u i l d e r C + + B u i l d e r C + + B u i l d e r 1.1 1.1.1 1-1 1. 1-1 1 2. 1-1 2 A c c e s s P a r a d o x Visual FoxPro 3. / C / S 2 C + + B u i l d e r / C

More information

目录

目录 ALTERA_CPLD... 3 11SY_03091... 3 12SY_03091...4....5 21 5 22...8 23..10 24..12 25..13..17 3 1EPM7128SLC.......17 3 2EPM7032SLC.......18 33HT46R47......19..20 41..20 42. 43..26..27 5151DEMO I/O...27 52A/D89C51...28

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 9 [P.11] : Dev C++ [P.12] : http://c.feis.tw [P.13] [P.14] [P.15] [P.17] [P.23] Dev C++ [P.24] [P.27] [P.34] C / C++ [P.35] 10 C / C++ C C++ C C++ C++ C ( ) C++

More information

Gerotor Motors Series Dimensions A,B C T L L G1/2 M G1/ A 4 C H4 E

Gerotor Motors Series Dimensions A,B C T L L G1/2 M G1/ A 4 C H4 E Gerotor Motors Series Size CC-A Flange Options-B Shaft Options-C Ports Features 0 0 5 5 1 0 1 0 3 3 0 0 SAE A 2 Bolt - (2) 4 Bolt Magneto (4) 4 Bolt Square (H4) 1.0" Keyed (C) 25mm Keyed (A) 1.0' 6T Spline

More information

ARM JTAG实时仿真器安装使用指南

ARM JTAG实时仿真器安装使用指南 ARM JTAG Version 1.31 2003. 11. 12 ARM JTAG ARM JTAG.3 ARM 2.1.4 2.2.4 ARM JTAG 3.1 18 3.2 18 3.2.1 Multi-ICE Server.18 3.2.2 ADS..21 ARM JTAG 4.1 Multi-ICE Server 33 4.1.1 Multi-ICE Server..... 33 4.1.2

More information

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

1-1 SH79F6431 A. 2( ) 9~15V ( 12V) U2 U3 3.3V SH79F B. 1(VCC/GND) SH79F6431 C. VDDIO SH79F6431 P4 P5 P0.6 P0.7 VDDIO VDDIO=5V D. 2 V 1.0 SH79F6431 1. SH79F6431 1T 8051 FLASH SH79F JET51 Keil µ vision JTAG 1.1. SH79F6431 LQFP64 1.2. (Target Board) SH79F6431 1 V 1.0 1-1 SH79F6431 A. 2( ) 9~15V ( 12V) U2 U3 3.3V SH79F6431 1 2 1 B. 1(VCC/GND)

More information

untitled

untitled MODBUS 1 MODBUS...1 1...4 1.1...4 1.2...4 1.3...4 1.4... 2...5 2.1...5 2.2...5 3...6 3.1 OPENSERIAL...6 3.2 CLOSESERIAL...8 3.3 RDMULTIBIT...8 3.4 RDMULTIWORD...9 3.5 WRTONEBIT...11 3.6 WRTONEWORD...12

More information

学习MSP430单片机推荐参考书

学习MSP430单片机推荐参考书 MSP430 16 MSP430 C MSP430 C MSP430 FLASH 16 1 CPU 16 ALU 16 PC SP SR R4~R15 2 3 00-FFH 100-1FFH 4 5 1 2 51 24 27 6 1 2 3 4 5 6 4 12 SR SP SR CPU SR CPU C Z N GIE CPUOff CPU OscOff SCG0 SCG1 CPU EXIT SP

More information

1 TPIS TPIS 2 2

1 TPIS TPIS 2 2 1 1 TPIS TPIS 2 2 1. 2. 3. 4. 3 3 4 5 4 TPIS TPIS 6 5 350 Mark Coil F3/F6 350 M 150 M 25 M 7.12M 8 M F3 F6 F4 F7 F8 8M AA 7 350 28V 5V IC HCPL2731 0.5mA 6 8 (TPIS) TPIS 9 7 IC AT89C2051 AT89C2051 CMOS8

More information

C语言的应用.PDF

C语言的应用.PDF AVR C 9 1 AVR C IAR C, *.HEX, C,,! C, > 9.1 AVR C MCU,, AVR?! IAR AVR / IAR 32 ALU 1KBytes - 8MBytes (SPM ) 16 MBytes C C *var1, *var2; *var1++ = *--var2; AVR C 9 2 LD R16,-X ST Z+,R16 Auto (local

More information

CC213

CC213 : (Ken-Yi Lee), E-mail: feis.tw@gmail.com 49 [P.51] C/C++ [P.52] [P.53] [P.55] (int) [P.57] (float/double) [P.58] printf scanf [P.59] [P.61] ( / ) [P.62] (char) [P.65] : +-*/% [P.67] : = [P.68] : ,

More information

Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provided by SUNPLUS TECHNOLO

Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provided by SUNPLUS TECHNOLO Car DVD New GUI IR Flow User Manual V0.1 Jan 25, 2008 19, Innovation First Road Science Park Hsin-Chu Taiwan 300 R.O.C. Tel: 886-3-578-6005 Fax: 886-3-578-4418 Web: www.sunplus.com Important Notice SUNPLUS

More information

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

6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C C C51 C51 ANSI C MCS-51 C51 ANSI C C C51 bit Byte bit sbit 6 C51 ANSI C Turbo C C51 Turbo C C51 C51 C51 C51 C51 C51 C51 C51 C51 6.1 C51 6.1.1 C51 C51 ANSI C MCS-51 C51 ANSI C C51 6.1 6.1 C51 bit Byte bit sbit 1 0 1 unsigned char 8 1 0 255 Signed char 8 11 128

More information

Microsoft PowerPoint - chap2.ppt

Microsoft PowerPoint - chap2.ppt 基本程式設計觀念 人 自然語言 ( 中文 英文...) 高階語言 (C C++ Java) 組合語言 (8051 或是 80x86) 機器語言 (8051 或是 80x86) 機器 林銘波編著 --- 全華科技圖書公司 2.1 計算機的階層式結構 應用程式 ( 或語言 ) 高階語言組合語言硬體 林銘波編著 --- 全華科技圖書公司 2.2 儲存程式計算機 資料輸入 中央處理器讀取 / 寫入控制 CPU

More information

第1章 ISIS编辑器指南

第1章 ISIS编辑器指南 Proteus Design Suit 7 HTTP //WWW.WINDWAY.CN 1 2 PROTEUS http://support.labcenter.co.uk/ support@labcenter.com PROTEUS Design Suit 7 PROTEUS Windows 98 NT, Millennuium windows LABCENTER MICROSOFT PROTEUS

More information

PROTEUS VSM

PROTEUS  VSM Proteus VSM-- 1/1 PROTEUS VSM Proteus VSM ISIS Prospice VSM Proteus PROSPICE ARM7 PIC AVR HC11 8051 CPU LCD RS232 LED IAR Keil Hitech C make 6000 SPICE SPICE DLL SPICE3F5 14 FM PROTEUS PCB LED/LCD / 300

More information

... 3... 9... 9... 32... 49... 69... 94... 125... 157... 186... 199... 210... 251... 269... 279... 293... 311... 325... 344... 361... 379... 398... 415... 441... 441... 443 ... 445... 447... 449... 451...

More information

2

2 1 2 3 5 20 45 87 137 137 138 139 140 141 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 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57

More information

!"# $! "##$! $ "%& % & #$# & ()% & "!! * "! * #! * * $! ((!"# "##$ + #++ * * * * * * * * * * + $," ("# +### "##$ $ + + & $ ### "%& % & #$# & ()% & " "

!# $! ##$! $ %& % & #$# & ()% & !! * ! * #! * * $! ((!# ##$ + #++ * * * * * * * * * * + $, (# +### ##$ $ + + & $ ### %& % & #$# & ()% &  "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

More information

V V V I R I R R L 1 1 23 2 3 1 8 1 1 1 23 2 3 8 24 1 24 2 12 12 1 1 8 3 23 3 8 Click below to find more Mipaper at www.lcis.com.tw Mipaper at www.lcis.com.tw

More information

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc References (Section 5.2) Hsuan-Tien Lin Deptartment of CSIE, NTU OOP Class, March 15-16, 2010 H.-T. Lin (NTU CSIE) References OOP 03/15-16/2010 0 / 22 Fun Time (1) What happens in memory? 1 i n t i ; 2

More information

untitled

untitled niosii H:\DB2005\project\niosDK\Example\NiosSmall QuartusII4.2 File -> New Project Wizard Diectory,Name,Top-Level Entity Add Files EDA Tools Setting Finish, OK H:\DB2005\project\niosDK\Example\NiosSmall

More information

錄...1 說...2 說 說...5 六 率 POST PAY PREPAY DEPOSIT 更

錄...1 說...2 說 說...5 六 率 POST PAY PREPAY DEPOSIT 更 AX5000 Version 1.0 2006 年 9 錄...1 說...2 說...3...4 說...5 六...6 6.1 率...7 6.2 POST PAY...8 6.3 PREPAY DEPOSIT...9 6.4...10 6.5...11 更...12...12 LCD IC LED Flash 更 兩 RJ11 ( ) DC ON OFF ON 狀 狀 更 OFF 復 狀 說

More information

untitled

untitled XZL024 http://item.taobao.com/item.htm?id=6321822194 1 1 1.1 1.2 1.3 1.4 2 2.1 2.2 2.3 3 USBee Suite 3.1 3.2 3.3 3.4 4 RS232 RS485 RS422 CAN http://item.taobao.com/item.htm?id=6321822194 2 1 XZL024 PC

More information

Microsoft PowerPoint - PIC18F_39th設計競賽 [相容模式]

Microsoft PowerPoint - PIC18F_39th設計競賽 [相容模式] 單晶片軟體設計講座 PIC18F4520 基礎課程 架構, 基本週邊及程式開發 Microchip Technology Taiwan Slide 1 開發 PIC18F4520 程式相關的 軟 / 硬體開發工具 使用軟體工具 ( 包含於 Microchip 產品 DVD 中 ) MPLAB IDE v8.xx ( 或更新版本 ) MPASM, MPLINK, MPLIB 使用硬體工具 MPLAB

More information

EC51/52 GSM /GPRS MODEN

EC51/52 GSM /GPRS MODEN EC51/52 GSM /GPRS MODEN AT SMS aoe EC66.com 2004.11 ... 2 1 GSM AT... 3 2 EC51... 4 3 PDU... 4 4 PDU... 5 5... 7 6 TEXT... 8 7... 9 8.... 9 9.... 9 http://www.ec66.com/ 1 AT GPRS Modem SMS AT EC51 EC52

More information

,768 32,767 32K JMP Jnnn (386+) LOOP CALL [Label:] JMP short/near/far address L10: jmp jmp L20: L10 L20

,768 32,767 32K JMP Jnnn (386+) LOOP CALL [Label:] JMP short/near/far address L10: jmp jmp L20: L10 L20 (Jump) (Loop) (Conditional jump) CMP CALL AND SAR/SHR TEST JMP NOT SAL/SHL Jnnn* OR RCR/ROR LOOP XOR RCL/ROL RETn * nnn, JNE JL -128 127-32,768 32,767 32K JMP Jnnn (386+) LOOP CALL [Label:] JMP short/near/far

More information

Outline USB Application Requirements Variable Definition Communications Code for VB Code for Keil C Practice

Outline USB Application Requirements Variable Definition Communications Code for VB Code for Keil C Practice 路 ESW 聯 USB Chapter 9 Applications For Windows Outline USB Application Requirements Variable Definition Communications Code for VB Code for Keil C Practice USB I/O USB / USB 3 料 2 1 3 路 USB / 列 料 料 料 LED

More information

AL-M200 Series

AL-M200 Series NPD4754-00 TC ( ) Windows 7 1. [Start ( )] [Control Panel ()] [Network and Internet ( )] 2. [Network and Sharing Center ( )] 3. [Change adapter settings ( )] 4. 3 Windows XP 1. [Start ( )] [Control Panel

More information

Microsoft Word - MSP430 Launchpad 指导书.docx

Microsoft Word - MSP430 Launchpad 指导书.docx Contents 3... 9... 14 MSP430 LAUNCHPAD 指导书 3 第一部分第一个工程 New Project File > New > CCS Project Project name: ButtonLED Device>Family: MSP430 Variant: MSP430G2553 Project templates and examples : Empty Project

More information

LK110_ck

LK110_ck Ck 电子琴 LK110CK1A Ck-1 1. 2. 1. 2. 3. (+) ( ) Ck-2 1. 2. 3. * 1. 2. 3. Ck-3 Ck-4 LCD LCD LCD LCD LCD LCD 15 * * / MIDI Ck-5 100 50 100 100 100 1 2 MIDI MIDI Ck-6 ... Ck-1... Ck-6... Ck-8... Ck-9... Ck-10...

More information

Microsoft PowerPoint - chap3.ppt

Microsoft PowerPoint - chap3.ppt MCS-51 CPU 的規劃模式 位元組位址 1F 18 17 10 0F 08 07 06 05 04 03 02 01 00 通用資料暫存器 暫存器庫 3 暫存器庫 2 暫存器庫 1 R7 R6 R5 R4 R3 R2 R1 R0 內部 RAM 位元組位址 暫存器庫 0 F0 F7 F6 F5 F4 F3 F2 F1 F0 B E0 E7 E6 E5 E4 E3 E2 E1 E0 ACC D0

More information

Abstract arm linux tool-chain root NET-Start! 2

Abstract arm linux tool-chain root NET-Start! 2 Lab III - Embedding Linux 1 Abstract arm linux tool-chain root NET-Start! 2 Part 1.4 Step1. tool-chain 4 Step2. PATH 4 Part 2 kernel 5 Step1. 5 Step2... 6 Step3...8 Part 3 root. 8 Step1. 8 Step2. 8 Part

More information

Microsoft Word - S153B.doc

Microsoft Word - S153B.doc SAM8 P153B SAM8P153B 数据手册 14 引脚 8 位 I/O 型 OTP 单片机 盛明公司保留对以下所有产品在可靠性 功能和设计方面的改进作进一步说明的权利 盛明不承担由本手册所涉及的产品或电路的运用和使用所引起的任何责任, 盛明的产品不是专门设计来应用于外科植入 生命维持和任何盛明产品产生的故障会对个体造成伤害甚至死亡的领域 如果将盛明的产品用于上述领域, 即使这些是由盛明在产品设计和制造上的疏忽引起的,

More information

: WICE-PIC 1.1 WICE-PIC 1.2 WICE-PIC : WICE-PIC WICE-PIC 2.5 WICE-PIC 2.6 : : : : A. B.E.V.Board 1. Internet Internet WWW: http//

: WICE-PIC 1.1 WICE-PIC 1.2 WICE-PIC : WICE-PIC WICE-PIC 2.5 WICE-PIC 2.6 : : : : A. B.E.V.Board 1. Internet Internet WWW: http// : WICE-PIC 1.1 WICE-PIC 1.2 WICE-PIC : WICE-PIC 2.1 2.2 2.3 2.4 WICE-PIC 2.5 WICE-PIC 2.6 : : : : A. B.E.V.Board 1. Internet Internet WWW: http//www.leap.com.tw 2. : TEL: 886-2-7884800 FAX: 886-2-6512307

More information

DPJJX1.DOC

DPJJX1.DOC 8051 111 2K 1 2 3 ' ' 1 CPU RAM ROM / A/D D/A PC CPU 40 68 10 20 8 51 PIII 8051 2 MCS51 8051 8031 89C51 8051 8031 89C51? MCS51 INTEL INTEL 8031 8051 8751 8032 8052 8752 8051 8051 8051 MCS51 8031 8031

More information

User’s Manual

User’s Manual V7 用 户 手 册 亿 图 为 您 专 业 图 表 设 计 提 供 最 佳 解 决 方 案 2004-2014 EdrawSoft. All right reserved. Edraw and Edraw logo are registered trademarks of EdrawSoft. 目 录 亿 图 怎 样 优 越 于 其 他 软 件... 5 亿 图 7 个 新 功 能... 6 为

More information

行业

行业 PCL-1800 PCL-1800 1.1...2 1.1.1 1K FIFO...2 1.1.2...2 1.1.3 16...3 1.1.4...3 1.1.5...3 1.1.6...3 1.2...3 1.3...4 1.4...5 2.1...5 2.2...6 2.2.1...6 2.2.2...6 2.2.3 D/A...7 2.2.4...7 2.2.5 TRIG0 GATE0...8

More information

法 与 采 购 模 式, 不 仅 不 能 保 证 一 些 战 略 性 物 资 的 充 分 供 应, 很 容 易 造 成 供 应 风 险, 而 且 会 影 响 供 应 链 的 后 续 活 动 因 此, 必 须 对 当 前 的 物 资 分 类 加 以 改 革 2 集 中 采 购 供 应 商 准 入 门

法 与 采 购 模 式, 不 仅 不 能 保 证 一 些 战 略 性 物 资 的 充 分 供 应, 很 容 易 造 成 供 应 风 险, 而 且 会 影 响 供 应 链 的 后 续 活 动 因 此, 必 须 对 当 前 的 物 资 分 类 加 以 改 革 2 集 中 采 购 供 应 商 准 入 门 4.3 案 例 分 析 4.3.1 江 苏 电 力 当 前 物 资 集 中 采 购 策 略 的 不 足 对 照 江 苏 电 力 提 出 的 增 强 江 苏 电 力 控 制 物 资 资 源 和 降 低 采 购 综 合 成 本 目 标, 并 按 照 同 类 可 比 同 行 领 先 的 要 求, 结 合 供 应 链 管 理 与 现 代 物 流 理 论, 以 及 当 今 世 界 物 流 信 息 化 社 会

More information

/ / (FC 3)...

/ / (FC 3)... Modbus/TCP 1.0 1999 3 29 Andy Swales Schneider aswales@modicon.com ... 2 1.... 3 2.... 3 2.1.. 3 2.2..4 2.3..4 2.4... 5 3.... 5 3.1 0... 5 3.2 1... 5 3.3 2... 6 3.4 / /... 7 4.... 7 5.... 8 5.1 0... 9

More information

FY.DOC

FY.DOC 高 职 高 专 21 世 纪 规 划 教 材 C++ 程 序 设 计 邓 振 杰 主 编 贾 振 华 孟 庆 敏 副 主 编 人 民 邮 电 出 版 社 内 容 提 要 本 书 系 统 地 介 绍 C++ 语 言 的 基 本 概 念 基 本 语 法 和 编 程 方 法, 深 入 浅 出 地 讲 述 C++ 语 言 面 向 对 象 的 重 要 特 征 : 类 和 对 象 抽 象 封 装 继 承 等 主

More information

, 7, Windows,,,, : ,,,, ;,, ( CIP) /,,. : ;, ( 21 ) ISBN : -. TP CIP ( 2005) 1

, 7, Windows,,,, : ,,,, ;,, ( CIP) /,,. : ;, ( 21 ) ISBN : -. TP CIP ( 2005) 1 21 , 7, Windows,,,, : 010-62782989 13501256678 13801310933,,,, ;,, ( CIP) /,,. : ;, 2005. 11 ( 21 ) ISBN 7-81082 - 634-4... - : -. TP316-44 CIP ( 2005) 123583 : : : : 100084 : 010-62776969 : 100044 : 010-51686414

More information

The golden pins of the PCI card can be oxidized after months or years

The golden pins of the PCI card can be oxidized after months or years Q. 如何在 LabWindows/CVI 編譯 DAQ Card 程式? A: 請參考至下列步驟 : 步驟 1: 安裝驅動程式 1. 安裝 UniDAQ 驅動程式 UniDAQ 驅動程式下載位置 : CD:\NAPDOS\PCI\UniDAQ\DLL\Driver\ ftp://ftp.icpdas.com/pub/cd/iocard/pci/napdos/pci/unidaq/dll/driver/

More information

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

1.1 ML_ONOFF = 1 Q 3 Q 8 C 0.3V M 2 L 1 ML_ONOFF = 0 Q 3 Q 8 C 1. + R31 VCC R21 10K ML_ONOFF R15 0:off 1:on 1K Green Light VCC=5V L1 Q VDD=12V C AUTOMATIC TROLLEY H K Hwang K K Chen J-S Lin S-C Wang M-L Li C-C Lin W-B Lin Dept. Of Electrical Engineering Far East College ABSTRACT This paper proposes an automatic trolley which can move automatically

More information

Microsoft PowerPoint - chap4.ppt

Microsoft PowerPoint - chap4.ppt 定址方式 定址方式 格式 有效位址 立即資料定址 #data8 暫存器定址 Rn (R0 ~ R7) 直接定址 addr8 addr8 絕對定址 addr11 addr11 長程 ( 絕對 ) 定址 addr16 addr16 ( 暫存器 ) 間接定址 @Ri (@R0 @R1) 或 @DPTR R0 R1 或 DPTR ( 暫存器 ) 相對定址 disp8 PC+ 符號擴展之 disp8 ( 基底

More information

典型自编教材

典型自编教材 河 南 科 技 大 学 计 算 机 实 验 教 学 中 心 1. 计 算 机 文 化 基 础 实 验 指 导 书 2. 数 据 结 构 实 验 指 导 书 3. 操 作 系 统 实 验 指 导 书 4. 面 向 对 象 程 序 设 计 实 验 指 导 书 5. 数 据 库 原 理 实 验 指 导 书 6. 编 译 原 理 实 验 指 导 书 7. JAVA 程 序 设 计 实 验 指 导 书 8.

More information

2/80 2

2/80 2 2/80 2 3/80 3 DSP2400 is a high performance Digital Signal Processor (DSP) designed and developed by author s laboratory. It is designed for multimedia and wireless application. To develop application

More information

B

B 90/5/22 (90) 04594 91 12 31 P * 1-12 1 13 01 01 1 2 18-21 22-24 1 2 1 2 / 31-32 37-38 I4 I2I3I4 I2I3I4 . () () ( )... 00 90 010203040506 070809 101112 13141516 17 99 ( ) ( ) ( ) 91. 92. 1 1 2 3 4 ( ) 1

More information

科学计算的语言-FORTRAN95

科学计算的语言-FORTRAN95 科 学 计 算 的 语 言 -FORTRAN95 目 录 第 一 篇 闲 话 第 1 章 目 的 是 计 算 第 2 章 FORTRAN95 如 何 描 述 计 算 第 3 章 FORTRAN 的 编 译 系 统 第 二 篇 计 算 的 叙 述 第 4 章 FORTRAN95 语 言 的 形 貌 第 5 章 准 备 数 据 第 6 章 构 造 数 据 第 7 章 声 明 数 据 第 8 章 构 造

More information

DR2010.doc

DR2010.doc DR/2010 HACH 11-8-96-2 HACH. DR/2010, / UL E79852 CSA C22.223 LR 58275 VDE GS 1015-92 FCC"A" 15 : AMADOR CORP, HACH. EN50 011/CISPR 11 "B" (EMI)/89/336/EEC/EMC: AMADOR CORP, HACH.. EN50 082-1( )/89/226/EEC

More information

P4VM800_BIOS_CN.p65

P4VM800_BIOS_CN.p65 1 Main H/W Monitor Boot Security Exit System Overview System Time System Date [ 17:00:09] [Fri 02/25/2005] BIOS Version : P4VM800 BIOS P1.00 Processor Type : Intel (R) Pentium (R) 4 CPU 2.40 GHz Processor

More information

行业

行业 PCL-818HD/HG/L PCL-818HD/HG/L 1.1...2 1.1.1 /...2 1.1.2 ID...2 1.2...3 1.3...3 2.1...3 2.2...3 2.2.1...4 2.2.2...4 2.2.3 DMA...5 2.2.4...5 2.2.5 D/A...5 2.2.6...6 2.2.7 EXE.trigger GATE0...6 2.2.8 FIFO

More information

. (A) (B) (C) A (D) (E). (A)(B)(C)(D)(E) A

. (A) (B) (C) A (D) (E). (A)(B)(C)(D)(E) A . () () () () () (A) (B) (C) B (D) (E). (A) (B) (C) E (D) (E) (A) (B) (C) (D). () () () () E (A) (B) (C) (D) (E). C (A) (B) (C) (D) (E). (A) (B) (C) (D) D (E). () - () - () - () - () - D (A) (B) (C) (D)

More information

ebook140-9

ebook140-9 9 VPN VPN Novell BorderManager Windows NT PPTP V P N L A V P N V N P I n t e r n e t V P N 9.1 V P N Windows 98 Windows PPTP VPN Novell BorderManager T M I P s e c Wi n d o w s I n t e r n e t I S P I

More information

audiogram3 Owners Manual

audiogram3 Owners Manual USB AUDIO INTERFACE ZH 2 AUDIOGRAM 3 ( ) * Yamaha USB Yamaha USB ( ) ( ) USB Yamaha (5)-10 1/2 AUDIOGRAM 3 3 MIC / INST (XLR ) (IEC60268 ): 1 2 (+) 3 (-) 2 1 3 Yamaha USB Yamaha Yamaha Steinberg Media

More information

untitled

untitled MA MA50/MA100 ---------------------------------------------------------------------------------------------------3 ---------------------------------------------------------------------------------------------------4

More information

untitled

untitled 論 數 Encoding, Transmission, Reception, and Decoding for IR Data Packet Communication 林 年六 論 數 數 187 立 北 年度 林 數 料欄 數 復 路 路 論 數 (Infrared Data Packet ) 路 (IR Transmitter) 路 (IR Receiver) 行 數 (Infrared Data

More information

AN INTRODUCTION TO PHYSICAL COMPUTING USING ARDUINO, GRASSHOPPER, AND FIREFLY (CHINESE EDITION ) INTERACTIVE PROTOTYPING

AN INTRODUCTION TO PHYSICAL COMPUTING USING ARDUINO, GRASSHOPPER, AND FIREFLY (CHINESE EDITION ) INTERACTIVE PROTOTYPING AN INTRODUCTION TO PHYSICAL COMPUTING USING ARDUINO, GRASSHOPPER, AND FIREFLY (CHINESE EDITION ) INTERACTIVE PROTOTYPING 前言 - Andrew Payne 目录 1 2 Firefly Basics 3 COMPONENT TOOLBOX 目录 4 RESOURCES 致谢

More information

TC35短信发送程序设计

TC35短信发送程序设计 http://www.dragonsoft.net.cn/down/project/tc35_sms.rar TC35 AT /down/book/tc35_at.pdf TC35/TC35i GSM Modem TC35 GSM POS COM SIM DOWN COM E, vbcr AT VB6.0 1)C# http://www.yesky.com/softchannel/72342380468109312/20040523/1800310.shtml,

More information

Microsoft Word - LD5515_5V1.5A-DB-01 Demo Board Manual

Microsoft Word - LD5515_5V1.5A-DB-01 Demo Board Manual Subject LD5515 Demo Board Model Name (5V/1.5A) Key Features Built-In Pump Express TM Operation Flyback topology with PSR Control Constant Voltage Constant Current High Efficiency with QR Operation (Meet

More information

C/C++语言 - C/C++数据

C/C++语言 - C/C++数据 C/C++ C/C++ Table of contents 1. 2. 3. 4. char 5. 1 C = 5 (F 32). 9 F C 2 1 // fal2cel. c: Convert Fah temperature to Cel temperature 2 # include < stdio.h> 3 int main ( void ) 4 { 5 float fah, cel ;

More information