線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2666
推到 Plurk!
推到 Facebook!

能幫忙檢查與解釋程式碼嗎QQ

答題得分者是:penguin5
jocky2001
一般會員


發表:3
回覆:5
積分:1
註冊:2005-05-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-06-03 23:20:51 IP:218.166.xxx.xxx 未訂閱
這是一個8051英文LCD字幕機 跟廠商購買來滴 專題 的程式碼  但專題還是要知道每個程式的功用 我們是初學者不怎麼懂 圖書館借書也是一知半懂 英文也不太好 之前有大大幫我們解釋過一小部份 我們利用那一部份 解釋一些了 但還是有一些不知道  希望各位大大能幫幫忙QQ  或是有解釋錯的能方便糾正一下QQ
; PELC.ASM   IO51 LCD 16 MESSAGE
; ASM: KEIL
;-------------------------------
; LCD .....
RS      EQU P0.0             :定義LCD的RS接腳
EN      EQU P0.1             :定義LCD的EN接腳    SPK     EQU P3.4             :壓電蜂鳴器的接腳定義
WLED    EQU P3.7             :工作指示燈的接腳定義    FKEY    EQU 20H.0  ; KEY PRESSED  : 這邊是定義?
KEY_NO  EQU 30H  ; KEY NO         : 這邊是定義?    ;-----------------------------
        ORG 0H            :程式碼由位置0開始
        JMP BEGIN         :跳至BEGIN處開始執行程式
;-----------------------------
BEGIN:
        CLR EN    ; LCD OFF   :關閉LCD致能
        CALL LED_BL          :LED閃動 表示程式開始執行
        CALL SET_LCD         :LCD初始化,並顯示
        CALL BZ              :壓電蜂鳴器發出聱音
        CALL BZ              :壓電蜂鳴器發出聱音            JMP RUN              :跳至RUN處執行程式
:..........................................
SET_LCD:          :設定LCD作業模式
        CLR  EN ;  en=0    :關閉LCD致能            CALL INIT_LCD      :呼叫LCD之初始程式            MOV R5,#10        :延時0.1秒鐘
        CALL DELAY            MOV DPTR,#LMESS1     :LMESS1移至資料指標
        MOV A,#1        ; LINE1  :顯示在LCD第一行
        CALL LCD_PRINT        :顯示訊息1(LMESS1)於LCD第一行
        MOV DPTR,#LMESS2     :LMESS2移至資料指標
        MOV A,#2        ; LINE2   :顯示在LCD第一行
        CALL LCD_PRINT        :顯示訊息2(LMESS2)於LCD第一行
        RET           從副程式返回
;---------------------------------
INIT_LCD1:           :I/O初始化LCD
        MOV A,#28H  雙列顯示,字型為5X7
        CALL WCOM     寫資料到 IR 暫存器
        MOV A,#0CH  游標出現,不閃爍 
        CALL WCOM   寫資料到 IR 暫存器 
        MOV A,#0EH   每次向右移一位,顯示幕不移動
        CALL WCOM   寫資料到 IR 暫存器 
        MOV A,#01H  清除LCD顯示幕
        CALL WCOM  寫資料到 IR 暫存器  
        RET            從副程式返回
;---------------------------------
CLR_LINE1:          :清除LCD的第一行字元
        MOV A,#80H   設定第一行位置
        CALL WCOM    寫資料到 IR 暫存器            MOV R0,#24   共作24次
CL:     MOV A,#' '   載入空白字元至LCD
        CALL WDATA      寫資料到 DR 暫存器,輸出空白字元至LCD
        DJNZ R0,CL   是否已作 24次 
        RET            從副程式返回
;-------------------------------
; A=LINE 1 OR 2       :  在LCD的第一行或第二行印出字元
; DPTR = MESSAGE POINTER 欲顯示字串之資料放置處     LCD_PRINT:             
        CJNE A,#1,LINE2  假如A,不是1,就跳到LINE2    
LINE1:  MOV A,#80H     在LCD的第一行印出字元
  
        CALL WCOM     寫資料到 IR 暫存器
 
        CALL CLR_LINE    清除一行之顯示
        MOV A,#80H     LCD的第一行
        CALL WCOM     寫資料到 IR 暫存器,輸出字元至LCD 
        JMP FILL      跳到FILL處執行程式     LINE2:  MOV A,#0C0H       游標出現,不閃爍 
        CALL WCOM        寫資料到 IR 暫存器
        CALL CLR_LINE     清除一行之顯示
        MOV A,#0C0H       游標出現,不閃爍
        CALL WCOM         寫資料到 IR 暫存器
FILL:
        CLR A                清除累加器
        MOVC A,@A DPTR     程式記憶體的資料移入累加器
        CJNE A,#0,LC1        假如是A.不是0.就跳到LC1
        RET            從副程式返回
LC1:
        CALL WDATA    寫data到DR暫存器 輸出空白字元至LCD
        INC DPTR       資料指標器加一
        JMP FILL         跳到FILL處執行程式
        RET           從副程式返回
;---------------------------
CLR_LINE:
        MOV R0,#24       共作24次
C1:     MOV A,#' '       載入空白字元至LCD
        CALL WDATA    寫資料到 DR 暫存器,輸出空白字元至LCD
        DJNZ R0,C1      是否已作 24次
        RET             從副程式返回
;-------------------------------    
DE:     MOV  R7, #5    這邊不知如何解釋
        DJNZ R7,$      這邊不知如何解釋
        RET           從副程式返回
;--------------------
EN1:
        SETB EN       這邊不知如何解釋
        CALL DE       這邊不知如何解釋
        CLR  EN      關閉LCD致能
        CALL DE
        RET       從副程式返回
;-------------------
INIT_LCD:
        MOV P0, #30H    這邊不知如何解釋
        CALL EN1     這邊不知如何解釋
        MOV P0, #30H
        CALL EN1
        MOV P0, #30H
        CALL EN1            MOV P0, #20H    這邊不知如何解釋
        CALL EN1
        CALL INIT_LCD1    呼叫LCD1之初始程式
        RET     從副程式返回
;----------------------
WCOM:
; WRITE HI 4  BIT      這邊不知如何解釋
        MOV P0, A     累加器內容移至暫存器
        CLR RS ; SET COMMAND   這邊不知如何解釋
        CALL EN1
        RLC A      累加器與C一起向左旋轉
        RLC A      累加器與C一起向左旋轉
        RLC A      累加器與C一起向左旋轉
        RLC A      累加器與C一起向左旋轉
; WRITE LO 4  BIT      這邊不知如何解釋
        MOV P0, A     這邊不知如何解釋
        CLR RS ; SET COMMAND
        CALL EN1
        RET       從副程式返回
;--------------------------------------
WDATA:
; WRITE HI 4  BIT
        MOV P0, A    累加器內容移至暫存器
        SETB RS ; SET DATA    這邊不知如何解釋
        CALL EN1
        RLC A      累加器與C一起向左旋轉
        RLC A      累加器與C一起向左旋轉
        RLC A      累加器與C一起向左旋轉
        RLC A      累加器與C一起向左旋轉
; WRITE LO 4 BIT
        MOV P0, A     累加器內容移至暫存器
        SETB RS ; SET DATA
        CALL EN1
        RET           從副程式返回
;--------------------------------------
; DELAY R5*10 ms   這區域都不懂
DELAY:
        MOV R6,#50
D1:     MOV R7,#100
        DJNZ R7,$
        DJNZ R6,D1
        DJNZ R5,DELAY
        RET          從副程式返回
;--------------------------------
LED_BL:          這區域都不懂
        MOV R4,#4
LE1:    CPL WLED
        MOV R5,#5
        CALL DELAY
        DJNZ R4,LE1
        RET         從副程式返回
;------------------------------------
LMESS1: DB "ELC LCD 16 MESS.",0   這兩行代表是?
LMESS2: DB "I/O 4 BIT.......",0
;----------------------------------------------------------
; KEY PAD: TYPE A    這裡是鍵盤的什麼?
; F E D C
; B 3 6 9
; A 2 5 8
; 0 1 4 7
TABLE_DIG:
         DB  0FH, 0BH, 0AH, 00H
         DB  0EH, 03H, 02H, 01H
         DB  0DH, 06H, 05H, 04H
         DB  0CH, 09H, 08H, 07H
;---------------------------------------------------------
; R0 : BUF PT NO USE    這裡是各代表什麼?
; R1 : COUNT 1
; R2 : COUNT 2
; R3 : SCAN SIGNAL
; R4 : COUNT KEY_NO
;------------------
SCAN:      什麼意思?
;****************************
        MOV R3, #0FEH   ; LOAD INITIAL SCAN SIGNAL  這區好多看不懂
        MOV R4, #0     ; KEY NO COUNT
        MOV R1, #4     ; COUNT TIMES
        CLR  PSW.5     ; NO KEY ON
;......................................
L1:      這區域都不懂
; SEND OUT SCAN SIGNAL VIA P2.0~P2.3
        MOV A, R3
        MOV P2,A    ;*********************************
; DELAY A WHILE ....... 這區域都不懂
        MOV R5, #1
        CALL DELAY    ; READ I/P DATA FROM P2.4~P2.7
        MOV A,P2
        ANL A,#0F0H      ; GET HIGH 4 BIT  EX:1110XXXX    ; CHECK KEY PRESSED ?
        MOV R2,#4       ; COUNT 2
;.................................
L2:
        JB ACC.4, N1    ; NO KEYED
        MOV KEY_NO, R4
        SETB PSW.5       ; KEY PRESS......
N1:
        INC R4          ; KEY NO   
        RR A            ; CHECK KEY NO
        DJNZ R2, L2    ; CHANGE SCAN CODE  EX:XXXX1101
        MOV A, R3
        RL A         累加器向左旋轉
        MOV R3, A
        DJNZ R1, L1    ;....................................
; SET FKEY     這區域都不懂
BACK:
        JNB PSW.5, NO_KEY
        SETB FKEY
        RET           從副程式返回
NO_KEY:
        CLR FKEY        ; NO KEY PRESSED.........
        RET          從副程式返回
;------------------------------------------------------------------------
; RETURN A: DIGIT NO    這區域都不懂
KEY_SCAN:            CLR FKEY
        CALL SCAN
; IF(KEY_ON) WAIT  KEY_OFF
        JB FKEY, K20
; NO KEY ON WAIT KEY IN..............
        CLR FKEY
        RET       從副程式返回    ; HAVE KEY IN.........
K20:
        CALL BZ    ;************************
K21:
        CALL SCAN
        JB FKEY, K21 ;
; KEY INDEX TO DIGIT NO.
        MOV A,KEY_NO
        MOV DPTR, #TABLE_DIG
        MOVC A,@A DPTR     :程式記憶體的資料移入累加器
        SETB FKEY
        RET        從副程式返回
;-------------------------------------------------------
BZ:               這區域都不懂
        MOV R6,#0
B1:     CALL DEX
        CPL SPK
        DJNZ R6,B1            MOV R5,#5
        CALL DELAY
        RET        從副程式返回
;--------------------
DEX:    MOV R7,#180
DE1:    NOP
        DJNZ R7,DE1
        RET       從副程式返回
;------------------------------------------------------------
ME1: DB "IO51 LEARN PROJE",0    這區域都不懂
ME2: DB "MULTI FUNCTION..",0    M0: DB "IO51 PROJECT 16.",0
M1: DB "SPECIAL DESIGN..",0    M2: DB "PTDO TIME COUNT.",0
M3: DB "PCL  CLCOK SEG..",0    M4: DB "PCLL CLCOK LCD..",0
M5: DB "PPA  PASSWORD...",0
M6: DB "PIRH IR HOME REL",0
M7: DB "PIRK IR KEY MUSI",0    M8: DB "PTE  DS1821 RELA",0
M9: DB "PBOX MUSIC BOX..",0
MA: DB "PAD  A/D SHOW...",0
MB: DB "POR  8015 ORGAN.",0    MC: DB "PELC LCD 16 MESS",0
MD: DB "PCLC CHINESE LCD",0
ME: DB "PSP  SPEECH DEMO",0
MF: DB "PVC  VOICE CONTR",0
;-------------------------------
MOP:    MOP是?
        MOV A,#2        ; LINE2  顯示在LCD第二行
        CALL LCD_PRINT     顯示訊息2(LMESS2)於LCD第二行
        CALL LED_BL      LED 表示程式開始執行            MOV R5,#60
        CALL DELAY
        RET        從副程式返回
;-------------------------
; I/P: A: KEY NO     這區域有些不懂
MKOP:
        CJNE A,#0, A0
        MOV DPTR,#M0
        CALL MOP
        RET       從副程式返回    A0:     CJNE A,#1, A1   若累加器不等於1就跳至A1
        MOV DPTR,#M1
        CALL MOP
        RET       從副程式返回    A1:     CJNE A,#2, A2   若累加器不等於2就跳至A2
        MOV DPTR,#M2
        CALL MOP
        RET     從副程式返回    A2:     CJNE A,#3, A3   若累加器不等於3就跳至A3
        MOV DPTR,#M3
        CALL MOP
        RET     從副程式返回    A3:     CJNE A,#4, A4    若累加器不等於4就跳至A4
        MOV DPTR,#M4
        CALL MOP 
        RET     從副程式返回    A4:     CJNE A,#5, A5    若累加器不等於5就跳至A5
        MOV DPTR,#M5
        CALL MOP
        RET         從副程式返回    A5:     CJNE A,#6, A6      若累加器不等於6就跳至A6
        MOV DPTR,#M6
        CALL MOP
        RET        從副程式返回    A6:     CJNE A,#7, A7      若累加器不等於7就跳至A7
        MOV DPTR,#M7
        CALL MOP
        RET       從副程式返回    A7:     CJNE A,#8, A8     若累加器不等於8就跳至A8
        MOV DPTR,#M8
        CALL MOP
        RET       從副程式返回    A8:     CJNE A,#9, A9     若累加器不等於9就跳至A9
        MOV DPTR,#M9
        CALL MOP
        RET    A9:     CJNE A,#0AH, A10    若累加器不等於10就跳至A10
        MOV DPTR,#MA
        CALL MOP
        RET       從副程式返回    A10:    CJNE A,#0BH, A11    若累加器不等於11就跳至A11
        MOV DPTR,#MB
        CALL MOP
RET       從副程式返回    A11:    CJNE A,#0CH, A12    若累加器不等於12就跳至A12
        MOV DPTR,#MC
        CALL MOP
        RET       從副程式返回    A12:    CJNE A,#0DH, A13     若累加器不等於13就跳至A13
        MOV DPTR,#MD
        CALL MOP
        RET         從副程式返回    A13:    CJNE A,#0EH, A14     若累加器不等於14就跳至A14
        MOV DPTR,#ME
        CALL MOP
        RET         從副程式返回    A14:    CJNE A,#0FH, A15    若累加器不等於15就跳至A15
        MOV DPTR,#MF
        CALL MOP
        RET         從副程式返回    A15:
        RET          從副程式返回
;---------------------------------------
RUN:     這區域有些不懂
        MOV DPTR,#ME1       ME1移至資料指標
        MOV A,#2        ; LINE2   顯示在LCD第二行
        CALL LCD_PRINT     :顯示訊息2(ME1)於LCD第二行            MOV R5,#40
        CALL DELAY
        CALL LED_BL      LED閃動 表示程式開始執行            CALL KEY_SCAN
        JNB FKEY, RUN1
        CALL MKOP
        JMP RUN       跳至RUN處執行程式    ;...............................
RUN1:         這區域有些不懂
        MOV DPTR,#ME2     ME2移至資料指標
        MOV A,#2        ; LINE2     顯示在LCD第二行
        CALL LCD_PRINT     顯示訊息2(ME2)於LCD第二行            MOV R5,#40
        CALL DELAY
        CALL LED_BL     :LED閃動 表示程式開始執行            CALL KEY_SCAN
        JNB FKEY, RUN
        CALL MKOP
        JMP RUN         跳至RUN處行程式
;----------------------
        END
對不起 新手疑問太多哩QQ
阿信
版主


發表:111
回覆:983
積分:813
註冊:2005-03-10

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-06-04 13:45:31 IP:220.228.xxx.xxx 未訂閱
你應該先把8051指令集 跟LCM指令集先看過    真的看不懂  書上沒寫的再來問    程式怪怪的 沒有定義RW是怎麼回事 寫LCM前不用先檢查忙碌旗標的
SET_LCD: ;把LMESS1跟LMESS2的字元顯示在LCM    DE: ; 就是Dealy     EN1: ;把LCM指令送出    WCOM: ;寫LCM指令 分兩次寫 先寫高位元 再寫低位元
RLC A做4次 就是左移4次 把低位元搬到高位元    WCOM: ;寫LCM資料    DELAY: ;Delay也看不懂 太誇張了    LED_BL: ;LED閃兩下呀    LMESS1: LMESS2: ;第一次要顯示的字元    TABLE_DIG: ;鍵盤掃描的對照表    ; R0 : BUF PT NO USE    ;R0沒有用到    SCAN: ;鍵盤掃描    P2.0~P2.3是掃描線    ; DELAY A WHILE ;延遲一下 你的英文太差了!    MOVC A,@A DPTR     :程式記憶體的資料移入累加器 ;這叫查表XD    BZ: ;蜂鳴器叫    ME1: ME2: M0:~MF: ;都是LCM要顯示的訊息啦!
看的我暈頭轉向的XD ------------------- 美好的事物 稍縱即逝 發表人 - 阿信 於 2005/06/04 13:48:09
jocky2001
一般會員


發表:3
回覆:5
積分:1
註冊:2005-05-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-06-04 13:55:12 IP:218.166.xxx.xxx 未訂閱
; KEY PAD: TYPE A    這裡是鍵盤的什麼?
; F E D C
; B 3 6 9
; A 2 5 8
; 0 1 4 7
TABLE_DIG:
         DB  0FH, 0BH, 0AH, 00H
         DB  0EH, 03H, 02H, 01H
         DB  0DH, 06H, 05H, 04H
         DB  0CH, 09H, 08H, 07H    A0:     CJNE A,#1, A1   若累加器不等於1就跳至A1  [這樣翻對嗎?]
        MOV DPTR,#M1    M1移至資料指標(還是什麼?) [這樣翻對嗎?]
        CALL MOP        這句話我不懂  呼叫什麼@@?
        RET             從副程式返回    FKEY    EQU 20H.0  ; KEY PRESSED   : 這邊是定義?
KEY_NO  EQU 30H  ; KEY NO         : 這邊是定義?
這裡是鍵盤的對照 那請問這邊 DB後面 那些 OFH.OBH 各是啥米? A0 那段翻對嗎? 還有R0~跟R7 都是都代表什麼呀>"

版主


發表:261
回覆:2302
積分:1667
註冊:2005-01-04

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-06-04 14:09:36 IP:220.134.xxx.xxx 未訂閱
引言:
; KEY PAD: TYPE A    這裡是鍵盤的什麼?
; F E D C
; B 3 6 9
; A 2 5 8
; 0 1 4 7
TABLE_DIG:
         DB  0FH, 0BH, 0AH, 00H
         DB  0EH, 03H, 02H, 01H
         DB  0DH, 06H, 05H, 04H
         DB  0CH, 09H, 08H, 07H    這裡是鍵盤的對照
那請問這邊 DB後面 那些 OFH.OBH 各是啥米?
剛好是16個對應的碼.Ex:鍵盤輸入F,51就會抓到0FH.鍵盤輸入0,51就會抓到0CH 程式不是買的嗎?應該通通ok了ㄚ....你還有啥問題?? 找買的廠商ㄚ....還是你們有改過了? 程式po的不整齊,又有點長... 實在不好看...註解沒對齊,也沒加分號
------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
jocky2001
一般會員


發表:3
回覆:5
積分:1
註冊:2005-05-23

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-06-04 14:44:41 IP:218.166.xxx.xxx 未訂閱
A0:     CJNE A,#1, A1   若累加器不等於1就跳至A1  [這樣翻對嗎?]
        MOV DPTR,#M1    M1移至資料指標(還是什麼?) [這樣翻對嗎?]
        CALL MOP        這句話我不懂  呼叫什麼@@?
        RET             從副程式返回
這樣這裡翻有錯嗎? 買來 沒做修改 但廠商沒附中文註解~"~ 發表人 - jocky2001 於 2005/06/04 14:46:21

版主


發表:261
回覆:2302
積分:1667
註冊:2005-01-04

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-06-04 14:50:06 IP:220.134.xxx.xxx 未訂閱
引言:
A0:     CJNE A,#1, A1   若累加器不等於1就跳至A1  [這樣翻對嗎?]
        MOV DPTR,#M1    M1移至資料指標(還是什麼?) [這樣翻對嗎?]
        CALL MOP        這句話我不懂  呼叫什麼@@?
        RET             從副程式返回
手邊有51相關書籍嗎?沒有的話去買一本. 請先把51指令集搞懂,再來問問題吧!
------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
jocky2001
一般會員


發表:3
回覆:5
積分:1
註冊:2005-05-23

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-06-04 14:53:39 IP:218.166.xxx.xxx 未訂閱
輸是 有 但有些翻很久還是找不到 像call mop 這句就沒有!

版主


發表:261
回覆:2302
積分:1667
註冊:2005-01-04

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-06-04 15:04:15 IP:220.134.xxx.xxx 未訂閱
引言: 輸是 有 但有些翻很久還是找不到 像call mop 這句就沒有!
call 總有吧,沒說明嗎?有吧!!一定也寫一些你沒看過的 call delay... call display.... 它只是呼叫副程式...副程式名稱就寫在後面....請詳細看過...... 還有,可以翻翻後面的範例,看看有用到這個指令時人家是怎麼用的.. 發表人 - ㊣ 於 2005/06/04 15:05:38
------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
jocky2001
一般會員


發表:3
回覆:5
積分:1
註冊:2005-05-23

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-06-04 15:06:49 IP:218.166.xxx.xxx 未訂閱
call 是有 那call mop 就是呼叫mop這個程式嚕? 那MOV R5,#40 CALL DELAY 是延遲0.4秒嗎?
jocky2001
一般會員


發表:3
回覆:5
積分:1
註冊:2005-05-23

發送簡訊給我
#10 引用回覆 回覆 發表時間:2005-06-04 19:48:38 IP:218.166.xxx.xxx 未訂閱
各位大大 這次我聽你們的話 看書修改了 不知道各位大大 能再幫忙一次嗎QQ?
penguin5
資深會員


發表:116
回覆:317
積分:431
註冊:2004-05-09

發送簡訊給我
#11 引用回覆 回覆 發表時間:2005-06-05 09:22:38 IP:220.139.xxx.xxx 未訂閱
此專題名稱為PELC 英文 LCD 字幕機 http://vic.seeder.net/io\pelc.txt 作 者: 偉克多微電腦工作室→ 陳 站長 建議直接詢問 偉克多微電腦工作室→ 陳 站長 偉克多微電腦工作室 網 址 : http://vic.seeder.net/ 技術諮詢 電子郵件 : ufvicwen@ms2.hinet.net PELC 英文 LCD 字幕機 使用說明: 1.DIY 使用者請參考電路圖將專題板零件組裝起來。 2.準備一 5V 電源。 3.經由 2 PIN 電線接至 J1 VCC 接點,紅色 5V,黑色 GND。 4.打開電源,工作 LED D3 閃爍,表示開機正常。 5.基本功能 : * 動態顯示英文訊息展示 * 英文 LCD 模組內含黃色 LED 背光板,黑暗中仍清晰可見 * 英文 LCD 模組(16X2) 顯示方式 :雙行,每行 16 個英文字或是 ASCII編碼 * 8051 程式中直接輸入英文,便可直接顯示英文字 6.4X4 按鍵組顯示 16 段文字,壓電喇叭同時發出嗶聲 7.可以自行修改內部文字訊息,輕易建立 8051 LCD 英文訊息平台 ------------------------------------------------------------- 8051 專題製作 DIY 產品程式設計 控制程式是以 8051 組合語言寫成,以 KEIL 組譯器組譯 相關檔案如下: □ PELC.ASM : 8051 組合語言原始程式 □ PELC.TSK : 2 進位可執行檔 □ PELC.TXT : 使用說明 □ X.BAT : 快速組譯、連結、載入檔案、燒錄、直接模擬的批次檔 □ EPM89.EXE : 89CXX 燒錄模擬程式 □ XK.BAT : 快速組譯、連結、RS232 載入檔案、直接模擬的批次檔 □ PLO.EXE : LO51 (ISP 8051)載入控制程式 XK.BAT 及 PLO.EXE 需搭配 LO51 晶片,將 89C51 換為 LO51 晶片,由串列埠下載 64KB 程式 程式修改: 1.使用 LO51 晶片,由串列埠下載 64KB 程式 2.使用 EPM89 89CXX 燒錄模擬器 ----------------------------------------------------------------------------- 1.使用 LO51 晶片,由串列埠下載 64KB 程式---專題製作在家做不必跑實驗室!!! SW ON RESET 下載 64KB 程式/ SW OFF RESET 執行程式碼 操作簡單: XK PELC ----------------------------------------------------------------------------- 2.使用 EPM89 89CXX 燒錄模擬器---學生專題製作的利器!!! 燒錄後可以直接模擬 40 PIN 8051 單晶片 不必取下IC,免拆排線馬上進行模擬,操作簡單免學習,節省您寶貴的時間 取下 89C51,將 40 PIN 排線連至 8051 控制板上的 40 PIN IC 座 操作簡單: X PELC 直接測試 OK 後,取下 89C51,放入8051 控制板上便可獨立操作!方便省時! -------------------------------------------------------- 發表人 - penguin5 於 2005/06/05 09:25:16
系統時間:2024-05-17 0:00:28
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!