全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:4596
推到 Plurk!
推到 Facebook!

請問 simlab 8051 軟體 ,lcd 實習板(模擬) 為什麼不能用?

缺席
jjctw1969
一般會員


發表:1
回覆:1
積分:0
註冊:2013-04-03

發送簡訊給我
#1 引用回覆 回覆 發表時間:2013-04-03 11:55:16 IP:60.250.xxx.xxx 訂閱
小弟想用 simlab 8051 軟體,在 LCD模擬實習板 上顯示 "HELLO" 字樣 (用 simlab 8051 附帶的範例)。
韌體用內定編譯器編譯成功。
執行時用 文字型 LCD 模擬,LCD 沒有 show 任何字樣,不知道為什麼,哪位高手能指點一二!!

程式如下:
;p1:p1.0 reset ,p1.1 r/w 0寫到 lcd,p1.2 enable,(致能LCG,負緣動作)
; 配合"文字型LCD實習板"
; 在文字型LCD上顯示"Hello!!"(用延遲的方式和LCD同步)
;
START:
ACALL DELAY5MS ; wait for LCD Power-on Ready
MOV A,#0111111B ;採用8位元資料存取/雙列字/5*10點矩陣字型
ACALL COMMAND
MOV A,#01110B ;顯示器ON/游標被顯示在位址計數器
ACALL COMMAND
MOV A,#1 ;清除全螢幕
ACALL COMMAND
ACALL DELAY2MS
MOV A,#010000000B ;設定DD RAM位址為0
ACALL COMMAND
MOV DPTR,#MES
LOOP:
CLR A
MOVC A,@A DPTR
JZ ENDMES
ACALL SDATA
INC DPTR
SJMP LOOP
ENDMES:
SJMP $
COMMAND:
MOV P0,A
MOV P1,#0100B ;E=1 , RW=0 , RS=0
MOV P1,#0000B ;E=0 , RW=0 , RS=0
ACALL DELAY40US
RET
SDATA:
MOV P0,A
MOV P1,#0101B ;E=1 , RW=0 , RS=1
MOV P1,#0001B ;E=0 , RW=0 , RS=1
ACALL DELAY40US
RET

DELAY40US:
MOV R1,#20
DJNZ R1,$
RET
DELAY5MS:
ACALL DELAY1MS
ACALL DELAY2MS
ACALL DELAY2MS
RET
DELAY2MS:
ACALL DELAY1MS
ACALL DELAY1MS
RET

include rdelay.inc

MES: DB "Hello!!",0
END



rdelay.inc

;Simulator 專用副程式
;使用R0, R1, R2, R3
;
DELAY100US:
PUSH ACC
MOV A,R1
PUSH ACC
MOV R1,#44
DJNZ R1,$
POP ACC
MOV R1,A
POP ACC
RET
;
DELAY1MS:
PUSH ACC
MOV A,R1
PUSH ACC
MOV R1,#255
DJNZ R1,$
MOV R1,#236
DJNZ R1,$
POP ACC
MOV R1,A
POP ACC
RET
;
DELAY10MS:
PUSH ACC
MOV A,R0
PUSH ACC
MOV A,R1
PUSH ACC
MOV R0,#19
DELAY10ms_1:
MOV R1,#255
DJNZ R1,$
DJNZ R0,DELAY10ms_1
MOV R1,#113
DJNZ R1,$
NOP
POP ACC
MOV R1,A
POP ACC
MOV R0,A
POP ACC
RET
;
DELAY100MS:
PUSH ACC
MOV A,R0
PUSH ACC
MOV A,R1
PUSH ACC
MOV R0,#194
DELAY100ms_1:
MOV R1,#255
DJNZ R1,$
DJNZ R0,DELAY100ms_1
POP ACC
MOV R1,A
POP ACC
MOV R0,A
POP ACC
RET
;
DELAY1S:
PUSH ACC
MOV A,R2
PUSH ACC
MOV R2,#10
DELAY1s_1:
LCALL DELAY100MS
DJNZ R2,DELAY1s_1
POP ACC
MOV R2,A
POP ACC
RET
;
DELAY10S:
PUSH ACC
MOV A,R2
PUSH ACC
MOV R2,#100
DELAY10s_1:
LCALL DELAY100MS
DJNZ R2,DELAY10s_1
POP ACC
MOV R2,A
POP ACC
RET
;
DELAY100S:
PUSH ACC
MOV A,R3
PUSH ACC
MOV R3,#10
DELAY100s_1:
LCALL DELAY10S
DJNZ R3,DELAY100s_1
POP ACC
MOV R2,A
POP ACC
RET
;
DELAY100USP:
PUSH ACC
MOV A,R1
PUSH ACC
MOV A, R7
DELAY100usP_1:
MOV R1,#44
DJNZ R1,$
DJNZ ACC,DELAY100usP_1
POP ACC
MOV R1,A
POP ACC
RET
;
附加檔案:515ba82410a74_lcdraw.a51
編輯記錄
taishyang 重新編輯於 2013-04-08 09:50:05, 註解 標題移除破解版字樣‧
jjctw1969
一般會員


發表:1
回覆:1
積分:0
註冊:2013-04-03

發送簡訊給我
#2 引用回覆 回覆 發表時間:2013-04-16 16:03:09 IP:60.250.xxx.xxx 訂閱
最近試出來了,照下面步驟就可以了。
1. 先開啟程式
2. 啟動LCD實習板
3. 編譯程式
4. 執行程式
if8051
中階會員


發表:2
回覆:53
積分:61
註冊:2012-08-24

發送簡訊給我
#3 引用回覆 回覆 發表時間:2013-08-23 09:42:49 IP:114.40.xxx.xxx 訂閱
SimLab 8051 是台灣廠商自行開發的
推薦一套更棒的模擬軟體 Proteus

Proteus 可以模擬 類比電路 數位電路 溫度 IC DALLAS DS18B20
LCD Module 4*4 keypad ,各種儀錶 示波器 邏輯分析儀 信號產生器

有支援多種 MCU 動態即時模擬:ATMEL AT89S52 AVR PIC ARM
------
ATMEL AVR 單晶片設計開發 教學

工業電子 電機自動控制 設計 維修
系統時間:2024-11-21 23:48:11
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!