ABOV單片機內部定時器Timer1的定時器代碼實現講解及示例代碼-[MC96F6332D]

一、準備工作

1、KEIL C51編譯環境

2、CodeGen8 代碼生成器

3、MC96F6332D 開發板

4、USB-OCD II仿真器

二、內部定時器PWM代碼生成

1、在CodeGen8 代碼生成器的外設窗口中選擇內部RC時鐘作爲時鐘源,設置時鐘源的頻率爲8MHz;配置內部Timer1的定時器輸出引腳P12的功能爲T1o,如下圖中①所示的GPIO配置;配置Timer1爲T1o模式,頻率爲1KH;定時器下佔空比默認爲50%且不可更改;如下圖②所示;配置後Timer1的代碼自動生成如下圖③所示;

2、點擊CodeGen8 中的圖標,自動打開KEIL C51軟件;

3、編譯工程,結果如下所示:

4、關於TIMER1中Timer工作流程簡介:

簡單可以理解爲三部分:①時鐘的選擇和配置,②計數器的數據設置,③定時器信號輸出(包括GPIO特定引腳的配置)

5、Timer1寄存器簡單介紹:

1)、數據寄存器:

定時器模式下T1ADRH和T1ADRL用來設置定時器的週期;

2)、控制寄存器描述:

Timer1定時器輸出頻率頻率爲:f = fx /(T1ADRH/T1ADRL)= 8000000/(7999+1)= 1000.0000Hz;

6、點擊編譯器的下載按鈕,將剛剛編譯好的代碼下載到MCU中進行仿真調試;連接P12引腳到示波器端口,可以看到定時器1輸出PWM波形如下所示:

在串口輸出窗口可以看到如下信息:

備註:注意單片機內部時鐘的偏差問題!

 

三、實驗現象(具體內容可以參考工程中的Readme.txt文件)

1、MCU主頻選擇爲內部8MHz;

2、Timer1定時器輸出頻率頻率爲:f = fx /(T1ADRH/T1ADRL)= 8000000/(7999+1)= 1000.0000Hz;

3、具體的代碼可以訪問鏈接:https://share.weiyun.com/H6etJF05;進行免費獲取。

 


因爲小編自己能力水平有限,文中難免有錯誤或表達失誤的信息,還望廣大閱讀者留言批評指正,謝謝。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章