12F675使用GPIO變化中斷 HI-TECH C 9.65版
|
||||
---|---|---|---|---|
初級會員
|
各位好~~
小弟最近在試驗PIC 12F675 輸出端變化中斷 但一直"無法進入中斷程式" 能否幫我看一下程式哪邊有錯誤 程式解說~~ 一開始~~輸出端GP5,GP2,GP1,GP0會送出類似方波的0101訊號 於GP4偵測到HIGH時(GP4有PULL DOWN)~~會進入中斷程式,<== GPIO變化中斷,是這樣用的嗎? 中斷程式 會將目前輸出端GP5,GP2,GP1,GP0維持HIGH COMPILER HI-TECH C 9.65版 程式如下~~ #include <pic.h> __CONFIG (INTIO & PROTECT & WDTDIS & MCLRDIS & CPD & BOREN & PWRTEN ); void interrupt isr_yy ( void ); void main( void ) { RP0=0; CMCON=0x07; //關閉比較器 GPIO=0; //CLEAR GPIO RP0=1; INTCON=0x88; //GPIE=1,GIE=1 IOC=0x10; ANSEL=0x00; TRISIO=0x10; OSCCAL=0x80; //111111XX~000000XX RP0=0; while(1) { GPIO=0x00; GPIO=0xff; } } void interrupt isr_yy ( void ) { RP0=1; GPIF=0; RP0=0; GPIO=0xff; while(1) { } }
發表於: 2010/1/6 10:04
|
|||
|
運用PIC延遲1個月的方式
|
||||
---|---|---|---|---|
初級會員
|
各位大大~~
目前上面的丟給小弟一個問題~~ 要"延遲一個月的時間"後送出一個訊號 我是想如果用PIC來寫 用寫DELAY的方式DELAY一個月 這個方法好嗎? 時間可以不用很準 誤差一天也沒關係 不知是否有人遇到過這樣的問題 還是有什麼其他更好的方法~~ 能提供小弟一些方向嗎? 謝謝~~
發表於: 2009/12/14 14:59
|
|||
|
關於 EQU 用法 與 CONSTANT 用法 幫解惑~~謝謝
|
||||
---|---|---|---|---|
初級會員
|
我想請問知道的人
EQU用法 書上寫 A段:COUNT EQU 100 ;為定義COUNT常數為100 B段:Var EQU 10 ;為定義Var變數資料位址為0Ah 當我看完A段之後為何看到B段的解釋又變的不一樣了 照A段的解釋方式B段不是應該為Var常數為10嗎?? 為何變為是位址0Ah? 若以B段的方式來解釋A段 不就又變成 定義COUNT變數資料位址為64h嗎??? 到底~~是該看成數值還是位址~~= =? 另外CONSTANT用法 C段:CONSTANT TIME=.28 C段的解釋是TIME數值為.28吧 所以~~可以改成 TIME EQU .28 對吧~~ 對於A段與B段我初步是認為COUNT EQU 100 如果COUNT沒有數值移進去~~那COUNT變看成為"數值"不是位址 若~~有數值移進COUNT~~那~~便看成"位址"~~不是數值 是這樣嗎? 請指教~~謝謝~~
發表於: 2007/9/26 14:48
|
|||
|
Re: 求助 12f675晶片簡單範例
|
||||
---|---|---|---|---|
初級會員
|
嗚~~~試不出來><""
我有CPOY上面的程式測試 也將movwf TRIAIO此行錯誤改為movwf TRISIO 並於MAIN之後新增3行 bsf CMCON,0 bsf CMCON,1 bsf CMCON,2 關閉比較器功能 可是之後~~我使用MPLAB SIM模擬與使用Watch觀看暫存器 可是得到的答案是 GPIO ===>00000000 <===不是應該00000010 TRISIO==>00000000 <===不是應該00100000嗎? CMCON==>00000111 <===這個沒問題 知道的幫我一下 程式碼
list p=12f675 ; list directive to define processor
發表於: 2005/10/6 14:58
|
|||
|
Re: 求助 12f675晶片簡單範例
|
||||
---|---|---|---|---|
初級會員
|
謝謝版主 與 Summer
我還沒試驗~~ 謝謝你們囉 我若試驗有問題再來~~^^ 沒問題~~就只有感溫感溫~~^^
發表於: 2005/10/5 10:41
|
|||
|
求助 12f675晶片簡單範例
|
||||
---|---|---|---|---|
初級會員
|
@@!!我試幾次寫簡單的程式讓該晶片run
可是無法動作= ='' 之前有寫過18f452的跟16f88 這次要寫12f675我不是很清楚該晶片要動作時要設定哪些暫存器 能否請熟悉的人幫我寫一下簡單的範例 那容就是 將GP0跟GP1設定成0跟1 CLICK由GP5進入 另外一個問題 我GP5已經接輸入的CLICK 那是否代表我無法在將GP5規劃為輸出腳使用呢 感謝大家~~~Orz
發表於: 2005/9/30 12:20
|
|||
|
Re: 請問 errorlevel -302 作用為何?
|
||||
---|---|---|---|---|
初級會員
|
感謝回覆~~
可是我還是不懂 我就算將該行程式註解掉 一樣沒您說的302 Message阿~~? 另外~~就是errorlevel -302 將此302訊息消除 為什要這樣做,不是應該有訊息就讓它顯示出來以便了解程式是否有問題,不是應該這樣嗎? @@? 困惑中~~= ="
發表於: 2005/9/30 12:08
|
|||
|
請問 errorlevel -302 作用為何?
|
||||
---|---|---|---|---|
初級會員
|
最近因工作需要又再度接觸PIC
看範例時於程式剛開始都會有這一行程式碼 請問版大能否解釋一下該程式碼的功能或作用為何? 或有誰知道的告知一下囉~~^^ 謝謝大家~~~^^
發表於: 2005/9/29 9:10
|
|||
|
PIC16系列與18系列一問 與EEPROMMemory之運用
|
||||
---|---|---|---|---|
初級會員
|
問題1
關於16系列與18系列問題 想請問一下16系列的pcl每執行一個指令是+1 而18系列卻是+2 是這樣沒錯吧 如果是 又為何?? 另外 我用循序查表法於16系列時 inc pcl沒問題 能在下次變指到下一筆資料 而18系列卻是要執行2次的inc pcl才會正確指到下一比資料 請問 這也是因為16系列+1 而18系列+2的緣故嗎 另外 關於查表的應用 我想請問一下大家的寫法 是否也是以控制pcl暫存器的方式去應用呢 還是有其他更好的寫法 另請指教 ^^ 另外 問題2 小弟想將資料存入pic裡面 是使用EEPROM Memory 這個功能嗎 謝謝大家 ^^Y
發表於: 2005/2/22 9:28
|
|||
|