ADC0804 和8051沒有互相動作 |
缺席
|
QQOO
一般會員 發表:9 回覆:9 積分:3 註冊:2005-03-26 發送簡訊給我 |
我按照書中電路圖接好了和程式燒入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 發送簡訊給我 |
0804不難弄,你可以先找它的datasheet,搞懂再去寫8051 你的圖大家看不到喔,不知道你電路是怎麼接的.
------
------------------------------------------------------------------------- 走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!? |
QQOO
一般會員 發表:9 回覆:9 積分:3 註冊:2005-03-26 發送簡訊給我 |
引言: 0804不難弄,你可以先找它的datasheet,搞懂再去寫8051 你的圖大家看不到喔,不知道你電路是怎麼接的.對不起 我忘記附圖 我程式打好了 組譯成功 也燒入8051 就是無法和AD0804互相運作 ADC0804 DATASHEET 我也看過了 ADC0804和8051的RD WR INTR 的接圖 和我附的電路圖不一樣 如果要一樣 就要修改程式(程式不拿手) QQOO
------
QQOO |
handystudio
高階會員 發表:1 回覆:81 積分:106 註冊:2005-03-26 發送簡訊給我 |
引言: 我按照書中電路圖接好了和程式燒入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 發送簡訊給我 |
引言: 我按照書中電路圖接好了和程式燒入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 發送簡訊給我 |
|
QQOO
一般會員 發表:9 回覆:9 積分:3 註冊:2005-03-26 發送簡訊給我 |
引言: [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 發送簡訊給我 |
引言: 程式看起來斯乎沒錯 就看你電路有沒有接錯,你可以用單步執行來偵錯 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 發送簡訊給我 |
|
QQOO
一般會員 發表:9 回覆:9 積分:3 註冊:2005-03-26 發送簡訊給我 |
引言: 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 發送簡訊給我 |
引言: 我將程式修改過 最主要是修正 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 發送簡訊給我 |
引言:那這樣的話 我在請教版主 我是用可變電阻去調整所要的輸入類比電壓訊號 可能是這樣不穩定 那更何況是 ADC0804接上感測器的輸入電壓 還是我必須要有抵消歸零的動作 否則ADC0804輸出的數位訊號最後兩位 根本無法採信 而8051就無法完成輸出顯示 還是說有另外的辦法 可以正確的顯示 (t.t||一直相信自己的我) QQOO引言: 我將程式修改過 最主要是修正 SETB P3.6 (/WR=0,開始轉換) 然後又將電路中的/CS /RD都接地 ADC0804可以工作 雖然其他輸出都正常但是輸出八位元的低四位元中的倒數兩位元(LSB)非常不穩定 一下是5V 一下是0V 這樣就無法轉呈正確的數位值 請大家HELP QQOO這是正常的喔.因為你的轉換源無法十分穩定,你用示波器看看就知道了. 假設你轉換5V,8bit==>256,一階5/256 V,只要5V變動0.04V最後兩位元就會 不穩定了.
------
QQOO |
㊣
版主 發表:261 回覆:2302 積分:1667 註冊:2005-01-04 發送簡訊給我 |
引言: 那這樣的話 我在請教版主 我是用可變電阻去調整所要的輸入類比電壓訊號 可能是這樣不穩定 那更何況是 ADC0804接上感測器的輸入電壓 還是我必須要有抵消歸零的動作 否則ADC0804輸出的數位訊號最後兩位 根本無法採信 而8051就無法完成輸出顯示 還是說有另外的辦法 可以正確的顯示 (t.t||一直相信自己的我) QQOO可以用平均ㄚ!假設值在125~129間變動可顯示為127~~
------
------------------------------------------------------------------------- 走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!? |
ysdchen
一般會員 發表:0 回覆:2 積分:0 註冊:2008-07-31 發送簡訊給我 |
请版主及各位高手指点,原理图就是楼主那个图,以下程序是书上抄下来的,转换显示会出现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 發送簡訊給我 |
|
yanghai
一般會員 發表:0 回覆:1 積分:0 註冊:2008-08-06 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |