汗!問這個問題說明你對時鐘周期、機器周期、定時器周期都不太了解吧。
公司主營業務:成都網站設計、成都網站建設、移動網站開發等業務。幫助企業客戶真正實現互聯網宣傳,提高企業的競爭能力。成都創新互聯公司是一支青春激揚、勤奮敬業、活力青春激揚、勤奮敬業、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰,讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。成都創新互聯公司推出彭澤免費做網站回饋大家。
延時100毫秒的程序可以是一個函數,也可以是利用定時器的一段代碼。
如果是用匯編延時那么你要把單片機指令周期表翻一下了,看看整個循環語句用了哪些指令,每個指令多少個機器周期,然后計算每個機器周期耗時多少時長,你就知道循環多少次了。
如果用C語言延時,那么就要借助儀器了,你同樣要估算一下機器周期和循環次數,然后要精確到100ms就需要把這個延時時間作為頻率從單片機IO口輸出,用儀器來輔助測量,最后得出叫準確的100ms的循環次數的值。
如:
void delay_100ms(uint8 n)
{
uint16 i;
while(n)
{
for(i=0;ixxx;i++)//此循環應為運行100ms,用儀器輔助得到xxx的值。不夠就再在FOR一次。
}
}
最好直接利用定時器延時,定時1毫秒,程序中調用延時函數就行了,Delay(100): uint count; //定義外部變量 Delay( uint k) // 延時函數 { count = k; while(count!=0) ; } TIME0() interrupt 1 // 定時器0中斷函數 { TH0 = 0XFC; TL0 = 0X18; count--; }
delay100ms延時函數 i=0xfe 在一直循環減到0的時候再重置為0xfe 也就是說這個程序一直在循環延時 led功能 是100ms循環閃爍 但是你程序應該沒有定義全 abc是三盞燈 交替閃爍
名稱欄目:c語言100ms延時函數 c語言延時5ms
文章位置:http://www.yijiale78.com/article44/hgocee.html
成都網站建設公司_創新互聯,為您提供做網站、ChatGPT、域名注冊、企業建站、軟件開發、網頁設計公司
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯