日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀] 利用stc的一款單片機(jī)提供的PWM實(shí)現(xiàn)變頻輸出。程序?qū)⒆冾lpwm輸出到LED上作測(cè)試。#includesfrCCON = 0xD8;sfr CMOD = 0xD9;sfr CL = 0xE9;sfr CH = 0xF9;sfr CCAP0L = 0xEA;sfr CCAP0H = 0xFA;sfr CCAPM0

利用stc的一款單片機(jī)提供的PWM實(shí)現(xiàn)變頻輸出。程序?qū)⒆冾lpwm輸出到LED上作測(cè)試。

#include

sfrCCON = 0xD8;
sfr CMOD = 0xD9;
sfr CL = 0xE9;
sfr CH = 0xF9;
sfr CCAP0L = 0xEA;
sfr CCAP0H = 0xFA;
sfr CCAPM0 = 0xDA;
sfr CCAPM1 = 0xDB;

sbit CR = 0xDE;
sbit led = P2^0;

unsigned char duty = 0x80;
unsigned int fre = 0xffff;

void timer0_int (void) interrupt 1 using 1
{
TH0 = fre >> 8;
TL0 = fre & 0xff;
led = ~led;
}

void timer0_init(void)
{
TMOD &= 0xf0;/* Set timer 0 */
TMOD |= 0x1;/* mode 1 */
TH0 = 0xff;
TL0 = 0xff;
TR0 = 1;/* Enable timer 0 */
ET0 = 1;/* Enable timer 0 interrupt */
}

void pwm_init(void)
{
CMOD = 0x4; // Use timer0
CL = 0x0;
CH = 0x0;
CCAP0H = duty; //Duty Cycle
CCAPM0 = 0x42; // PWM mode
CR = 1; //Start PCA Timer.
}

voidSOFt_delay(unsigned int _1ms)
{
unsigned int tmp;
while(_1ms--!=0) {
for(tmp=0;tmp<144;tmp++);
}
}
void check_key(void)
{
unsigned char key1,key2;
key1 = P1 & 0xf;
soft_delay(20);
key2 = P1 & 0xf;

if(key1 == key2 && key1 != 0xf){
if(key1 == 0xe)
duty += 16;
else if(key1 == 0xd)
duty -= 16;
else if(key1 == 0xb)
fre += 0xff;
else if(key1 == 0x7)
fre -= 0xff;
while((P1 & 0xf) != 0xf);
}
}

void main (void)
{
pwm_init();
timer0_init();

EA= 1;
while(1){
CCAP0H = duty;
check_key();
}


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉