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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 4687|回復(fù): 6
打印 上一主題 下一主題
收起左側(cè)

單片機(jī)兩個(gè)定時(shí)器是需要兩個(gè)外部中斷嗎?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:337280 發(fā)表于 2018-7-19 12:21 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
我現(xiàn)在做的是使用兩個(gè)傳感器  一個(gè)超聲波  一個(gè)PH   程序里用到了定時(shí)器0  和定時(shí)器1  兩個(gè)傳感器給的參考例程用的都是定時(shí)器0和外部中斷0,然后我就把超聲波的定時(shí)器改成了  定時(shí)器1  外部中斷1   



兩個(gè)用的都是TMOD=0X01;
我改成了  TMOD=0X11;



這是PH參考程序利用到的外部中斷
void timer0( ) interrupt 1 //定時(shí)器0工作方式1
{

TH0=(65536-2)/256;          //重裝計(jì)數(shù)初值
TL0=(65536-2)%256;          //重裝計(jì)數(shù)初值
CLK=!CLK;                          //取反
}

/*************************************************************************
                                主函數(shù)        
**************************************************************************/
void main()
{
TMOD=0X01;                          //定時(shí)器中斷0

CLK=0;                                  //脈沖信號(hào)初始值為0
TH0=(65536-2)/256;          //定時(shí)時(shí)間高八位初值
TL0=(65536-2)%256;          //定時(shí)時(shí)間低八位初值
EA=1;                                  //開CPU中斷
ET0=1;                                  //開T/C0中斷
TR0=1;
while(1)                           //無限循環(huán)
        {
        ST=0;                                //使采集信號(hào)為低
        ST=1;                                //開始數(shù)據(jù)轉(zhuǎn)換
        ST=0;                                //停止數(shù)據(jù)轉(zhuǎn)換
        while(!EOC);                //等待數(shù)據(jù)轉(zhuǎn)換完畢
        OE=1;                                //允許數(shù)據(jù)輸出信號(hào)
        AD0809=P1;                    //讀取數(shù)據(jù)
        OE=0;                                //關(guān)閉數(shù)據(jù)輸出允許信號(hào)
        if(AD0809>=251)                //電壓顯示不能超過5V
        AD0809=250;
        date=AD0809*20;                //數(shù)碼管顯示的數(shù)據(jù)值,其中20為采集數(shù)據(jù)的毫安值
        xianshi();                        //數(shù)碼管顯示函數(shù)

    }
}        



這是超聲波里用到的


           time=TH0*256+TL0;
           TH0=0;
           TL0=0;
           S=time*1.87/100;



void main(void)
{  
    TMOD=0x01;                   //設(shè)T0為方式1,GATE=1
        TH0=0;
        TL0=0;
        TR0=1;

        Lcd_init();       //設(shè)置液晶顯示器
        Clr_Scr();        //清屏        
        Disp_img(logo);          //顯示歡迎使用本產(chǎn)品LOGO
        Delaynms(12000);
        Lcd_init();       //從圖形顯示狀態(tài)下返回
    Lcd_Mark2();


        while(1)
        {
         StartModule();         
                                         //計(jì)算
         while(!RX);                //當(dāng)RX為零時(shí)等待
         TR0=1;                            //開啟計(jì)數(shù)
         while(RX);                        //當(dāng)RX為1計(jì)數(shù)并等待
         TR0=0;                                //關(guān)閉計(jì)數(shù)
         Conut();
         delayms(1200);                //80MS




這是我把他兩個(gè)揉起來的

void main(void)
{  
    TMOD=0x11;                   //設(shè)T0為方式1,GATE=1
        TH1=0;
        TL1=0;
        TR1=1;
        CLK=0;                                  //脈沖信號(hào)初始值為0
    TH0=(65536-2)/256;          //定時(shí)時(shí)間高八位初值
    TL0=(65536-2)%256;          //定時(shí)時(shí)間低八位初值
    EA=1;                                  //開CPU中斷
    ET0=1;                                  //開T/C0中斷
    TR0=1;
         
    Lcd_init();     
    Lcd_Mark2();
        Lcd_Mark3();        





        while(1)
        {

         StartModule();         
                                         //計(jì)算
         while(!RX);                //當(dāng)RX為零時(shí)等待
         TR1=1;                            //開啟計(jì)數(shù)
         while(RX);                        //當(dāng)RX為1計(jì)數(shù)并等待
         TR1=0;                                //關(guān)閉計(jì)數(shù)
         Conut();
         delayms(80);                //80MS


        ST=0;                                //使采集信號(hào)為低
        ST=1;                                //開始數(shù)據(jù)轉(zhuǎn)換
        ST=0;                                //停止數(shù)據(jù)轉(zhuǎn)換
        while(!EOC);                //等待數(shù)據(jù)轉(zhuǎn)換完畢
        OE=1;                                //允許數(shù)據(jù)輸出信號(hào)
        AD0809=P1;                    //讀取數(shù)據(jù)
        OE=0;                                //關(guān)閉數(shù)據(jù)輸出允許信號(hào)
        if(AD0809>=251)                //電壓顯示不能超過5V
        AD0809=250;
        date=AD0809*20;                //顯示的數(shù)據(jù)值,其中20為采集數(shù)據(jù)的毫安值
        xianshi();                        //顯示函數(shù)


        }
        }
         /*************************************************************************
                                CLK振蕩信號(hào)        
**************************************************************************/
void timer0( ) interrupt 1 //定時(shí)器0工作方式1
{

TH0=(65536-2)/256;          //重裝計(jì)數(shù)初值
TL0=(65536-2)%256;          //重裝計(jì)數(shù)初值
CLK=!CLK;                          //取反
}





還請(qǐng)大佬看看哪里出了問題   我現(xiàn)在如果只用超聲波的話  程序可以    如果把PH的東西都插上   數(shù)據(jù)就不能實(shí)時(shí)顯示   只能通電的一瞬間顯示然后數(shù)據(jù)就定住了

評(píng)分

參與人數(shù) 1黑幣 +1 收起 理由
LIUJISHAN + 1 淡定

查看全部評(píng)分

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

使用道具 舉報(bào)

沙發(fā)
ID:277550 發(fā)表于 2018-7-19 15:24 | 只看該作者
時(shí)鐘不需要外部中斷,有時(shí)鐘中斷。


~~~~~~~~~~~~~~~~~
程序,根據(jù)邏輯融合起來,而不是生搬硬套拷貝到一起。

~~~~~~~~~~~~~~
回復(fù)

使用道具 舉報(bào)

板凳
ID:250337 發(fā)表于 2018-7-19 15:50 | 只看該作者
可以一個(gè)中斷里面執(zhí)行兩個(gè)動(dòng)作,如果你需要使用兩個(gè)中斷  那你的程序里面就需要兩個(gè)中斷。
回復(fù)

使用道具 舉報(bào)

地板
ID:374956 發(fā)表于 2018-7-19 16:27 | 只看該作者
時(shí)鐘有時(shí)鐘中斷的、
回復(fù)

使用道具 舉報(bào)

5#
ID:370114 發(fā)表于 2018-7-19 17:22 | 只看該作者
首先定時(shí)器1的中斷沒有開啟,其次程序的邏輯也要注意,特別是中斷優(yōu)先級(jí)等等
回復(fù)

使用道具 舉報(bào)

6#
ID:245302 發(fā)表于 2018-7-19 19:13 | 只看該作者
定時(shí)器不需要外部中斷,內(nèi)部中斷就可以
回復(fù)

使用道具 舉報(bào)

7#
ID:375368 發(fā)表于 2018-7-20 10:26 | 只看該作者
定時(shí)器是定時(shí)器的兩個(gè)寄存器溢出中斷,外部中斷是外部中斷
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 成人国产精品一级毛片视频毛片 | 国产69精品久久99不卡免费版 | 亚洲精久 | 国产精品一区在线观看你懂的 | 最新国产福利在线 | 91直接看| 国产精品69av | 国产美女精品 | 成人特级毛片 | 欧美精品一区二区在线观看 | 亚洲视频在线观看一区二区三区 | 久久99蜜桃综合影院免费观看 | 高清一区二区三区 | www久久av| 日韩精品一区二区三区在线观看 | 国产精品乱码一区二区三区 | 日本在线免费看最新的电影 | av黄色片在线观看 | 国产男女视频网站 | 久久www免费人成看片高清 | 天天干天天爱天天爽 | 日韩爱爱网站 | 亚洲一区在线免费观看 | 亚洲国产18 | 欧美日韩专区 | 国产精品免费一区二区三区 | www.久久| 国产精品国产馆在线真实露脸 | 欧美日韩国产免费 | 国产精品国产成人国产三级 | 国产精品久久久亚洲 | 欧州一区 | 色吧综合网 | 欧美一区二区小视频 | 婷婷激情综合 | 在线免费观看黄色 | 成人国产一区二区三区精品麻豆 | 欧美在线一区二区三区 | 日韩不卡三区 | 成人在线观看免费视频 | 亚洲综合一区二区三区 |