Re: 5V 使用RE0 讀取AD值不到200???
|
||||
---|---|---|---|---|
高級會員
|
剛找時間又測了AN6,AN7..結果都正常...
然後又回測AN5..也正常了.. 電路跟之前測試的4個樣品..不同在輸入電路的電容.. 有問題的都是裝鉭質電容..現在測試都是裝電解電容.. 等客戶把樣品寄回後我再測看看是不是輸入電容造成的... 麻煩各位了....謝謝~~
發表於: 2007/8/14 13:54
|
|||
|
5V 使用RE0 讀取AD值不到200???
|
||||
---|---|---|---|---|
高級會員
|
晶片型號 16F946
小弟同時使用AN1,AN4,AN5... AN1,AN4都很正常.. AN5(RE0)..我在sensor斷路時.. 量得電壓為4.99v左右..但是AD值讀取卻只有195左右?? 然後我將RE0 改為 RA2(AN2) ...5V讀取就大於250? 是不是有大大遇過相同的問題?? 還是沒把其它模組設定好造成的?? 謝謝~
發表於: 2007/8/13 15:06
|
|||
|
Re: 如何在 巨集內 goto 巨集內的 label
|
||||
---|---|---|---|---|
高級會員
|
加一行 local m_loop
可以看一下mpasm的說明....
發表於: 2007/8/8 13:35
|
|||
|
Re: PICC complier 問題??
|
||||
---|---|---|---|---|
高級會員
|
感謝版大還有Eigen的幫忙...
的確是版本太舊的問題.. 排除9.60 complier的錯誤訊息後.. 連原來切bank的問題也都ok了.... 謝謝各位了...
發表於: 2007/7/31 10:07
|
|||
|
Re: PICC complier 問題??
|
||||
---|---|---|---|---|
高級會員
|
上面的問題..在呼叫一個副程式時,會直接跳到中斷執行..
怪的是..返回的位址也錯亂掉..看stack也才4層而已... 就這樣..執行到呼叫就跳中斷...中斷後又回到while迴圈啟始.. 感覺就好像page沒切好..完全搞不清楚是什麼情況... 找了v9.60的版本..連要complier過都有一堆看不懂的錯誤.. 真是一波多折..想想還是改組語好了.....
發表於: 2007/7/31 2:51
|
|||
|
Re: PICC complier 問題??
|
||||
---|---|---|---|---|
高級會員
|
難道...用 c 也要自己切頁嗎????....
把幾段程式拿掉..complier $0186 - $07FF程式執行就ok... 把程式加入後..$0186 - $0830..呼叫副程式會亂跳? 真的是...太莫名奇妙了...我電腦是中毒了嗎?? C18好用多了..microchip怎沒出C16... Program ROM $0000 - $0181 $0182 ( 386) words Program ROM $0186 - $0830 $06AB ( 1707) words ****************************************** $082D ( 2093) words total Program ROM Bank 0 RAM $0021 - $006D $004D ( 77) bytes Bank 0 RAM $0070 - $0074 $0005 ( 5) bytes $0052 ( 82) bytes total Bank 0 RAM Bank 2 RAM $0120 - $0124 $0005 ( 5) bytes total Bank 2 RAM Bank 0 Bits $0100 - $0103 $0004 ( 4) bits total Bank 0 Bits Config Data $2007 - $2007 $0001 ( 1) words total Config Data Program statistics: Total ROM used 2093 words (25.5%) Total RAM used 88 bytes (26.2%)
發表於: 2007/7/30 23:16
|
|||
|
PICC complier 問題??
|
||||
---|---|---|---|---|
高級會員
|
105: //****************************//
void test (void)
唉....找問題找到快吐血了...找到後...還真是欲哭無淚.... 使用hi-tech c v8.05, chip 16f946 bcnt 宣告在bank0.... fTuneSel = 1時... 執行完TuneLvLed(); 竟然沒有切回bank0? ... 突然..不知道該怎麼繼續寫下去... 感覺...這是 Complier 的 Bug...還是我沒設定好參數?? 還是這個版本的complier還沒支援到16f946?? 是不是有前輩可以提供較新版本供測試....感謝~
發表於: 2007/7/30 15:17
|
|||
|
Re: 用pic如何讀取IR信號
|
||||
---|---|---|---|---|
高級會員
|
謝謝Eigen大大..剛有看了一下..滿多格式的..謝謝
底下程式是擷取出來的..不完整.. 接收IR是用取樣的方式寫的..格式跟市售的也不太一樣 不過只要修改checkbit的部份..應該也可以相容... 有機會我再拿家裡的遙控器玩玩看.. 感謝各位提供相關寶貴的知識..又認識到滿多東西的... 傳輸碼格式 start bit hi 3.6ms/lo 1.2ms bit 0 hi 1.2ms/lo 0.6ms bit 1 hi 0.6ms/lo 1.2ms end bit hi 0.6ms hold time lo 12.6ms ; IO定義 iRcv EQU 3 ; PORTB dRange EQU D'2' ; 取樣次數正負承認範圍 dRcvBit EQU D'63' ; 63bit dResetDuty EQU '60' ; 12ms/200us = 60 (12.6ms為發射間隔時間) dStartBitA EQU D'18' ; 3.6ms/200us = 18 dStartBitB EQU D'6' ; 1.2ms/200us = 6 dBitDutyA EQU D'6' ; 1.2ms/200us = 6 dBitDutyB EQU D'3' ; 600us/200us = 3 bRcvBuf0 EQU H'70' ; Command bRcvBuf1 EQU H'71' ; bRcvBuf2 EQU H'72' ; bRcvBuf3 EQU H'73' ; bRcvBuf4 EQU H'74' ; bRcvBuf5 EQU H'75' ; bRcvBuf6 EQU H'76' ; bRcvBuf7 EQU H'77' ; CheckSum bRcvACnt EQU H'78' ; Lo 取樣次數 bRcvBCnt EQU H'79' ; Hi 取樣次數 bRcvBitCnt EQU H'7A' ; 64BIT資料位元 bTEMP EQU H'7B' FLAG_RCV EQU H'7C' fPinStatus EQU 7 ; 上一次狀態 fRcvStart EQU 6 ; fRcvBits EQU 5 fRcvEnd EQU 4 ;=======================; ; 紅外線接收取樣程式(200us) ;=======================; pRcvCode: .. BTFSS PORTB,iRcv .. GOTO RCV_A ;-----------------------------------------------; HIGH RCV_B: .. BANKSEL FLAG_RCV .. BTFSC FLAG_RCV,fPinStatus .. GOTO CHK_BCNT ;-----------------------------------------------; LO->HI .. BSF FLAG_RCV,fPinStatus ; .. BTFSC FLAG_RCV,fRcvEnd .. GOTO CLR_BCNT .. BTFSS FLAG_RCV,fRcvBits .. GOTO CLR_BCNT ;-----------------------------------------------; CHECK_END_BIT CHECK_END_BIT: .. mCheckBit bRcvACnt,dBitDutyB ; END BIT, LO->600us .. SKPNC .. GOTO ERR_BCNT .. CLRC .. CALL pShiftBit ; 移位1bit(同步資料64bit) .. CALL pCheckData ; 資料接收成功,檢查CheckSum .. SKPZ .. GOTO ERR_BCNT .. CALL pLoadData ; 資料正確,載入資料 .. BSF FLAG_RCV,fRcvEnd ; .. GOTO CLR_BCNT ;-----------------------------------------------; HI CHK_BCNT: .. MOVLW dResetDuty; CHECK RESET RCV .. SUBWF bRcvBCnt,W .. SKPC .. GOTO INC_BCNT ERR_BCNT: .. MOVLW B'10000000' .. ANDWF FLAG_RCV,F CLR_BCNT: .. CLRF bRcvBCnt INC_BCNT: .. INCF bRcvBCnt,F .. GOTO EXIT_RCV ;-----------------------------------------------; LOW RCV_A: .. BANKSEL FLAG_RCV .. BTFSS FLAG_RCV,fPinStatus .. GOTO INC_ACNT ;-----------------------------------------------; HI->LO .. BCF FLAG_RCV,fPinStatus ; .. BTFSS FLAG_RCV,fRcvStart .. GOTO CHECK_START_BIT .. BTFSS FLAG_RCV,fRcvBits .. GOTO CHECK_DATA_BIT .. GOTO CLR_ACNT ;-----------------------------------------------;CHECK_START_BIT CHECK_START_BIT: .. mCheckBit bRcvACnt,dStartBitA .. SKPNC .. GOTO CLR_ACNT .. mCheckBit bRcvBCnt,dStartBitB .. SKPNC .. GOTO CLR_ACNT .. BSF FLAG_RCV,fRcvStart .. MOVLW dRcvBit .. MOVWF bRcvBitCnt .. GOTO CLR_ACNT ;-----------------------------------------------; CHECK_DATA_BIT CHECK_DATA_BIT: .. mCheckBit bRcvACnt,dBitDutyA .. SKPNC .. GOTO _CDB10 .. mCheckBit bRcvBCnt,dBitDutyB .. SKPNC .. GOTO ERR_ACNT .. CLRC .. GOTO _CDB20 _CDB10: .. mCheckBit bRcvACnt,dBitDutyB .. SKPNC .. GOTO ERR_ACNT .. mCheckBit bRcvBCnt,dBitDutyA .. SKPNC .. GOTO ERR_ACNT .. SETC _CDB20: .. CALL pShiftBit .. DECFSZ bRcvBitCnt,F .. GOTO CLR_ACNT .. BSF FLAG_RCV,fRcvBits .. GOTO CLR_ACNT ;-----------------------------------------------; ERR_ACNT: .. MOVLW B'10000000' .. ANDWF FLAG_RCV,F CLR_ACNT: .. CLRF bRcvACnt INC_ACNT: .. INCF bRcvACnt,F EXIT_RCV: .. BANKSEL PORTB .. BCF STATUS,PA0 .. GOTO MAIN_10
發表於: 2007/7/6 12:58
|
|||
|
Re: 用pic如何讀取IR信號
|
||||
---|---|---|---|---|
高級會員
|
版大是不是有曼徹斯特碼或NRZ相關的格式說明...
因為目前小弟用的信號格式是上頭規定的方式 我並不清楚這是屬於哪一種編碼系統.. 想多了解一點...謝謝
發表於: 2007/7/6 8:28
|
|||
|