51单片机汇编学习例程(13)——DC-Motor篇
ASM13_DCMotor: DC-Motor电机控制
(注意代码显示不全,最下面有Keil源码和Proteus工程)
/**
******************************************************************************
* @file DCMotor.asm
* @author Alex——小白
* @version V1.0
* @date 2019.9.1
* @brief 直流电机LM298驱动控制
* @store 有家Proteus仿真店子
* @Link https://shop484534014.taobao.com/
* @Email 844545015@qq.com
******************************************************************************
* @attention All Rights Reserved
**/
IN1 BIT P2.0
IN2 BIT P2.1
ENA BIT P2.2
KEY BIT P2.3
flag EQU 2FH.0
ORG 0000H ;程序执行的起始地址
LJMP Main ;跳转到main函数
ORG 000BH ;外部中断0起始地址
LJMP Timer0 ;声明Timer0是外部中断0函数名称
ORG 0100H ;程序跳转到0100H开始执行
Main:
MOV TMOD,#01H ;定时器0使能
MOV TH0,#0FEH ;500us
MOV TL0,#00BH
SETB ET0
SETB TR0
SETB EA
SETB flag
While:
JB KEY,Mode0 ;判断flag按键是否检测到,若无跳到Mode0
LCALL Delay ;若有,延时消抖
JB KEY,Mode0 ;再次判断按键是否检测到
JNB KEY,$ ;长按检测,若有则一直死循环
CPL flag ;标志位翻转
Mode0:
JNB flag,Mode1 ;判断flag是否为0,若无跳到Mode1
SETB IN1 ;正转
CLR IN2
SJMP While
Mode1:
CLR IN1 ;反转
SETB IN2
SJMP While
Timer0:
MOV TH0,#0FEH
MOV TL0,#00BH
CPL ENA
RETI
Delay: ;t=t1*20=10ms,修改R6的值即可更改时间(不精准)
MOV R6, #014H ;014H=20
D1:
MOV R7, #0FAH ;t1=250*2=500
D2:
DJNZ R7, D2 ;R7=250自减,直到为0跳出循环,双周期
DJNZ R6, D1 ;R6=020自减,直到为0跳出循环,双周期
RET
END
如需下载Proteus仿真文件和Keil工程,请关注公众号:
Proteus仿真店子
(若需Proteus和keil安装包,后台回复:安装包;若需Proteus教学视频,后台回复:Proteus视频;若需其它设计,后台回复:51汇编设计)
51单片机汇编学习例程(13)——DC-Motor篇相关推荐
- 51单片机汇编学习例程(9)——ADC0809篇
ASM9_ADC0808: ADC0808采集ADC参数,数码管显示 (注意代码显示不全,最下面有Keil源码和Proteus工程) /** ************************** ...
- 51单片机汇编学习例程(7)——74HC595数码管篇
7.ASM7_Seg_595: 74HC595控制数码管静态显示 (注意代码显示不全,最下面有Keil源码和Proteus工程) /** **************************** ...
- 51单片机汇编学习例程(16)——AT24C02篇
ASM16_AT24C02:EEPROM数据读写,LED显示 (注意代码显示不全,最下面有Keil源码和Proteus工程) /*********************************** ...
- 51单片机汇编学习例程(17)——KeyPad4X4篇
ASM17_KeyPad4X4:矩阵键盘,LCD1602显示按键值. (注意代码显示不全,最下面有Keil源码和Proteus工程) 仿真视频 /** *********************** ...
- 51单片机汇编学习例程(10)——DAC0832篇
ASM10_DAC0832: DAC0832输出各种波形 (注意代码显示不全,最下面有Keil源码和Proteus工程) /** ****************************** ...
- 51单片机汇编学习(一)点亮你的LED灯
本帖为使用汇编编写51单片机的学习笔记,本帖使用软件为keil5,因为没有实际硬件,所以选择porteus仿真软件,因为是第一篇,所以内容多有赘述,详细说明了工程建立等,因为文章太长所以编程和仿真分开 ...
- 51单片机汇编学习笔记9——定时计数器
这一小节介绍一下51单片机的一个重要外设定时计数器. 顾名思义定时计数器主要是两种功能:定时.计数. 定时:就是当你开启定时器后到了设定的时间他会触发中断,然后去执行中断服务函数里面的程序. 计数:主 ...
- 51单片机汇编学习11——扩展原理与接口技术
终于到这一小节了.这一节讲扩展原理与接口技术. 那么什么是扩展原理&接口技术呢?其实主要是3种. 1.扩展一个程序存储器 2.扩展一个数据存储器 3.扩展IO口 1.扩展程序存储器 其实这个扩 ...
- 51单片机汇编学习10——串口通讯
这一小节写一下串口通讯. 建议先去了解一下什么串行通讯. 推荐一个视频3分钟理解通信协议之串口UART到底是个啥?_哔哩哔哩_bilibili 因为串口通讯涉及的寄存器相对较多.所以尽量要自己去看看S ...
最新文章
- iOS关于像素的适配
- 从“小”培养AI安全意识:OpenAI开源最新强化学习训练工具,安全约束自由定制,开箱即用...
- java自定义类加载器
- winfrom弹出窗口用timer控件控制倒计时20秒后关闭
- 不到200行代码实现一个不断旋转的椭圆动画效果
- 计算机组成实验微程序控制器实验,计算机组成原理实验报告3++微程序控制器实验.doc...
- 如何通过使用 64 位版本 Windows 查看系统注册表 WOW6432Node
- php与drupal,php-将网站转换为Drupal-噩梦已经开始
- 线性回归(三)---岭回归
- 反向链接referrer的原理
- C#Excel上传批量导入sqlserver
- c10k java_c10k问题及其解决方案
- 矩形窗、汉明窗效果对比(matlab)
- st计算机编程语言,初学ST语言,有了这篇ST编程语言的相关知识就容易多了~
- 算法笔记学习day1(第二章)
- 中国科学院大学计算机学院夏令营,中科院计算所2019年夏令营名单
- 搭建在线LaTeX编辑器Overleaf
- MIPI DSI转LVDS东芝TC358775XBG视频解码芯片,RK3399点LVDS屏必备
- emoji表情mysql报错_MySql存储emoji表情报错的处理方法
- Scratch学习:如何把角色设置成半透明?
热门文章
- 安微大学计算机软工调剂复试题目,安徽大学复试
- php js转码解码函数,javascript如何实现URL的转码与解码?
- jpg图片与jpeg图片格式的区别(没有区别,.jpg只是扩展名.jpeg的缩写)JPEG图像压缩(YUV4:2:0 缩减采样、缩减取样)(离散余弦变换 DCT算法)(量化)(熵编码)(霍夫曼哈夫曼)
- 学校计算机课用的ppt软件是什么,“课件”顾名思义就是计算机辅助教学使用的课程软件...
- CellPress | 蛋白设计所带来的行业革命
- 紫外光电探测器用于高温场合的锅炉加热火焰熄灭检测
- 网狐荣耀之微星棋牌系列,NET_PW_AgentBalance存储过程源码
- 编程获取ip地址与mac地址的对应关系_[读书笔记]CSAPP:25[VB]网络编程1
- 【网络原理】TCP/IP协议五层模型
- 基于ssm的宿舍管理系统