久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1426|回復: 3
打印 上一主題 下一主題
收起左側

PIC16F917單片機加入定時器后,主函數不能運行!

[復制鏈接]
跳轉到指定樓層
樓主
ID:81163 發表于 2019-8-21 12:45 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
求教高手,PIC16F917,沒加定時器時主函數里的按鍵和監測函數運行都是正常的,然后增加一個定時器做個蜂鳴器報警功能!結果主函數就運行了,后面再屏蔽掉定時器,主函數照樣不運行!!不知道是怎么回事!求高手幫忙看看!
#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,定時器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(){----監測電池電壓和總電流--}
void key_scan(){---一鍵開關機+功能切換----}
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(){------}


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:81163 發表于 2019-8-22 12:26 | 只看該作者
沒人??
回復

使用道具 舉報

板凳
ID:401564 發表于 2019-8-22 20:15 | 只看該作者
C不會,看不懂
但PIC用過
PIC的中斷和8051的中斷機制是不一樣的,PIC的中斷入口只有一個,就是說不管你是ADC的中斷還是定時器中斷或者是外部,都會使程序進入中斷,然后,在進入中斷之后再通過查詢中斷標志位來確定是什么中斷
8051就不一樣,對應的中斷有對應的入口。
如果你開啟了ADC的中斷的話,進入中斷函數就得先查詢是ADC觸發的中斷還是定時器觸發的中斷,然后,再進行處理
回復

使用道具 舉報

地板
ID:81163 發表于 2019-8-23 09:58 | 只看該作者
Y_G_G 發表于 2019-8-22 20:15
C不會,看不懂
但PIC用過
PIC的中斷和8051的中斷機制是不一樣的,PIC的中斷入口只有一個,就是說不管你是 ...

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 欧美精品一区二区三区四区五区 | 亚洲精品一区二区三区蜜桃久 | 91欧美精品 | 欧美精品区| 啪啪免费 | 日本 欧美 国产 | 九九久久这里只有精品 | 91看片官网 | 伊人99| 亚洲精品欧美一区二区三区 | 精品视频一区二区 | 青青草国产在线观看 | 久久久久久久久久久久久久久久久久久久 | 久久精品欧美一区二区三区不卡 | 欧美福利精品 | 天天艹天天干天天 | 伊人久久国产 | 久久久精品一区 | 日韩一区二区三区在线观看视频 | 中文字幕亚洲视频 | 欧美午夜一区二区三区免费大片 | 欧美韩一区二区三区 | 亚洲国产精品久久久久婷婷老年 | 午夜丰满寂寞少妇精品 | 亚洲+变态+欧美+另类+精品 | 精品成人| 91视频电影 | 国产99在线 | 欧美 | 精品欧美乱码久久久久久 | 亚洲欧美在线一区 | 国产乱精品一区二区三区 | 国产伦精品一区二区 | h片在线免费看 | 黄色网址免费在线观看 | 中文日韩在线 | 蜜桃久久 | 成在线人视频免费视频 | 91久久国产精品 | 欧美日韩三级 | 一级黄色绿像片 | 一级毛片视频在线观看 |