999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

單片機(jī)軟件延時(shí)程序的設(shè)計(jì)

2012-04-29 00:00:00呂寧
職業(yè)·中旬 2012年7期

在單片機(jī)的控制應(yīng)用中,控制過(guò)程常有延時(shí)的需要,例如交通燈的控制程序,控制紅燈亮的時(shí)間持續(xù)30秒,就可以通過(guò)延時(shí)功能來(lái)實(shí)現(xiàn)。延時(shí)功能除了可以使用定時(shí)器/計(jì)數(shù)器之外,還可以使用軟件程序來(lái)完成。軟件延時(shí)程序是典型的循環(huán)程序,它是通過(guò)執(zhí)行一個(gè)具有固定延時(shí)時(shí)間的循環(huán)體來(lái)實(shí)現(xiàn)延時(shí)的。本文從機(jī)器周期和指令周期的區(qū)別和聯(lián)系、編寫(xiě)軟件延時(shí)程序所需相關(guān)指令的用法等方面,介紹軟件延時(shí)程序的設(shè)計(jì)。

一、機(jī)器周期和指令周期

1.機(jī)器周期

機(jī)器周期是指單片機(jī)完成一個(gè)基本操作所花費(fèi)的時(shí)間,一般使用μs來(lái)計(jì)量單片機(jī)的運(yùn)行速度。MCS-51單片機(jī)的一個(gè)機(jī)器周期包括12個(gè)振蕩脈沖周期,因此,一個(gè)機(jī)器周期就是振蕩脈沖的十二分頻。如果MCS-51單片機(jī)的振蕩脈沖頻率為12MHz時(shí),那么執(zhí)行一個(gè)機(jī)器周期就只需要1μs;如果采用的是6MHz的晶振,那么執(zhí)行一個(gè)機(jī)器周期就需要2μs。

2.指令周期

指令周期是指單片機(jī)執(zhí)行一條指令所需要的時(shí)間,一般以單片機(jī)的機(jī)器周期來(lái)計(jì)量指令周期。MCS-51單片機(jī)的指令周期根據(jù)指令的不同,分成單周期指令(執(zhí)行這條指令只需一個(gè)機(jī)器周期)、雙周期指令和四周期指令。除了乘、除兩條指令是四周期指令之外,其余MCS-51單片機(jī)指令均為單周期或雙周期指令。如果MCS-51單片機(jī)采用的是12MHz晶振,那么它執(zhí)行一條指令一般只需1~2μs的時(shí)間;如果采用的是6MHz晶振,執(zhí)行一條指令一般就需2~4μs的時(shí)間。

現(xiàn)在的單片機(jī)有很多種型號(hào),但每個(gè)型號(hào)的單片機(jī)器件手冊(cè)中都會(huì)詳細(xì)說(shuō)明執(zhí)行各種指令所需的機(jī)器周期。我們可以依據(jù)單片機(jī)器件手冊(cè)中的指令執(zhí)行周期和單片機(jī)所使用晶振頻率,來(lái)完成需要用軟件的方法進(jìn)行的延時(shí)的程序設(shè)計(jì)。

二、延時(shí)指令

在MCS-51單片機(jī)指令中并沒(méi)有真正的延時(shí)指令,從以上的概念我們知道單片機(jī)每執(zhí)行一條指令都需要一定的時(shí)間。所以可以讓單片機(jī)不斷地執(zhí)行沒(méi)有具體實(shí)際意義的指令(通常把這些指令稱(chēng)為啞指令),就可以達(dá)到軟件延時(shí)的效果。

1.數(shù)據(jù)傳送指令MOV

數(shù)據(jù)傳送指令功能是將數(shù)據(jù)從一個(gè)地方復(fù)制、拷貝到另一個(gè)地方。如:MOV R7,#80H,執(zhí)行這條指令的功能是將立即數(shù)80H送到寄存器R7。就單這條指令而言并沒(méi)有任何實(shí)際意義,而執(zhí)行該指令則需要一個(gè)機(jī)器周期。

2.空操作指令NOP

空操作指令功能只是讓單片機(jī)執(zhí)行沒(méi)有意義的操作,消耗一個(gè)機(jī)器周期。

3.減1條件轉(zhuǎn)移指令DJNZ

減1條件轉(zhuǎn)移指令功能是將第一個(gè)操作數(shù)的內(nèi)容減1,判斷所得結(jié)果是否為0,不為0則轉(zhuǎn)移到指定地點(diǎn),為0則順序往下執(zhí)行。

利用以上三條指令的組合就可以比較精確地用軟件的方法設(shè)計(jì)出所需要的延時(shí)程序。

三、50ms延時(shí)程序的設(shè)計(jì)

50ms延時(shí)程序的設(shè)計(jì)(設(shè)晶振頻率f=12MHz,則機(jī)器周期為1μs)(見(jiàn)下表)。

①M(fèi)OV R6,#100在整個(gè)程序中只被執(zhí)行一次,且為單周期指令,所以耗時(shí)1×1μs。

②MOV R7,#250從②看到④只要R6-1不為0,就會(huì)返回到這句,共執(zhí)行了R6次,共耗時(shí)1×100μs。

③DJNZ R7,I2只要R7-1不為0,就反復(fù)執(zhí)行此句(內(nèi)循環(huán)R7次),又受外循環(huán)R6控制,所以共執(zhí)行R7*R6次,因是雙周期指令,所以耗時(shí)2×R7×R6=2×250×100μs。

④DJNZ R6,I1從④看到②只要R6-1不為0,就會(huì)R6次執(zhí)行這句,因是雙周期指令,所以耗時(shí)2×100μs。

⑤RET是一條子程序返回指令。在整個(gè)程序中只被執(zhí)行一次,且為雙周期指令,所以耗時(shí)2×1μs。

所以總延時(shí)時(shí)間計(jì)算為:

t=(1×1+1×100+2×250×100+2×100+2×1)×機(jī)器周期=50303μs=50.3ms

最后說(shuō)明一點(diǎn),編寫(xiě)程序時(shí),一般將延時(shí)程序編寫(xiě)成獨(dú)立的子程序,而所謂子程序也就是一個(gè)實(shí)現(xiàn)某個(gè)功能的小模塊。這樣在主程序中就可以方便地反復(fù)調(diào)用編寫(xiě)好的延時(shí)子程序。

(作者單位:江蘇省常州技師學(xué)院)

主站蜘蛛池模板: 日本不卡视频在线| 亚洲欧洲国产成人综合不卡| 精品久久人人爽人人玩人人妻| 成人免费网站久久久| 国产一级片网址| 亚洲不卡影院| 中文字幕无线码一区| 色综合网址| 国产欧美视频在线观看| 中文字幕首页系列人妻| 在线人成精品免费视频| 扒开粉嫩的小缝隙喷白浆视频| 国产亚洲欧美日韩在线一区| 综合社区亚洲熟妇p| 久久精品视频亚洲| 全色黄大色大片免费久久老太| 精品国产91爱| 欧洲成人在线观看| 亚洲天堂首页| 国产香蕉97碰碰视频VA碰碰看| 午夜性刺激在线观看免费| 欧美国产日韩在线| 99久久精品免费看国产电影| 国内a级毛片| 亚洲最大综合网| 高潮毛片免费观看| 99视频在线免费| 亚洲乱伦视频| 波多野结衣无码AV在线| 亚洲成网777777国产精品| 国产在线观看一区精品| 精品国产福利在线| 精品国产中文一级毛片在线看 | 欧美一级在线看| 国产激爽大片在线播放| 午夜日韩久久影院| 国产99视频精品免费视频7 | 啪啪永久免费av| 欧美成a人片在线观看| 国产丝袜无码精品| 狼友av永久网站免费观看| 91精品最新国内在线播放| 911亚洲精品| 99re精彩视频| 亚洲综合亚洲国产尤物| 1024你懂的国产精品| 国产精品女主播| 五月六月伊人狠狠丁香网| 欧美伦理一区| 亚洲大尺码专区影院| a毛片免费在线观看| 亚洲精品制服丝袜二区| 美女国产在线| 天天综合网色| 幺女国产一级毛片| 欧美人与性动交a欧美精品| 日韩在线播放欧美字幕| 欧美日韩另类在线| 中文字幕有乳无码| 999国内精品久久免费视频| 亚洲成综合人影院在院播放| 国产极品粉嫩小泬免费看| 在线va视频| 色偷偷综合网| 在线看片免费人成视久网下载| 伊人久久精品亚洲午夜| 在线欧美国产| 亚洲第一视频免费在线| 最新国产成人剧情在线播放| 热99精品视频| 国产在线八区| 午夜精品福利影院| 国产欧美日韩资源在线观看| 青青网在线国产| 亚洲天堂免费在线视频| 亚洲视屏在线观看| 欧美α片免费观看| 久久黄色小视频| 色九九视频| 91九色最新地址| 超清无码一区二区三区| 伊人大杳蕉中文无码|