娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

#include "kernel.h"


unsigned int PWM_Buf[6];//6路PWM頻率

unsigned long timer0_ticks;

unsigned long timer0_tickssec;

unsigned long timer1_ticks;

unsigned long timer1_ticksmin;

unsigned long timer2_ticks;

unsigned long timer2_tickssec;

unsigned long timer3_ticks;

unsigned long timer3_ticksmin;

unsigned long timer4_ticks;

unsigned long timer4_ticksmin;

unsigned long timer5_ticks;

unsigned long timer5_ticksmin;


void Timer0_Init(void)

{

    timer0_ticks = 0;

    timer0_tickssec = 0;


    TCCR0A = 0x00;

    TCCR0B = 0x00;

    TCNT0 = 0x00;

    OCR0A = F_CPU/(1024-1)/20;//頻率F_PWM

    OCR0B = OCR0A/2;//占空比50%

    //TCCR0A = 0xA3;  //COM0A1 COM0A0 COM0B1 COM0B0 – – WGM01 WGM00

    TCCR0B = 0xCD;  //FOC0A FOC0B – – WGM02 CS02 CS01 CS00

    /*

    TCCR0A = 0x00;

    TCCR0B = 0x00;//stop

    TCNT0  = 0xE7;//25us

    OCR0A  = 0x18;

    OCR0B  = 0x18;

    TCCR0A = 0x03;

    TCCR0B = 0x02;//start,clkT0S/8

    TIMSK0|= 0x01;//enable 0verflow interrupt*/

}


void TC0_Set_PWM(unsigned int curF)

{//20~80為clkT0S/1024,80~300為clkT0S/256,300~2000為clkT0S/64

    if(curF==0)

    {

        OCR0A = 0;

        OCR0B = 0;

        TCCR0A = 0;

    }

    else if((curF>=20)&&(curF<80))

    {

        OCR0A = F_CPU/(1024-1)/curF;

        OCR0B = OCR0A/2;

        TCCR0A = 0xA3;

        TCCR0B = 0xCD;

    }

    else if((curF>=80)&&(curF<300))

    {

        OCR0A = F_CPU/(256-1)/curF;

        OCR0B = OCR0A/2;

        TCCR0A = 0xA3;

        TCCR0B = 0xCC;

    }

    else if((curF>=300)&&(curF<=2000))

    {

        OCR0A = F_CPU/(64-1)/curF;

        OCR0B = OCR0A/2;

        TCCR0A = 0xA3;

        TCCR0B = 0xCB;

    }

}


void Timer1_Init(void)

{

    unsigned int temp;


    timer1_ticks = 0;

    timer1_ticksmin = 0;


    TCCR1A = 0x00;

    TCCR1B = 0x00;

    TCCR1C = 0x00;

    TCNT1H = 0x00;

    TCNT1L = 0x00;

    temp = F_CPU/16/20;

    OCR1A=temp;

    //temp = temp/2;

    //OCR1B=temp;

    //OCR1C=temp;

    //TCCR1A=(0<    TCCR1B=(1<    /*

    TCCR1A = 0x00;//COM1A1 COM1A0 COM1B1 COM1B0 COM1C1 COM1C0 WGM11 WGM10

    TCCR1B = 0x00;//stop,ICNC1 ICES1 – WGM13 WGM12 CS12 CS11 CS10

    TCCR1C = 0x00;//FOC1A FOC1B FOC1C – – – – –

    TCNT1H = 0xE3;

    TCNT1L = 0xE0;

    OCR1AH = 0x1C;

    OCR1AL = 0x1F;

    OCR1BH = 0x1C;

    OCR1BL = 0x1F;

    OCR1CH = 0x1C;

    OCR1CL = 0x1F;

    ICR1H  = 0x00;

    ICR1L  = 0x00;

    TCCR1B = 0x05;

//    TIMSK |= 0x04;//enable 0verflow interrupt*/

}


void TC1_Set_PWM(unsigned int curF)

{

    unsigned int temp;


    if(curF==0)

    {

        //OCR1A = 0;

        //OCR1B = 0;

        TCCR1A=0;

    }

    else if((curF>=20)&&(curF<=2000))

    {

        temp = F_CPU/16/curF;

        OCR1A=temp;

        TCCR1A=(0<    }

}


void Timer2_Init(void)

{

    timer2_ticks = 0;

    timer2_tickssec = 0;


    TCCR2A = 0x00;

    TCCR2B = 0x00;

    TCNT2 = 0x00;

    OCR2A = F_CPU/(1024-1)/20;//頻率F_PWM

    OCR2B = OCR2A/2;//占空比50%

    //TCCR2A = 0xA3;  //COM2A1 COM2A0 COM2B1 COM2B0 – – WGM21 WGM20

    TCCR2B = 0xCF;  //FOC2A FOC2B – – WGM22 CS22 CS21 CS20


//    TCCR2 = 0x00;//stop,FOC2 WGM20 COM21 COM20 WGM21 CS22 CS21 CS20

//    TCNT2 = 0xB8;//set count 10ms

//    OCR2  = 0x47;

//    TCCR2 = 0x05;//start,clkT0S/1024

//    TIMSK|= 0x40;//enable 0verflow interrupt 

}


void TC2_Set_PWM(unsigned int curF)

{//20~80為clkT0S/1024,80~300為clkT0S/256,300~2000為clkT0S/64

    if(curF==0)

    {

        OCR2A = 0;

        OCR2B = 0;

        TCCR2A = 0;

    }

    else if((curF>=20)&&(curF<80))

    {

        OCR2A = F_CPU/(1024-1)/curF;

        OCR2B = OCR2A/2;

        TCCR2A = 0xA3;

        TCCR2B = 0xCF;

    }

    else if((curF>=80)&&(curF<300))

    {

        OCR2A = F_CPU/(256-1)/curF;

        OCR2B = OCR2A/2;

        TCCR2A = 0xA3;

        TCCR2B = 0xCE;

    }

    else if((curF>=300)&&(curF<=2000))

    {

        OCR2A = F_CPU/(64-1)/curF;

        OCR2B = OCR2A/2;

        TCCR2A = 0xA3;

        TCCR2B = 0xCC;

    }

}


void Timer3_Init(void)

{

    unsigned int temp;


    timer3_ticks = 0;

    timer3_ticksmin = 0;


    TCCR3A = 0x00;

    TCCR3B = 0x00;

    TCCR3C = 0x00;

    TCNT3H = 0x00;

    TCNT3L = 0x00;

    temp = F_CPU/16/20;

    OCR3A=temp;

    //temp = temp/2;

    //OCR3B=temp;

    //OCR3C=temp;

    //TCCR3A=(0<    TCCR3B=(1<    /*

    TCCR3A = 0x00;//COM3A1 COM3A0 COM3B1 COM3B0 COM3C1 COM3C0 WGM31 WGM30

    TCCR3B = 0x00;//stop,ICNC3 ICES3 – WGM33 WGM32 CS32 CS31 CS30

    TCCR3C = 0x00;//FOC3A FOC3B FOC3C – – – – –

    TCNT3H = 0xE3;

    TCNT3L = 0xE0;//set count 1s

    OCR3AH = 0x1C;

    OCR3AL = 0x1F;

    OCR3BH = 0x1C;

    OCR3BL = 0x1F;

    OCR3CH = 0x1C;

    OCR3CL = 0x1F;

    ICR3H  = 0x00;

    ICR3L  = 0x00;

    TCCR3B = 0x05;//start,clkT0S/1024

//    ETIMSK|= 0x04;//enable 0verflow interrupt*/

}


void TC3_Set_PWM(unsigned int curF)

{

    unsigned int temp;


    if(curF==0)

    {

        //OCR3A = 0;

        //OCR3B = 0;

        TCCR3A=0;

    }

    else if((curF>=20)&&(curF<=2000))

    {

        temp = F_CPU/16/curF;

        OCR3A=temp;

        TCCR3A=(0<    }

}


void Timer4_Init(void)

{

    unsigned int temp;


    timer4_ticks = 0;

    timer4_ticksmin = 0;


    TCCR4A = 0x00;

    TCCR4B = 0x00;

    TCCR4C = 0x00;

    TCNT4H = 0x00;

    TCNT4L = 0x00;

    temp = F_CPU/16/20;

    OCR4A=temp;

    //temp = temp/2;

    //OCR4B=temp;

    //OCR4C=temp;

    //TCCR4A=(0<    TCCR4B=(1<}


void TC4_Set_PWM(unsigned int curF)

{

    unsigned int temp;


    if(curF==0)

    {

        //OCR4A = 0;

        //OCR4B = 0;

        TCCR4A=0;

    }

    else if((curF>=20)&&(curF<=2000))

    {

        temp = F_CPU/16/curF;

        OCR4A=temp;

        TCCR4A=(0<    }

}


void Timer5_Init(void)

{

    unsigned int temp;


    timer5_ticks = 0;

    timer5_ticksmin = 0;


    TCCR5A = 0x00;

    TCCR5B = 0x00;

    TCCR5C = 0x00;

    TCNT5H = 0x00;

    TCNT5L = 0x00;

    temp = F_CPU/16/20;

    OCR5A=temp;

    //temp = temp/2;

    //OCR5B=temp;

    //OCR5C=temp;

    //TCCR5A=(0<    TCCR5B=(1<}


void TC5_Set_PWM(unsigned int curF)

{

    unsigned int temp;


    if(curF==0)

    {

        //OCR5A = 0;

        //OCR5B = 0;

        TCCR5A=0;

    }

    else if((curF>=20)&&(curF<=2000))

[1] [2]
關鍵字:AVR  ATmega1280  定時器  PWM輸出 引用地址:AVR ATmega1280定時器PWM輸出程序

上一篇:AVR單片機測溫基于DS18B20
下一篇:ATmage16-ADC

推薦閱讀

? ? ? 新浪手機訊 11月20日上午消息,各手機廠商的5G手機開發人員目前面臨著一個相同的問題:在5G手機上實現更快的無線網絡速度,使其研發的5G手機與其他廠商所研發的有所不同。據今天的一份報告顯示,華為和摩托羅拉正在開發不同的5G旗艦級別設備 - 一個可折疊,一個模塊化 - 并將于2019年發布。  在這兩部手機中,華為的設備可能很有特色但...
根據集邦咨詢半導體研究中心(DRAMeXchange)調查顯示,2019年下半年DRAM需求端的庫存已回到較健康的水位,加上部分業者為避免日后可能加征關稅帶來的負面沖擊,在第三季提前備貨,帶動DRAM供應商第三季的銷售位元出貨量(sales bit)大增,連帶推升DRAM總產值成長4%,結束連續三季下滑…… 展望第四季,盡管第三季基期已高,三大DRAM原廠仍預期在服務器及手...
11月18日,全芯半導體封測肇慶基地項目簽約儀式在東莞市松山湖舉行。全芯半導體封測基地項目選址位于廣東肇慶新區的粵港澳大灣區生態科技產業園,由廣東全芯半導體有限公司計劃投資建設,項目占地約100畝,總投資10億元,分兩期投入,建設內容包括存儲卡、SSD卡、固態硬盤、指紋模組的封裝、測試研發中心和生產基地。該項目定位高端集成電路的制造,主要進...
2021年廣州車展上,廣汽全新發布“星靈”電子電氣架構,新架構平臺的“星”代表星辰大海的廣度,“靈”代表架構靈魂的深度。“星靈”電子電氣架構將重點展現三個部分,包括汽車數字鏡像云、三個核心計算機群組(中央計算機、智能駕駛計算機、信息娛樂計算機)、高速以太網5G信息安全功能安全。新架構將高效支撐純電、混動車型,車云一體化集中計算式電子電...

史海拾趣

小廣播
設計資源 培訓 開發板 精華推薦

最新單片機文章
何立民專欄 單片機及嵌入式寶典

北京航空航天大學教授,20余年來致力于單片機與嵌入式系統推廣工作。

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發圈

 
機器人開發圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業務審批[2006]字第258號函 京公網安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 上思县| 蒙城县| 徐汇区| 揭阳市| 威宁| 吴桥县| 郑州市| 双柏县| 民和| 广德县| 驻马店市| 嘉兴市| 江油市| 建德市| 昌图县| 方山县| 福海县| 任丘市| 苗栗市| 新昌县| 时尚| 马龙县| 海口市| 成都市| 长沙市| 苍山县| 建瓯市| 红桥区| 萨嘎县| 邵阳市| 滦南县| 广宁县| 赣榆县| 吴忠市| 吉水县| 维西| 隆回县| 察哈| 称多县| 安乡县| 巴林左旗|