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

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

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

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

      2. 新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > stc單片機(jī)不斷電下載程序

        stc單片機(jī)不斷電下載程序

        作者: 時(shí)間:2012-08-04 來(lái)源:網(wǎng)絡(luò) 收藏

        支持串口isp程序下載,不必使用專用下載器,僅使用串口就能。但每次都要斷電再上電,比較麻煩。
        下面介紹一種不需斷電就能的方法,在程序調(diào)試時(shí)比較方便。
        基本原理:
        有專用的復(fù)位寄存器,通過(guò)對(duì)該寄存器寫入不同的數(shù)值可以實(shí)現(xiàn)單片機(jī)熱啟動(dòng)復(fù)位。
        寄存器功能如下圖所示:

        點(diǎn)擊瀏覽下一頁(yè)

        由上圖可以看出只要滿足某個(gè)條件,向ISP_CONTR寫入0x60,就可以實(shí)現(xiàn)從ISP監(jiān)控區(qū)軟啟動(dòng)啟動(dòng)
        某個(gè)條件設(shè)置為:當(dāng)串口接收到0xaa數(shù)據(jù)時(shí),單片機(jī)執(zhí)行ISP_CONTR=0x60; 指令,從ISP監(jiān)控區(qū)軟啟動(dòng)啟動(dòng)。
        演示程序如下:

        //*************************STC12C5410AD軟啟動(dòng)演示**************************
        //
        //收到0xaa,從ISP監(jiān)控區(qū)軟啟動(dòng),利用該特性,可以實(shí)現(xiàn)下載
        //收到0x55,從用戶程序區(qū)啟動(dòng)
        //2010年3月13日21:58:49
        //************************************************************

        *************
        #include STC12C5410AD.H>
        uint c;
        //*************** 函數(shù)定義 ******************
        void delay1ms(unsigned int j);
        void senddata(uchar dc);
        //*************** 主程序 ********************
        void main(void)
        {
        ///******************
        TMOD|=0x20;
        SCON=0x50;
        TH1=0xfd; //12T時(shí)鐘9600bps
        TL1=0xfd;
        TR1=1;
        ES=1;
        EA=1;
        AUXR=AUXR|0x40; //定時(shí)器1使用1T時(shí)鐘 9600*12=115200bps
        ///******************
        delay1ms(30000);
        for(c=0;c256;c++)
        {
        senddata(c);
        delay1ms(200);
        }
        while(1)
        {

        }
        }
        //***************************發(fā)送數(shù)據(jù)**************************
        void senddata(uchar dc)
        {
        SBUF=dc;
        while(!TI); //當(dāng)TI=0時(shí),發(fā)送未結(jié)束,循環(huán)等待
        TI=0; //當(dāng)TI=1時(shí),發(fā)送結(jié)束,用軟件將TI清零
        }
        void uart(void) interrupt 4
        {
        uchar cdd;
        if(RI)
        {
        RI=0;
        cdd=SBUF;
        if(cdd==0xaa)
        {
        ISP_CONTR=0x60; //軟復(fù)位,從ISP監(jiān)控區(qū)啟動(dòng)
        }
        else if(cdd==0x55)
        {
        ISP_CONTR=0x20; //軟復(fù)位,從用戶程序區(qū)啟動(dòng)
        }
        else
        {
        senddata(cdd);
        }
        }
        else
        {
        TI=0;
        }
        }
        //*************************延時(shí) n*1ms********************
        void delay1ms(unsigned int j)
        {
        unsigned int i;
        for(;j>0;j--)
        { for(i=0;i124;i++)
        {;}
        }
        }

        單片機(jī)相關(guān)文章:單片機(jī)教程


        c++相關(guān)文章:c++教程


        單片機(jī)相關(guān)文章:單片機(jī)視頻教程


        單片機(jī)相關(guān)文章:單片機(jī)工作原理



        上一頁(yè) 1 2 下一頁(yè)

        評(píng)論


        相關(guān)推薦

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

        關(guān)閉