单片机 进行脉宽调制(PWM) 直流电机调速测试程序
;UNL2003提供电机驱动电流.(<=500MA/5V)
;使用六个按键实现六种不同速度
DC BIT P1.0
speed equ 20h
org 000h
jmp dc_MOTOR
ORG 100H
dc_MOTOR:
MOV a,p1
MOV speed,a ;键盘去抖动
lcall del
MOV a,p1
cjne a,speed,dc_MOTOR
JB P3.3,JUD_SPD5
MOV SPEED,#6 ;SW1
JMP PWM
JUD_SPD5: JB P3.2,JUD_SPD4
MOV SPEED,#5 ;SW2
JMP PWM
JUD_SPD4: JB P3.1,JUD_SPD3
MOV SPEED,#04 ;SW3
JMP PWM
JUD_SPD3: JB P3.0,JUD_SPD2
MOV SPEED,#03 ;SW4
JMP PWM
JUD_SPD2: JB P3.5,JUD_SPD1
MOV SPEED,#02 ;SW5
JMP PWM
JUD_SPD1: JB P3.6,JUD_SPD0
MOV SPEED,#01 ;SW6
JMP PWM
JUD_SPD0: MOV SPEED,#00
PWM: MOV R6,SPEED
MOV A,#06
CLR C
SUBB A,SPEED
MOV R5,A
CLR DC
WAIT1: LCALL DEL
DJNZ R5,WAIT1
SETB DC
WAIT2: LCALL DEL
DJNZ R5,WAIT2
JMP DC_MOTOR
Del: MOV r7,#0ffh
djnz r7,$
ret
END
关键字:单片机 脉宽调制 PWM 直流电机 调速测试
引用地址:
单片机进行脉宽调制(PWM) 直流电机调速测试程序
推荐阅读最新更新时间:2024-03-16 15:52
晶门科技推出MagusCore SSD1933
晶门科技近日推出多媒体处理器MagusCoreSSD1933,是一款融合了DSP与MCU的双核处理器,采用的是一颗ARM926EJ-STM核心及AV-DSP核心。它支持MPEG-2、MPEG-4、H.264/AVC与H.263等格式,分辨率达D1;而内含的外围则使其可直接支持GPS、移动数字电视、Wi-Fi、以太网及蓝牙等功能。SSD1933还配备了种类繁多的外围连接,包括SD/SDIO/MMC、USB 2.0 OTG、MLC NAND快闪记忆卡及流动DDR SDRAM,能灵活应付各种产品设计限制。 晶门科技市场推广副总裁刘家声表示,这款处理器目前主要瞄准的移动电视应用。在便携多媒体设备领域,继MP3之后,曾被给予厚
[嵌入式]
基于单片机的家庭防盗报警系统
从实际出发,设计一种家庭用、与电话线连接、操作简单、工作稳定可靠的远程智能防盗报警装置。当人们外出时,往往希望实施自动监测报警以使家庭财产免受损失。针对这一需求,研制出了一系列自动报警系统,如门磁式、触摸式和红外线监测自动报警系统等。本文将介绍的远程智能防盗报警装置,可同时监视多个重要点(如门、窗等),发现盗情及时拨叫号码,并能利用普通电话线进行告警信号呼叫,其性能稳定可靠,实用性、适用性强,且具有较高的灵活性。 基本工作原理 如图1所示,远程智能防盗报警装置由信号检测电路、复位电路、电话号码输入电路、89C51单片机、语音电路、模拟摘机挂机电路、DTMF编码发送电路、铃流信号检测电路和忙音信号检测电路等构成。 DT
[单片机]
基于SPCE061A单片机的便携式多功能实时生理参数监测仪
前言 本文利用凌阳单片机设计了便携式多功能实时生理参数监测仪,具有播放MP3的功能,可达到提高身体锻炼质量的效果。 系统硬件设计 系统以单片机为核心,配置了各种集成传感器,体积小巧。由于采用了微型封装的芯片及元器件,使连线变短,减少了通信接口,从而提高了整机工作的可靠性。系统硬件结构如图1所示。 SPCE061A单片机 SPCE061A单片机内部集成了ADC、 DAC、32KB的Flash和2KB的SRAM,以及液晶驱动模快。利用该单片机作为处理芯片,使得模、数信号之间的转换以及液晶驱动可以通过软件来实现,避免了外界信号的干扰,提高了系统的 稳定性及抗干扰能力。
[单片机]
STC89C52单片机 LED灯闪烁
LED闪烁 循环语句 循环语句 (1)while(条件表达式){语句} 只有当 while 后面圆括号内条件表达式的值为真时,程序才会重复执行花括号内语句,当条件表达式为假时则不执行花括号内语句。 (2)for( ; ; ) {语句} 例:for(i = 1; i = 100; i++) {语句} 花括号内语句会被执行100次后才退出。 变量的定义 变量 变量是在程序执行过程中其值能不断变化的量。在使用一个变量之前必须进行定义,用一个标识符作为变量名,并指出它的数据类型。 注意:C语言中每条语句必须用分号结束。 常用定义格式如下: 数据类型 变量名; 例如: unsigned char a; // 作用
[单片机]
STM32F103 使用TIM3产生四路PWM
/******************************************************************************* * 程序说明 : 思路PWM波生成函数 * 函数功能 : 使用TIM3的PWM功能生成思路PWM, * 输 入 : 无 * 输 出 : 四路PWM,通过GPIO引脚复用,对TIM3的四个输出通道引脚重映射为PC6、PC7、PC8、PC9 *******************************************************************************/ #include stm32f10x.h
[单片机]
多任务 51单片机纯C语言内核V1.03
#include reg52.h #define uchar unsigned char #define uint unsigned int #define ulong unsigned long /* Task_creat(1),Task_creat(2),Task_creat(3) ... ... Task_destroy(2) ... ... Task_destroy(1) ... ... Task_creat(4) ... //---------------------------------------------- TaskOrder - TaskCounter - TaskCountValue
[单片机]
51单片机-指向数组的指针
在串口章节和液晶屏章节的部分代码中总是看到“ *str!='' ”和“ *str++ ”却一时难以理解意思,本节我们将简要讲解这两部分代码的含义,但前提需要大家有对指针方面的知识基础,建议先了解《手把手教你学51单片机》文档12.1节知识内容先。 1.代码解析 我们先定义一个数组“u8 LEDSET ={0x7E,0xBD,0xDB,0xE7};” 假设这四个元素的内存排布如下,5,6,7,8代表的是指向元素的指针。 每个数组初始化之后都会在最后那个元素内存的下一个内存分配有一个结束符的数据,“‘’”的ASCII码值就是0。 接着我们先把下面代码下载进开发板中观察现象 #include reg52.h #
[单片机]
如何才能使用CC2541蓝牙模块与单片机进行串口通信
一、CC2541器件概述 CC2541是一款针对低能耗以及私有2.4GHz应用的功率优化的真正片载系统(SoC)解决方案。它使得使用低总体物料清单成本建立强健网络节点成为可能。CC2541将领先RF收发器的出色性能和一个业界标准的增强型8051MCU、系统内可编程闪存存储器、8kBRAM和很多其它功能强大的特性和外设组合在一起。CC2541非常适合应用于需要超低能耗的系统。这由多种不同的运行模式指定。运行模式间较短的转换时间进一步使低能耗变为可能 二、CC2541芯片的特性参数 CC2541是一款针对蓝牙低能耗以及私有2.4GHz应用的功率优化的真正片载系统(SoC)解决方案。它使得使用低总体物料清单成本建立强健网络节点成为可
[单片机]