?? pwm2.c
字號:
#include <reg52.h> //包括一個52標準內核的頭文件
#define uchar unsigned char //定義一下方便使用
#define uint unsigned int
#define ulong unsigned long
sbit ENA=P1^0; /* L298的Enable A */
sbit IN1=P1^1; /* L298的Input 1 */
sbit IN2=P1^2; /* L298的Input 2 */
uchar scale=2;//用于保存占空比的輸出"0"的時間份額
uchar tt; //中斷次數tt
void delay(ulong j) /* 簡易延時函數 */
{for(j;j>0;j--);}
void main(void) // 主程序
{
RCAP2H =0xF6; //賦T2的預置值,決定T2溢出時間
RCAP2L =0xF2;
T2CON=0X00;
ET2=1; //打開定時器2中斷
EA=1; //打開總中斷
TR2=1; //啟動定時器
ENA=1;//小車驅動使能
IN1=0;
IN2=0;
delay(600000);
ENA=0;//延時一段時間后,小車驅動關閉
while(1); //程序等待循環
}
//1/1200秒定時器2中斷
timer2() interrupt 5
{
TF2=0;
tt++;
if(tt==6) //每1/120秒整開始輸出低電平
{
IN1=0;
tt=0;
}
if(scale==tt) //按照當前占空比切換輸出高電平
IN1=1;
}//改變scale可改變低電平所占時間
//改變tt可改變方波頻率
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -