main.c

#include <reg52.h>
#include "pwm.h"
#include "dcmotor.h"unsigned int   k=20;//定义占空比的变量,  全局变量void main()
{unsigned int t=0;Car_Straight();Timer0_init();EA=1;while(1){;}
}

dcmotor.h


#ifndef __DCMOTOR_H__
#define __DCMOTOR_H__#include <reg52.h>
void Car_Straight();#endif

dcmotor.c

#include "dcmotor.h"sbit IN1=P1^0;
sbit IN2=P1^1;
sbit ENA1=P1^4;//使能sbit IN3=P1^2;
sbit IN4=P1^3;
sbit ENA2=P1^5;//使能void Car_Straight()
{IN1=1;IN2=0;IN3=1;IN4=0;}

pwm.h


#ifndef __PWM_H__
#define __PWM_H__
#include <reg52.h>
extern unsigned int   k;//定义占空比的变量
void Timer0_init(void);
#endif

pwm.c

#include "pwm.h"sbit PWM0=P1^4;//P1.4输出pwm
sbit PWM1=P1^5;//P1.5输出pwmunsigned int   time=0;void Timer0_init(void)        //0.5毫秒@11.0592MHz
{TMOD &= 0xcd; //设置定时器模式TL0 = 0xd4;       //设置定时初值TH0 = 0x28;        //设置定时初值TF0 = 0;         //清除TF0标志 ET0 = 1;      //打开定时器0中断允许TR0 = 1;          //定时器0开始计时}void time0() interrupt 1
{TR0=0;//赋初值时,关闭定时器TH0=0xd4;//TL0=0x28;//TR0=1;//打开定时器time++;if(time>=100){time=0;}if(time<=k)   //占空比%50,可改{PWM0=1;PWM1=1;}else{PWM0=0;PWM1=0;}
}

STC89C52小车PWM控制直流电机详细代码相关推荐

  1. PWM控制直流电机(单片机实验)

    PWM控制直流电机(单片机实验) 有问题欢迎私信哦 一.题目 设计电路,使用定时器实现PWM对直流电机的转速控制,并且实现按键切换转动方向.并进行软件仿真,做出实物. 二.基本要求 1.设置按键控制直 ...

  2. STM32智能小车------PWM驱动直流电机

    文章目录 一.硬件连接 1.器件清单: 2.接线: 3.驱动电机 二.软件驱动代码编写 1.初始化代码 2.电机驱动代码 总结 大家好哇!我是小光,嵌入式爱好者,一个想要成为系统架构师的普通大学生. ...

  3. PWM控制直流电机的正转、反转、加速和减速

    文章目录 一.设计要求 二.设计思路 三.仿真电路设计 四.KeilC51程序设计 1. 初始化参数 2. LCD显示 3. 主程序初始化 4. 主程序 5. 延时子程序 6. 按键处理程序 7. 中 ...

  4. 基于PWM控制直流电机调速的设计

    实验现象:通过S2,S3按键,增加/减小PWM,控制LED灯组的亮灭,同时当高于或低于PWM时,蜂鸣器将工作. #include <reg52.h> #define uchar unsig ...

  5. 玩转树莓派---详解树莓派的系统烧录,基础使用及基于树莓派制作手势控制的小车(附详细代码及演示效果)

    目录 一.写在前面 二.系统实现: Author:qyan.li Date:2022.6.10 Topic:详解树莓派的使用及基于树莓派制作手势控制的小车 Reference:如何给树莓派安装操作系统 ...

  6. STC89C52 小车-舵机转向/蓝牙控制/寻迹,有PCB有讲解,更新

    推荐单片机:STC89C52或51(尽量52 还有提供可用于测试直接烧录的89单片机文件(hex),不需要重新编译. 还是老话: 源代码可以直接编译通过. 本人是自学,原创内容--转载请务必说明!! ...

  7. Arduino教程-09.L298N控制直流电机(避障小车)

    目录 3.1 电机 3.2 控制直流电机 PWM – 控制速度 H桥 – 控制转动方向 L298N 电机驱动芯片 技术规格 L298N 电机驱动器模块引脚排列 电源引脚 输出引脚 方向控制引脚 速度控 ...

  8. 基于STM32使用PWM调速控制直流电机

    PWM调速控制直流电机 网上找的历程,实现可以,但是无法随我自己的意愿改变速度,还是有问题. 代码如下: #include "delay.h" #include "sys ...

  9. 【51单片机STC89C52】IO口模拟PWM控制SG90舵机

    一.PWM PWM ,英文名 Pulse Width Modulation ,是脉冲宽度调制缩写,它是通过对一系列脉冲的宽度进 行调制,等效出所需要的波形(包含形状以及幅值),对模拟信号电平进行数字编 ...

最新文章

  1. 基于Spark的机器学习实践 (九) - 聚类算法
  2. Linux安装Elasticsearch+Kibana(7.10.2)
  3. T-SQL and XML
  4. MySQL 视图简析
  5. Qt文档阅读笔记-windowOpacity官方解析及实例(两种方法使得程序渐变出现)
  6. 关于使用scrapy框架时出现 No module named 'win32api问题
  7. iphone怎么长截屏_涨知识了!原来苹果手机也可以长截屏,还不知道的,快来学一学...
  8. ASP.NET 访问项目网站以外的目录文件
  9. JAVA疫苗接种预约系统毕业设计 开题报告
  10. oracle常用sql语句查询语句,Oracle常用sql语句
  11. 凡是能用钱买来的时间就是便宜的;凡是能用时间换来的注意力持续就是有价值的。
  12. Windows定时关机小程序
  13. 佛法在世间不离世间觉离世求佛法犹如觅兔角
  14. 如何快速查询京东快递物流正在派送中的单号
  15. Python编程基础:用户输入若干个分数,求所有分数的平均分。每输入一个分数后询问是否继续输入下一个分数,回答“yes”就继续输入下一个分数,回答“no”就停止输入分数。
  16. 成都市住房公积金提取指南办理手续流程
  17. ubuntu 16.04 deepin.com.wechat 微信登录提示版本过低解决方案
  18. 哲理故事与管理之道(11)-让自己成为领袖和榜样
  19. 服务器固态硬盘raid没了,HP服务器磁盘阵列坏了怎么办,数据如何恢复?
  20. Change Log of Joomsport: Remove Undesired HTML(Synchronized with Server)

热门文章

  1. C Primer Plus 第6版 中文版 勘误表
  2. ble系统知识介绍(较为完整,持续更新中)
  3. commvault备份mysql数据库_Oracle数据库的备份和恢复-Commvault.PDF
  4. 实验室常用培养基配置 LB LA
  5. Debian11(Bullseye)系统安装docker及启动失败问题解决
  6. The requested URL was not found on the server. If you entered the URL manually please check your spe
  7. kd-tree和八叉树的概念及相关算法
  8. 暴涨彰显市场做多情绪
  9. 100首经典英文歌曲
  10. 谷粒商城--SPU和SKU(属性分组、规格参数、销售属性)