標(biāo)題: 求助,練習(xí)獨(dú)立寫(xiě)了個(gè)51單片機(jī)的中斷程序,但是沒(méi)有實(shí)現(xiàn)預(yù)期硬件上的效果 [打印本頁(yè)]

作者: Pikachu233    時(shí)間: 2024-1-31 19:25
標(biāo)題: 求助,練習(xí)獨(dú)立寫(xiě)了個(gè)51單片機(jī)的中斷程序,但是沒(méi)有實(shí)現(xiàn)預(yù)期硬件上的效果
,如圖所示,我想用定時(shí)器0的方式1實(shí)現(xiàn)第一個(gè)二極管以200ms間隔閃爍,用定時(shí)器1的方式1實(shí)現(xiàn)第二個(gè)二極管以1s間隔閃爍,但是實(shí)驗(yàn)結(jié)果只有第一個(gè)燈亮。而且不閃爍。誠(chéng)信程序如圖,想讓大佬看看是哪里編程有問(wèn)題

IMG_20240131_191820.jpg (1.33 MB, 下載次數(shù): 97)

IMG_20240131_191820.jpg

IMG_20240131_191835.jpg (1.23 MB, 下載次數(shù): 104)

IMG_20240131_191835.jpg

IMG_20240131_191844.jpg (1.34 MB, 下載次數(shù): 100)

IMG_20240131_191844.jpg

IMG_20240131_191851.jpg (1.3 MB, 下載次數(shù): 105)

IMG_20240131_191851.jpg

作者: Pikachu233    時(shí)間: 2024-1-31 19:26
效果如圖所示

IMG_20240131_192602.jpg (703.94 KB, 下載次數(shù): 102)

IMG_20240131_192602.jpg

作者: hhh402    時(shí)間: 2024-1-31 21:15
呵呵,樓主的中斷一點(diǎn)意義都沒(méi)有,num=0~19,當(dāng)num=4時(shí),led0會(huì)翻轉(zhuǎn),但是速度太快,人眼看到的是長(zhǎng)亮,num最大是19不會(huì)=20,所以led1不會(huì)亮。
作者: wulin    時(shí)間: 2024-1-31 21:18
Pikachu233 發(fā)表于 2024-1-31 19:26
效果如圖所示

定時(shí)器中斷不是你這樣玩的,一個(gè)定時(shí)器能完成的任務(wù)就不要開(kāi)兩個(gè)定時(shí)器。給你改了。
#include <reg52.h>

sbit led0=P2^0;
sbit led1=P2^1;

typedef unsigned char u8;
typedef unsigned int u16;

u8 num;
u8 flag;

void main()
{
        TMOD=0x01;
        TH0=(65536-50000)/256;
        TL0=(65536-50000)%256;
        TR0=1;
        ET0=1;
        EA =1;
        while (1)
        {
                if(flag==1)
                {
                        flag=0;
                        num++;
                        if(num%2==0)//100ms
                        {
                                led0=~led0;
                        }
                        if(num>=10)//500ms
                        {
                                num=0;
                                led1=~led1;
                        }
                }
        }
}

void shine() interrupt 1
{
        TH0=(65536-50000)/256;
        TL0=(65536-50000)%256;
        flag=1;
}

作者: lkc8210    時(shí)間: 2024-1-31 22:00
找個(gè)定時(shí)器中斷的例程對(duì)比一下吧
作者: joyb    時(shí)間: 2024-2-1 09:09
自己能解決問(wèn)題,進(jìn)步更快
作者: 小荷探頭    時(shí)間: 2024-2-1 10:29
中斷一般做定時(shí)標(biāo)志,主循環(huán)讀取標(biāo)記并取消標(biāo)志。
作者: Pikachu233    時(shí)間: 2024-2-1 10:29
我找到問(wèn)題了,我對(duì)硬件TMod的理解不對(duì),打開(kāi)兩個(gè)定時(shí)器的方式1是是0x11
作者: Pikachu233    時(shí)間: 2024-2-1 10:32
懸賞解決了,黑幣怎么發(fā)啊




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1