欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1816|回復(fù): 3
收起左側(cè)

PIC16F917單片機(jī)加入定時(shí)器后,主函數(shù)不能運(yùn)行!

[復(fù)制鏈接]
ID:81163 發(fā)表于 2019-8-21 12:45 | 顯示全部樓層 |閱讀模式
求教高手,PIC16F917,沒加定時(shí)器時(shí)主函數(shù)里的按鍵和監(jiān)測函數(shù)運(yùn)行都是正常的,然后增加一個(gè)定時(shí)器做個(gè)蜂鳴器報(bào)警功能!結(jié)果主函數(shù)就運(yùn)行了,后面再屏蔽掉定時(shí)器,主函數(shù)照樣不運(yùn)行!!不知道是怎么回事!求高手幫忙看看!
#include<pic.h>
#define uchar unsigned char
#define uint  unsigned int
#define        low        RD0                                
#define        lbt RD3                                
#define        high RD2                        
#define flt RD4                                
#define spk RD5                                
#define mot RD6                                
#define ctr RD7                                
#define        keyin RB0                        

const uint data[2]={64722,64436};                        //蜂鳴器頻率

uint mode=0,lednum;
uint count=0;
uint vba,isp,k,t,flagb,flagf,jcout,i,p,j,s;

__CONFIG(0x30F5);

void delay(uint x);
void init();
uint get_ad(uchar y);
void monitor();
void key_scan();
void sentchar(uchar data1);
void printcom(const uchar *dat);
void printdata(uint dat);
uint filter();
void speakf();
void speakb();
//void interrupt time1();

void main()
{
        init();
        while(1)
        {
               RD1=!RD1;
                k++;
        //        s++;
                if(k==1000)
                {
                        k=0;
                        monitor();
                }
                if(s>=1000)
                {
                        s=0;
                        RD4=!RD4;
                        TMR1ON=!TMR1ON;
                }
                key_scan();
        }
        
        

}
void delay(uint x){--------}
void init()                                        //初始化:4MHZ,AD, PWM,uart,定時(shí)器012
{
        OSCCON=0x67;        
        TRISA=0x0f;
        TRISB=0x01;
        TRISC=0xc0;
        TRISD=0;
        PORTA=0;
        PORTB=0;
        PORTC=0;
        PORTD=0xE1;
        TXSTA=0x24;
        RCSTA=0x90;
        SPBRG=25;        
        RCIE=1;

        
        ANSEL=0x28;
        ADIE=1;
        ADCON0=0x05;
        ADCON1=0x9e;
        
        OPTION=0X07;
        TMR0=61;
        T0IE=1;
        INTCON=0xa0;
        GIE=1;
        PEIE=1;
        PIE1=0X03;
        T2CON=0X1C;
        TMR2IE=0;
        CCPR1L=0x5b;                        //C8
        CCP1CON=0x0C;
        TMR2=0;
        PR2=0x7C;
        T1CON=0x01;
        TMR1L=(65536-200)%256;
        TMR1H=(65536-200)/256;
        delay(10);
        T1CON=0X01;        
        PORTD=0x81;
}
uint get_ad(uchar y){----------}
void monitor(){----監(jiān)測電池電壓和總電流--}
void key_scan(){---一鍵開關(guān)機(jī)+功能切換----}
void sentchar(uchar data1){---串口----}
void printcom(const uchar *dat){        ---串口------}
void printdata(uint dat){---串口----}
void interrupt time1()
{
        if(TMR1IE&&TMR1IF)               
        {
               
                p=data[jcout];
                TMR1IF=0;
                TMR1L=p%256;
                TMR1H=p/256;
                spk=!spk;         
                s++;
        //        printdata(s);
        }
}
uint filter(){----ADC平均值-----}
void speakf() {-------}
void speakb(){------}


回復(fù)

使用道具 舉報(bào)

ID:81163 發(fā)表于 2019-8-22 12:26 | 顯示全部樓層
沒人??
回復(fù)

使用道具 舉報(bào)

ID:401564 發(fā)表于 2019-8-22 20:15 | 顯示全部樓層
C不會(huì),看不懂
但PIC用過
PIC的中斷和8051的中斷機(jī)制是不一樣的,PIC的中斷入口只有一個(gè),就是說不管你是ADC的中斷還是定時(shí)器中斷或者是外部,都會(huì)使程序進(jìn)入中斷,然后,在進(jìn)入中斷之后再通過查詢中斷標(biāo)志位來確定是什么中斷
8051就不一樣,對應(yīng)的中斷有對應(yīng)的入口。
如果你開啟了ADC的中斷的話,進(jìn)入中斷函數(shù)就得先查詢是ADC觸發(fā)的中斷還是定時(shí)器觸發(fā)的中斷,然后,再進(jìn)行處理
回復(fù)

使用道具 舉報(bào)

ID:81163 發(fā)表于 2019-8-23 09:58 | 顯示全部樓層
Y_G_G 發(fā)表于 2019-8-22 20:15
C不會(huì),看不懂
但PIC用過
PIC的中斷和8051的中斷機(jī)制是不一樣的,PIC的中斷入口只有一個(gè),就是說不管你是 ...

謝謝!我只開了定時(shí)器的中斷,ADC等其他的中斷都沒開!測試出主函數(shù)運(yùn)行了892次,期間定時(shí)器1運(yùn)行了大約80多次,然后程序就飛了,主程序不再運(yùn)行,定時(shí)器1一直不停的重復(fù)!
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表