新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)中1S延時(shí)程序的編寫(xiě)

        單片機(jī)中1S延時(shí)程序的編寫(xiě)

        作者: 時(shí)間:2016-11-13 來(lái)源:網(wǎng)絡(luò) 收藏
        大家在用單片機(jī)電路設(shè)計(jì)時(shí)經(jīng)常會(huì)用到延時(shí),有些地方不用考慮太精確的延時(shí)時(shí)間,但有些場(chǎng)合卻必須對(duì)延時(shí)時(shí)間“斤斤計(jì)較”!今天就和大家討論一下關(guān)于延時(shí)程序的編寫(xiě)。

        在單片機(jī)延時(shí)程序中應(yīng)考慮所使用晶振的頻率,在51系列的單片機(jī)中,我們常用的是11.0592MHz和12.0000MHz的晶振,在AVR單片機(jī)上常用的有8.000MHz和4.000MH的晶振,而MSP430系列單片機(jī)中卻采用兩個(gè)時(shí)鐘輸入。

        本文引用地址:http://www.104case.com/article/201611/316450.htm

        這里以51單片機(jī)為例,介紹單片機(jī)延時(shí)程序的編寫(xiě)。我們通常采用122.0000MHz的晶振,那么一個(gè)機(jī)器周期就是1us,我們看下面這個(gè)程序(注意程序的注釋):

        DELAY: MOV R5,#8 ;1個(gè)機(jī)器周期。1+[1+(1+2*255)*244+2*244]*8+2*8 us

        D1:MOV R6,#244 ;1個(gè)機(jī)器周期。1+(1+2*255)*244+2*244 us

        D2: MOV R7,#255 ;1個(gè)機(jī)器周期。1+2*255 us

        DJNZ R7,$ ;2個(gè)機(jī)器周期。

        DJNZ R6,D2 ;2個(gè)機(jī)器周期。

        DJNZ R5,D1 ;2個(gè)機(jī)器周期。

        RET;2個(gè)機(jī)器周期。

        上面這個(gè)程序的延時(shí)時(shí)間為:

        1+[1+(1+2*255)*244+2*244]*8+2*8+2 us=1001401us=1.001403us。

        當(dāng)然,此類延時(shí)程序也可以采用定時(shí)中斷進(jìn)行編寫(xiě),詳細(xì)程序請(qǐng)大家自己編寫(xiě)。希望大家能在單片機(jī)設(shè)計(jì)中大步發(fā)展!



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

        評(píng)論


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

        關(guān)閉
        主站蜘蛛池模板: 固阳县| 河源市| 宝兴县| 邢台市| 东丽区| 洪洞县| 右玉县| 马山县| 台州市| 盐边县| 德庆县| 皋兰县| 屯留县| 枣阳市| 汝州市| 乐平市| 临泉县| 勃利县| 鞍山市| 棋牌| 奇台县| 彭州市| 通山县| 五莲县| 铁力市| 称多县| 大关县| 宁陵县| 长武县| 石嘴山市| 贺兰县| 句容市| 吐鲁番市| 邻水| 马边| 阿巴嘎旗| 涪陵区| 云南省| 新和县| 奇台县| 海兴县|