[AT89C51 ]用汇编语言实现流水灯仿真(含keil与Proteus)
前言:笔者发文主要是为了记录笔者单片机学习课程,可能实用性不多,大佬看着玩就行。
关键词:51单片机;AT89C51;流水灯仿真;初学
要求:使用AT89C51实现流水灯,使用汇编语言。
思路:用51单片机8个P1口输出实现8个LED灯依次亮灭,实现流水目标
硬件:连接如图
Proteus用到的都是简单的操作,画图和放元件若是有不懂的再说吧。
软件:用汇编语言
ORG 0000HAJMP MAINORG 0030HMAIN: MOV SP, #60HMOV A, #0FEH; 设置灯亮 11111110LOOP: INC R0; 增加R0值,开始计数RR A ; 开始亮8灯 逆向流水,从下至上亮,本质是做环移MOV P1,A ; 激活P1口ACALL DELAY; 进入延时,1SAJMP LOOP; 返回LOOP循环AJMP $;DELAY: MOV R4, #20; 1us 12HZ 机器时间周期为1usDEL1: MOV R6, #100; 1us T=(1+1+1+((250*2+2)*100+2)*20+2)=1004050us 1sDEL2: MOV R7, #250; 1usDJNZ R7,$; 2us 循环250次 该语句消耗2微秒,一个机器周期DJNZ R6,DEL2; 2us 每次减1,不等于0则跳转,该语句即为从Del1到这句,循环100 次DJNZ R4,DEL1; 2us 循环20次RETI ; 2usEND
记得选中keil项目output的输出hex文件,导入Proteus的单片机即可:
选目标选项
勾选create hex file,然后编译
查看结果
成功,接下来去Proteus里面啦
选中单片机元件编辑
找到hex文件位置,点ok即可
到Proteus运行仿真,即可看见灯亮啦!
QQ录屏20230419203547
[AT89C51 ]用汇编语言实现流水灯仿真(含keil与Proteus)相关推荐
- 【嵌入式04.2】STM32F103C8T6的简易流水灯仿真(寄存器实现+STM32CubeMX实现)
题目要求:假设你手中已有 STM32最小系统核心板(STM32F103C8T6)+面板板+3只红绿蓝LED,并搭建了电路,分别GPIOA-5.GPIOB-9.GPIOC-14 这3个引脚上控制LED灯 ...
- 基于STM32单片机流水灯仿真与程序设计
STM32单片机流水灯仿真与程序设计 摘要 本次程序设计和仿真是基于Proteus和keil的环境对STM32F103系列单片机进行流水灯设计,通过配置STM32的GPIO工作模式,实现LED的点亮和 ...
- 80c51流水灯程序汇编语言,单片机流水灯汇编语言源代码大全(六款流水灯汇编语言源代码)...
描述 单片机流水灯汇编语言源代码大全(一) 单片机AT89C51的P1口接8个发光二极管,让这8个发光二极管能够双灯左移之后再双灯右移,形成霹雳灯的效果,如此循环5次后全灭,延时0.5S.灯右移,形成 ...
- 【原创】基于ARM的流水灯仿真示例
本设计使用的仿真工具是Proteus 7.4,IDE是ADS 1.2,芯片是LPC2134 在Proteus中的电路图如下图所示: 本设计使用的是周立功的LPC2131的工程模板.LPC2131的RA ...
- c语言流水灯仿真程序设计框图,基于单片机c语言控制的流水灯程序设计及prtes仿真图.docx...
基于单片机c语言控制的流水灯程序设计及prtes仿真图 89c51与8个发光二极管相连流水控制 一.不同花样的控制源程序代码: /*#include #define uchar unsigned ch ...
- 【C51单片机】流水灯(仿真)
1.流水灯功能 所谓流水灯就是8个发光二极管(LED)轮流点亮,周而复始,实现多花样流水灯效果,如:8个发光二极管循环点亮(第①号灯亮.第②号灯亮--第⑧号灯亮,第①号灯亮.第②号灯亮--第⑧号灯亮, ...
- DIY:利用单片机自制的RGB拖尾流水灯,含电路图、源代码、演示视频、效果图
http://www.cndzz.com/diagram/4234_4235/109801.html# 摘要: RGB全彩拖尾流水灯采用29个全彩发光二极管做的,用廷时来实现拖尾显示,用PWM控制效果 ...
- 单片机流水灯仿真实验
一.首先先下载proteus8 (其他的版本也可以) 然后打开proteus: 然后点击funish即可出现一下图片内容: 二.拖出元器件 并且将元器件摆放完整 然后打开keil软件 将一下代码生成H ...
- 红绿灯单片机仿真;Keil和Proteus的联合使用仿真;包含免费资源
红绿灯单片机仿真,Proteus和Keil的使用. 源代码如下 #include<reg51.h> #define uint unsigned int #define uchar unsi ...
最新文章
- .NET简谈网络系统大局观
- 3704对象关闭时_VB中“对象关闭时,不允许操作”解决方案 3704 錯誤 | 学步园...
- 基于Autoencoder的反欺诈数据集的异常检测
- mysql死锁检测算法_MySQL 8 死锁检测脚本
- Anaconda 安装与使用
- 音视频开发(11)---基于B/S模式的视频监控系统设计
- 树——二叉树结点的删除与清除
- 【OCR技术】大批量生成文字训练集
- Luogu P2048 [NOI2010]超级钢琴
- Linux由管道组成的值得学习的命令
- Java开发笔记(一百四十八)通过JDBC查询数据记录
- 学生计算机如何用数字小游戏,【数学思维】小学生数学趣味游戏:你身上的计算器...
- java programer认证_关于考SUNJAVAPROGRAMMER的几点建议
- 数字电路课程设计汽车尾灯控制器
- android 设置启动画面,修改Android开机画面
- 如何写好项目规划和方案设计文档
- 网站搭建需要什么技术?
- 干货分享:小程序项目实践和经验总结
- 全国省市县三级级联SQL数据库内容
- SAP的统驭科目 - 什么是SAP的统驭科目
热门文章
- spark笔记spark优化
- Mybatis之高级映射【一对多映射】
- JAVA 生成同音字的方法,随机生成汉字,汉字转拼音,写的不好,望指正.谢谢~
- 操作系统服务器的安全性,服务器操作系统安全性
- 【网络相关面试问题——八股文篇(下)】
- ci写微博php,php(CI框架)+ajax实现类似微博的东东
- 访问网络内不同ip段的计算机,[转]问题:话说两台电脑在一个局域网内,把它们的IP地址都设成不同的网段,请问,它们可不可以通讯?如...
- 软件设计师_计算机系统——进制加减法
- html5 点灯游戏,夜点灯剧情讲了什么 夜点灯游戏剧情背景介绍-游侠网
- vue 中echarts的使用