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

51單片機中for循環延時時間的分析與仿真驗證

2015-07-27 07:38:45薛金水廣東工程職業技術學院廣州510520
山東工業技術 2015年19期
關鍵詞:單片機

薛金水(廣東工程職業技術學院,廣州 510520)

51單片機中for循環延時時間的分析與仿真驗證

薛金水
(廣東工程職業技術學院,廣州510520)

摘要:在單片機控制中,延時控制是最常用的程序之一。本文對51系列單片機中各種for循環程序對應的匯編代碼進行分析,探究延時時間長短的各種決定因素,提出了應用for循環實現延時時間的一般估算方法和注意要素。并通過Proteus軟件仿真,對延時控制程序的時間進行驗證。

關鍵詞:單片機;for循環;延時控制;匯編代碼;Proteus仿真

1 引言

在單片機控制中,延時控制是最常用的程序之一。通過延時,一方面使系統硬件各部分按照步驟設定,一步一步執行下去;另一方面使系統的硬件和軟件能夠協調運行,完成設定的傳輸和控制功能。延時控制既可以用硬件、也可以用軟件來實現。軟件控制可以用匯編語言或者C語言程序來實現。雖然匯編語言有指令緊湊、控制時間精確、占用內存少等特點,但是它相對難于掌握。由于C語言具有語言功能齊全、使用靈活方便、開發效率高,相對容易掌握等特點,被廣泛應用于在單片機系統開發應用中。

在C語言延時程序設計中,常用三種循環語句(while語句、do while語句和for語句)實現延時功能。其中以for循環延時最為常見。本文從應用需要角度出發,依據單片機C語言for循環的各種不同形式,通過具體實例,對照編譯生成的匯編代碼,分析、歸納總結出C語言for循環延時程序的延時時間估算方法及,通過Proteus軟件仿真進行驗證,并提出使用建議。

2 各種for循環語句程序延時結果分析

用C語言編寫的單片機程序,首先要轉換為匯編語言,最后編譯為機器代碼后才能真正運行。因此,對于用C語言編寫的各種延時程序,只有通過從其匯編轉換代碼上計算其實現延時時間,才是比較準確時間估算的方法。

2.1決定for循環延時時間長短的因素

從各種for循環語句程序延時情況進行分析和驗證,發現:與延時結果有關的因素有如下三個:循環變量類型(char或者int類型)、循環變量變化方式(遞增或者遞減)和循環次數(是否超過256)。下表是考慮上述三種因素的不同for循環延時程序的匯編代碼與實際延時時間分析和比較。

表1 循環變量為char類型的for循環延時程序

從表1可以看出,以char類型為循環變量、循環變量遞減變化時,是使用寄存器R7,以DJNZ語句為循環體,延時時間為1+2x125=251us;以char類型為循環變量、循環變量遞增變化時,同樣使用寄存器R7,以加1指令INC和CJNZ語句為循環體,延時時間為1+(2+1)x126=379us。采用char類型為循環變量時,循環變量遞增與遞減變化時,其延時時間差別比較大。

表2 循環變量為int類型的for循環延時程序

從表2可以看出,以int類型為循環變量時,只要循環次數不超過256次,則循環變量無論是遞減還是遞增變化,匯編語言都是使用寄存器R6和R7,以INC、CJNE或DJNZ語句為循環體,在循環次數相同時延時時間近似相等,循環次數增加時延時時間按照比例增加(見函數5、6、7、8);當循環次數超過256次,延時時間不再成比例增加,例如:采用(unsigned)int;for(i=500;i>=1;i--);的延時時間約為4000us;采用(unsigned)int;for(i=1;i<=500;i++);的延時時間約為3000us。讀者可自行驗證。

2.2for循環延時程序的應用

從以上分析可以看出:采用char類型為循環變量類型時,循環變量按照遞加或者遞減變化時,延時時間會差別較大;采用int類型為循環變量類型時,在循環次數不超過256次時,按照遞加或者遞減變化時,延時時間差別很小;而當循環次數超過256次時,其延時時間不能夠實現等比例增加。

所以,從應用角度出發,采用定義i為整型時,以for(i=125;

i>=1;i--);或者for(i=1;i<=125;i++);語句來作為1ms基本延時函數,不用考慮循環變量是遞加還是遞減,比較簡單易掌握。需要較長的延時時間采用二重循環的方式。采用二重循環的方式,最長可以延長255ms,能夠滿足一般的延時需求。如果需要更長時間延時,則可以用三重甚至多重循環方式,但是循環次數一般不能超過256次。

例如:要實現延時10ms,則可以用如下循環

3 C語言程序軟件延時功能的Proteus仿真軟件

C語言延時功能實現過程中,為了驗證其延時的正確性,一方面可以利用示波器來測定延時程序執行時間,即設計一個基本單片機硬件電路,將包含實現延時函數的程序下載到單片機硬件電路,在程序中運行該延時函數,通過測量示波器相關輸出引腳上的高、低電平時間,即可確定延時函數執行時間;也可以采用反匯編方法,即利用Proteus軟件將用C51編寫的延時函數轉換為匯編語言程序,通過計算匯編語言程序的運行時間得到該延時函數的運行時間;或者利用KeilC51編譯器中的斷點調試功能來模擬執行延時代碼所需的時間,即在延時函數前、后設置斷點,通過比較兩個斷點的時間變化來確定延時程序實際執行時間。

這里介紹一種與單片機教學緊密結合,又比較容易實現的方法,即是利用Proteus軟件仿真功能來搭建一個硬件電路,然后將目標程序經編譯后生成HEX文件,寫入C51單片機中,利用Proteus中的虛擬示波器觀察設置輸出引腳(如P1.0)波形的變化周期來判斷是否實現預定延時功能。

例如:執行上述延時10ms程序來控制輸出引腳(如P1.0)變化,將其生成的.HEX文件寫入單片機仿真電路中,利用Proteus中的虛擬示波器生成波形來判斷是否實現預定延時功能。如上述程序的波形圖如圖1。

從波形圖和相關旋鈕可以看出,該波形的幅度為5格*1V/格=5V,高、電平為2格*5ms/格=10ms,實現其延時功能。

圖1

4 結束語

本文通過分析比較,提出一種比較可靠的1ms基本延時函數實現方法,通過對該延時函數的循環,便可以實現較長時間延時。通過軟件仿真,對延時控制程序的時間精確度進行驗證和分析,并且可以根據實際延時輸出情況進行調整。本文介紹單片機延時控制的實現方法比較容易掌握實現,對延時精確度要求不是特別高的場合,具有一定的參考和應用價值。

參考文獻:

[1]陳宏希.51單片機中for循環延時時間的估算[J].蘭州石化職業技術學院學報,2013,13(04):34-36.

[2]戴娟.單片機技術與應用[M].高等教育出版社,2012(10).

[3]吳挺運,林成何.KeilC51精確延時程序設計[J].電子科技,2012 (12):103-106.

[4]林立,張俊亮.單片機原理及應用——基于Proteus和Keil C(第3版)[M].電子工業出版社,2014(08).

作者簡介:薛金水(1974-),男,廣東興寧人,本科,研究方向:電子信息類專業教學和研究。

猜你喜歡
單片機
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的多功能智能插排
電子制作(2019年11期)2019-07-04 00:34:48
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
小議PLC與單片機之間的串行通信及應用
電子制作(2018年12期)2018-08-01 00:48:04
MSP430單片機在仿真中要注意的幾點問題
電子制作(2017年9期)2017-04-17 03:00:53
基于單片機的平衡控制系統設計
電子制作(2017年19期)2017-02-02 07:08:27
基于單片機的三維LED點陣設計
電子制作(2016年21期)2016-05-17 03:52:51
Microchip推出兩個全新PIC單片機系列
基于Proteus的單片機控制系統的仿真設計
主站蜘蛛池模板: 欧美成人手机在线观看网址| 国产福利免费在线观看| 亚洲精品国偷自产在线91正片| 992Tv视频国产精品| 1769国产精品免费视频| 欧美一区二区自偷自拍视频| 国产激情在线视频| 久久a毛片| 久久精品国产精品青草app| 国产欧美一区二区三区视频在线观看| 免费AV在线播放观看18禁强制| 亚洲天堂区| 亚洲国产理论片在线播放| 午夜日b视频| 亚洲国产高清精品线久久| 五月天香蕉视频国产亚| 国产精品夜夜嗨视频免费视频| 中文字幕人妻无码系列第三区| 国产精品 欧美激情 在线播放| 欧美一区二区精品久久久| 国产国产人成免费视频77777| 久久国语对白| 欧美日在线观看| 综合天天色| 午夜福利在线观看入口| 亚洲系列中文字幕一区二区| 国产美女91视频| 亚洲中文字幕23页在线| 国产99精品久久| 国产成人精品第一区二区| 五月天丁香婷婷综合久久| 亚洲精品va| 亚洲欧美日韩综合二区三区| 亚洲日韩AV无码精品| 激情無極限的亚洲一区免费| 婷婷色中文网| 国产精品久久自在自线观看| 无码专区在线观看| 精品无码专区亚洲| 久久99精品久久久久久不卡| 国产欧美一区二区三区视频在线观看| 久久a级片| 手机永久AV在线播放| 久草性视频| 无码国内精品人妻少妇蜜桃视频 | av无码久久精品| 操国产美女| 亚洲精品无码日韩国产不卡| 欧美激情伊人| 精品国产一区二区三区在线观看| 亚欧美国产综合| 片在线无码观看| 91福利一区二区三区| 久久久久夜色精品波多野结衣| 亚洲自偷自拍另类小说| 亚洲人成在线精品| 欧美日韩v| 亚洲欧美一区二区三区图片| 欧美一区精品| 黄色三级毛片网站| 久久女人网| 欧美亚洲国产日韩电影在线| 亚洲天堂啪啪| 中文字幕无码中文字幕有码在线| 97久久精品人人做人人爽| 国产成人av一区二区三区| 亚洲综合色婷婷中文字幕| 亚洲天堂视频网| 99精品热视频这里只有精品7| 亚洲欧美日韩成人在线| 亚洲AV电影不卡在线观看| 激情六月丁香婷婷| 日韩一二三区视频精品| 亚洲综合久久成人AV| 日韩无码真实干出血视频| 日韩亚洲高清一区二区| 亚洲精品高清视频| аⅴ资源中文在线天堂| 国产国产人成免费视频77777| 无码免费视频| 成人一区专区在线观看| 尤物国产在线|