• slider image 442
  • slider image 483
  • slider image 484
  • slider image 485
  • slider image 486
  • slider image 487
:::

論壇索引


Board index » All Posts (sakanayy)




Re: 12F675使用GPIO變化中斷 HI-TECH C 9.65版
#11
初級會員
初級會員


TO BEEE&大家:

還是不行~~


我有將INTCON=0x88改為INTCON=0xC8

也有先將輸出CLEAR~~

所以程式改為

另外~~GP4我是用外部訊號觸發~~接到HIGH時才動作

因為我將GP4規畫為輸入

所以當有丟值時
GPIO=0x00;
GPIO=0xff;
這樣對他有影響??

另外~~
IOC <== 每次修改完程式第一次COMPILER後都會發生錯誤
第2次後就沒事~~是否有問題呢~~

還是有人又關於GPIO中斷的程式可以給我參考~~?


謝謝大家









#include <pic.h>


__CONFIG (INTIO & PROTECT & WDTDIS & MCLRDIS & CPD & BOREN & PWRTEN );

void interrupt isr_yy ( void );


void main( void )
{
RP0=1;
TRISIO=0x00;
RP0=0;
CMCON=0x07; //關閉比較器
GPIO=0; //CLEAR GPIO
RP0=1;
IOC=0x10;
ANSEL=0x00;
TRISIO=0x10;
OSCCAL=0x80; //111111XX~000000XX
INTCON=0xC8; //GPIE=1,GIE=1
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 12:08
頂部


12F675使用GPIO變化中斷 HI-TECH C 9.65版
#12
初級會員
初級會員


各位好~~

小弟最近在試驗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個月的方式
#13
初級會員
初級會員


各位大大~~

目前上面的丟給小弟一個問題~~

要"延遲一個月的時間"後送出一個訊號

我是想如果用PIC來寫

用寫DELAY的方式DELAY一個月

這個方法好嗎?

時間可以不用很準 誤差一天也沒關係


不知是否有人遇到過這樣的問題

還是有什麼其他更好的方法~~

能提供小弟一些方向嗎?





謝謝~~

發表於: 2009/12/14 14:59
頂部


關於 EQU 用法 與 CONSTANT 用法 幫解惑~~謝謝
#14
初級會員
初級會員


我想請問知道的人

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晶片簡單範例
#15
初級會員
初級會員


嗚~~~試不出來><""
我有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    
#include <p12f675.inc>        ; processor specific variable definitions    
errorlevel  -302              suppress message 302 from list file    
__CONFIG   _CP_OFF 
_CPD_OFF _BODEN_OFF _MCLRE_OFF _WDT_OFF _PWRTE_ON &_EXTRC_OSC_NOCLKOUT 
please see the p12f675.inc for the configuration defination
;***** VARIABLE DEFINITIONS
w_temp   EQU     0x20        
variable used for context saving 
status_temp   EQU     0x21        
variable used for context saving

;**********************************************************************        
ORG     0x000             processor reset vector        
goto    main              go to beginning of program            
ORG     0x004             
interrupt vector location        
movwf   w_temp            
save off current W register contents        
movf    STATUS
,w          move status register into W register        
movwf    status_temp       
save off contents of STATUS register
isr code can go here or be located as a call subroutine elsewhere        
movf    status_temp
,w     retrieve copy of STATUS register        
movwf    STATUS            
restore pre-isr STATUS register contents        
swapf   w_temp
,f        
swapf   w_temp
,w          restore pre-isr W register contents        
retfie                    
; return from interrupt
these first 4 instructions are not required if the internal oscillator is not used
main
;        call    0x3FF             retrieve factory calibration value
;        bsf     STATUS,RP0        set file register bank to 1 
;        movwf   OSCCAL            update register with factory cal value 
;        bcf     STATUS,RP0        set file register bank to 0
;
bsf    CMCON,0
bsf CMCON
,1
bsf CMCON
,2        
banksel TRISIO        
Set to Bank 1


    
movlw     
b'00100000'    Sep GPIO<4:0> for output        
movwf    TRISIO
;        
banksel    GPIO        to Bank 0    
    
bcf    GPIO
,0        Clear GP0        
nop            
Wait 1 cyclr for read-modify-write issue        
bsf    GPIO
,1        Set GP1

;        
;        
;
initialize eeprom locations        
ORG    0x2100        
DE    0x00
0x010x020x03        
END                       
directive 'end of program'



發表於: 2005/10/6 14:58
頂部


Re: 求助 12f675晶片簡單範例
#16
初級會員
初級會員


謝謝版主 與 Summer
我還沒試驗~~
謝謝你們囉

我若試驗有問題再來~~^^
沒問題~~就只有感溫感溫~~^^

發表於: 2005/10/5 10:41
頂部


求助 12f675晶片簡單範例
#17
初級會員
初級會員


@@!!我試幾次寫簡單的程式讓該晶片run
可是無法動作= =''

之前有寫過18f452的跟16f88

這次要寫12f675我不是很清楚該晶片要動作時要設定哪些暫存器

能否請熟悉的人幫我寫一下簡單的範例

那容就是
將GP0跟GP1設定成0跟1
CLICK由GP5進入

另外一個問題
我GP5已經接輸入的CLICK 那是否代表我無法在將GP5規劃為輸出腳使用呢


感謝大家~~~Orz


發表於: 2005/9/30 12:20
頂部


Re: 請問 errorlevel -302 作用為何?
#18
初級會員
初級會員


感謝回覆~~

可是我還是不懂
我就算將該行程式註解掉 一樣沒您說的302 Message阿~~?

另外~~就是errorlevel -302 將此302訊息消除 為什要這樣做,不是應該有訊息就讓它顯示出來以便了解程式是否有問題,不是應該這樣嗎? @@?

困惑中~~= ="



發表於: 2005/9/30 12:08
頂部


請問 errorlevel -302 作用為何?
#19
初級會員
初級會員


最近因工作需要又再度接觸PIC
看範例時於程式剛開始都會有這一行程式碼

請問版大能否解釋一下該程式碼的功能或作用為何?
或有誰知道的告知一下囉~~^^


謝謝大家~~~^^

發表於: 2005/9/29 9:10
頂部


PIC16系列與18系列一問 與EEPROMMemory之運用
#20
初級會員
初級會員


問題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
頂部



« 1 (2) 3 »



:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------