zl0528 2021-05-11 05:02 采纳率: 0%
浏览 93

关于STC89C52智能车的pwm调速

void Init_Timer0(void)
{
	TMOD |= 0x01;	  //使用模式1,16位定时器,使用"|"符号可以在使用多个定时器时不受影响		     
	TH0=(65536-20000)/256;		  //重新赋值 20ms
	TL0=(65536-20000)%256;
	EA=1;            //总中断打开
	ET0=1;           //定时器中断打开
	TR0=1;           //定时器开关打开
}

void Timer0_isr(void) interrupt 1 
{
	static unsigned char countRigh;
    static unsigned char countLeft;

	TH0 = 0x0FC;
    TL0 = 0x66;

	countRigh++;
	countLeft++;
	if(countRigh<pwmRigh)	   //led1 占空比调节
	{
		if(dirFlag==1) IN2=0;			  //打开
		else IN1=0;
	}

	if(countLeft<pwmLeft)	   //led1 占空比调节
	{
		if(dirFlag==1) IN4=0;			  //打开
		else IN3=0;
	}

}

void UART_Init(void)
{
    SCON  = 0x50;		        // SCON: 模式 1, 8-bit UART, 使能接收  
    TMOD |= 0x20;               // TMOD: timer 1, mode 2, 8-bit 重装
    TH1   = 0xFD;               // TH1:  重装值 9600 波特率 晶振 11.0592MHz
	TL1 = TH1;  
    TR1   = 1;                  // TR1:  timer 1 打开                         
    EA    = 1;                  //打开总中断
    ES    = 1;                  //打开串口中断
}

求问一下这三段代码分别实现的是什么功能,是关于pwm智能小车的代码,芯片是stc89c52,但是我看不出来这是用哪种pwm方法,还有第二段的占空比调节,是调节两个轮子速度相等吗,还是说是调节整体车速加减的

  • 写回答

2条回答 默认 最新

  • 有问必答小助手 2021-05-11 17:03
    关注

    非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

    速戳参与调研>>>https://t.csdnimg.cn/Kf0y

    评论

报告相同问题?

悬赏问题

  • ¥15 请问这个是什么意思?
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流
  • ¥15 Rstudio 保存代码闪退
  • ¥20 win系统的PYQT程序生成的数据如何放入云服务器阿里云window版?