PB_TEMP EQU 40H ;定义PORTB临时备份寄存器
ORG 0000H;单片机复位向量入口
NOP ;
goto main ;
ORG 0x004 ;中断复位向量入口
MOVF PORTB,W ;PORTB 内容放到W
MOVWF PB_TEMP ;W内容放到PB_TEMP
BTFSS PB_TEMP,4 ;判断RB4是否为低电平
GOTO PP4 ;是RB4输入,转到PP4执行PORTD加1
BTFSS PB_TEMP,5 ;判断RB5是否为低电平
DECF PORTD ;RB5低电平,是RB5输入,执行PORTD减1
PPQ BCF INTCON,RBIF ;B口电平中断标志位清零
RETFIE ;中断返回
PP4 INCF PORTD ;PORTD加1
GOTO PPQ ;转到PPQ退出中断
main BSF STATUS,5 ;
BSF TRISD ;定义RD口为输出入
CLRF TRISB,4 ;定义RB4、RB5为输出
CLRF TRISB,5
BCF STATUS,5 ;选择数据存储器体0
MOVWF INTCON ;送W数据到INTCON
CLRF PORTD ;PORTD口清零
GOTO $ ;原地等待
END ;
没学过汇编,临时想弄个程序来测试的,高手请赐教。帮忙修改下。可以直接编译的。
|