ldy7474 发表于 2019-3-12 21:06:54

PWM 无极调光程序分享




分享下刚调通的无极调光程序1023级可调
程序结构简单明了
#include <STC15W408AS.h> //STC12C5A60S2 专用头
#include "STC15W-ADC.h" //STC15W4K-ADC 硬件ADC模数转换
#define uintunsigned int
#define uchar unsigned char
unsigned int ADC0;
sbit led=P5^5;
sbit pwm=P1^0;
uint cycle,high,low;
void delay(uint t)
{
while(t--);
}
void main()
{
InitADC();      //ADC初始化
cycle=1024; //周期
while(1)
{
ADC0=ADC(0);
   high=ADC0;
led=1;
delay(high);
led=0;
low=cycle-high;//低电平时间等=于周期-高电平时间      
delay(low);


}
   
}

灵魂无处安放 发表于 2019-3-12 21:26:10

顶一下

灵魂无处安放 发表于 2019-3-12 21:27:16

adc的头文件整上来哈

ldy7474 发表于 2019-3-12 21:32:46

灵魂无处安放 发表于 2019-3-12 21:27
adc的头文件整上来哈

/*----------------------------

----------------------------*/
extern void          _nop_   (void);
#define ADC_POWER   0x80            //ADC电源控制位
#define ADC_SPEEDLL 0x00            //540个时钟
/////-----初始化ADC-----/////
void InitADC(void)
{
    P1ASF = 0xC7;                   //设置为AD口:P1.0,P1.1,P1.2,P1.6,P1.7.
    ADC_RES = 0;                  //清除结果寄存器
    ADC_CONTR = ADC_POWER | ADC_SPEEDLL;
//Delay(2);                     //ADC上电并延时
}
/*----------------------------
读取ADC结果
extern void          _pop_   (unsigned char _sfr);
extern void          _nop_   (void);
----------------------------*/
typedef unsigned char BYTE;
#define ADC_FLAG    0x10            //ADC完成标志
#define ADC_START   0x08            //ADC起始控制位
/////-----读取ADC某一个端口-----/////
unsigned int ADC(BYTE ch)
{        unsigned int ADC10;
    ADC_CONTR = ADC_POWER | ADC_SPEEDLL | ch | ADC_START;
    _nop_();                        //等待4个NOP
    _nop_();
    _nop_();
    _nop_();
    while (!(ADC_CONTR & ADC_FLAG));//等待ADC转换完成
    ADC_CONTR &= ~ADC_FLAG;         //Close ADC
        ADC10=ADC_RES*4+ADC_RESL;
    return ADC10;                   //返回ADC结果
}

wyd1996 发表于 2019-3-13 08:12:45


顶一个{:1_1:}{:1_1:}

原装盗版 发表于 2019-3-13 13:34:34

看不懂,但还是要支持

pkintel 发表于 2019-3-13 18:49:31

这个程序的确可以调光。不过不实用,建议使用定时器或者硬件PWM实现调光。

ldy7474 发表于 2019-3-13 20:05:18

pkintel 发表于 2019-3-13 18:49
这个程序的确可以调光。不过不实用,建议使用定时器或者硬件PWM实现调光。
...

不实用?和定时器中断有何必然关联
页: [1]
查看完整版本: PWM 无极调光程序分享