|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
用MPLABicd2仿真,程序可以RUN,但好像跟沒運行一樣 |
| 作者:majialong 欄目:單片機 |
不知道是怎么回事,程序絕對是沒問題的,片子是18F4480,晶振選擇的是10M有源晶振 程序如下: TRISC=0x90;/*RC.0.1.2 IO輸出,RC.3SCLK輸出,RC.4SDI輸入,RC.5SDO輸出,RC.6USARTTXD輸出,RC.7USARTRXD輸入*/ /*點亮轉(zhuǎn)向燈*/ RC0=0;/*RC0清零,選通245OE端*/ TRISD=0x40;/*RD.6輸入,RD.4懸空,其余輸出*/ RD3=1;/*245方向為發(fā)送方向,RD3=1*/ RD1=1;/*點亮右轉(zhuǎn)向燈,RD1=1*/ 結(jié)果發(fā)現(xiàn)RC0這個腳電壓很不穩(wěn)定,總在0.1到2.3V左右RD3這個腳也為0.1左右,根本沒有被置高. 以前沒用過PIC,不知道是怎么回事,各位大俠幫下忙啦. |
| 2樓: | >>參與討論 |
| 作者: xieyuanbin 于 2006/10/10 18:49:00 發(fā)布:
絕對是程序問題. 看看相應(yīng)的引腳在上電時是否在AD或別的什么復(fù)用功能上,如果是,那么正確設(shè)置到數(shù)字輸入輸出功能. 是否有讀-修改-寫的現(xiàn)象,照例18系列的有個IO端口緩存,這種情況是應(yīng)該可以避免的,不過要看看內(nèi)容是否寫到正確的寄存器內(nèi). |
|
| 3樓: | >>參與討論 |
| 作者: majialong 于 2006/10/10 19:09:00 發(fā)布:
是否是芯片的問題 我這個芯片是QFN封裝的,比較難焊,而且我用的有源晶振,用示波器查看波形有過振的現(xiàn)象.樓上所說的正確設(shè)置到數(shù)字輸入輸出功能我上面的程序也實現(xiàn)了吧,會不會是芯片的問題呢.是不是可以下載程序(debug 中的 program選項)就說明這個芯片沒問題呢?到底這個仿真器是怎么工作的呢?會不會芯片不好使也能出現(xiàn)可以connect成功,program成功,也可以RUN的情況呢? |
|
| 4樓: | >>參與討論 |
| 作者: majialong 于 2006/10/11 10:24:00 發(fā)布:
有可能是晶振的問題嗎 我這個晶振和PIC的片子離得比較遠(yuǎn). 現(xiàn)在的情況是這樣,在debugger下載后單步運行時可以出現(xiàn)那個綠色箭頭,但程序走不動,就一直停留在那里,有時可以向下走一步,但再走就又回到上一步,而不是走到下一步,這到底是怎么回事呢. |
|
| 5樓: | >>參與討論 |
| 作者: yu83620 于 2006/10/11 12:35:00 發(fā)布:
應(yīng)該是程序的問題 |
|
| 6樓: | >>參與討論 |
| 作者: majialong 于 2006/10/11 16:20:00 發(fā)布:
可程序跑來跑去的呀 我將晶振選擇為內(nèi)部晶振,也選過HS,也選過ECIO,出現(xiàn)相似的情況,即這個程序單步突然跑不動了,即使箭頭向下移動,前面的語句也好像沒有執(zhí)行一樣,比如 INTCON=0x00; //關(guān)總中斷 CMCON=0x07;//關(guān)比較器 TRISD=0x00;//D口定義為輸出口 RD0=1; //點亮LED 運行到第四句時,看INTCON,CMCON,TRISD沒有任何變化,都是原始值,原始值分別為INTCON=0x01; CMCON=0x00;TRISD=0xFF; 而且有時運行到CMCON=0x07;//關(guān)比較器,就停在這里了. |
|
| 7樓: | >>參與討論 |
| 作者: ddtv 于 2006/10/11 17:48:00 發(fā)布:
xieyuanbin 應(yīng)該是正確的 有可能是那個端口有AD復(fù)用功能,需禁止.16系列的是配置ANSEL寄存器. |
|
| 8樓: | >>參與討論 |
| 作者: majialong 于 2006/10/12 8:30:00 發(fā)布:
這個D口復(fù)用有比較器功能,已經(jīng)關(guān)掉了呀 看下這個程序 INTCON=0x00; //關(guān)總中斷 CMCON=0x07;//關(guān)比較器 TRISD=0x00;//D口定義為輸出口 RD0=1; //點亮LED 這個D口復(fù)用有比較器功能,已經(jīng)關(guān)掉了呀. 哪位大俠可以解釋一下呢. |
|
| 9樓: | >>參與討論 |
| 作者: majialong 于 2006/10/12 16:43:00 發(fā)布:
問題解決了 換了個編譯器,不好使,又換開發(fā)環(huán)境,還不好使,電腦殺毒,好使了 |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |