导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→两个程序,汇编和C,请教

* 60604: 两个程序,汇编和C,请教

   baolqkun 
baolqkun发表的帖子 

 两个程序,汇编和C,请教
 #include   <ADUC834.H>  

 ORG  0H   
 LJMP MAIN 
 org  03h    
 ljmp inta  ;INT0中断
 ORG  13H
 LJMP INTb  ;INT1 INT
 ORG  23H
 LJMP INTc  ;SIO INT
 ORG  30H
MAIN: 
 MOV SP,#0E0H ;INIT SP=E0H
;

; CONFIGURE UART....

 MOV     T3CON,#82h
 MOV     T3FD,#12h
 MOV     SCON,#52h

 SETB IT1  //INT1负边沿触发
 SETB EX1  //INT1中断有效 
 SETB ES
 SETB  IT0  //INT0负边沿触发
 SETB EX0  //INT0中断有效
 SETB EA
;
;********* MIN PROC
;
WORK: 
  LJMP WORK

;******** 时钟中断,INT0
;
INTa: 
 PUSH ACC
 PUSH B
 PUSH DPH
 PUSH DPL
 PUSH PSW
;
LTE: 
 POP PSW
 POP DPL
 POP DPH
 POP B
 POP ACC
 RETI
;
;******** 按键中断,INT1
;
INTb: 
 PUSH PSW
 PUSH ACC
 PUSH DPL
 PUSH DPH

 mov  a,#31h
 lcall sou1 //串行口输出子程序
 mov  a,#0dh
 lcall sou1  //串行口输出子程序
 mov  a,#0ah
 lcall sou1 //串行口输出子程序 
 LCALL WAT4
;
IBE: 
 POP DPH
 POP DPL
 POP ACC
 POP PSW
 RETI
;

C程序
#include   <ADuC834.h>  
#include   <stdio.h>   

void service_int1 () interrupt 2 using 2
{
printf("a");                                                           
}

  main ()
{
// char a;
    //Configure UART ,9600波特率
    T3CON = 0x82;
    T3FD = 0x12;
    SCON = 0x52;

    IT0=1;   //负边沿触发
 EX0=1;   //开中断INT0
 IT1=1;   //负边沿触发
    EX1=1;   //开中断1
 ES=1;   //开串行口中断
 EA=1;     //开所有中断
do{  }while(1);
 }

硬件一样
汇编有输出
C没有输出
有人知道为什么吗?

谢谢

发表时间:2004年8月18日11:40:54

  
回复该帖

本主题共有 3 帖,分页:>>>>>该主题的所有内容[3]条

 *树形目录 只列出部分跟帖的标题以及简单的摘要信息 该主题的部分跟帖如下:

  60610.[详细]TI = TRUE;
摘要:TI = TRUE;......(10字)
- [guest][792次] 2004年8月18日

  60619.[详细]问题解决了但是解决问题的办法很费解我就置了中断优先级PX1=1;问题解决了而汇编没有置中断优先级不..
摘要:问题解决了 但是解决问题的办法很费解 我就置了中断优先级 PX1=1; 问题解决了 而汇编没有置中断优先级 不是也能用吗?......(116字)
- [baolqkun][947次] 2004年8月18日

[上一篇帖子]:菜鸟请问#ifdef debug的功能:#ifdef debug pri
[下一篇帖子]:推荐两本学习51单片机的好书<单片机语言C51程序设计>(含编译的源代码1CD)&nbs