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

QQ登錄

只需一步,快速開始

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

89C52單片機(jī)定時(shí)中斷里想輸出引腳低電平1秒后恢復(fù)高電平 求幫助

  [復(fù)制鏈接]
ID:373124 發(fā)表于 2018-8-3 16:27 | 顯示全部樓層 |閱讀模式
請(qǐng)問大俠們,89C52定時(shí)中斷里想輸出引腳低電平1秒后恢復(fù)高電平,要怎樣寫?
回復(fù)

使用道具 舉報(bào)

ID:310519 發(fā)表于 2018-8-3 20:16 | 顯示全部樓層
設(shè)置定時(shí)多少時(shí)間觸發(fā)一次中斷,寫0后啟動(dòng)定時(shí)器,在中斷里計(jì)時(shí)到1秒就IO置1......
回復(fù)

使用道具 舉報(bào)

ID:382694 發(fā)表于 2018-8-3 20:55 | 顯示全部樓層
void timeinit()
回復(fù)

使用道具 舉報(bào)

ID:382689 發(fā)表于 2018-8-3 20:59 | 顯示全部樓層
編程思想應(yīng)該是   通過某種方式觸發(fā)中斷(外部中斷還是定時(shí)中斷或者串口中斷)以進(jìn)入中斷函數(shù)——> 首先確定定時(shí)器初值然后拉低某個(gè)引腳通過某個(gè)寄存器記錄定時(shí)器循環(huán)定時(shí)的次數(shù)是否具有一秒如果有一秒釋放拉低的引腳退出中斷;也可以采用程序定時(shí)的方法;還有很多方法。

評(píng)分

參與人數(shù) 1黑幣 +10 收起 理由
yousunny + 10 很給力!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:382710 發(fā)表于 2018-8-3 21:31 | 顯示全部樓層
在定時(shí)器里設(shè)定1000ms的時(shí)間,通過進(jìn)位標(biāo)志位觸發(fā)中斷變?yōu)楦唠娖?/td>
回復(fù)

使用道具 舉報(bào)

ID:382710 發(fā)表于 2018-8-3 21:32 | 顯示全部樓層
通過定時(shí)器中斷定時(shí)1000ms,到時(shí)間后進(jìn)位標(biāo)志位進(jìn)位觸發(fā)中斷,變?yōu)楦唠娖?/td>
回復(fù)

使用道具 舉報(bào)

ID:36299 發(fā)表于 2018-8-3 22:51 | 顯示全部樓層
用定時(shí)器先設(shè)置定時(shí)50MS吧,然后每進(jìn)入一次計(jì)數(shù)一次,20次計(jì)數(shù)到,就是定時(shí)1S
回復(fù)

使用道具 舉報(bào)

ID:373124 發(fā)表于 2018-8-4 11:03 | 顯示全部樓層
串口3分鐘接收不到發(fā)送端送來的指定數(shù)據(jù),就輸出(低電平)繼電器1秒后變回常態(tài)(高電平),如果又收到指定數(shù)據(jù),繼電器還是(高電平),沒收到指定數(shù)據(jù)一直輸出知道怎樣寫,就是輸出后取反就不行
回復(fù)

使用道具 舉報(bào)

ID:155507 發(fā)表于 2018-8-4 14:17 | 顯示全部樓層
用定時(shí)器先設(shè)置定時(shí)50MS吧,然后用狀態(tài)機(jī),用狀態(tài)邏輯實(shí)現(xiàn)
回復(fù)

使用道具 舉報(bào)

ID:373124 發(fā)表于 2018-8-4 17:48 | 顯示全部樓層
angmall 發(fā)表于 2018-8-4 14:17
用定時(shí)器先設(shè)置定時(shí)50MS吧,然后用狀態(tài)機(jī),用狀態(tài)邏輯實(shí)現(xiàn)

大俠,我是新手,能給個(gè)例子嗎?
回復(fù)

使用道具 舉報(bào)

ID:373499 發(fā)表于 2018-8-4 20:25 | 顯示全部樓層
先配置好定時(shí)器50ms   進(jìn)入中斷時(shí)候就計(jì)數(shù)和輸出低電平  計(jì)數(shù)達(dá)到20的時(shí)候說明時(shí)間到  輸出高電平即可
回復(fù)

使用道具 舉報(bào)

ID:381195 發(fā)表于 2018-8-4 21:44 | 顯示全部樓層
void configTimer1(unsigned int ms) //比如設(shè)置50ms
{        //此函數(shù)用來計(jì)算用戶需要的ms,然后轉(zhuǎn)化為定時(shí)器1進(jìn)入中斷1的高8位和低8位數(shù)字
    unsigned long tmp;  
   
    tmp = 11059200 / 12;      
    tmp = (tmp * ms) / 1000;   //除1000是把秒轉(zhuǎn)化為ms
    tmp = 65536 - tmp;         //計(jì)算出y
    tmp = tmp + 12;           //補(bǔ)償

    T0RH = (unsigned char)(tmp>>8);   //取出y的高8位
    T0RL = (unsigned char)tmp;                  //取出y的低8位

    TMOD &= 0xf0;   
    TMOD |= 0x10;   //配置定時(shí)器模式

    TH0 = T0RH;     //給定時(shí)器1中斷賦初值
    TL0 = T0RL;
    ET0 = 1;        //定時(shí)器1中斷打開
    TR0 = 1;        //啟動(dòng)T1
}


void interruptTimer0() interrupt 1
{
  unsigned char cnt=0;
TH0 = T0RH;
TL0 = T0RL;
        if(TF0==1)
                {TF0=0;cnt++;
             if(cnt>=20)
               {cnt=0;P1 = 0xff;}
}
               
               
}
框架大概這樣,可能會(huì)有點(diǎn)問題但是改改就行
回復(fù)

使用道具 舉報(bào)

ID:382993 發(fā)表于 2018-8-4 23:11 | 顯示全部樓層
做個(gè)定時(shí)器,在中斷中計(jì)數(shù),1s后將引腳拉高
回復(fù)

使用道具 舉報(bào)

ID:62797 發(fā)表于 2018-8-5 00:45 | 顯示全部樓層
用一個(gè)變量,每一秒加一,單數(shù)低雙數(shù)高
回復(fù)

使用道具 舉報(bào)

ID:373124 發(fā)表于 2018-8-6 15:21 | 顯示全部樓層
void Timer0() interrupt 1
{
        TH0 = 0xFC;
        TL0 = 0x66;
   TimeNo++;
   if(TimeNo >= 10000)
  {
   RELAY = 0;
  }
   TimeNo++;
  if(TimeNo >= 12000)
    {
   TimeNo = 12000;
   RELAY = 1;
   LED4 = 0;
}
}
請(qǐng)問這樣寫,繼電器恢復(fù)高電平后(釋放繼電器),聽到繼電器有吱吱響,觸發(fā)指示燈微亮,繼電器沒吸合,是什么問題?
回復(fù)

使用道具 舉報(bào)

ID:373124 發(fā)表于 2018-8-6 16:26 | 顯示全部樓層
請(qǐng)問大俠們,這樣寫,繼電器能復(fù)位,但是復(fù)位后,繼電器吱吱響,輸出燈有微光,是什么問題。
void Timer0() interrupt 1
{
        TH0 = 0xFC;
        TL0 = 0x66;
   TimeNo++;
   if(TimeNo >= 10000)
  {
   RELAY = 0;
  }
   TimeNo++;
  if(TimeNo >= 12000)
    {
   TimeNo = 12000;
   RELAY = 1;
   LED4 = 0;
}
}
回復(fù)

使用道具 舉報(bào)

ID:368940 發(fā)表于 2018-8-6 20:05 | 顯示全部樓層
根據(jù)晶振的計(jì)數(shù)寫一個(gè)delay函數(shù),通過計(jì)算可以確保時(shí)間的準(zhǔn)確性
回復(fù)

使用道具 舉報(bào)

ID:373124 發(fā)表于 2018-8-6 21:49 | 顯示全部樓層
cyfdc51 發(fā)表于 2018-8-6 20:05
根據(jù)晶振的計(jì)數(shù)寫一個(gè)delay函數(shù),通過計(jì)算可以確保時(shí)間的準(zhǔn)確性

用delay當(dāng)有串口信號(hào)來,跑不起來了
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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