• slider image 442
  • slider image 497
  • slider image 498
  • slider image 499
  • slider image 500
  • slider image 502
:::


Browsing this Thread:   1 Anonymous Users






Re: PIC16F716使用 HI-TECH 的中斷設定問題
#2
初級會員
初級會員


查看用戶資訊
原來是RC電路造成不穩定,中斷的功能已經正常了,

另外,有個輸入判斷的問題, 當trigTimes=2時, 這時候我去判斷RA0 PIN 若訊號為Hi , 就執行週期為 80% 的功能, 否則就執行週期為90%的功能.當程式進入trigTimes=2 的 SWITCH CASE 迴圈後, 程式無法判斷RA0是否持續為Hi.

其硬體線路接法為 RB0與RA0為同一個訊號源, 及當一個開關按下去時,RB0與RA0會同時接收到Hi 的訊號.

底下是 SAMPLE CODE 的片段, 請問在邏輯上這樣的判斷方式應該是沒錯啊? 是MCU I/O PIN 設定的問題嗎??

煩請不吝指導, 謝謝大家!!!
switch(trigTimes)
        {
            case 
0:
                
RB7=0;                
                break;
            case 
1:
                
RB7=1;
                for(
i=0;i<=100;i++){
                    if(
trigTimes != 1) break;
                    if(
i==10RB7=0;
                }
                break;
            case 
2:
PRESS_RA0:            
                
GIE=0;    //關閉中斷,不再遞增trigTimes,直接判斷RA0
                
INTE=0;
                if(
RA0==1){
    
                    
RB7=1;                        
                    for(
i=0;i<=100;i++){
                        if(
trigTimes != 2) break;
                        if(
i==80)RB7=0;
                    }
                }
                else{
                    
                    
RB7=1;                        
                    for(
i=0;i<=100;i++){
                        if(
trigTimes != 2) break;
                        if(
i==90RB7=0;
                    }
                }
                if(
RA0==1) goto PRESS_RA0;
                
GIE=1;//離開RA0是否按下的判斷,再次啟動中斷
                
INTE=1;
                break;
            case 
3:
                
RB7=1;

發表於: 2008/2/20 22:10
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


PIC16F716使用 HI-TECH 的中斷設定問題
#1
初級會員
初級會員


查看用戶資訊
Dear Sir:

今天參考了WORKSHOP 的 HI-TECH 是關於中斷 ISR 的設定方式,簡單的寫了方波產生器作測試, 當RB0 pin 中斷時會累加 trigTimes , 依此來產生不同週期的方波, 但是經過測試會發現中斷的功能沒有工作, 不知是否哪些中斷其標還沒設定?

煩請指導, 感恩!!!
#include "htc.h"

unsigned char trigTimes=0;
//--------------------------------------//
//--------------------------------------//
void interrupt isr(void){    
    if(
INTF)
    {
        if(
trigTimes==4trigTimes=0;
        else 
trigTimes++;        
        
INTF=0;
    }    
}
//--------------------------------------//
//--------------------------------------//
void main(void){
    
    
char i=0;    
    
TRISB=0x7F;    
    
GIE=1;
    
INTE=1;
             
INTF=0;
    
INTEDG=1;//rise edge    
    
RB7=1;
    while(
1){
        
        switch(
trigTimes)
        {
            case 
0:
                
RB7=0;                
                break;
            case 
1:
                
RB7=1;
                for(
i=0;i<=100;i++){
                    if(
i==10RB7=0;
                }
                break;
            case 
2:
                
RB7=1;
                for(
i=0;i<=100;i++){
                    if(
i==20RB7=0;
                }
                break;
            case 
3:
                
RB7=1;
                for(
i=0;i<=100;i++){
                    if(
i==30RB7=0;
                }
                break;
            case 
4:
                
RB7=1;
                for(
i=0;i<=100;i++){
                    if(
i==40RB7=0;
                }
                break;                
        }
    }
}

發表於: 2008/2/20 19:46
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]


:::

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... ]

教育訓練中心

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