找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1288|回复: 2
收起左侧

单片机2个定时中断同时使用的问题,求分析

[复制链接]
ID:622433 发表于 2020-12-8 23:16 | 显示全部楼层 |阅读模式
中断部分如下:两个定时中断中都用到了A,调试时歌曲一直演唱第一个音,发现定时器1中断中*号下方的根本没执行,A中的数据始终是0C8H,
调试了一个礼拜,还是不知道哪错了,求各位大佬帮忙,不胜感激。爱你们。
T00:    CPL SOUND     //定时器0中断 产生音调
           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       //该定时中断产生节拍,每个音调演奏的时长
         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

回复

使用道具 举报

ID:401564 发表于 2020-12-9 08:32 | 显示全部楼层
要有完整的程序,不然看不明白
还有,进入中断,必需先进行现场保护
=====================================
T0_ISR:        PUSH          ACC                                                       
                    PUSH          PSW                                                       
...................执行代码.....................                                                               
                POP           PSW                                                       
                POP           ACC                                                       
RETI         
=================================                                                                                       
回复

使用道具 举报

ID:517951 发表于 2020-12-9 09:07 | 显示全部楼层
两个中断同时使用,可以将其中一个暂时关闭中断请求,待中断处理结束时候再打开另外一个中断,重新给初始化值。也可以设置两个中断的优先级,其中重要的处理事项优先级调高。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表