新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)中時(shí)延函數(shù)易常范的錯(cuò)誤

        單片機(jī)中時(shí)延函數(shù)易常范的錯(cuò)誤

        作者: 時(shí)間:2016-11-24 來源:網(wǎng)絡(luò) 收藏
        有時(shí)候需要長(zhǎng)時(shí)間的延時(shí)時(shí),可以用循環(huán)也可以傳一個(gè)大點(diǎn)的參數(shù)。但是在傳大點(diǎn)的參數(shù)時(shí)一定要看清楚參數(shù)的類型及此類型所能表示的值的范圍。
        如我所編AD轉(zhuǎn)換程序中,在轉(zhuǎn)換時(shí)間要長(zhǎng)達(dá)30ms時(shí)才能有有效的數(shù)據(jù)輸出。如果時(shí)間過短,則不會(huì)起到即時(shí)的效果。unsigned char 最大值為255再大就要用循環(huán)了。
        下面是原碼:
        #include
        #include
        sbit wr = P3^6;
        sbit rd = P3^7;
        sbit dula = P2^6;
        sbit wela = P2^7;
        unsigned char j,k,aa;
        void delay(unsigned char i) //最大值255
        {
        for(j=i;j>0;j--)
        for(k=125;k>0;k--);
        }
        void main()
        {
        unsigned char a;
        while(1)
        {
        wela = 1; //選通P0的74hc573
        P0 = 0; //選通ADCS
        wr = 0; //起動(dòng)adc0804,寫入模擬信號(hào)
        _nop_();
        wr = 1;
        delay(10);
        // for(a = 20;a>0;a--)
        delay(255); //轉(zhuǎn)換等待
        rd = 0; //AD讀使能
        }
        }
        【注釋】此代碼在TX-1C中通過


        關(guān)鍵詞: 單片機(jī)時(shí)延函

        評(píng)論


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

        關(guān)閉
        主站蜘蛛池模板: 馆陶县| 土默特左旗| 黔西县| 和静县| 胶南市| 沐川县| 临武县| 莫力| 宜章县| 上蔡县| 绥江县| 正宁县| 晋江市| 江山市| 重庆市| 个旧市| 酒泉市| 定结县| 玛曲县| 洛隆县| 靖边县| 象州县| 信丰县| 高平市| 吉木萨尔县| 霸州市| 平凉市| 平原县| 疏附县| 玉溪市| 阿巴嘎旗| 安国市| 湛江市| 罗源县| 六盘水市| 通州区| 六安市| 梁山县| 西充县| 河北区| 图片|