51单片机汇编

编程入门 行业动态 更新时间:2024-10-17 09:45:49

51<a href=https://www.elefans.com/category/jswz/34/1769836.html style=单片机汇编"/>

51单片机汇编

文章目录

  • 前言
  • 1.打开IDE
  • 2.设置编辑器
  • 3.设置输出
  • 4. 原理图
  • 5.编写代码
  • 6 编译
  • 7.下载
  • 8.其它代码
    • 1.LED闪烁
    • 2.跑马灯

前言


51单片机基础
本章主要介绍打开一个led,具体采用51汇编


1.打开IDE

选择STC89C52RC

后缀是.asm


2.设置编辑器

3.设置输出

4. 原理图


5.编写代码

ORG 00H;伪代码,程序起始位置
MOV A,#11111110B ;存入显示灯的位置数据为累加器A
MOV P1,A
JMP $ ;程序在这里停止
END

其中#11111110可以写为0FEH,不要忘了前面的0

上面可以不用A,直接可以负值,因为P1是片内ram,所以不需要A,如果是片外ram,就需要A

ORG 00H
MOV P1,#11111110B ;存入显示灯的位置数据为累加器A
JMP $ ;程序在这里停止
END
ORG 
CLR P1.7 ;清除1bit
JMP $ ;程序在这里停止
END

6 编译

7.下载

8.其它代码

1.LED闪烁

ORG 00H
START:CLR P1.0CALL DELAYSETB  P1.0CALL DELAYJMP STARTDELAY:MOV R5, #25
D1:MOV R6,#100
D2:MOV R7,#100DJNZ R7, $ ;$表示继续执行这一句DJNZ R6,D2DJNZ R5,D1RETEND



延时1s

`

2.跑马灯

从P1.0开始,循环依次点亮

ORG 00H
START:MOV R0,#7MOV A, #0FEHLOOP:MOV P1,ACALL DELAYRL A ;左移一位DJNZ R0, LOOPDELAY:MOV R5, #50
D1:MOV R6, #100
D2:MOV R7, #100DJNZ R7,$DJNZ R6,D2DJNZ R5,D1RETEND

加强版

ORG 00H
START:MOV R0,#7MOV A, #0FEHLOOP:MOV P1,ACALL DELAYRL A ;左移一位DJNZ R0, LOOPMOV R1 , #3MOV A,#00HLOOP1:MOV P1, ACALL DELAYCPL A;DJNZ R1,LOOP1JMP STARTDELAY:MOV R5, #50
D1:MOV R6, #100
D2:MOV R7, #100DJNZ R7,$DJNZ R6,D2DJNZ R5,D1RETEND

更多推荐

51单片机汇编

本文发布于:2023-11-16 12:07:22,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1622547.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:单片机

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!