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

ADC0804 和8051沒有互相動作

缺席
QQOO
一般會員


發表:9
回覆:9
積分:3
註冊:2005-03-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-03-26 22:31:10 IP:140.132.xxx.xxx 未訂閱
我按照書中電路圖接好了和程式燒入8051 可是ADC0804 和8051沒有互相動作程式如下(按照書打) ORG 00H START: MOVX @R0,A ;使P0為高阻抗且ADC0804開始轉換,/WR=0 JB P2.0,$ ;偵測ADC0804 INTR=1 若是則轉換完成 MOVX A,@R0 CPL A MOV P1,A CALL DELAY JMP START DELAY: MOV R6,#100 D1: MOV R5,#248 DJNZ R5,$ DJNZ R6,D1 RET END 這裡有電路圖 請大大幫個忙 弄好久 有挫折感 ^^||  QQOO 發表人 - QQOO 於 2005/03/26 22:38:37
------
QQOO
編輯記錄
 重新編輯於 2007-04-25 13:57:35, 註解 無‧

版主


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-03-26 22:34:40 IP:59.113.xxx.xxx 未訂閱
0804不難弄,你可以先找它的datasheet,搞懂再去寫8051    你的圖大家看不到喔,不知道你電路是怎麼接的.    
==================================== 生命的目的,在幻化出多采多姿的組合。 生活的意義,在捕捉住稍縱即逝的感動。 ====================================
------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
QQOO
一般會員


發表:9
回覆:9
積分:3
註冊:2005-03-26

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-03-26 22:45:34 IP:140.132.xxx.xxx 未訂閱
引言: 0804不難弄,你可以先找它的datasheet,搞懂再去寫8051 你的圖大家看不到喔,不知道你電路是怎麼接的.
==================================== 生命的目的,在幻化出多采多姿的組合。 生活的意義,在捕捉住稍縱即逝的感動。 ====================================
對不起 我忘記附圖 我程式打好了 組譯成功 也燒入8051 就是無法和AD0804互相運作 ADC0804 DATASHEET 我也看過了 ADC0804和8051的RD WR INTR 的接圖 和我附的電路圖不一樣 如果要一樣 就要修改程式(程式不拿手) QQOO
------
QQOO
handystudio
高階會員


發表:1
回覆:81
積分:106
註冊:2005-03-26

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-03-26 22:46:34 IP:220.138.xxx.xxx 未訂閱
引言: 我按照書中電路圖接好了和程式燒入8051 可是ADC0804 和8051沒有互相動作 程式如下(按照書打) ORG 00H START: MOVX @R0,A ;使P0為高阻抗且ADC0804開始轉換,/WR=0 JB P2.0,$ ;偵測ADC0804 INTR=1 若是則轉換完成 MOVX A,@R0 CPL A MOV P1,A CALL DELAY JMP START DELAY: MOV R6,#100 D1: MOV R5,#248 DJNZ R5,$ DJNZ R6,D1 RET END 這裡有電路圖 請大大幫個忙 弄好久 有挫折感 ^^|| QQOO 發表人 - QQOO 於 2005/03/26 22:38:37
照書上的電路及程式做,但不工作,通常是接線時不小心接錯,或程式漏打或打錯字,建議你用電表量線路中接5v及GND的地方是否正確,接線是否正確. 歡迎參觀輕巧工作室
------
歡迎光臨 輕巧工作室
網站 http://www.handystudio.tw
控制電路板客製設計、製作交貨
8051專題製作/專題客製
QQOO
一般會員


發表:9
回覆:9
積分:3
註冊:2005-03-26

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-03-26 22:53:35 IP:140.132.xxx.xxx 未訂閱
引言: 我按照書中電路圖接好了和程式燒入8051 可是ADC0804 和8051沒有互相動作 程式如下(按照書打) ORG 00H START: MOVX @R0,A ;使P0為高阻抗且ADC0804開始轉換,/WR=0 JB P2.0,$ ;偵測ADC0804 INTR=1 若是則轉換完成 MOVX A,@R0 CPL A MOV P1,A CALL DELAY JMP START DELAY: MOV R6,#100 D1: MOV R5,#248 DJNZ R5,$ DJNZ R6,D1 RET END 這裡有電路圖 請大大幫個忙 弄好久 有挫折感 ^^|| QQOO 發表人 - QQOO 於 2005/03/26 22:38:37
可是我檢查好多次 我懷疑是書中電路ADC0804 的INTR RD WR 各接腳的接法和程式內容不搭配 可以請大大幫忙 快收假了^^|| QQOO
------
QQOO
48932005
初階會員


發表:3
回覆:42
積分:29
註冊:2003-09-13

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-03-26 23:04:15 IP:61.66.xxx.xxx 未訂閱
程式看起來斯乎沒錯 就看你電路有沒有接錯,你可以用單步執行來偵錯 MOVX @R0,A =>你應該會量到P0會等於A,WR會瞬間低電位再高電位 試試看是不是真的這樣?
QQOO
一般會員


發表:9
回覆:9
積分:3
註冊:2005-03-26

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-03-26 23:07:22 IP:140.132.xxx.xxx 未訂閱
引言: [quote] 我按照書中電路圖接好了和程式燒入8051 可是ADC0804 和8051沒有互相動作 程式如下(按照書打) 歡迎參觀輕巧工作室
可是檢查好多次 我認為是ADC0804的INTR WR RD的接法有問題 我也找了很多ADC0804工作時序圖 不過我PO的程式很可能必須搭配我的電路圖 而我認為程式很可能無法搭配電路的INTR RD WR(CS必接地) 而我學的不多(而圖書館的ADC0804和8051的書被借走了)只稍微了解別人寫的一點點程式 無法做修正 希望有懂CPU時序圖或組合語言高手能夠幫忙修正CS WR RD及INTR的接法 HELP ~.~|| 快收假了 謝謝 你的提醒 QQOO
------
QQOO
QQOO
一般會員


發表:9
回覆:9
積分:3
註冊:2005-03-26

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-03-26 23:24:49 IP:140.132.xxx.xxx 未訂閱
引言: 程式看起來斯乎沒錯 就看你電路有沒有接錯,你可以用單步執行來偵錯 MOVX @R0,A =>你應該會量到P0會等於A,WR會瞬間低電位再高電位 試試看是不是真的這樣?
謝謝你 那麼晚了 不過我昨天試過了 用數位三用電表可能無法量到WR的時序(因為頻率有點快再加上是在寢室作測試的) 我可能會去借邏輯分析儀來試試 可是在這之前 只想確認WR RD INTR 的接法是不是對的(但要配合之前PO的程式)...(雖然圖書館的書被借走 但是我也試用GOOGLE找過ADC0804相關電路圖CS WR RD INTR的接法有很多種,其中有找到一篇是碩士論文的,電路圖是一樣的,可惜程式是用C寫的^^||, 自己也覺得很挫折,再加上今天剛好是中央電研所碩士班考試.... ) -.-||(謝謝大大 該去借微處理機的書的我) 謝謝你 QQOO
------
QQOO
penguin5
資深會員


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

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-03-28 21:52:15 IP:220.139.xxx.xxx 未訂閱
這裡有參考電路圖及參考程式
QQOO
一般會員


發表:9
回覆:9
積分:3
註冊:2005-03-26

發送簡訊給我
#10 引用回覆 回覆 發表時間:2005-04-06 23:06:18 IP:140.132.xxx.xxx 未訂閱
引言: 0804不難弄,你可以先找它的datasheet,搞懂再去寫8051 你的圖大家看不到喔,不知道你電路是怎麼接的.
==================================== 生命的目的,在幻化出多采多姿的組合。 生活的意義,在捕捉住稍縱即逝的感動。 ====================================
版主 有件事請教你 就是我將程式改成如下
 
ORG 00H START: CLR P3.6 SETB P3.6 WAIT: JB P2.0,WAIT READ: MOV A,P0 CPL A MOV P1,A CALL DELAY JMP START DELAY: MOV R6,#100 D1: MOV R5,#248 DJNZ R5,$ DJNZ R6,D1 RET END
 
我將程式修改過 最主要是修正 SETB P3.6 (/WR=0,開始轉換) 然後又將電路中的/CS /RD都接地 ADC0804可以工作 雖然其他輸出都正常但是輸出八位元的低四位元中的倒數兩位元(LSB)非常不穩定 一下是5V 一下是0V 這樣就無法轉呈正確的數位值 請大家HELP QQOO
------
QQOO

版主


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

發送簡訊給我
#11 引用回覆 回覆 發表時間:2005-04-06 23:36:45 IP:59.113.xxx.xxx 未訂閱
引言: 我將程式修改過 最主要是修正 SETB P3.6 (/WR=0,開始轉換) 然後又將電路中的/CS /RD都接地 ADC0804可以工作 雖然其他輸出都正常但是輸出八位元的低四位元中的倒數兩位元(LSB)非常不穩定 一下是5V 一下是0V 這樣就無法轉呈正確的數位值 請大家HELP QQOO
這是正常的喔.因為你的轉換源無法十分穩定,你用示波器看看就知道了. 假設你轉換5V,8bit==>256,一階5/256 V,只要5V變動0.04V最後兩位元就會 不穩定了.
==================================== 生命的目的,在幻化出多采多姿的組合。 生活的意義,在捕捉住稍縱即逝的感動。 ====================================
------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
QQOO
一般會員


發表:9
回覆:9
積分:3
註冊:2005-03-26

發送簡訊給我
#12 引用回覆 回覆 發表時間:2005-04-07 00:00:24 IP:140.132.xxx.xxx 未訂閱
引言:
引言: 我將程式修改過 最主要是修正 SETB P3.6 (/WR=0,開始轉換) 然後又將電路中的/CS /RD都接地 ADC0804可以工作 雖然其他輸出都正常但是輸出八位元的低四位元中的倒數兩位元(LSB)非常不穩定 一下是5V 一下是0V 這樣就無法轉呈正確的數位值 請大家HELP QQOO
這是正常的喔.因為你的轉換源無法十分穩定,你用示波器看看就知道了. 假設你轉換5V,8bit==>256,一階5/256 V,只要5V變動0.04V最後兩位元就會 不穩定了.
那這樣的話 我在請教版主 我是用可變電阻去調整所要的輸入類比電壓訊號 可能是這樣不穩定 那更何況是 ADC0804接上感測器的輸入電壓 還是我必須要有抵消歸零的動作 否則ADC0804輸出的數位訊號最後兩位 根本無法採信 而8051就無法完成輸出顯示 還是說有另外的辦法 可以正確的顯示 (t.t||一直相信自己的我) QQOO
------
QQOO

版主


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

發送簡訊給我
#13 引用回覆 回覆 發表時間:2005-04-07 00:27:06 IP:59.113.xxx.xxx 未訂閱
引言: 那這樣的話 我在請教版主 我是用可變電阻去調整所要的輸入類比電壓訊號 可能是這樣不穩定 那更何況是 ADC0804接上感測器的輸入電壓 還是我必須要有抵消歸零的動作 否則ADC0804輸出的數位訊號最後兩位 根本無法採信 而8051就無法完成輸出顯示 還是說有另外的辦法 可以正確的顯示 (t.t||一直相信自己的我) QQOO
可以用平均ㄚ!假設值在125~129間變動可顯示為127~~
==================================== 生命的目的,在幻化出多采多姿的組合。 生活的意義,在捕捉住稍縱即逝的感動。 ====================================
------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
ysdchen
一般會員


發表:0
回覆:2
積分:0
註冊:2008-07-31

發送簡訊給我
#14 引用回覆 回覆 發表時間:2008-07-31 14:47:58 IP:219.133.xxx.xxx 訂閱
请版主及各位高手指点,原理图就是楼主那个图,以下程序是书上抄下来的,转换显示会出现b,都作了十进制调整怎么还会出现b????而且很不稳定,谢谢啦!!!!!
ORG 00H
ANL P1,#0F0H ;清除显示器
start: MOVX @R0,A ;令ADC0804开始转换
WAIT: JB P2.0,ADC ;检测ADC0804转换完成否?
CALL DISP ;调用显示子程序
JMP WAIT
ADC: MOVX A,@R0 ;将转换好的数据送入累加器
CALL L1 ;调用十进制显示子程序
MOV R1,#0ffh
DISP1: CALL DISP
DJNZ R1,DISP1
JMP START
L1: CLR C
MOV R5,#00H ;十进制转换的的低位寄存器
MOV R4,#00H ;十进制转换的的高位寄存器
MOV R3,#08H ;做为十进制调整,调整的次数
NEXT: RLC A ;将取入值转换为十进制
MOV R2,A ;暂存于R2
MOV A,R5 ;R5乘2加C
ADDC A,R5
DA A ;做十进制调整
MOV R5,A ;结果存回R5
MOV A,R4 ;R4乘2加C
ADDC A,R4
MOV R4,A
MOV A,R2
DJNZ R3,NEXT
MOV R7,#02
L2: MOV A,R5
ADD A,R5
DA A
MOV R5,A
MOV A,R4
ADDC A,R4
DA A
MOV R4,A
DJNZ R7,L2
RET
DISP: MOV A,R5
ANL A,#0FH
ORL A,#10H
MOV P1,A
CALL DELAY
MOV A,R5
ANL A,#0F0H
SWAP A
ORL A,#20H
MOV P1,A
CALL DELAY
MOV A,R4
ANL A,#0FH
ORL A,#40H
MOV P1,A
CALL DELAY
MOV A,R4
ANL A,#0F0H
SWAP A
ORL A,#80H
MOV P1,A
CALL DELAY
CLR A
RET
DELAY: MOV R6,#10
D1: MOV R7,#248
DJNZ R7,$
DJNZ R6,D1
RET
END
------
虚心求教
ysdchen
一般會員


發表:0
回覆:2
積分:0
註冊:2008-07-31

發送簡訊給我
#15 引用回覆 回覆 發表時間:2008-07-31 15:06:43 IP:219.133.xxx.xxx 訂閱
刚才有调了一下输入电压,既然出来9字少下面一横,这是什么字呀?彻底晕啦!!!!!
请大家帮我看看程序那里出问题了,急!!!!!
------
虚心求教
yanghai
一般會員


發表:0
回覆:1
積分:0
註冊:2008-08-06

發送簡訊給我
#16 引用回覆 回覆 發表時間:2008-08-06 08:09:49 IP:123.117.xxx.xxx 訂閱
BCD码用7447解码出来的6是少上面一横9少下面一横,所以6看起来就是个b了
編輯記錄
yanghai 重新編輯於 2008-08-06 08:10:27, 註解 無‧
系統時間:2024-12-04 1:15:57
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!