欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1686|回復: 4
收起左側

請問我的單片機PWM波控制led亮度為什么led只會閃爍?

[復制鏈接]
ID:1116897 發表于 2024-4-25 12:17 | 顯示全部樓層 |閱讀模式
#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;                //設置定時器模式
        TMOD |= 0x02;                //設置定時器模式
      TH0=240;//高八位
      TL0=240;                 //設置定時初始值
        TF0 = 0;                    //清除TF0標志
        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
回復

使用道具 舉報

ID:1116897 發表于 2024-4-25 12:27 來自觸屏版 | 顯示全部樓層
用硬件做的也只會閃
回復

使用道具 舉報

ID:123289 發表于 2024-4-25 15:34 | 顯示全部樓層
是你的程序讓它閃爍的。
回復

使用道具 舉報

ID:883242 發表于 2024-4-25 15:39 | 顯示全部樓層
如果是實物,那就是PWM頻率太低,如果是仿真,也許是仿真軟件故意讓你看波形不連續。
回復

使用道具 舉報

ID:11804 發表于 2024-4-25 17:46 | 顯示全部樓層
你也沒發完整程序,沒看到怎么控燈。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表