欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
51單片機做的L298兩路PWM控制LED代碼
[打印本頁]
作者:
aa13144083330
時間:
2017-5-21 15:13
標題:
51單片機做的L298兩路PWM控制LED代碼
前幾天做的51單片機與L298兩路PWM控制LED代碼,給參考
單片機源程序如下:
#include <reg51.h>
typedef unsigned char uint8;
typedef unsigned int uint16;
sbit down = P3^0;
sbit up = P3^1;
sbit down1 = P3^2;
sbit up1 = P3^3;
sbit led1 = P1^0;
sbit led2 = P1^1;
sbit led3 = P1^4;
sbit led4 = P1^6;
uint8 t = 0,t1=0;
uint8 PWM_T = 0; //占空比控制變
uint8 PWM_T1 = 0; //占空比控制變
void delay_1ms(uint16 t)
{
uint16 x,y;
for(x=t;x>0;x--)
for(y=120;y>0;y--);
}
/****************************************************
主程序
****************************************************/
void main(void)
{
TMOD = 0x22; //定時器0,工作模式2,8位定時模式
TH0=180; //寫入預置初值(取值1-255,數越大PWM頻率越高)
TL0=180; //寫入預置值 (取值1-255,數越大PWM頻率越高)
TR0=1; //啟動定時器
ET0=1; //允許定時器0中斷
// EA=1; //允許總中斷
// led1=1; //初始化P1,輸出端口
TH1=180; //寫入預置初值(取值1-255,數越大PWM頻率越高)
TL1=180; //寫入預置值 (取值1-255,數越大PWM頻率越高)
TR1=1; //啟動定時器
ET1=1; //允許定時器1中斷
EA=1; //允許總中斷
// led2=1; //初始化P1,輸出端口
// led3=1;
led3=0;
led4=0;
PWM_T1=20;
PWM_T=20;
while(1)
{
if(!up)
{
if(PWM_T<250)
{
PWM_T++;
}
delay_1ms(10);
}
if(!down)
{
if(PWM_T>0)
{
PWM_T--;
}
delay_1ms(10);
}
if(!up1)
{
if(PWM_T1<250)
{
PWM_T1++;
}
delay_1ms(10);
}
if(!down1)
{
if(PWM_T1>0)
{
PWM_T1--;
}
delay_1ms(10);
}
}
}
/****************************************************
/定時器0中斷模擬PWM
****************************************************/
timer0() interrupt 1
{
t++; //每次定時器溢出加1
if(t==250) //PWM周期 100個單位
{
t=0; //使t=0,開始新的PWM周期
led1=0; //輸出端口
}
if(PWM_T==t) //按照當前占空比切換輸出為高電平
{
led1=1; //
}
}
……………………
…………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
L298 兩路PWM.rar
(21.8 KB, 下載次數: 43)
2017-5-21 15:12 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者:
faridzled
時間:
2017-5-21 21:03
thanks for sharing
作者:
XDDZ1013
時間:
2017-5-21 21:36
謝謝分享
作者:
chenxulin
時間:
2018-9-11 14:55
有原理圖嗎?
作者:
苯寶寶
時間:
2022-8-22 00:16
感謝分享,正在認真研究學習
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1