首先明確幾個概念:時鐘週期、振盪週期、狀態週期、機器週期、指令週期
1、時鐘週期,也稱為振盪週期:定義為時鐘脈衝的倒數,在微控制器中也就等於晶振的倒數。
51微控制器中把乙個時鐘週期定義為乙個節拍(用p表示),2個節拍定義為狀態週期(用s表示)
時鐘週期是微控制器中最小的時間單位。
eg:12m晶振的微控制器,時鐘週期=振盪週期=1/12 us。
2、機器週期:定義為完成一項基本操作所需要的時間,稱為機器週期。
在計算機中,為了方便管理,把一條指令的執行過程分為若干個階段,每個階段去執行一項基本操作。
如:取指令,儲存器讀,儲存器寫等。
在51微控制器中1個機器週期由6個狀態週期組成,也就是12個時鐘週期=12 x 1/12 us =1 us
定義機器週期是因為時鐘週期時間太短,根本做不了什麼。
3、指令週期:定義為執行一條指令所需的時間。
通常,包含乙個機器週期的指令稱為單週期指令,比如 mov指令,clr指令等。
包含兩個機器週期的指令稱為雙週期指令。
另外還有四週期指令。
判斷指令是單週期指令還是雙週期指令,最可靠的是查指令表。我在網上找到了乙個規律總結,
此規律應按照順序進行判斷,前一條原則高於後一條(主要指2~6),按順序檢查到哪一條滿足,就歸屬哪
一類:
1、mul、div:僅有的4週期指令
2、包含dptr和pc的指令均為2週期指令
3、所有的絕對跳轉和條件轉移指令,均為2週期指令
4、所有包括a暫存器的指令,均為單週期指令
5、位操作指令中,anl和orl是2週期指令
6、所有包含立即位址的指令,除inc direct及dec direct外,均為2週期指令
7、剩下的均為單週期指令。
現在,常用的微控制器程式編寫軟體為keil,當寫好程式後,我們可以通過軟體除錯來確定程式執行所需的時間,同時也能看到每條指令:
51微控制器測量脈衝週期
要求 測量脈衝的週期 思想 用定時器和外部中斷 下降沿觸發中斷 當第乙個下降沿時,觸發外部中斷,此時開始計時。當第二個下降沿時,此時停止計時,此時的時間就是脈衝的週期。程式 include include define ulint unsigned long int ulint cycle t 0 ...
51微控制器
數碼管顯示幾乎是每次藍橋杯微控制器設計與開發組競賽的必考部分,相對於使用lcd1602作為顯示裝置,使用數碼管來顯示能夠更好的考察參賽選手的微控制器基本功,因為ct107d開發平台的設計使得數碼管的顯示不僅牽扯到數碼管顯示的 基本內容,還涉及到74hc573鎖存器,74hc02異或門,74hc138...
51微控制器
建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 1.供電電源 一般開發板上提供兩種供電方式,usb供電和專用電源供電。使用usb供電你只要用一根usb線將開發板usb電源介面與電腦的usb...