邃梦 2021-07-04 11:34 采纳率: 0%
浏览 22

合泰单片机,堆栈溢出

单不进入中断子程序时显示堆栈溢出。

但是直接运行是没有显示溢出,但是也好像进去不了中断程序。因为用的是定时器,感觉好像定时器没发挥作用。

include HT66F0185.inc

 

ds .section 'data'

 

 

 

cs .section at 000h 'code'

MY_DATA .SECTION 'DATA'

DEL1 DB ?

DEL2 DB ?

DEL3 DB ?

DEL4 DB ?

DEL5 DB ?

DEL6 DB ?

 STACK_A DB ?

 STACK_STATUS DB ?

DIGIT DB 2 DUP (?)

SCAN DB ?

SCAN1 DB ?

COUNT DB ?

COUNT1 DB ?

SEG_PORT EQU PC

SEG_PORTC EQU PCC

SCAN_PORT EQU PB

SCAN_PORTC EQU PBC

SCAN1_PORT EQU PD

SCAN1_PORTC EQU PDC

MY_CODE .SECTION AT 0 'CODE'

        ORG 00H

        JMP INIT

        ORG 14H

        MOV A,10101000B

        MOV WDTC,A

        JMP ISR_STM

INIT:

      CLR SCAN_PORTC

      CLR SCAN1_PORTC

          MOV A,10101000B

        MOV WDTC,A

        MOV A,00000000B

        MOV TM2C0,A

        MOV A,11000001B

        MOV TM2C1,A

        MOV A,LOW 1000

        MOV TM2AL,A

        MOV A,HIGH 1000

        MOV TM2AH,A

       

        SET MF0E

        SET T2AE

         SET EMI

         ;SET T2ON 

        MOV A,00010000B

      MOV SCAN,A

     MOV SCAN_PORT,A

       CLR SEG_PORTC  

      

 

        MOV A,OFFSET TAB_7_SEG

        MOV TBLP,A

        MOV A,10

        MOV COUNT,A

        MOV COUNT1,A

RE_START:

        CLR DIGIT[0]

        CLR DIGIT[1]

        

LOOP:

        SET T2ON

        MOV A,OFFSET TAB_7_SEG

        MOV TBLP,A

        MOV A,DIGIT[0]

        ADDM A,TBLP

        TABRDL SEG_PORT

        MOV A,00010000B

        MOV SCAN,A

        MOV SCAN_PORT,A

        MOV A,1

        CALL DELAY1

       CLR SCAN_PORT

        

LOOP1:  

        MOV A,OFFSET TAB_7_SEG

        MOV TBLP,A

        MOV A,DIGIT[1]

        ADDM A,TBLP

        TABRDL SEG_PORT

        MOV A,00000001B

        MOV SCAN1,A

        MOV SCAN1_PORT,A 

        MOV A,1

        CALL DELAY1 

        CLR SCAN1_PORT 

        JMP LOOP

 

ISR_STM:

      MOV STACK_A,A

      MOV A,STATUS

      MO

 MOV STACK_STATUS,A  

      INC DIGIT[0]

    

        SDZ COUNT1

        JMP $+9

        MOV A,10

        MOV COUNT1,A

        CLR DIGIT[0]

        INC DIGIT[1]

        SDZ COUNT 

        JMP $+3  

            MOV A,10

        MOV COUNT,A 

        CLR T2ON 

        CLR T2AF

          MOV A,STACK_STATUS

       MOV STATUS,A

        MOV A,STACK_A

        RETI 

  • 写回答

0条回答 默认 最新

      报告相同问题?

      相关推荐 更多相似问题

      悬赏问题

      • ¥15 我想用matlab处理spm8和vbm8的数据分析,用于分析nii文件各种脑区的图像,但是在第一步使用estimate and write中就出错,如何解决?
      • ¥15 能否给一个SOCKET通转USB通信的安卓程序代码
      • ¥15 前端js跨域请求问题
      • ¥15 C++SMTP服务器
      • ¥15 为什么52单片机测温实物LCD不显示数值?(c语言)
      • ¥30 《红色警戒2》最新mod《泰矿危机2》修改敌方单位阵营易语言
      • ¥15 C语言频闪问题与时间显示
      • ¥15 利用funguild进行大型真菌生态型划分
      • ¥20 急!希望找到这个程序的作者help
      • ¥20 windows系统文件缺失去