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

使用8951、AD590、LCD製作感溫顯示 相關疑問

缺席
謎樣
一般會員


發表:3
回覆:3
積分:0
註冊:2007-03-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-03-24 17:54:15 IP:59.127.xxx.xxx 訂閱
之前原本想使用DS1820來製作
後來發現沒想像中簡單
所以就改使用AD590
也是因為其資料比較多
現在有一些疑問想請各位高手回答

1.我假如要顯示於LCD上面,是否要判斷完A裡面的數值,再以字串顯示?
2.可以把A裡面的數值經過運算成為10進位ASCII然後輸出於LCD嗎?
3.LCD要顯示A裡面的值請問該怎麼寫?

因為之前小弟是用SUBB、JZ這些指令
去判斷完了以後再跳去顯示溫度(字串)
可是這樣程式會變的很龐大
以下為LCD驅動
請教一下修改哪邊可以顯示A裡面的數值

謝謝!

;===LCD主程式===
ORG 0000H
ACALL INIT
ACALL LINE1
MOV DPTR,#TAB1
ACALL DISPLAY
ACALL LINE2
MOV DPTR,#TAB2
ACALL DISPLAY
OK: AJMP OK

INIT: ACALL DELAY
MOV A,#38H
ACALL WRINS
MOV A,#38H
ACALL WRINS
MOV A,#38H
ACALL WRINS
MOV A,#38H
ACALL WRINS
MOV A,#08H
ACALL WRINS
MOV A,#01H
ACALL WRINS
MOV A,#0CH
ACALL WRINS
RET

DISPLAY:MOV R7,#00H

NEXT: MOV A,R7
MOVC A,@A DPTR
CJNE A,#10H,DSP
RET

DSP: ACALL WRDATA
INC R7
AJMP NEXT

LINE1: MOV A,#10000000B
ACALL WRINS
RET

LINE2: MOV A,#11000000B
ACALL WRINS
RET

WRINS: MOV P3,#00011111B
NOP
SETB P3.5
MOV P1,A
NOP
CLR P3.5
ACALL DLY1
RET

WRDATA: MOV P3,#10011111B
NOP
SETB P3.5
MOV P1,A
NOP
CLR P3.5
ACALL DLY2
RET

DELAY: MOV R6,#100
DL: MOV R7,#200
DJNZ R7,$
DJNZ R6,DL
RET

DLY1: MOV R6,#20

DL1: MOV R7,#200
DJNZ R7,$
DJNZ R6,DL1
RET

DLY2: MOV R6,#80
DJNZ R6,$
RET
;===顯示字元===
TAB1: DB 'HELL'
DB 'O !'
DB 10H
TAB2: DB 'I am'
DB ' a '
DB 'LCD.'
DB 10H
END
極光空
一般會員


發表:4
回覆:15
積分:3
註冊:2006-07-16

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-03-24 20:53:05 IP:218.211.xxx.xxx 訂閱
你的問題因該是不知道如何將數字轉換成字串形式吧
這很簡單阿!
1)將數字除以100→獲得百位數的值→將數值 30H就可獲得相對應的ASCII碼
2)將(1)的餘數/10→獲得十位數的值→將數值 30H就可獲得相對應的ASCII碼
3)將餘數 30H就可獲得相對應的ASCII碼
4)再將上述的ASCII碼放置到你要放的位置



===================引 用 文 章===================
之前原本想使用DS1820來製作
後來發現沒想像中簡單
所以就改使用AD590
也是因為其資料比較多
現在有一些疑問想請各位高手回答

1.我假如要顯示於LCD上面,是否要判斷完A裡面的數值,再以字串顯示?
2.可以把A裡面的數值經過運算成為10進位ASCII然後輸出於LCD嗎?
3.LCD要顯示A裡面的值請問該怎麼寫?

因為之前小弟是用SUBB、JZ這些指令
去判斷完了以後再跳去顯示溫度(字串)
可是這樣程式會變的很龐大
以下為LCD驅動
請教一下修改哪邊可以顯示A裡面的數值

謝謝!

;===LCD主程式===
??????? ORG 0000H
??????? ACALL?INIT
??????? ACALL?LINE1
??????? MOV?DPTR,#TAB1
??????? ACALL?DISPLAY
??????? ACALL?LINE2
??????? MOV?DPTR,#TAB2
??????? ACALL?DISPLAY
OK:?AJMP?OK

INIT:?ACALL?DELAY
???????? MOV?A,#38H
???????? ACALL?WRINS
???????? MOV?A,#38H
???????? ACALL?WRINS
???????? MOV?A,#38H
???????? ACALL?WRINS
???????? MOV?A,#38H
???????? ACALL?WRINS
???????? MOV?A,#08H
???????? ACALL?WRINS
???????? MOV?A,#01H
?????????ACALL?WRINS
???????? MOV?A,#0CH
???????? ACALL?WRINS
???????? RET

DISPLAY:MOV?R7,#00H

NEXT:?MOV?A,R7
?????????? ?MOVC?A,@A DPTR
??????????? CJNE?A,#10H,DSP
??????????? RET

DSP:?ACALL?WRDATA
????????? ?INC?R7
?????????? AJMP?NEXT

LINE1:?MOV?A,#10000000B
???????????? ?ACALL?WRINS
??????????? ? RET

LINE2:?MOV?A,#11000000B
???????????? ?ACALL?WRINS
????????????? RET

WRINS:?MOV?P3,#00011111B
?????????????? NOP
????????????? ?SETB?P3.5
?????????????? MOV?P1,A
?????????????? NOP
????????????? CLR?P3.5
??????????????ACALL?DLY1
????????????? RET

WRDATA:?MOV?P3,#10011111B
???????????????? ?NOP
????????????????? SETB?P3.5
????????????????? MOV?P1,A
????????????????? NOP
????????????????? CLR?P3.5
??????????????????ACALL?DLY2
????????????????? RET

DELAY:?MOV?R6,#100
DL:?MOV?R7,#200
?????? ?DJNZ?R7,$
????????DJNZ?R6,DL
????????RET

DLY1:?MOV?R6,#20

DL1:?MOV?R7,#200
??????? ?DJNZ?R7,$
???????? DJNZ?R6,DL1
???????? RET

DLY2:?MOV?R6,#80
??????????? DJNZ?R6,$
??????????? RET
;===顯示字元===
TAB1:?DB?'HELL'
?DB?'O !'
?DB?10H
TAB2:?DB?'I am'
?DB?' a '
?DB?'LCD.'
?DB?10H
?END
謎樣
一般會員


發表:3
回覆:3
積分:0
註冊:2007-03-24

發送簡訊給我
#3 引用回覆 回覆 發表時間:2007-03-24 21:51:19 IP:59.127.xxx.xxx 訂閱

;===顯示字元===
TAB1:?DB?'HELL'
?DB?'O !'
?DB?10H
TAB2:?DB?'I am'
?DB?' a '
?DB?'LCD.'
?DB?10H
?END

我想問的是
如何把上面的顯示字元
改成為顯示A裡面的內容
而不是我去給一組字串讓LCD顯示

我之前有自己寫過一個不確定的方法
結果顯示為"阿法"
我想應該是錯誤的吧= ="
castor631
一般會員


發表:0
回覆:1
積分:0
註冊:2007-11-25

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-11-25 17:32:40 IP:59.104.xxx.xxx 訂閱
請問一下
在LCM 顯示 Hello ! I am a LCD.
我也是在練習 但是 結果LCM只出現上半部 反白 ,其他啥都沒有
應該從何除錯。程式都一樣
LCM 接腳
1 VSS
2 VDD
3 VO
4 RS
5 R/W
6 E
7~14 DB0~DB7
15 A( )
16 K(- )

線路接線都按書上的 應該不會出錯
LCD模組 1 .3 接地 2接 5V
請問若要除錯 應該從何著手
penguin5
資深會員


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

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-11-25 21:32:22 IP:59.121.xxx.xxx 訂閱


請參考儀表電子甲級技術士技能檢定學術科測驗試題

http://penguin5.myweb.hinet.net/meters/1.htm

參考程式下載

http://penguin5.myweb.hinet.net/meters/910101.ASM
系統時間:2024-05-07 14:34:04
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!