|
|||||||||||
| 技術(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 |
PIC單片機 為什么對ADCON0的賦值操作寄存器沒有反應(yīng) |
| 作者:lucseven 欄目:單片機 |
先貼一下我的程序 MOVWF STATUS_T ;保存STATUS的值 BANKSEL PORTA BCF PIR1,ADIF ;清中斷標(biāo)志位 MOVF ADRESH,0 MOVWF AD_RESULT ;保存轉(zhuǎn)化結(jié)果 MOVLW 0FH ;小延時 MOVWF DEY LOP DECF DEY,1 MOVF DEY,1 BTFSS STATUS,2 GOTO LOP BSF ADCON0,2 SWAPF STATUS_T,0 MOVWF STATUS ;還原STATUS SWAPF W_TEMP,1 SWAPF W_TEMP,0 ;還原 W RETFIE ;################################################## MAIN CALL INITIAL ;################################################## MAINLOOP MOVF AD_RESULT,0 ;SWAPF W,W BANKSEL PORTA MOVWF PORTB ;CALL LOOPTIME GOTO MAINLOOP ;################################################## ;##################延時程序######################## LOOPTIME MOVLW D'250' MOVWF X1 LP1 MOVLW D'10' MOVWF X2 LP0 DECF X2,1 MOVF X2,1 BTFSS STATUS,2 GOTO LP0 DECF X1,1 MOVF X1,1 BTFSS STATUS,2 GOTO LP1 RETURN ;################################################### INITIAL CLRF AD_RESULT ;首先清零結(jié)果中轉(zhuǎn)寄存器 BANKSEL TRISA MOVLW 0F0H MOVWF TRISB ;設(shè)置端口B的后四位為輸出 ;MOVLW 80H ;MOVWF OPTION_REG BANKSEL PORTA BCF PIR1,ADIF ;清AD中斷標(biāo)志位 CLRF PORTB ;端口B置零 MOVLW 0FFH MOVWF PORTB BANKSEL TRISA MOVLW 01H MOVWF TRISA ;端口A的0號引腳設(shè)為輸入 ;BANKSEL PIE1 BSF PIE1,ADIE ;使能AD中斷 ;BANKSEL ADCON1 MOVLW 0H MOVWF ADCON1 ;將RA0設(shè)為模擬輸入,參考電壓為VDD和VSS BANKSEL PORTA MOVLW 81H MOVWF ADCON0 ;選擇fosc/32為轉(zhuǎn)換時鐘,RA0通道,GO=0,ADON=1 ;BANKSEL INTCON BSF INTCON,GIE ;開全局中斷 BSF INTCON,PEIE ;開第一外圍中斷 BANKSEL PORTA ———————————————————————————————— ——————————————————|———————————————— MOVLW 83H |BSF ADCON0,2 MOVWF ADCON0 ;允許AD轉(zhuǎn)換 | ——————————————————|———————————————— 兩種方法都沒有效果,第二種還會改變PIR1的值,到底怎么回事?大家?guī)蛶兔纯。小弟先謝過了 —————————————————————————————————— RETURN ;################################################### END |
| 2樓: | >>參與討論 |
| 作者: lucseven 于 2006/5/19 22:03:00 發(fā)布:
?????????? 21IC 不是有好多牛人嗎? 怎么沒人幫幫我呢? |
|
| 3樓: | >>參與討論 |
| 作者: martin 于 2006/5/19 23:02:00 發(fā)布:
怎么幫你 用的什么芯片不知道,用什么編譯的不知道,用什么調(diào)試的不知道,變量定義的地址看不到,沒功夫去猜,另外,是不是牛人,跟幫不幫你沒關(guān)系。 |
|
| 4樓: | >>參與討論 |
| 作者: xieyuanbin 于 2006/5/20 7:59:00 發(fā)布:
使用BANKSEL不當(dāng) 初學(xué)不要濫用BANKSEL PORTA在很多芯片中都在BANK2有映射,你BANKSE PORTA ,編譯器會混亂。 |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進(jìn)入 |
Copyright © 1998-2006 udpf.com.cn 浙ICP證030469號 |