国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

查看: 2182|回復: 0
打印 上一主題 下一主題

【開發教程8】ARM功能手機-定時器實驗教程

[復制鏈接]
跳轉到指定樓層
樓主
發表于 2022-6-20 19:08:38 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
定時器實驗教程
——瘋殼·開發板系列



    圖1


    8LED硬件電路

        板子中有一個可控LED,接在DA14580的P24引腳,LED串聯1K的限流電阻,如下圖所示:

   
    圖2

    第二節 Timer寄存器

    2.1 Timer介紹

    軟件定時器模塊包含兩個定時器模塊,它們可以通過軟件控制、編程并用于各種任務。
    2.1.1 Timer0

    定時器0有16位的通用定時器;可以產生兩路脈寬調制信號;可編程的輸出頻率;可編程的占空比;可編程的軟件中斷。
    2.1.2 Timer2

    定時器2有14位的通用定時器;可以產生3路脈寬調制信號;輸入時鐘頻率為16MHz;可編程的輸入頻率;占空比可調;用于白色LED的亮度控制。

    2.2 寄存器介紹
    2.2.1 定時器0控制寄存器


    圖3
    15:4位:保留不使用;
    3位:PWM模式選擇,’0’表示PWM信號為高時輸出’1’,’1’表示PWM信號為高時輸出快時鐘信號的二分頻,則輸出頻率范圍為1~8MHz;
    2位:定時器0的時鐘分頻,為’1’使用選擇的時鐘源頻率,為’0’使用選擇的時鐘源進行10分頻,注意這個值適用于計數寄存器;
    1位:時鐘源選擇,’1’使用快時鐘(16、8、4、2MHz),’0’使用慢時鐘(32KHz);
    0位:定時器0控制位,’0’表示定時器0關閉并處于復位狀態,’1’定時器0運行。

    2.2.2 定時器0計數控制寄存器

   
    圖4
    定時器0計數重新裝載值,如果讀取該寄存器則返回當前計數器的值。
    2.2.3 定時器0高電平重新裝載值

   
    圖5
    定時器0高電平重新裝載值,如果讀取該寄存器則返回定時器0的計數值。
    2.2.4 定時器0低電平重新裝載值

   
    圖6
    定時器0低電平重新裝載值,如果讀取該寄存器則返回定時器0的計數值。
    2.2.5 PWM2占空比

   
    圖7
    PWM2信號的占空比。
    2.2.6 PWM3占空比

   
    圖8
    PWM3信號的占空比。
    2.2.7 PWM4占空比

   
    圖9
    PWM4信號的占空比。
    2.2.8 PWM2,3,4的頻率

   
    圖10
    PWM2、3、4信號的頻率,三個信號頻率相同。

    2.2.9 PWM2,3,4控制寄存器

  
    圖11
    2位:硬件暫停使能,為’1’則硬件可以停止PWM2、3、4。
    1位:軟件暫停使能,為’1’則PWM2、3、4暫停。
    0位:PWM信號使能,為’1’則PWM2、3、4使能。

    2.3 寄存器配置講解
    #define CLK_PER_REG             (* ( volatile uint16*)0x50000004)
    #define TIMER0_CTRL_REG         (* ( volatile uint16*)0x50003400)
    #define TIMER0_ON_REG           (* ( volatile uint16*)0x50003402)
    #define TIMER0_RELOAD_M_REG     (* ( volatile uint16*)0x50003404)
    #define TIMER0_RELOAD_N_REG      (* ( volatile uint16*)0x50003406)
    #define PWM2_DUTY_CYCLE          (* ( volatile uint16*)0x50003408)
    #define PWM3_DUTY_CYCLE          (* ( volatile uint16*)0x5000340A)
    #define PWM4_DUTY_CYCLE          (* ( volatile uint16*)0x5000340C)
    #define TRIPLE_PWM_FREQUENCY     (* ( volatile uint16*)0x5000340E)
    #define TRIPLE_PWM_CTRL_REG       (* ( volatile uint16*)0x50003410)
    啟動Timer0模塊的時鐘:CLK_PER_REG |= 0x0008;
    定時器0初始化,選擇高頻時鐘,正常PWM模式,無分頻,則TIMER0_CTRL_REG = 0X0E;
    設置計數值為1000,高電平為500,低電平為200,則TIMER0_ON_REG=1000; TIMER0_RELOAD_M_REG=500; TIMER0_RELOAD_N_REG=200;
    開定時器中斷NVIC_SetPriority (SWTIM_IRQn, 254); NVIC_EnableIRQ(SWTIM_IRQn);
    啟動定時器TIMER0_CTRL_REG = (TIMER0_CTRL_REG|0x01);



    第三節 定時器實驗

    實驗需要使用的模塊有:手機開發板底板,Jlink調試工具,杜邦線、3.7V鋰電池或Mocro USB線。
    使用JLINK通過杜邦線連接手機藍牙位于手機主控底板,連接方式如下:
    (1)JLINK一端只需要使用杜邦線連接JLINK的SWC、SWD、GND三個引腳,如下圖所示:


    圖12
    (2)手機藍牙一端需要使用杜邦線連接上方右側的J3三個引腳,與JLINK的連接引腳一一對應,分別為SWC-->SWCLK、SWD-->SWDIO、GND-->GND,如下圖所示:


   圖13
    將JLINK插上電腦的USB接口,連接好之后給手機主控底板供電,詳細的介紹可以參考《如何上電》教程,路徑為:..\WT_Mobile\0.從這里開始\0.開機測試。
    打開定時器實驗的Keil工程timer0_general.uvproj,位于目錄:
    ..\WT_Mobile\1.初級教程\DA14580\3_初級_定時器\projects\target_apps\peripheral_examples\timer0\timer0_general\Keil_5。如下圖所示:

   
    圖14
    使用手環調試下載線連接好Jlink,編譯,點擊DEBUG,然后點擊全速運行,則可以看到藍色LED閃爍,如下圖所示:





    圖15


    配套資料::http://www.fengke.club
    套件地址:http://shop115904315.taobao.com/
    文件下載請點擊: Timer教程.pdf (750.77 KB)


您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 亚洲一区欧美在线| 日本三级韩国三级美三级91| 一级黄色在线| 亚洲精品片| 亚洲小视频| 午夜一区二区在线观看| 三级国产在线| 欧美日韩在线观看精品| 四虎黄色影院| 亚洲综合色视频| 亚洲自拍小视频| 日韩欧美亚洲| 亚洲欧美成人在线| 亚洲天堂一区二区三区四区| 特级黄a三级三级三级| 亚洲精品久荜中文字幕| 欧美色一级| 青青操免费在线观看| 午夜高清福利| 日本三级香港三级国产三级| 日本黄网站动漫视频免费| 亚洲国产成人超福利久久精品| 欧美精品xx| 午夜性刺激免费视频| 香蕉久久成人网| 新怡红院免费全部视频| 欧洲美女大片免费播放器视频| 日韩亚洲欧美在线观看| 夜夜夜久久久| 亚洲4kk44kk在线| 一本久久a久久精品亚洲| 亚洲午夜大片| 亚洲国产精品免费在线观看| 亚洲欧美日韩在线| 欧美国产精品不卡在线观看| 色综合 成人| 色综合久久88一加勒比| 欧美日韩精品一区二区| 亚洲韩精品欧美一区二区三区| 欧美一级淫片免费播放40分钟| 亚洲欧美综合一区|