51单片机用汇编编写两个按键控制led亮度,一个增加亮度,一个减小亮度
时间: 2024-04-30 17:24:57 浏览: 114
下面是51单片机用汇编编写两个按键控制led亮度的代码,其中一个按键增加亮度,另一个按键减小亮度:
```
ORG 0
MOV P0, #0 ; 初始化P0口为输出口
MOV A, #0 ; 初始化A寄存器为0,表示led亮度的初始值为0
LOOP:
MOV P0, A ; 将A寄存器的值赋值给P0口,控制led亮度
JB P1.0, INC ; 如果P1.0口为低电平,跳转到INC子程序
JB P1.1, DEC ; 如果P1.1口为低电平,跳转到DEC子程序
SJMP LOOP ; 如果两个按键都没有按下,继续循环
INC:
ADD A, #1 ; A寄存器加1,增加led亮度
CJNE A, #255, LOOP ; 如果A寄存器的值不等于255,跳转回LOOP
JMP LOOP ; 如果A寄存器的值等于255,跳转回LOOP
DEC:
SUBB A, #1 ; A寄存器减1,减小led亮度
CJNE A, #0, LOOP ; 如果A寄存器的值不等于0,跳转回LOOP
JMP LOOP ; 如果A寄存器的值等于0,跳转回LOOP
```
在这个程序中,我们使用了P0口控制led的亮度,A寄存器存储led的亮度值。当按下P1.0口时,led的亮度会增加,当按下P1.1口时,led的亮度会减小。程序会不断循环,等待按键的按下。
阅读全文