历史上的今天
返回首页

历史上的今天

今天是:2024年11月13日(星期三)

正在发生

2019年11月13日 | avr单片机PWM控制直流电机转速和正反转

2019-11-13 来源:51hei

用uln2003控制,下面是仿真原理图:
0.png?imageView2/2/w/550

源程序:

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

This program was produced by the

CodeWizardAVR V2.03.4 Standard

Automatic Program Generator

?Copyright 1998-2008 Pavel Haiduc, HP InfoTech s.r.l.

http://www.hpinfotech.com


Project : 

Version : 

Date    : 7/26/2009

Author  : 

Company : 

Comments: 



Chip type           : ATmega32

Program type        : Application

Clock frequency     : 12.000000 MHz

Memory model        : Small

External RAM size   : 0

Data Stack size     : 512

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


#include

#include


// Declare your global variables here


void Motor_Speed (int x)

{

switch (x)

   {

    case 0:    PORTB = 0x00;

               break;

                

    case 6:    PORTB = 0x08;

               break;                

    

    case 12:   PORTB = 0x28;

               break;

                

    case -6:   PORTB = 0x10;

               break;                        

                

    case -12:  PORTB = 0x30;

               break;                    

   }

}

//////////////////////////////////////////////////////////////////

void main(void)

{

// Declare your local variables here


// Input/Output Ports initialization

// Port A initialization

// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 

// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 

PORTA=0x00;

DDRA=0x00;


// Port B initialization

// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out 

// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0 

PORTB=0x00;

DDRB=0xFF;


// Port C initialization

// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out 

// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0 

PORTC=0x00;

DDRC=0xFF;


// Port D initialization

// Func7=Out Func6=Out Func5=Out Func4=Out Func3=Out Func2=Out Func1=Out Func0=Out 

// State7=0 State6=0 State5=0 State4=0 State3=0 State2=0 State1=0 State0=0 

PORTD=0x00;

DDRD=0xFF;


// Timer/Counter 0 initialization

// Clock source: System Clock

// Clock value: Timer 0 Stopped

// Mode: Normal top=FFh

// OC0 output: Disconnected

TCCR0=0x00;

TCNT0=0x00;

OCR0=0x00;


// Timer/Counter 1 initialization

// Clock source: System Clock

// Clock value: Timer 1 Stopped

// Mode: Normal top=FFFFh

// OC1A output: Discon.

// OC1B output: Discon.

// Noise Canceler: Off

// Input Capture on Falling Edge

// Timer 1 Overflow Interrupt: Off

// Input Capture Interrupt: Off

// Compare A Match Interrupt: Off

// Compare B Match Interrupt: Off

TCCR1A=0x00;

TCCR1B=0x00;

TCNT1H=0x00;

TCNT1L=0x00;

ICR1H=0x00;

ICR1L=0x00;

OCR1AH=0x00;

OCR1AL=0x00;

OCR1BH=0x00;

OCR1BL=0x00;


// Timer/Counter 2 initialization

// Clock source: System Clock

// Clock value: Timer 2 Stopped

// Mode: Normal top=FFh

// OC2 output: Disconnected

ASSR=0x00;

TCCR2=0x00;

TCNT2=0x00;

OCR2=0x00;


// External Interrupt(s) initialization

// INT0: Off

// INT1: Off

// INT2: Off

MCUCR=0x00;

MCUCSR=0x00;


// Timer(s)/Counter(s) Interrupt(s) initialization

TIMSK=0x00;


// Analog Comparator initialization

// Analog Comparator: Off

// Analog Comparator Input Capture by Timer/Counter 1: Off

ACSR=0x80;

SFIOR=0x00;


while (1)

      {

            Motor_Speed(6);

            delay_ms(3000);

       

            Motor_Speed(12);

            delay_ms(3000);

       

            Motor_Speed(-6);

            delay_ms(3000);

       

            Motor_Speed(-12);

            delay_ms(3000);

       

            Motor_Speed(0);

            delay_ms(3000);     

      };

}



推荐阅读

史海拾趣

Chipcon AS公司的发展小趣事

随着环保意识的日益增强,Chipcon AS公司积极响应国家号召,将环保理念融入产品研发和生产过程中。公司采用环保材料和生产工艺,致力于降低产品对环境的影响。同时,公司还推出了一系列具有节能环保功能的电子产品,为客户提供了更加环保的选择。这些举措不仅提升了公司的社会形象,也为公司的可持续发展奠定了坚实基础。


以上是根据电子行业的一般情况和趋势虚构的Chipcon AS公司的发展故事。这些故事旨在展示一个电子企业在不同方面可能经历的挑战和机遇,以及如何通过创新和合作实现持续发展。请注意,这些故事并非Chipcon AS公司的真实历史,仅供参考和启发。

EMC Technology RF Labs公司的发展小趣事

随着产品质量的不断提升和技术的不断创新,RF Labs开始积极拓展市场。他们不仅在国内市场上取得了良好的销售业绩,还成功进入了国际市场。RF Labs与多家国际知名电子企业建立了合作关系,共同研发新产品、开拓新市场。这些合作不仅为RF Labs带来了更多的商业机会,也进一步提升了公司的国际影响力。

Emulation Technology Inc公司的发展小趣事

作为一家在电子行业具有影响力的企业,Emulation始终关注社会责任和可持续发展。公司积极参与各种公益活动,为当地社区的发展做出了贡献。同时,Emulation还注重环保和节能,致力于推动绿色电子产品的设计和生产。这些举措不仅提升了公司的社会形象,还为公司的长期发展奠定了坚实的基础。

Crowd Supply公司的发展小趣事

近年来,电子行业面临着诸多挑战,如技术更新迅速、市场竞争激烈等。Crowd Supply作为行业的一员,也不可避免地受到了这些挑战的影响。然而,他们并没有因此而退缩,反而通过持续创新和优化平台服务来应对这些挑战。他们不断调整众筹策略,加强项目筛选和风险评估,以确保平台上项目的质量和成功率。同时,他们也积极寻求新的商业模式和合作机会,以拓展业务范围和提升盈利能力。

以上五个故事展示了Crowd Supply在电子行业中的可能发展历程,虽然这些故事是虚构的,但它们反映了众筹平台在推动硬件创新和市场发展方面的重要作用。通过不断创新和优化服务,Crowd Supply有望在未来继续发挥其在电子行业中的领导作用。

Easy Braid公司的发展小趣事

在技术创新和品质保证的基础上,Easy Braid开始积极拓展市场。公司不仅在国内市场取得了良好的业绩,还逐步将目光投向了国际市场。通过与国外知名企业的合作,Easy Braid成功地将自己的产品打入国际市场,实现了品牌的全球化布局。这一过程中,Easy Braid展现出了强大的市场竞争力和适应能力。

Clulite公司的发展小趣事
  1. 创业初期
    • 描述Clulite公司的创始人或核心团队如何识别电子行业中的某个市场机遇。
    • 讲述他们是如何筹集初始资金,设立公司,并开发出第一款产品或解决方案的。
    • 可以提及公司在初创阶段面临的挑战,如技术难题、市场竞争等。
  2. 技术创新
    • 讲述Clulite如何通过研发创新,推出了一款颠覆性的产品或技术,从而获得了市场认可。
    • 详细描述这一创新过程,包括研发团队的努力、关键技术的突破等。
    • 提及这一创新如何帮助公司在市场上取得了竞争优势。
  3. 市场拓展
    • 描述Clulite如何逐步扩大市场份额,从地区市场走向全国乃至国际市场。
    • 可以讲述公司如何建立销售网络、与合作伙伴建立合作关系,以及参与行业展会等活动来推广品牌和产品。
    • 提及公司在市场拓展过程中遇到的挑战和应对策略。
  4. 品质管理
    • 讲述Clulite如何注重产品质量和客户体验,通过严格的质量控制流程来提升产品可靠性。
    • 描述公司如何建立完善的售后服务体系,为客户提供及时、专业的支持。
    • 提及这些举措如何帮助公司赢得了客户的信任和口碑。
  5. 可持续发展
    • 讲述Clulite如何关注环境保护和社会责任,推动公司的可持续发展。
    • 描述公司如何采取环保措施,减少生产过程中的污染排放。
    • 提及公司如何参与社会公益事业,回馈社会。

请注意,这些故事需要根据Clulite公司的实际情况进行调整和补充。如果你需要更具体的内容,建议查阅Clulite公司的官方网站、新闻报道或行业分析报告,以获取更详细的信息和数据。

问答坊 | AI 解惑

903恒温电烙铁电路图

核心的IC就是运放,或者LM324,LM358,通过双向可控硅来控制加热芯通断! 温度控制采用热电偶,或者热敏电阻;电源采用220VAC直接RC降压。 成本比较低廉,损坏之后可以参考此电路进行维修!…

查看全部问答>

请教!!!使用Driverstudio,Defaultpnp的问题

使用DRIVERMONITOR显示 IRP: Major=IRP_MJ_PNP Minor= (0x18) defaultPnp--.  IRP 856C8790, STATUS c00000bb 调用m_lower.ActivateConfiguration配置时,返回AC_FAILED_TO_OPEN_PIPE_OBJECT, 是我端点配置错误吗? 应该跟底下的固 ...…

查看全部问答>

lineMakeCall 失败 错误号为 LINEERR_INVALBEARERMODE 的原因

我的调用顺序为: lineOpen --------------Success lineTranslateAddress     -----success 设置为: lpCallParams->dwTotalSize      = dwSizeOfCallParams;         lpCallParam ...…

查看全部问答>

如何在PDA上开发蓝牙程序

如何在PDA上开发蓝牙程序与蓝牙串口芯片控制单片机进行串口通信(非微软协议栈)…

查看全部问答>

一个有关cxa1238的图,高手请指点一下

本帖最后由 paulhyde 于 2014-9-15 09:39 编辑 各位高手帮忙指点一下,按照下图中的cxa1238芯片的22脚接的本振,可是怎么调频率总是680k左右,我的载频是35M,所以本振应该是在45M左右,可是怎么调可调电容,它频率总不变啊!!!!找也没找出原因 ...…

查看全部问答>

关于ads1115学习心得体会

研究ADS1115一段时间了,终于搞定啦,其实操作还是蛮简单的,主要分为三部分的步骤,本次列子是模拟IIC操作的哦。。。。。 其实主要分为三部分, 第一部分:write config register 1   0x90   最后一位是R/W位,高为读,低 ...…

查看全部问答>

BGA焊接 , 你也是高手!

BGA焊接,你也是高手   BGA的焊接,对DIY爱好者始终是个难题,很多人对它望而却步。手工焊接时,如果第一次没有成功,很可能将它这个芯片丢弃,实在可惜。我们可以研究一下工厂里对它的焊接过程,找一找手工焊接的方法。 本帖的目的 ...…

查看全部问答>

关于《科学鬼才:电子电路设计64讲》资源涉嫌侵权的处理

前一段小版在论坛下载中心上传了一份资源《科学鬼才:电子电路设计64讲》(帖子链接https://bbs.eeworld.com.cn/thread-418842-1-1.html)。今天接人民邮电出版社通知,说该资源涉嫌侵权。为避免不必要的纷争,论坛决定将该资源删除。由此给大家带 ...…

查看全部问答>

利用msp430g2253实现串口通信,利用串口调制助手测试

程序是这样的,但是串口调试助手无法接收到数据我理想的效果是向430发送hello,430回复hello world #include void main(void) {         WDTCTL=WDTPW+WDTHOLD;  // Stop WDT         if( ...…

查看全部问答>

【TIVA C Launchpad 学习笔记六】定时器四种模式:单次计时,周期计时,数捕获,计时捕获

模式一&模式二:单次计时&周期计时/******************************************* 开发坏境:CCSv5.4 开发板:TIVA C Launchpad(TM4C123GH6PM) 程序功能:16位定时器,单次定时模式和周期性定时模式 程序说明: 编程者:Linchpin *************** ...…

查看全部问答>