编写程序把三个数的百位,十位,个位用三个数码管显示出来
答案:2 悬赏:80
解决时间 2021-03-03 14:39
- 提问者网友:雨之落き
- 2021-03-02 19:19
用汇编指令编写
最佳答案
- 二级知识专家网友:余生继续浪
- 2021-03-02 19:35
;++++++++++++++[[ 数码管显示子程序段 LEDBBK ]]+++++++++++++++++++++++
;入口参数存于ACC中 +
;影响资源,ACC,PSW,DPTR,B +
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
LED: PUSH PSW ;保护现场
PUSH DPH
PUSH DPL
PUSH ACC
PUSH B
MOV B,#100
DIV AB
MOV A,B
MOV B,#10
DIV AB
MOV DPTR,#LEDTAB
MOVC A,@A+DPTR ;查笔型表
MOV 1DH,A
MOV A,B
MOVC A,@A+DPTR
MOV 1CH,A
LCALL STO ;数据送显示器
POP B
POP ACC
POP DPL
POP DPH
POP PSW
RET
;################## [[ 参数显示主程序 ]] ######################
LED1: PUSH PSW ;保护现场
PUSH DPH
PUSH DPL
PUSH ACC
PUSH B
MOV B,#100
DIV AB
MOV A,B
MOV B,#10
DIV AB
MOV DPTR,#LEDTAB
MOVC A,@A+DPTR ;查笔型表
MOV 1BH,A
MOV A,B
MOVC A,@A+DPTR
MOV 1AH,A
LCALL STO ;数据送显示器
POP B
POP ACC
POP DPL
POP DPH
POP PSW
RET
;################# 第一个数码管显示 ################################
LED2: PUSH PSW ;保护现场
PUSH DPH
PUSH DPL
PUSH ACC
MOV DPTR,#LEDTAB
MOVC A,@A+DPTR ;查笔型表
MOV 1DH,A
LCALL STO
POP ACC
POP DPL
POP DPH
POP PSW
RET
;################# 第二个数码管显示 ################################
LED3: PUSH PSW ;保护现场
PUSH DPH
PUSH DPL
PUSH ACC
MOV DPTR,#LEDTAB
MOVC A,@A+DPTR ;查笔型表
MOV 1CH,A
LCALL STO
POP ACC
POP DPL
POP DPH
POP PSW
RET
;################ 串行通信发送子程序 ############################
STO: CLR TR0 ;关闭定时器
PUSH ACC
MOV R1,#04H ;设置为4个数码管
MOV R0,#1DH ;第一个数码管地址为14H
STO1: MOV A,@R0
MOV B,#08
STO2: RRC A
MOV MRXD,C
CLR MTXD
NOP
SETB MTXD
DJNZ B,STO2
SETB MRXD
DEC R0 ;取下一位数据
DJNZ R1,STO1
SETB TR0 ;开定时器
POP ACC
RET
;入口参数存于ACC中 +
;影响资源,ACC,PSW,DPTR,B +
;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
LED: PUSH PSW ;保护现场
PUSH DPH
PUSH DPL
PUSH ACC
PUSH B
MOV B,#100
DIV AB
MOV A,B
MOV B,#10
DIV AB
MOV DPTR,#LEDTAB
MOVC A,@A+DPTR ;查笔型表
MOV 1DH,A
MOV A,B
MOVC A,@A+DPTR
MOV 1CH,A
LCALL STO ;数据送显示器
POP B
POP ACC
POP DPL
POP DPH
POP PSW
RET
;################## [[ 参数显示主程序 ]] ######################
LED1: PUSH PSW ;保护现场
PUSH DPH
PUSH DPL
PUSH ACC
PUSH B
MOV B,#100
DIV AB
MOV A,B
MOV B,#10
DIV AB
MOV DPTR,#LEDTAB
MOVC A,@A+DPTR ;查笔型表
MOV 1BH,A
MOV A,B
MOVC A,@A+DPTR
MOV 1AH,A
LCALL STO ;数据送显示器
POP B
POP ACC
POP DPL
POP DPH
POP PSW
RET
;################# 第一个数码管显示 ################################
LED2: PUSH PSW ;保护现场
PUSH DPH
PUSH DPL
PUSH ACC
MOV DPTR,#LEDTAB
MOVC A,@A+DPTR ;查笔型表
MOV 1DH,A
LCALL STO
POP ACC
POP DPL
POP DPH
POP PSW
RET
;################# 第二个数码管显示 ################################
LED3: PUSH PSW ;保护现场
PUSH DPH
PUSH DPL
PUSH ACC
MOV DPTR,#LEDTAB
MOVC A,@A+DPTR ;查笔型表
MOV 1CH,A
LCALL STO
POP ACC
POP DPL
POP DPH
POP PSW
RET
;################ 串行通信发送子程序 ############################
STO: CLR TR0 ;关闭定时器
PUSH ACC
MOV R1,#04H ;设置为4个数码管
MOV R0,#1DH ;第一个数码管地址为14H
STO1: MOV A,@R0
MOV B,#08
STO2: RRC A
MOV MRXD,C
CLR MTXD
NOP
SETB MTXD
DJNZ B,STO2
SETB MRXD
DEC R0 ;取下一位数据
DJNZ R1,STO1
SETB TR0 ;开定时器
POP ACC
RET
全部回答
- 1楼网友:我们只是兮以城空
- 2021-03-02 20:13
也就是动态扫描,轮流显示,我的博客上有很多程序,都带显示,但绝大部分都是c语言,不过,你看懂了,就可以自己写了。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |