单片机论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 490|回复: 0
收起左侧

智能小车PWM控制单片机源码

[复制链接]
tong001 发表于 2018-1-26 16:14 | 显示全部楼层 |阅读模式
智能小车PWM控制

单片机源程序如下:
  1. #include < reg52.h >
  2. #include < intrins.h >
  3. sbit P10=P1^0;
  4. sbit P11=P1^1;
  5. sbit P12=P1^2;
  6. sbit P13=P1^3;
  7. unsigned int PWM;
  8. /*********************************************************/
  9. void main()
  10. {  
  11.            P10=1;P11=1;P10=1;P11=1;
  12.     TMOD=0x21 ;
  13.     TH0=(65536-50000)/256;//1ms延时常数 12M
  14.     TL0=(65536-50000)%256; //频率调节
  15.     TH1=(256-(250-PWM))/256;
  16.     TL1=(256-(250-PWM))/256;  //脉宽调节
  17.         EA=1;
  18.     ET0=1;
  19.     ET1=1;
  20.     TR0=1 ;
  21.         while(1)
  22.         {}
  23. }
  24. /*********************************************************/
  25. // 定时器0中断服务程序.
  26. /*********************************************************/
  27. void timer0() interrupt 1
  28. {          unsigned int k;
  29.     TR1=0 ;
  30.     TH0=(65536-50000)/256;//1ms延时常数 12M
  31.     TL0=(65536-50000)%256;//频率调节
  32.     k++;
  33.    if(k==100){PWM=250;}
  34.    if(k==200){PWM=125;}       
  35.    if(k==300){PWM=0;}
  36.     if(k>300){k=0;}       
  37.     TH1=PWM ;
  38.     TR1=1 ;
  39.     P10=1;P11=0;P12=1;P13=0;
  40. }

  41. /*********************************************************/
  42. // 定时器1中断服务程序
  43. /*********************************************************/
  44. void timer1() interrupt 3
  45. {
  46.     TR1=0 ;
  47.    P10=0;P11=1;P12=0;P13=1;
  48. }  
复制代码

所有资料51hei提供下载:
小车PWM测试程序.zip (9.54 KB, 下载次数: 1)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|单片机论坛 |51黑电子论坛5群 联系QQ:125739409;技术交流QQ群174280738

Powered by 单片机教程网

快速回复 返回顶部 返回列表