您的位置:首页 > 其它

汇编语言学习——通过两个开关实现一个数码管的数字显示

2018-02-24 10:30 471 查看
初次学习汇编语言,也是初次使用博客来记录自己的学习点滴,一起加油!
实验工具:
本次实验的使用了Proteus仿真工具,使用的是keil5编写汇编程序
实验目的:
进一步熟悉汇编语言的使用
实现功能:
通过两个按键控制原理图里的数码管显示0-9,一个按钮为增加,一个按钮为减少。
实验原理图



实验程序(程序里我都加了详细的注释 ORG 0
START:         MOV A,#0            ;给ACC赋初值作为要显示的值
SETB P2.0        ;把P2.0,P2.1设置为输入
SETB P2.1
LOOP:         MOV P0,A        ;将ACC里面的值赋给P0口
JNB P2.0,INCR    ;如果P2.0的值等于0也就是按下P2.0按钮就跳转到INCR执行
JNB P2.1,DECR    ;同理
JMP LOOP        ;如果都没有按下就循环执行LOOP
;=================================
INCR: CALL DELAY                         ;调用延时函数去抖
JNB P2.0,$         ;松手检测$代表跳转本身
CJNE         A,#9,NINE;    ;如果A==9就把A置零不等于9则跳转到NINE处执行
MOV A,#0
JMP LOOP
NINE:         INC A
; DA A
JMP LOOP
;==================================
DECR:     CALL DELAY             ;同INCR
JNB P2.1,$
JZ ZERO        ;若ACC等于0跳转到ZERO执行
DEC A
JMP LOOP
ZERO:     MOV A,#9
JMP LOOP
;==================================
DELAY:         MOV R7,#200   ;延时0.1s
D1: MOV R6,#250
DJNZ R6,$
DJNZ R7,D1
RET
;===================================
END
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐