51单片机汇编-点亮一个led

文章目录

  • 前言
  • 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/161310.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux之按键中断

查看原理图确认引脚 可以看到按键有两个,分别对应GPIO5_1和GPIO4_14 配置pinctrl,配置成GPIO模式 1.使用官方工具,配置下引脚 2.将生成的代码复制到设备树里 创建设备节点 生成二进制设备树文件 在工具链表下使用 make dtbs 或者使…

加法运算、 || 、 赋值运算

一、加法运算 在这里插入图片描述 二、&& || 三、赋值运算 四、js类型就八种: 五、css权重、 六:布局,尽量使用块盒。 七、小数精度存储的问题:存的不精确,算的肯定也是有问题的。 八、找单身狗算法题…

Unity之UI、模型跟随鼠标移动(自适应屏幕分辨率、锚点、pivot中心点)

一、效果 UI跟随鼠标移动, 动态修改屏幕分辨率、锚点、pivot等参数也不会受到影响。同时脚本中包含3d物体跟随ui位置、鼠标位置移动 二、屏幕坐标、Canvas自适应、锚点、中心点 在说原理之前我们需要先了解屏幕坐标、Canvas自适应、锚点、中心的特性和之间的关系。 1.屏幕坐标…

Leetcode—110.平衡二叉树【简单】

2023每日刷题(十九) Leetcode—110.平衡二叉树 实现代码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/ int preFunc(struct TreeNode* root) {if(root…

【入门Flink】- 06Flink作业提交流程【待完善】

Standalone 会话模式作业提交流程 代码生成任务的过程: 逻辑流图(StreamGraph)→ 作业图(JobGraph)→ 执行图(ExecutionGraph)→物理图(Physical Graph)。 作业图算子链…

@Slf4j将日志记录到磁盘和数据库

文章目录 1、背景介绍2、存本地2.1、配置文件2.2、使用 3、存数据库3.1、配置文件改造3.2、过滤器编写3.3、表准备3.4、添加依赖3.5、测试 4、优化4.1、日志定期删除 1、背景介绍 现在我一个SpringBoot项目想记录日志,大概可以分为下面这几种: 用户操作…

一天写一个(前端、后端、全栈)个人简历项目(附详源码)

一、项目简介 此项目是用前端技术HTMLCSSjquery写的一个简单的个人简历项目模板,图片可点击放大查看,还可以直接下载你的word或者PDF的简历模板。 如果有需要的同学可以直接拿去使用,需自行填写个人的详细信息,发布,…

峰回网关数采PLC

1.网络配置 例如:plc地址是192.168.1.56 1.访问网关 峰回网关默认网关地址 192.168.3.18,或者(10.10.253.354),本案例按照3.18讲解。 1和1相连,0和电脑相连 本地电脑修改ip为192.168.3.3(和3…

6 从物理层到MAC层

1、实现局域网中玩游戏 在早期的80后的大学宿舍中,组件一个宿舍的局域网,以便于宿舍内部可以玩游戏. 第一层(物理层) 1.首先是实现电脑连接电脑,需要依靠网线,有两个头。 2.一头插在一台电脑的网卡上&am…

立创eda专业版学习笔记(7)(阻焊开窗)

阻焊开窗是什么? 在介绍阻焊开窗之前,我们首先要知道阻焊层是什么。阻焊层是指印刷电路板子上要上油墨的部分,用于覆盖走线和敷铜,以保护PCB上的金属元素和防止短路。阻焊开窗是指在阻焊层上开一个口,以便在开口的位置…

3.线性神经网络-3GPT版

#pic_center R 1 R_1 R1​ R 2 R^2 R2 目录 知识框架No.1 线性回归基础优化算法一、线性回归1、买房案例2、买房模型简化3、线性模型4、神经网络5、损失函数6、训练数据7、参数学习8、显示解9、总结 二、 基础优化算法1、梯度下降2、学习率3、小批量随机梯度下降4、批量大小5、…

数据结构之队的实现

𝙉𝙞𝙘𝙚!!👏🏻‧✧̣̥̇‧✦👏🏻‧✧̣̥̇‧✦ 👏🏻‧✧̣̥̇:Solitary-walk ⸝⋆ ━━━┓ - 个性标签 - :来于“云”的“羽球人”。…