輕松學ARM系列之玩轉蜂鳴器
時間:2018-08-16作者(zhe):華清遠見(jian)
作者(zhe):熊老師(shi)(shi),華清遠見教育(yu)科技集團(tuan)講師(shi)(shi)。 今天我們來學(xue)(xue)習輕松學(xue)(xue)arm系列之玩轉蜂(feng)鳴器,基于(yu)arm的cortex_a8內核的三星(xing)S5PV210開(kai)發平臺。 那么我們(men)來看一下(xia)如何學(xue)習(xi)使用pwm控制(zhi)蜂鳴器? 一、總體(ti)架構圖
![]()
搞(gao)定蜂鳴器(qi)(qi)之前需要我們對三星的(de)GPIO簡(jian)介的(de)相關(guan)章節有一定的(de)了(le)解,主要是timer 定時器(qi)(qi)。 二(er)、玩轉定時器(qi)的幾個要(yao)領 2.1 查看開(kai)發板(ban)上蜂(feng)鳴器(qi)的(de)連接的(de)原理圖 蜂鳴(ming)器對應的原(yuan)理圖
![]()
核(he)心板的對應(ying)的原理圖
![]()
2.2 選中GPD0CON配置(zhi)寄存器的xpwmTOUT1功能
![]()
GPD0.GPD0CON = ((~(0xf 0))& GPD0CON)| (0x2 << 4);選為pwm輸出功(gong)能 2.3 配置(zhi)預分頻和分頻寄(ji)存(cun)器的配置(zhi)
![]()
![]()
配置預分頻的值,TIMER.TCFG0 = (TIME.TCFG0 & (~0xff)) | 0xff ; 預分頻的(de)值(zhi)設(she)置為255 + 1
![]()
配置分頻(pin)的值為16分頻(pin): TIMR.TCFG1 = (TIME.TCFG1 & (~0xf0))| (0x4 << 4); 2.4 設(she)置緩沖計(ji)數(shu)器(qi)的(de)寄存器(qi)值和緩沖比較器(qi)的(de)值 工作原(yuan)理(li):計數器的值(zhi)每隔一(yi)個(ge)時鐘(zhong)周(zhou)期,做減(jian)1操作,如(ru)果減(jian)到值(zhi)與比(bi)較器的值(zhi)相等那么(me)進行高低電平的轉(zhuan)換,繼續遞減(jian)1,直到為(wei)0,那么(me)翻轉(zhuan),實現(xian)了一(yi)個(ge)完整(zheng)的方波周(zhou)期
![]()
![]()
設置計數緩沖(chong)區寄存器值 TIME.TCNTB1 = XXX; 設置(zhi)總(zong)周期(qi),一(yi)個pwm 設置比較緩沖區寄存(cun)器(qi)值 TIME.TCMPB1 = XXX/2; 設置是(shi)占空比 2.5 手(shou)動更(geng)新(xin)緩(huan)沖寄存器(qi)中(zhong)的值到計數器(qi)中(zhong) 設置pwm的步(bu)驟:
![]()
![]()
![]()
根據是1.3.15的第二步,先設置手動更新,在(zai)清除手動更新,啟動定時器 手動更新,使緩沖(chong)器(qi)中(zhong)的值更新到計數器(qi)中(zhong),雙緩沖(chong)機制 TIME.TCON = TIME.TCON & (0x0e << 8) ; 0000 1110 清除(chu)手動(dong)更新(xin)位,啟動(dong)定(ding)時器。 0000 1101 0x0d TIME.TCON = TIME.TCON & (0x0d << 8) ; 相關資訊
發表評論
|
全國咨詢電話:400-611-6270,雙休日及節假日請致電值班手機:15010390966
在線(xian)咨詢(xun): 曹老(lao)師(shi)(shi)QQ(3337544669), 徐老(lao)師(shi)(shi)QQ(1462495461), 劉老(lao)師(shi)(shi) QQ(3108687497)
企(qi)業培訓洽談(tan)專線(xian):010-82600901,院校合作洽談(tan)專線(xian):010-82600350,在線(xian)咨詢:QQ(248856300)
Copyright 2004-2018 華清遠見教(jiao)育科技(ji)集團 版權所有 ,京(jing)ICP備16055225號,京(jing)公海(hai)網安備11010802025203號