27,372
社区成员
发帖
与我相关
我的任务
分享
INTT0:
PUSH ACC ; 为了不覆盖A只堆入不弹出 但是程序也不可以 按下按钮后数码管无变化
INC R5
CJNE R5,#10H,CLOSE
MOV R5,#09H
CLOSE:
POP ACC
RETI
INTT1:
PUSH ACC ;为了不覆盖A只堆入不弹出 但是程序也不可以 按下按钮后数码管无变化
DEC R5
CJNE R5,#FFh,NOEQU1
MOV R5,#00H ;R5=FF
NOEQU1:
POP ACC
RETI
里面的#10H应该是#0AH吧
/*波特率相关设置*/
UART_DIV = (float)(72000000/(16*Baud));
DIV_Dantissa = UART_DIV; //截取整数部分
DIV_Fraction = (UART_DIV - DIV_Dantissa)*16; //截取小数部分
DIV_Dantissa <<= 4; //整数部分放到4:15位
DIV_Dantissa += DIV_Fraction; //得到DIV的数值
USART1->BRR = DIV_Dantissa; //将计算值赋值到BRR寄存器
INTT0:
PUSH ACC ; 为了不覆盖A只堆入不弹出 但是程序也不可以 按下按钮后数码管无变化
INC R5
CJNE R5,#10H,CLOSE
MOV R5,#09H
CLOSE:
POP ACC
RETI
INTT1:
PUSH ACC ;为了不覆盖A只堆入不弹出 但是程序也不可以 按下按钮后数码管无变化
DEC R5
CJNE R5,#FFh,NOEQU1
MOV R5,#00H ;R5=FF
NOEQU1:
POP ACC
RETI
MOV SP,#70H ;堆栈指针
MOV DPTR,#TABLE ;查表
MOV R5,#00H;计数初值
L0:MOV A,R5
MOVC A,@A+DPTR
MOV P0,A
LCALL DELAY;调用延时程序
LJMP L0;等待中断
ORG 0200H
INTT0:
PUSH ACC ; 为了不覆盖A只堆入不弹出 但是程序也不可以 按下按钮后数码管无变化
INC R5
CJNE R5,#09H,CLOSE
MOV R5,#09H
CLOSE:
POP ACC
RETI
INTT1:
PUSH ACC ;为了不覆盖A只堆入不弹出 但是程序也不可以 按下按钮后数码管无变化
DEC R5
CJNE R5,#00h,NOEQU1
MOV R5,#00H ;R5=FF
NOEQU1:
POP ACC
RETI
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP INTT0
ORG 0013H
LJMP INTT1
ORG 0100H
MAIN:
SETB P2^3 //选中第8个数码管
SETB P2^4
SETB P2^2
SETB EA ;开中断
SETB EX0 ;低电平触发
SETB IT0
SETB EX1
SETB IT1
MOV SP,#70H ;堆栈指针
MOV DPTR,#TABLE ;查表
MOV R5,#00H;计数初值
MOV A,R5
MOVC A,@A+DPTR
MOV R4,A
L0:MOV P0,R4
LCALL DELAY;调用延时程序
LJMP L0;等待中断
ORG 0200H
INTT0:PUSH ACC ; 为了不覆盖A只堆入不弹出 但是程序也不可以 按下按钮后数码管无变化
INC R5
CJNE R5,#09H,NOEQU
LJMP CLOSE
NOEQU:JNC NEXT1;C=0 没有进阶位,R5大于9,跳转至赋值语句
LJMP CLOSE ;R5<9
NEXT1:MOV R5,#09H
CLOSE:MOV A,R5
MOVC A,@A+DPTR ;只放在A中,不刷新显示 //////可以把A放在另一个R4中 然后依然有堆入弹出,使用R4刷新显示 ?
MOV R4,A
POP ACC
RETI
INTT1:PUSH ACC ;为了不覆盖A只堆入不弹出 但是程序也不可以 按下按钮后数码管无变化
DEC R5
CJNE R5,#00h,NOEQU1
LJMP CLOSE1
NOEQU1:CJNE R5,#0FFH, CLOSE1 ;R5!=FF
MOV R5,#00H ;R5=FF
CLOSE1:MOV A,R5
MOVC A,@A+DPTR ;只放在A中,不刷新显示
MOV R4,A
POP ACC
RETI
DELAY:MOV R0,#255
L1:MOV R1,#255
DJNZ R1,$
DJNZ R0,L1
RET
TABLE:DB 03FH
DB 06H
DB 5BH
DB 4FH
DB 66H
DB 6DH
DB 7DH
DB 07H
DB 7FH
DB 6FH
END