中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > STC12C2052AD單片機(jī)做的手機(jī)電池充電器程序

        STC12C2052AD單片機(jī)做的手機(jī)電池充電器程序

        作者: 時(shí)間:2013-05-11 來源:網(wǎng)絡(luò) 收藏

        做的手機(jī)程序

        #include STC12c2052ad.h>
        #include intrins.h>
        #define uchar unsigned char
        #define uint unsigned int
        #define AD_SPEED 0x60 //0110,0000 1 1 270個(gè)時(shí)鐘周期轉(zhuǎn)換一次,
        //少占魚制作 河北正定歡迎您 長沙航空職業(yè)技術(shù)學(xué)院 2010 年QQ:41165643
        //
        sbit M=P1^5; //過壓指示燈
        sbit N=P1^6; //欠壓指示燈
        sbit LED=P1^7; //充滿 指示燈
        sbit REF=P1^0;
        sbit PWM=P3^7;

        bit START =0;

        uchar timeL=0x90;
        uchar timeH=0x90;
        /******************************************=***************/
        void pwm();
        void delayms(uint);
        void ADC();
        void InitADC();
        //void baohu();

        float voltage=0.0;
        const float Uref=2.500 ;

        /***8**********************************=***********/
        void main()
        {

        PWM=1;
        delayms(700);
        START=0;
        PWM=0;
        LED=0;
        REF=0;
        delayms(9000);

        delayms(1000);
        M=0;
        N=0;
        LED=0;
        delayms(7000);
        M=1;
        N=1;
        LED=1;
        delayms(7000);
        PWM=1;
        delayms(1000);//延時(shí)
        pwm();
        InitADC();
        delayms(6000);
        START=0;

        while(1)
        {
        ADC();

        if(START)
        {
        pwm();
        delayms(2000);
        }
        }

        }
        //
        //
        void pwm()

        {
        CR=0;
        START=0;

        //PCA模塊工作于PWM模式 C程序

        CMOD = 0x02; //用定時(shí)器0溢出做PCA脈沖
        CL = 0x00; //PCA定時(shí)器低8位 地址:E9H
        CH = 0x00; //PCA高8位 地址 F9H
        CCON=0x00;

        CCAP0L = timeL; //PWM模式時(shí)他倆用來控制占空比
        CCAP0H = timeH; //0xff-0xc0=0x3f 64/256=25% 占空比(溢出)

        CCAPM0 = 0x42; //0100,0010 Setup PCA module 0 in PWM mode
        // ECOM0=1使能比較 PWM0=1 使能CEX0腳用作脈寬調(diào)節(jié)輸出
        /*********************
        PCA 模塊工作模式設(shè)置 (CCAPMn 寄存器 n= 0-3四種)
        7 6 5 4 3 2 1 0
        - ECOMn CAPPn CAPNn MATn TOGn PWMn ECCFn
        選項(xiàng): 0x00 無此操作
        0x20 16位捕捉模式,由 CEXn上升沿觸發(fā)
        0x10 16位捕捉模式,由CEXn下降沿觸發(fā)
        0x30 16位捕捉模式,由CEXn的跳變觸發(fā)
        0x48 16位軟件定時(shí)器
        0x4c 16位高速輸出
        0x42 8位PWM輸出
        每個(gè)PCA模塊另外還對(duì)應(yīng)兩個(gè)寄存器:CCAPnH和CCAPnL 。 捕獲或者比較時(shí),它們用來
        保存16位計(jì)數(shù)值,當(dāng)工作于PWM模式時(shí),用來控制占空比
        *******************************/

        CR=1; //Start PCA Timer.

        }


        //AD轉(zhuǎn)換初始化 ----打開ADC電源
        void InitADC()
        {
        P1=0xff;
        ADC_CONTR|=0x80;
        delayms(3);
        //這兩個(gè)寄存器用來設(shè)置 P1口四種狀態(tài),每一位對(duì)應(yīng)一個(gè)P1引腳 ,按狀態(tài)組合操作

        /*****************
        P1M0 和P1M1 寄存器位 7 6 5 4 3 2 1 0
        P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0
        同理P3M0 P3M0 也是。因?yàn)?a class="contentlabel" href="http://www.antipu.com.cn/news/listbylabel/label/STC12C2052AD">STC12C2052AD只有兩個(gè)P口,所以只有這倆組 STC12C5410AD還多P2M0 P1M0 有三組
        P1M0 P1M1 高
        0 0 普通I0口 (準(zhǔn)雙向) P1寄存器位 7 6 5 4 3 2 1 0
        0 1 強(qiáng)推挽輸出 (20MA電流 )盡量少用 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0
        1 0 僅做輸入 A/D轉(zhuǎn)換時(shí)可用此模式
        1 1 開漏 ,A/D轉(zhuǎn)換時(shí)可用此模式

        三極管相關(guān)文章:三極管放大電路


        pwm相關(guān)文章:pwm是什么


        手機(jī)充電器相關(guān)文章:手機(jī)充電器原理

        上一頁 1 2 3 下一頁

        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉