历史上的今天
今天是:2024年09月09日(星期一)
2020年09月09日 | 51单片机驱动直流电机,测试可用,可调速
2020-09-09 来源:51hei
单片机源程序如下:
#include #define uchar unsigned char #define uint unsigned int /*================== 对各个输出端口的定义 对占空比的端口定义 ====================*/ sbit IN4=P1^3; //定义左轮前进 sbit IN3=P1^2; //定义左轮后退 sbit IN1=P1^0; //定义右轮前进 sbit IN2=P1^1; //定义右轮后退 sbit ENA=P1^6; //定义右轮使能 sbit ENB=P1^7; //定义左轮使能 uint Duty_left; //定义左轮占空比 uint Duty_right; //定义右轮占空比 uint i; //中断中控制占空比变量 /*=========== ms级延时函数 =============*/ void delay(uint n) { int x,y; for(x=n;x>0;x--) for(y=115;y>0;y--); } /*======= 停止函数 =========*/ void tingzhi() { Duty_left=0; //左轮占空比 Duty_right=0; //右轮占空比 IN1=0; IN2=0; IN3=0; IN4=0; } /*======= 前进函数 =========*/ void qianjin() { Duty_left=100; //左轮占空比 IN4=0; IN3=1; delay(3000); ENB=0; delay(3000); ENB=1; } /*============ pwm初始化函数 ==============*/ void pwm_init() { TMOD |= 0x01; //设置定时器工作方式0x01 TH0=(65536-1)/256; //取约150HZ,12M晶振,每次定时66us,分100次, TL0=(65536-1)%256; //这样开头定义的变量正好直接表示占空比的数值 EA=1; //打开总中断 ET0=1; //开启定时器0中断 TR0=1; //启动定时器0 } main() { pwm_init(); while(1) { qianjin(); } } /*======== 中断函数 ==========*/ void T0_timer() interrupt 1 { i++; if(i<=Duty_right) ENA=1; else ENA=0; if(i<=Duty_left) ENB=1; else ENB=0; if(i==100) { i = 0; } TH0=(65536-1)/256; //取约150HZ,12M晶振,每次定时66us,分100次, TL0=(65536-1)%256; //这样开头定义的变量正好直接表示占空比的数值 }
上一篇:分享一个STC89C52的头文件
下一篇:51单片机蓝牙点灯程序
史海拾趣
|
所谓安全距离,就是为保护人在使用电子产品的时候,危险电压带电部分与人不能轻易接 触到,也不能让它来引起危险导致威胁人身安全。 因此必须在一般情况下,安全距离是在产品设计中最重要的部分之一。检查安全距离从设 计阶段开始。结构检查人员会 ...… 查看全部问答> |
|
图中,7805的输入1脚接12V外加电源,3脚输出5V电压,这个用万用表的电压档一测就知道了,但是它的输出电流最大是多少呢? 答案是输出电流随负载的变化而变化,可是电流不能无限小和无限大吧?所以输出电流必定有个最小值和最大值。 ...… 查看全部问答> |
|
我的VS2005怎么了?新建工程不行,打开工程不行(只限智能设备工程),报这样的错误"从用户数据存储中检索信息时出错。XML文档必须包含一个顶层元素".好怪! 我的VS2005怎么了?新建工程不行,打开工程不行(只限智能设备工程),报这样的错误\"从用户数据存储中检索信息时出错。XML文档必须包含一个顶层元素\".好怪!… 查看全部问答> |
|
VISTA系统下安装 Tornado2.0后,运行时总出现 gdb error,是什么原因? 运行Tornado时,总弹出好几个错误的对话框,标题为 gdb error! 内容为:Failed to register COM Server. Error code = ox8002801c 将对话框点掉之后 Tornado 就启动起来了,运行还算正常,但每次一启动就出 ...… 查看全部问答> |
|
要求做一个动画控件。功能描述如下: 根据调用者的要求,决定图片显示的快慢,以及多少张图片循环显示以实现动画功能,同时根据图片要能自我缩放以匹配控件大小。控件大小由调用者决定! 有没有谁写过啊?各位达人救救我啊… 查看全部问答> |
|
本报讯: 日前,记者从国内著名的IT培训公司北大青鸟APTECH获悉,进入9月份以来,在一些城市出现了大量刚入学大学新生前来咨询职业培训,甚至已有人报名参加相关课程培训,在某些培训中心,这类刚入学大学新生在本阶段招生中已占到相当比例。IT职业 ...… 查看全部问答> |
|
有谁做过TI的430以太网,就是easyweb那个解决方案,我的cs8900A始终不能初始化,在这个循环里跳不出来: do Write8900(ADD_PORT, PP_SelfST); // set register while (!(Read8900(DATA_PORT) & INIT_DONE)); // wait un ...… 查看全部问答> |
|
【MSP430共享】 MC430F224例程:Keys+LED演示 【例 程】://基于MC430F224开发板实验例程//软件:IAR Embedded Workbench Version: 3.42A//编写:微控设计网 www.Microcontrol.cn DC//目标板: MC430F224开发板 V1.0#include \"msp430x22x4.h\"//初级用户要习惯采用宏定义,以方便的编写 ...… 查看全部问答> |




