📄 dianji.c
字号:
/************************PWM驱动程序***************************************/
/* 对10kHZ输出的pwm波T2=FC18
占空比 T寄存器值
95% 0xFF9C 05% 0xFFFB
85% 0xFF51 15% 0xFFe7
75% 0xFFB5 25% 0xFFE7
50% 0xFFCE 50% 0xFFCE
30% 0xFFE2 70% 0xFFBA
10% 0xFF9C 90% 0xFFA6
*/
#include<THInit.h>
void pwm(uchar way)
{
pwmInit(way);
}
void timer0(void)interrupt 1 using 1 //左轮占空比脉冲
{
pwmLeft=~pwmLeft;
if(pwmLeft)
{
TH0=pwm0TH0High;
TL0=pwm0TL0High;
}
else
{
TH0=pwm0TH0Low;
TL0=pwm0TL0Low;
}
}
void timer1(void)interrupt 3 using 2 //右轮占空比脉冲
{
pwmRight=~pwmRight;
if(pwmRight)
{
TH1=pwm1TH1High;
TL1=pwm1TL1High;
}
else
{
TH1=pwm1TH1Low;
TL1=pwm1TL1Low;
}
}
void pwmInit(uchar n)
{
switch(n)
{
case(0): //两轮全速
pwm0TH0High=C95HTH; // 95
pwm0TL0High=C95HTL;
pwm0TH0Low=C95LTH;
pwm0TL0Low=C95LTL;
pwm1TH1High=C95HTH; // 95
pwm1TL1High=C95HTL;
pwm1TH1Low=C95LTH;
pwm1TL1Low=C95LTL;
break;
case(1):
pwm0TH0High=C85HTH; // 85
pwm0TL0High=C85HTL;
pwm0TH0Low=C85LTH;
pwm0TL0Low=C85LTL;
pwm1TH1High=C85HTH; // 85
pwm1TL1High=C85HTL;
pwm1TH1Low=C85LTH;
pwm1TL1Low=C85LTL;
break;
case(2):
pwm0TH0High=C75HTH; // 75
pwm0TL0High=C75HTL;
pwm0TH0Low=C75LTH;
pwm0TL0Low=C75LTL;
pwm1TH1High=C75HTH; // 75
pwm1TL1High=C75HTL;
pwm1TH1Low=C75LTH;
pwm1TL1Low=C75LTL;
break;
case(3):
pwm0TH0High=C65HTH; // 65
pwm0TL0High=C65HTL;
pwm0TH0Low=C65LTH;
pwm0TL0Low=C65LTL;
pwm1TH1High=C65HTH; // 65
pwm1TL1High=C65HTL;
pwm1TH1Low=C65LTH;
pwm1TL1Low=C65LTL;
break;
case(4):
pwm0TH0High=C55HTH; // 55
pwm0TL0High=C55HTL;
pwm0TH0Low=C55LTH;
pwm0TL0Low=C55LTL;
pwm1TH1High=C55HTH; // 55
pwm1TL1High=C55HTL;
pwm1TH1Low=C55LTH;
pwm1TL1Low=C55LTL;
break;
/**********************************************************/
case(5):
pwm0TH0High=C95HTH; // 95
pwm0TL0High=C95HTL;
pwm0TH0Low=C95LTH;
pwm0TL0Low=C95LTL;
pwm1TH1High=C85HTH; // 85
pwm1TL1High=C85HTL;
pwm1TH1Low=C85LTH;
pwm1TL1Low=C85LTL;
break;
case(6):
pwm0TH0High=C85HTH; // 85
pwm0TL0High=C85HTL;
pwm0TH0Low=C85LTH;
pwm0TL0Low=C85LTL;
pwm1TH1High=C95HTH; // 95
pwm1TL1High=C95HTL;
pwm1TH1Low=C95LTH;
pwm1TL1Low=C95LTL;
break;
case(7):
pwm0TH0High=C95HTH; // 95
pwm0TL0High=C95HTL;
pwm0TH0Low=C95LTH;
pwm0TL0Low=C95LTL;
pwm1TH1High=C75HTH; // 75
pwm1TL1High=C75HTL;
pwm1TH1Low=C75LTH;
pwm1TL1Low=C75LTL;
break;
case(8):
pwm0TH0High=C75HTH; // 75
pwm0TL0High=C75HTL;
pwm0TH0Low=C75LTH;
pwm0TL0Low=C75LTL;
pwm1TH1High=C95HTH; // 95
pwm1TL1High=C95HTL;
pwm1TH1Low=C95LTH;
pwm1TL1Low=C95LTL;
break;
case(9):
pwm0TH0High=C95HTH; // 95us
pwm0TL0High=C95HTL;
pwm0TH0Low=C95LTH;
pwm0TL0Low=C95LTL;
pwm1TH1High=C65HTH; // 65
pwm1TL1High=C65HTL;
pwm1TH1Low=C65LTH;
pwm1TL1Low=C65LTL;
break;
case(10):
pwm0TH0High=C65HTH; // 65
pwm0TL0High=C65HTL;
pwm0TH0Low=C65LTH;
pwm0TL0Low=C65LTL;
pwm1TH1High=C95HTH; // 95
pwm1TL1High=C95HTL;
pwm1TH1Low=C95LTH;
pwm1TL1Low=C95LTL;
break;
case(11):
pwm0TH0High=C95HTH; // 95
pwm0TL0High=C95HTL;
pwm0TH0Low=C95LTH;
pwm0TL0Low=C95LTL;
pwm1TH1High=C55HTH; // 55
pwm1TL1High=C55HTL;
pwm1TH1Low=C55LTH;
pwm1TL1Low=C55LTL;
break;
case(12):
pwm0TH0High=C55HTH; // 55
pwm0TL0High=C55HTL;
pwm0TH0Low=C55LTH;
pwm0TL0Low=C55LTL;
pwm1TH1High=C95HTH; // 95
pwm1TL1High=C95HTL;
pwm1TH1Low=C95LTH;
pwm1TL1Low=C95LTL;
break;
case(13):
pwm0TH0High=C95HTH; // 95
pwm0TL0High=C95HTL;
pwm0TH0Low=C95LTH;
pwm0TL0Low=C95LTL;
pwm1TH1High=C45HTH; // 45
pwm1TL1High=C45HTL;
pwm1TH1Low=C45LTH;
pwm1TL1Low=C45LTL;
break;
case(14):
pwm0TH0High=C45HTH; // 45
pwm0TL0High=C45HTL;
pwm0TH0Low=C45LTH;
pwm0TL0Low=C45LTL;
pwm1TH1High=C95HTH; // 95
pwm1TL1High=C95HTL;
pwm1TH1Low=C95LTH;
pwm1TL1Low=C95LTL;
break;
case(15):
pwm0TH0High=C95HTH; // 95
pwm0TL0High=C95HTL;
pwm0TH0Low=C95LTH;
pwm0TL0Low=C95LTL;
pwm1TH1High=C35HTH; // 35
pwm1TL1High=C35HTL;
pwm1TH1Low=C35LTH;
pwm1TL1Low=C35LTL;
break;
case(16):
pwm0TH0High=C35HTH; // 35
pwm0TL0High=C35HTL;
pwm0TH0Low=C35LTH;
pwm0TL0Low=C35LTL;
pwm1TH1High=C95HTH; // 95
pwm1TL1High=C95HTL;
pwm1TH1Low=C95LTH;
pwm1TL1Low=C95LTL;
break;
case(17):
pwm0TH0High=C95HTH; // 95
pwm0TL0High=C95HTL;
pwm0TH0Low=C95LTH;
pwm0TL0Low=C95LTL;
pwm1TH1High=C05HTH; // 5
pwm1TL1High=C05HTL;
pwm1TH1Low=C05LTH;
pwm1TL1Low=C05LTL;
break;
case(18):
pwm0TH0High=C05HTH; // 5
pwm0TL0High=C05HTL;
pwm0TH0Low=C05LTH;
pwm0TL0Low=C05LTL;
pwm1TH1High=C95HTH; // 95
pwm1TL1High=C95HTL;
pwm1TH1Low=C95LTH;
pwm1TL1Low=C95LTL;
break;
/**************************************************************/
case(19):
pwm0TH0High=C85HTH; // 85
pwm0TL0High=C85HTL;
pwm0TH0Low=C85LTH;
pwm0TL0Low=C85LTL;
pwm1TH1High=C75HTH; // 75
pwm1TL1High=C75HTL;
pwm1TH1Low=C75LTH;
pwm1TL1Low=C75LTL;
break;
case(20):
pwm0TH0High=C75HTH; // 75
pwm0TL0High=C75HTL;
pwm0TH0Low=C75LTH;
pwm0TL0Low=C75LTL;
pwm1TH1High=C85HTH; // 85
pwm1TL1High=C85HTL;
pwm1TH1Low=C85LTH;
pwm1TL1Low=C85LTL;
break;
case(21):
pwm0TH0High=C85HTH; // 85
pwm0TL0High=C85HTL;
pwm0TH0Low=C85LTH;
pwm0TL0Low=C85LTL;
pwm1TH1High=C65HTH; // 65
pwm1TL1High=C65HTL;
pwm1TH1Low=C65LTH;
pwm1TL1Low=C65LTL;
break;
case(22):
pwm0TH0High=C65HTH; // 65
pwm0TL0High=C65HTL;
pwm0TH0Low=C65LTH;
pwm0TL0Low=C65LTL;
pwm1TH1High=C85HTH; // 85
pwm1TL1High=C85HTL;
pwm1TH1Low=C85LTH;
pwm1TL1Low=C85LTL;
break;
case(23):
pwm0TH0High=C85HTH; // 85
pwm0TL0High=C85HTL;
pwm0TH0Low=C85LTH;
pwm0TL0Low=C85LTL;
pwm1TH1High=C55HTH; // 55
pwm1TL1High=C55HTL;
pwm1TH1Low=C55LTH;
pwm1TL1Low=C55LTL;
break;
case(24):
pwm0TH0High=C55HTH; // 55
pwm0TL0High=C55HTL;
pwm0TH0Low=C55LTH;
pwm0TL0Low=C55LTL;
pwm1TH1High=C85HTH; // 85
pwm1TL1High=C85HTL;
pwm1TH1Low=C85LTH;
pwm1TL1Low=C85LTL;
break;
case(25):
pwm0TH0High=C85HTH; // 85
pwm0TL0High=C85HTL;
pwm0TH0Low=C85LTH;
pwm0TL0Low=C85LTL;
pwm1TH1High=C45HTH; // 45
pwm1TL1High=C45HTL;
pwm1TH1Low=C45LTH;
pwm1TL1Low=C45LTL;
break;
case(26):
pwm0TH0High=C45HTH; // 45
pwm0TL0High=C45HTL;
pwm0TH0Low=C45LTH;
pwm0TL0Low=C45LTL;
pwm1TH1High=C85HTH; // 85
pwm1TL1High=C85HTL;
pwm1TH1Low=C85LTH;
pwm1TL1Low=C85LTL;
break;
case(27):
pwm0TH0High=C85HTH; // 85
pwm0TL0High=C85HTL;
pwm0TH0Low=C85LTH;
pwm0TL0Low=C85LTL;
pwm1TH1High=C35HTH; // 35
pwm1TL1High=C35HTL;
pwm1TH1Low=C35LTH;
pwm1TL1Low=C35LTL;
break;
case(28):
pwm0TH0High=C35HTH; // 35
pwm0TL0High=C35HTL;
pwm0TH0Low=C35LTH;
pwm0TL0Low=C35LTL;
pwm1TH1High=C85HTH; // 85
pwm1TL1High=C85HTL;
pwm1TH1Low=C85LTH;
pwm1TL1Low=C85LTL;
break;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -