8051汇编 8个按键分别控制8个LED

来源:互联网 发布:西南交大远程网络教育 编辑:程序博客网 时间:2024/05/17 02:07

前段时间一直用的C语言编写8051程序,但要更深入的了解单片机的底层原理,还是得使用汇编

以下是我写的练习,8个按键分别控制8个LED

LED是高电平点亮,接在P1口

按键是低电平表示触发,接在P0口


ORG 0000HJMP INITORG 0030HINIT:MOV P1, #00H;初始化LED IO,高电平有效MOV P0, #0FFH;初始化按键IO,低电平有效MOV A, #01HMAIN:MOV R0, A ;保存A的状态ADD A, P0;将A的值与P0相加CJNE A, #0FFH, NO_PRESS ;如果相加后的结果不为FFH,跳转            ACALL DELAY     ;调用延时,防抖            MOV A, R0            ADD A, P0            CJNE A, #0FFH, NO_PRESSMOV P1, R0;如果相加后的结果为FFH,设置LEDNO_PRESS:MOV A, R0;还原A的状态RL A;A向左位移JMP MAIN;跳转到MAIN,循环执行            DELAY:      MOV R7, #26H    ;10ms延时LOOP1:      MOV R6, #82H            DJNZ R6, $            DJNZ R7, LOOP1RET            END




原创粉丝点击