標(biāo)題:
請問我的單片機(jī)PWM波控制led亮度為什么led只會閃爍?
[打印本頁]
作者:
DC大魔王
時間:
2024-4-25 12:17
標(biāo)題:
請問我的單片機(jī)PWM波控制led亮度為什么led只會閃爍?
#include <reg52.H>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
unsigned char Pwm_Duty =0;
unsigned char Pwm_Duty1 =0;
unsigned char Pwm_Duty2 =0;
unsigned char Pwm_Duty3 =0;
unsigned char Pwm_Duty4 =0;
unsigned char Pwm_Duty5 =0;
unsigned char Pwm_Duty6 =0;
unsigned char Pwm_Duty7 =0;
unsigned char PWM_Cnt=0;
unsigned char p=0;
int i1=0;
int i2=0;
int i3=0;
int i4=0;
int i5=0;
int i6=0;
int i7=0;
int i8=0;
sbit rs = P2 ^ 6;
sbit rw = P2 ^ 5;
sbit en = P2 ^ 7;
sbit K1=P2^1;
sbit L1=P1^0;
sbit L2=P1^1;
sbit L3=P1^2;
sbit L4=P1^3;
sbit L5=P1^4;
sbit L6=P1^5;
sbit L7=P1^6;
sbit L8=P1^7;
void Delay(int i)
{ int j,k;
for(;i>0;i--)
for(j=15;j>0;j--)
for(k=11;k>0;k--);}
void Timer0Init(void)
//200微秒@12.000MHz
{
TMOD &= 0xF0; //設(shè)置定時器模式
TMOD |= 0x02; //設(shè)置定時器模式
TH0=240;//高八位
TL0=240; //設(shè)置定時初始值
TF0 = 0; //清除TF0標(biāo)志
ET0 = 1;
EA = 1;
TR0 = 1; //定時器0開始計時
}
void timer0_Routine(void) interrupt 1 //T0中斷程序
{
TH0=240;//高八位
TL0=240; //重裝始值
//重裝始值
PWM_Cnt++;
if(PWM_Cnt>=100)
{
PWM_Cnt=0;
}
50f91d1cf76ec26d9115f8d30c639fa.png
(47.49 KB, 下載次數(shù): 48)
下載附件
2024-4-25 12:17 上傳
作者:
DC大魔王
時間:
2024-4-25 12:27
用硬件做的也只會閃
作者:
yzwzfyz
時間:
2024-4-25 15:34
是你的程序讓它閃爍的。
作者:
Hephaestus
時間:
2024-4-25 15:39
如果是實物,那就是PWM頻率太低,如果是仿真,也許是仿真軟件故意讓你看波形不連續(xù)。
作者:
heyanrog
時間:
2024-4-25 17:46
你也沒發(fā)完整程序,沒看到怎么控?zé)簟?
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1