在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 一個簡單的單片機直流可調(diào)穩(wěn)壓電源設(shè)計

            一個簡單的單片機直流可調(diào)穩(wěn)壓電源設(shè)計

            作者: 時間:2016-12-01 來源:網(wǎng)絡(luò) 收藏
            通過做直流穩(wěn)壓電源可以掌握A/D,D/A模塊的使用,51單片機程序分為鍵盤處理、D/A、A/D和存儲四個模塊。運用掃描法,對鍵盤進(jìn)行掃描,有按鍵就更改輸入TLC5615 的數(shù)值,ADD按鍵是對數(shù)據(jù)進(jìn)行加以操做,長按的話使步進(jìn)值增大,實現(xiàn)快加,SUB按鍵與ADD按鍵同,預(yù)讀取按鍵用于讀取 AT24C04 中預(yù)置的數(shù)值,保存按鍵用于保存當(dāng)前電壓值;顯示部分主要是對TLC549采集回來的電壓進(jìn)行處理顯示,它主要是在定時器0的中斷服務(wù)程序中顯示,100ms刷新顯示一次;TLC5615 模塊,通過對dA的串行數(shù)據(jù)輸入,使其在輸出電壓時可控,輸出電壓后經(jīng)lm324,三極管,加上負(fù)載輸出電壓,輸出電壓后,用TLC549芯片100ms采集一次,送數(shù)碼管顯示。



            完整的工程文件及hex文件下載地址:http://www.51hei.com/f/dpjdianyuan_c.rar

            本文引用地址:http://www.biyoush.com/article/201612/324255.htm

            AT24C04.h 代碼

            sbit ATCLK=P1^6;
            sbit SDA=P1^7;
            sbit a7=ACC^7;
            sbit a6=ACC^6;
            sbit a5=ACC^5;
            sbit a4=ACC^4;
            sbit a3=ACC^3;
            sbit a2=ACC^2;
            sbit a1=ACC^1;
            sbit a0=ACC^0;
            /*********************
            *******24C04的初始化**
            **** **************/
            void init_24C04()
            {
            SDA=1;
            _nop_();
            ATCLK=1;
            _nop_();
            }
            /*********************
            ****啟動24C04*********
            *******************/
            void start_24C04()
            {

            SDA=1;
            _nop_();
            ATCLK=1;
            _nop_();

            SDA=0;
            _nop_();
            ATCLK=0;
            _nop_();
            }
            /********************
            *****停止24C04*******
            *********************/
            void stop_24C04()
            {
            SDA=0;
            _nop_();

            ATCLK=1;
            _nop_();
            SDA=1;
            _nop_();

            }
            /*********************
            ****24C04應(yīng)答*********
            *******************/
            void response()
            {
            unsigned char i;
            ATCLK=1;
            _nop_();
            while((SDA==1)&&(i<250))i++;
            ATCLK=0;
            _nop_();
            }
            /********************
            *****讀取24C04一個字節(jié)**
            **************************/
            unsigned char read_byte()
            {
            SDA=1;
            ATCLK=1;a7=SDA;ATCLK=0;
            ATCLK=1;a6=SDA;ATCLK=0;
            ATCLK=1;a5=SDA;ATCLK=0;
            ATCLK=1;a4=SDA;ATCLK=0;
            ATCLK=1;a3=SDA;ATCLK=0;
            ATCLK=1;a2=SDA;ATCLK=0;
            ATCLK=1;a1=SDA;ATCLK=0;
            ATCLK=1;a0=SDA;ATCLK=0;
            SDA=1;
            ATCLK=0;
            return ACC;
            }
            /*************************
            **寫入24C04一個字節(jié)******
            *************************/
            void write_byte(unsigned char addr)
            {
            ACC=addr;
            SDA=a7;ATCLK=1;ATCLK=0;
            SDA=a6;ATCLK=1;ATCLK=0;
            SDA=a5;ATCLK=1;ATCLK=0;
            SDA=a4;ATCLK=1;ATCLK=0;
            SDA=a3;ATCLK=1;ATCLK=0;
            SDA=a2;ATCLK=1;ATCLK=0;
            SDA=a1;ATCLK=1;ATCLK=0;
            SDA=a0;ATCLK=1;ATCLK=0;
            SDA=1;
            ATCLK=0;

            }
            /***********************
            **寫24C04的數(shù)據(jù)*******
            *****************/
            void write_24C04(unsigned char addr,unsigned char dat)
            {
            start_24C04();
            write_byte(0xa0);
            response();
            write_byte(addr);
            response();
            write_byte(dat);
            response();
            stop_24C04();
            }
            /**********************
            ***讀24C04的數(shù)據(jù)*******
            *****************/
            unsigned char read_24C04(unsigned char addr)
            {
            unsigned char t;
            start_24C04();
            write_byte(0xa0);
            response();
            write_byte(addr);
            response();
            start_24C04();
            write_byte(0xa1);
            response();
            t=read_byte();
            stop_24C04();
            return t;
            }


            上一頁 1 2 下一頁

            評論


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

            關(guān)閉