98国产精品综合一区二区三区,国产福利视频,男人添女人囗交做爰视频,日本免费一区二区三区视频观看

你好!歡迎來到深圳市穎特新科技有限公司!
語言
當前位置:首頁 >> 技術中心 >> 單片機入門 >> 單片機匯編延時程序

單片機匯編延時程序

作者:admin 來源:不詳 發(fā)布時間:2018-05-08  瀏覽:26

單片機匯編實現(xiàn)延遲的程序代碼:

DELAY: MOV R7,#250 ;

D1: MOV R6,#250 ;

D2: DJNZ R6,D2 ;

DJNZ R7,D1 ;

RET

        如果用高級語言編程,只需要簡單地調用延時函數(shù)就可以實現(xiàn),但是計算機具體是怎么實現(xiàn)的呢?要想知其所以然,還得從匯編開始學起。

        冒號前面的“DELAY”、“D1”、“D2”為語句行的名字,是為了程序的條件語句跳轉用的,分號后面為注釋,計算機執(zhí)行時將過濾掉這些信息,最大限度減少代碼長度,提高效率。

DELAY: MOV R7,#250 ; 名字為“DELAY”的語句:意思是將CPU內部內存RAM的R7位置填寫為250(原來為0,為什么是0呢?因為任何程序開始執(zhí)行前都要復位,就像我們打算盤要將算子復位一樣,或者我們用沙盤寫字,要將沙盤抹平類似)

D1: MOV R6,#250 ; 名字為“D1”的語句:將R6位置填寫為250

D2: DJNZ R6,D2 ; 名字為“D2”的語句:將R6位置的250減1,如果為0就繼續(xù)執(zhí)行下一條,不為0就繼續(xù)執(zhí)行D2這一句,因為R6=250,所以這個語句要原地踏步執(zhí)行250次!

DJNZ R7,D1 ; 這句沒有名字,因為沒有別的語句要跳到這里,所以就省略了。R7同樣等于250,但它不是原地踏步,而是跳回了D1,這么干,D!、D2和本句將被循環(huán)執(zhí)行250遍,需要強調的是:D2語句自身每次都要執(zhí)行250遍,也就是執(zhí)行了250*250=62500遍!

RET ;子程序結束(因為延時程序一般不作為獨立程序存在,它只是一個子程序,也就是高級語言中的一個函數(shù),看到這個字符,子程序將跳回到母程序,進行下一步)。

 

        這個子程序這么反復地循環(huán)指令,到底有什么意義呢?又是怎么實現(xiàn)的延時程序呢?說起來計算機真是有點笨,它是*數(shù)程序執(zhí)行的次數(shù)來累加時間的!也就是說語句本身就是為了浪費時間!哈哈,可笑吧?這就像你沒有鐘表,但是你知道你跑操場一圈是一分鐘,然后就繞著操場跑了60圈,時間過了正好一小時一樣。

        如果是人的話,誰也不會笨到干這么累的活兒來計時,但計算機不一樣,它不論靜止還是運動,程序總是一拍一拍地運行著,所以它不累。

 

        那么,計算機執(zhí)行一個語句耗費的時間是多少呢?

        以51型單片機為例:如果采用12MHz的晶振,運行一個機器周期為1微秒,具體為什么暫時不管。單片機的指令系統(tǒng)分為單周期、雙周期和三周期指令(三周期實際上占用四個周期,多余一個周期浪費掉),這是有指令的內容決定的,內容多的單周期執(zhí)行不完,肯定要延長了。子程序里面的MOV是單周期、DJNZ是雙周期。

 

        這樣,我們就可以算算這個子程序累計進行了多少個周期,然后乘以1微秒,就算出它占用的時間,也就是延時的時長了!

        第一句:DELAY: MOV R7,#250 ;執(zhí)行了一次,沒有任何語句跳轉給它,單周期。1

        第二句:D1: MOV R6,#250 ;執(zhí)行了250次,全部是第四句跳過來的,單周期。250

        第三句:D2: DJNZ R6,D2 ;原地執(zhí)行了250次,從第二句順延(第二句執(zhí)行完,沒有其它跳轉的話肯定要執(zhí)行第三句)過來250次,也就是250*250=62500次,雙周期*2。125000

        第四句:DJNZ R7,D1 ; 從第三句順延過來250次,雙周期*2。500

        總計:1+250+125000+500=1257501次,乘以1微秒,換算約為0.13秒。

        我們可以通過調整R6、R7的數(shù)值來調整延時的長度。事實上,8位計算機中,R6之類的工作寄存器地址最大只能放下255的十進制數(shù)值,因此要通過上述程序達到更長的延時是辦不到的。

        那怎么辦呢?

        我們可以再增加一個R4,讓上述的程序最多可以循環(huán)255遍,這樣,0.13秒的200多倍就是30秒上下了,不夠的話再增加循環(huán),又可以擴大200多倍,當然,工作寄存器的數(shù)量是有限的,因此這個延時程序也是有限的,如果還不夠用怎么辦呢,就目前我所學的知識,只能在母程序里面設置循環(huán)了,也就是讓這個子程序在母程序里面繼續(xù)循環(huán)......

編輯:admin  最后修改時間:2018-05-08

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2025 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號-4

寂寞少妇扒开双腿猛烈进入免费看| 丰满少妇被猛烈进入a片| 国产伦精品一区二区三区免费迷| a片粗大的内捧猛烈进出男男小说| 久久精品国产99国产精2018| 精品一区| 成品人视频推荐素材网站| 啊灬啊灬啊灬快灬高潮了听书| 精品人妻少妇嫩草av无码专区| 色情污污污www网站下载| 亚洲 国产 另类 无码 日韩| 亚洲av成人片无码www| 热の综合热の国产中文网| 日本人妻伦在线中文字幕| 美女100%裸体| 大肉大捧一进一出的视频| 国产精品视频一区二区三区不卡| 被捣出白浆潮喷失禁抽出好爽| 精品国内自产拍在线观看视频| cao死你小sao货湿透了np| 久久久噜噜噜久久中文字幕色伊伊| 国精产品一区二区三区有限公司| 被多个男人调教奶头玩奶头| 亚洲 国产 另类 无码 日韩| 午夜不卡久久精品无码免费| 米奇7777狠狠狠狠视频| 被绑在机器上榨精失禁男男| 狠狠躁天天躁夜夜躁婷婷| 国自产拍偷拍精品啪啪一区二区| 与上司出轨的人妻| 调教超级yin荡护士h| 男生女生向前冲第六季| 无码免费一区二区三区| 荫蒂添的好舒服视频囗交| 将军与娇妻各种做高h| 蜜芽796.coo永不失联| 亚洲精品国产精品乱码视色| 国产网红女主播精品视频| 少妇高潮喷水久久久久久久久| 强行挺进朋友漂亮的娇妻| 亚洲国产精品网站在线播放|