找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

單片機2個定時中斷同時使用的問題,求分析

[復(fù)制鏈接]
ID:622433 發(fā)表于 2020-12-8 23:16 | 顯示全部樓層 |閱讀模式
中斷部分如下:兩個定時中斷中都用到了A,調(diào)試時歌曲一直演唱第一個音,發(fā)現(xiàn)定時器1中斷中*號下方的根本沒執(zhí)行,A中的數(shù)據(jù)始終是0C8H,
調(diào)試了一個禮拜,還是不知道哪錯了,求各位大佬幫忙,不勝感激。愛你們。
T00:    CPL SOUND     //定時器0中斷 產(chǎn)生音調(diào)
           MOV DPTR,#TONE1
        MOV A,R0
        MOVC A,@A+DPTR      
        MOV TH0,A
        MOV DPTR,#TONE2
        MOV A,R1
        MOVC A,@A+DPTR
        MOV TL0,A      
OUT00:  RETI

T01:  MOV TH1,#9EH       //該定時中斷產(chǎn)生節(jié)拍,每個音調(diào)演奏的時長
         MOV TL1,#58H
         MOV DPTR,#RHYTHM   
        MOV A,R2         
         MOVC A,@A+DPTR
         MOV BEAT,A               
        DJNZ BEAT,OUT01        
********************         
        INC R0    //這部分運行時條件不滿足,  始終保持初值不變,初值R0-R2都是0.
        INC R1
       INC R2
             DEC R3                 
OUT01: RETI   

TONE1: DB 0FDH,0FDH,0FDH,0FDH,0FEH,0FDH,0FDH,0FDH
       DB 0FDH,0FDH,0FDH,0FDH,0FDH,0FCH,0FDH,0FBH,0FDH,0FDH,0FCH
                 DB 0FCH,0FDH,0FDH,0FDH,0FDH,0FDH,0FCH,0FCH
                 DB 0FDH,0FDH,0FCH,0FCH,0FBH,0FCH,0FBH

TONE2: DB 0C8H,82H,0AH,82H,22H,0C8H,82H,0C8H
       DB 0AH,82H,0C8H,82H,0AH,0ADH,44H,90H,82H,0AH,0ADH
                 DB 0ADH,0AH,82H,82H,0C8H,0AH,0ADH,44H
                 DB 82H,0AH,0ADH,44H,90H,44H,04H

RHYTHM: DB 45,15,30,30,30,15,15,60
        DB 30,15,15,30,15,15,15,15,15,15,60
                  DB 45,15,30,15,15,45,15,60
                  DB 45,15,15,15,15,15,60

回復(fù)

使用道具 舉報

ID:401564 發(fā)表于 2020-12-9 08:32 | 顯示全部樓層
要有完整的程序,不然看不明白
還有,進入中斷,必需先進行現(xiàn)場保護
=====================================
T0_ISR:        PUSH          ACC                                                       
                    PUSH          PSW                                                       
...................執(zhí)行代碼.....................                                                               
                POP           PSW                                                       
                POP           ACC                                                       
RETI         
=================================                                                                                       
回復(fù)

使用道具 舉報

ID:517951 發(fā)表于 2020-12-9 09:07 | 顯示全部樓層
兩個中斷同時使用,可以將其中一個暫時關(guān)閉中斷請求,待中斷處理結(jié)束時候再打開另外一個中斷,重新給初始化值。也可以設(shè)置兩個中斷的優(yōu)先級,其中重要的處理事項優(yōu)先級調(diào)高。
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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