原文:8051系列單片機軟件精確延時研究(一)

前言 最近自學STC公司的 系列單片機,編程中如流水燈等非精確延時多用軟件延時實現,寫了幾個類似DelayX us unsigned char x 的函數方便調用,函數內部的語句多是用STC官方延時程序再自己套一個for或者do..while循環改造而成,像這樣: 由於不懂匯編,所以對代碼的實際延時時間一直沒有深究,每次都是憑感覺摸索個大概。今天突然心血來潮在keil仿真中執行了一下以上代碼,觀察 ...

2016-08-05 13:57 0 1795 推薦指數:

查看詳情

單片機延時函數

1.51單片機延時,晶振為11.0592MHz (1)粗略延時 (2)定時器延時 2.stm32l151C8T6延時,外部晶振8MHz (1)粗略延時 (2)使用nop延時 通過使用__NOP()函數進行延時,因為使用了8M ...

Mon Jun 25 00:57:00 CST 2018 0 1580
對MSP430單片機__delay_cycles精確延時的說明及改正

在這里, 我來討論一下關於MSP430單片機使用__delay_cycles延時的問題. IAR for MSP430編譯器提供了一個編譯器內聯的精確延時函數(並非真正的函數)以提供用戶精確延時使用, 該函數原型是: __intrinsic void __delay_cycles(unsigned ...

Sun Jul 31 23:58:00 CST 2016 0 2164
8051單片機串口波特率和定時器1的初值計算

在模式0和模式2下,串口波特率固定,模式0為Fosc/12。模式2為Fosc/32或Fosc/64,具體由PCON寄存器的SMOD位決定。 在模式1和模式3下,波特率是一個可變值,波特率可以由定時器 ...

Thu Jun 02 01:59:00 CST 2016 0 5420
Ubuntu 16.04下8051單片機開發環境搭建

工作需求,准備學習單片機,加上以后准備學習嵌入式Linux,而且最近煩透了Win10的自動更新,遂放棄Windows環境,准備在Linux環境下從51單片機開始折騰起,學單片機和Linux兩不誤。本人是單片機和Linux系統雙料新手,學習過程中碰壁不斷,遂將過程做一下筆記,也分享到網上,高手見笑 ...

Sun May 29 01:11:00 CST 2016 1 1663
C8051F單片機定時器的定時

假設C8051F020單片機的晶振是sysclk=22114800HZ,即每秒計22114800個數經過Div=12分頻后得到定時器的計數頻率Tclk=sysclk/12,每秒計22114800÷12=1842900個數 sysclk/12 1(s) cout ...

Wed Dec 27 21:52:00 CST 2017 0 1012
單片機延時函數整理——針對裸機

單片機中有很多延時的實現方式,這里參考了魚鷹談單片機的,安福萊的原子的等網上信息,做一個整理。更加細節可以參考魚鷹的文章,很詳細。 1、匯編延時,nop指令,這個51當中就有了,332位單片機未驗證也不想找了。一般不用,屬於死等方式。 2、軟件延時,這個方式就是for循環,屬於死等方式 ...

Tue May 26 23:57:00 CST 2020 0 986
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM