8051单片机汇编程序:P1.0引脚控制P1.7引脚
$NOMOD51 $INCLUDE (8051.MCU)
;==================================================================== ; DEFINITIONS ;====================================================================
;==================================================================== ; VARIABLES ;====================================================================
;==================================================================== ; RESET and INTERRUPT VECTORS ;====================================================================
; Reset Vector
org 0000h
jmp Start
;==================================================================== ; CODE SEGMENT ;====================================================================
org 0100h
Start: ; Write your code here MOV C, P1.0 JNC LABEL1 SETB P1.7 JMP LABEL2 LABEL1: CPL P1.7 LABEL2: CALL DELAY jmp START DELAY: MOV R1, #0FFH DELAY_1: MOV R2, #0FFH DJNZ R2, $ DJNZ R1, DELAY_1 RET ;==================================================================== END
这段程序是一个8051单片机的汇编程序。它的功能是读取P1.0引脚,如果引脚为低电平,则将P1.7引脚设置为高电平;如果引脚为高电平,则将P1.7引脚取反。程序使用了一个延时函数DELAY,用于延时一段时间。
程序的结构如下:
- 定义部分:包括引入8051单片机的头文件和一些宏定义;
- 声明变量部分:没有声明任何变量;
- 复位和中断向量部分:设置了复位向量,指向程序的入口;
- 代码段:程序的主要逻辑部分,从地址0100h开始;
- 程序入口Start:首先将P1.0引脚的状态读取到C位,然后根据C位的值进行条件判断;
- LABEL1:如果P1.0引脚为低电平,则设置P1.7引脚为高电平;
- LABEL2:跳转到LABEL2;
- DELAY:调用延时函数,延时一段时间;
- jmp START:跳转回程序入口;
- 延时函数DELAY:该函数使用两个循环嵌套实现了延时功能。
原文地址: https://www.cveoy.top/t/topic/cbUy 著作权归作者所有。请勿转载和采集!