S3C2440開發板裸機程式系列05 定時器PWM

2021-08-20 04:41:29 字數 1004 閱讀 7253

1. pwm概述

定時器0、1、2和3具有pwm功能。tcntbn是計數初值,定時器開啟後,減1計數。tcmpbn的值是用於比較的,初始值是0,所以tcntbn減1計數到0時,就等於tcmpbn,此時toutn就會翻轉。

所以,tcmpbn的值是用於脈寬調變pwm的,即當遞減計數器(確切說是tcntn)的值與定時器控制邏輯中的比較暫存器的值(確切說是tcmpn)相等時,控制邏輯改變輸出電平。

tout0即是gpb0,gpb0接蜂鳴器,因此可以利用timer0的pwm功能實現蜂鳴器發聲。

如上圖可知,需要把gpbcon[1:0] 設定為2。

關於tcon[2]:該位只是定義tout0的極性是否反相。只要tcnt0=tcmp0,則tout0就會翻轉,與tcon[2]無關。

在timer1定時器程式基礎上改進。

timer.c 增加timer0初始化

void timer0_init(void)

main.c 修改如下: 

int main()

if(1==flag)else

} return 0;

}

2. 按鍵控制蜂鳴器以不同頻率發聲

改進串列埠函式功能,增加傳送單個字元、傳送字串功能函式。其中,傳送字串函式利用了可變引數程式設計技術。

當按」+」時頻率增大,按」-」時頻率減小。 

main.c 

int main()

s3c2440裸機串列埠UART

串列埠收發資料 115200,8n1。每一位的時間是t 1 115200。傳輸乙個位元組需要10位 包括起始位1位,資料位8位,停止位1位,需要的時間是t 10 115200。每秒傳輸的的位元組數 1 t 115200 10 11520byte。回環模式 一發出資料就立刻收到,用於測試。main.c...

S3C2440裸機 時鐘

目錄 1.s3c2440的時鐘體系 1.1.s3c2440結構框圖 1.2 s3c2440時鐘樹 1.3 s3c2440上電順序 2.暫存器配置 2.1clkdivn暫存器 2.2mpllcon暫存器 2.3設定cpu為非同步模式 3.程式設計 4.實驗 從上面的結構圖可以看出,s3c2440主要分...

s3c2440裸機 ADC程式設計

模數轉換器即a d轉換器,或簡稱adc,通常是指乙個將模擬訊號轉變為數碼訊號的電子元件。如圖,是把可變電阻上的電壓值變換的模擬訊號通過adc轉換,輸出數碼訊號。對於數碼訊號我們需要得到它的2個屬性 1.轉換精度 用多少位來儲存這個資料 假如是10 bit 那麼最大值0b111111111對應3.3v...