历史上的今天
返回首页

历史上的今天

今天是:2024年10月10日(星期四)

正在发生

2020年10月10日 | 两路电机驱动 H桥L9110

2020-10-10 来源:51hei

#include


//LMD298输入控制端定义

sbit IN1 = P1^0;

sbit IN2 = P1^1;        

sbit IN3 = P1^2;        

sbit IN4 = P1^3;


sbit ENA = P1^4;        

sbit ENB = P1^5;


sbit CW = P3^0;                //正转运行按键

sbit STOP = P3^1;        //停止运行按键

sbit CCW = P3^2;        //反转运行按键

sbit ADJ = P3^3;        //调速运行按键


bit Run_Status;                //运行状态位标志,

                                        //=0表示电机在停止状态,可以按键正转、反转均可

                                        //=1表示电机在运行状态,不支持正反转按键,只有先停止。防止强行换向带来的电流过大。


unsigned char CYCLE; //周期变量

unsigned char DUTY; //占空比变量,对应于调速运行时按键次数,调速时每按一次调速键速度比上次变化10%


/********************************/

/*      延时函数               */

/********************************/

void Delay(unsigned int cnt)

{

         while(--cnt);

}

/********************************/

/*      主函数                             */

/********************************/

main()

{

        TMOD |=0x01;        //定时器设置 1ms in 12M crystal

        TH0=(65536-1000)/256;

        TL0=(65536-1000)%256;//定时1mS

        IE= 0x82;                  //打开中断        

        

        Run_Status=0;

        IN1=1;

        IN2=1;

        IN3=1;

        IN4=1;

        ENA=0;

        ENB=0;


        CYCLE=10;         //周期10ms

        DUTY=0;         //占空比=0


        while(1)

          {

                if(!STOP)                        //任何时候按停止键,电机停止运行

                {        

                        Delay(12000);        //延时去抖动

                        if(!STOP)                        

                        {               

                                //实际运用中,自由停车或制动刹车可以任选。

                                Run_Status=0;        //电机正在停止的状态标志

                                IN1=1;                        //IN1=IN2时,电机1制动刹车

                                IN2=1;                        

                                ENA=0;                        //ENA=0时,电机1自由运行到停止

                                IN3=1;                        //IN3=IN4时,电机2制动刹车

                                IN4=1;                        

                                ENB=0;                        //ENB=0时,电机2自由运行到停止

                                TR0=0;

                        }

                }

                if(!CW&&!Run_Status)//按正转键同时电机不是正在运行时,电机正转运行

                {

                        Delay(12000);        //延时去抖动

                        if(!CW&&!Run_Status)                        

                        {        

                                Run_Status=1;        //电机正在运行的状态标志

                                IN1=1;                        

                                IN2=0;                        

                                ENA=1;        

                                IN3=1;                        

                                IN4=0;                        

                                ENB=1;        

                        }

                }

                  if(!CCW&&!Run_Status)//按反转键同时电机不是正在运行时,电机反转运行

                {

                        Delay(12000);        //延时去抖动

                        if(!CCW&&!Run_Status)                        

                        {        

                                Run_Status=1;        //电机正在运行的状态标志

                                IN1=0;                        

                                IN2=1;                        

                                ENA=1;        

                                IN3=0;                        

                                IN4=1;                        

                                ENB=1;        

                        }

                }

                   if(!ADJ)

                {

                        Delay(15000);        //延时去抖动

                        if(!ADJ)

                        {        

                                TR0=1;

                                if(DUTY                                else                        DUTY=0;

                                Run_Status=1;

推荐阅读

史海拾趣

Digitron公司的发展小趣事

Digitron公司成立于XXXX年,由一群热衷于电子技术的工程师和科学家创立。在成立初期,公司专注于开发高精度、高可靠性的温度数据记录器。这些设备在医药、冷链物流等领域得到了广泛应用,为Digitron公司赢得了良好的声誉。随着技术的不断进步,Digitron公司逐渐扩大了产品线,推出了更多适用于不同行业的数据记录器和传感器。

Device Engineering Incorporated公司的发展小趣事

在追求技术创新的同时,DEI公司也注重品质管理和品牌塑造。公司建立了严格的质量管理体系,对每一个生产环节都进行严格的把控。同时,DEI公司也注重品牌形象的塑造,通过参与公益活动、举办技术研讨会等方式,提升了公司的社会形象。这些举措不仅增强了客户对公司的信任度,也为公司的长远发展奠定了坚实的基础。

巨盛电子(Chesen)公司的发展小趣事

在电子行业,成本控制对于企业的竞争力至关重要。巨盛电子(Chesen)通过优化供应链管理,实现了成本的降低。公司与供应商建立了长期稳定的合作关系,实现了原材料的规模化采购和成本控制。同时,公司还加强了对生产过程的监控和管理,降低了生产过程中的浪费和损耗。这些措施使得巨盛电子在保持产品质量的同时,实现了成本的降低,提高了企业的盈利能力。

ENPIRION公司的发展小趣事

随着ENPIRION公司产品的不断推出和市场的逐步扩大,公司开始寻求与各大电子制造商的合作。通过与小米、OPPO、vivo等知名品牌建立合作关系,ENPIRION公司的电源管理解决方案得到了更广泛的应用,进一步提升了其市场影响力和竞争力。这些合作伙伴关系的建立不仅为ENPIRION公司带来了更多的商业机会,也为其技术创新和产品升级提供了更广阔的平台。

Chip Supply Micro Devices公司的发展小趣事

在微电子器件领域,Chip Supply Micro Devices凭借一项创新技术,成功打破了市场格局。公司研发出了一种新型低功耗芯片,不仅提高了电子设备的性能,还降低了能源消耗。这一技术突破使得Chip Supply Micro Devices迅速获得了市场的认可,产品销量激增。公司借此机会扩大生产规模,加大研发投入,进一步巩固了其在微电子器件市场的地位。

D1 International Inc公司的发展小趣事

D1 International Inc公司自创立之初,就专注于技术创新。公司的创始人们深知,在竞争激烈的电子行业中,只有拥有独特的技术优势才能立足。因此,他们投入大量资源研发新型电子元器件,其中一款高性能的芯片因其低功耗和高效能,迅速在市场上获得了认可。这一技术的成功研发,为D1 International Inc公司赢得了第一桶金,也为公司后续的发展奠定了坚实的基础。

问答坊 | AI 解惑

Chrome渲染引擎同Safari 正开发Linux和MAC版

北京时间9月2日消息:据国外媒体报道,Google周一通过漫画宣布,将推出网络浏览器 Chrome。目前,有关Chrome的技术内容也逐渐出现在了网上。 据悉,Chrome浏览器使用了开源的网页渲染引擎WebKit,这个引擎也被使用在了苹果公司的Safari浏览器中, ...…

查看全部问答>

带驱动的步进电机的管脚定义

本人有个带驱动器的步进电机,型号为BL55S-M01是三星打印机上的,上面带一个10针的插座分别为:1.24V 2. 24V 3.GND 4.GND 5.BK 6.5V(NC) 7.ST/SP 8.RD 9.CLK 10.CW  /CCW。哪位高手能否介绍一下那些管脚的作用?…

查看全部问答>

mic的偏置电阻选择

本帖最后由 paulhyde 于 2014-9-15 09:14 编辑 今年音频题会不会,要加上mic,功放这些部分呢? 找到一个mic的偏置电阻选择资料  …

查看全部问答>

电子电路经典实例-绝对实用

本帖最后由 paulhyde 于 2014-9-15 09:35 编辑 模电电路,图文并茂,讲的非常清楚。。。  …

查看全部问答>

Nand Flash 读写问题

我用的是友善mini2440,Nand Flash型号是K9F1G08,现在是裸机学习; 我在进行读操作时,读出的第一个字节总是 30,然后才是真正的数据; 我的写操作写不进去。 请大家指点下。谢谢! …

查看全部问答>

关于USB设备的读取

{                 m_strLog += _T(\"抱歉,未找到可用的USB设备\");…

查看全部问答>

Windows xpe的ghost方法

嵌入式xpe是用什么工具ghost的?…

查看全部问答>

IAR_STM8编译出错请教

请教;以前在在ST Visual Develop环境下完成的程序现在移植到IAR环境编译报如下错误:不知问题出在哪?? Building configuration: stm8lianfang - Debug Updating build tree... Linking Error[Lp011]: section placement failed: una ...…

查看全部问答>