新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > Keil C51精確延時程序設計

Keil C51精確延時程序設計

作者: 時間:2013-05-16 來源:網(wǎng)絡 收藏

光標為當前程序的停止處,左側的寄存器窗口可以看到一些寄存器名稱及其值??梢酝ㄟ^設置斷點的功能,每遇到斷點,程序會自動停止在斷點處。“sec”中數(shù)據(jù)的變化即為程序執(zhí)行處到斷點處所需的時間。對上述程序將斷點設置在“P1=P1^0x01”代碼處,然后點擊全速運行可以得表2所示。

本文引用地址:http://www.butianyuan.cn/article/170502.htm

g.JPG


從表2可以看出,delay函數(shù)執(zhí)行的時間△t=2 391-389=2 002μs,與理論分析結果一樣。

3 應用實例
DS18B20是一款單總線數(shù)字式溫度傳感器,對其控制必須按照嚴格的時序要求,有3個重要時序,分別是初始化、讀以及寫時序,時序圖如圖3所示。

h.JPG


由圖3可知,涉及到程序的要求為:
初始化。(1)將總線低480~960μs,然后釋放總線。(2)DS18B20等待15~60μs,然后返回低電平并持續(xù)60~240μs的存在脈沖。
寫時序。(1)將總線置低電平并且持續(xù)15μs后發(fā)送數(shù)據(jù)的某一位。(2)60~120μs然后將總線拉高并持續(xù)至少1μs的時間后開始下一次發(fā)送。
讀時序。(1)將總線置低電平,并且持續(xù)至少1μs,然后釋放總線。(2)釋放總線后15μs內(nèi)讀取并處理數(shù)據(jù)。(3)處理數(shù)據(jù)后,保證第一個步驟到延時結束時間至少60μs后為電阻上拉狀態(tài)。
采用延時程序的設計方法,利用for循環(huán)編寫delay函數(shù)和_nop_()函數(shù)控制DS18B20。
通過以上延時程序的控制方法,DS18B20穩(wěn)定實現(xiàn)了溫度采集。充分說明了高效的延時,在開發(fā)一些需要使用到延時程序時,可以先用 先設計好延時程序,然后利用以上方法進行分析計算,最后直接調(diào)用,可節(jié)省大量的時間、提高CPU的使用效率。

4 結束語
具有強大的功能,只要利用合理,可以給開發(fā)者節(jié)省大量的時間,從而提高開發(fā)效率。另外在設計延時程序的時候,應該綜合考慮各種延時程序的特點,以優(yōu)化CPU的使用效率。

c語言相關文章:c語言教程


塵埃粒子計數(shù)器相關文章:塵埃粒子計數(shù)器原理
晶振相關文章:晶振原理
燃氣報警器相關文章:燃氣報警器原理

上一頁 1 2 3 下一頁

評論


相關推薦

技術專區(qū)

關閉