2016年計算機三級考試嵌入式系統(tǒng)開發(fā)技術(shù)重點內(nèi)容三

字號:


    S3C44B0的PWM組件及開發(fā)應(yīng)用
    常用PWM寄存器
    1、定時器配置寄存器TCFG0決定輸入給定時器的時鐘頻率的預(yù)分頻系數(shù)
    2、定時器配置寄存器TCFG1決定輸入給定時器的時鐘頻率的除數(shù)值
    3、定時器控制寄存器TCON決定定時器是否自動重裝、是否開始定時停止定時,是否輸出反轉(zhuǎn),是否允許死區(qū)控制等。
    4、 定時器計數(shù)寄存器TCNTB0~TCNTB5和比較寄存器TCMPB0~TCMPB5
    S3C44B0的PWM開發(fā)應(yīng)用
    用PWM的TOUT1和TOUT2分別控制兩個指示燈LED1和LED2,要求TOUT1=1時LED1亮,TOUT2=1時LED2亮,編程讓LED1以0.5秒閃亮(即0.5秒亮,0.5秒滅,循環(huán)),LED2以2秒閃亮。T1/T2定時器指定預(yù)分頻系數(shù)199,除法器值16,MCLK=60MHz。
    解答:LED1閃亮0.5秒:T1設(shè)置0.5S定時且反轉(zhuǎn);LED2閃亮:T2設(shè)置2S定時且反轉(zhuǎn)配置寄存器TCFG0=0xC7C7 (T1和T2為199=0xC7預(yù)分頻)
    配置寄存器TCFG1=0x330 (T1和 T2除法器值為16)
    定時器輸入時鐘頻率=MCLK/(預(yù)分頻值+1)/(除法器值)=60000000/(199+1)/16=18750Hz
    定時0.5秒,T1計數(shù)緩沖寄存器TCNTB1的值=0.5×18750=9375
    定時2秒,T2計數(shù)緩沖寄存器TCNTB2的值=2×18750=37500
    LDR R0,rTCFG0
    MOV R1,#0xC7C7 或LDR R1,=0xC7C7
    STR R1,[R0] ;寫TCFG0,分頻系數(shù)為199=0xC7
    LDR R0,=rTCFG1
    LDR R1,=0x330
    STR R1,[R0] ;寫TCFG1,除法器值16
    LDR R0,=rTCNTB1
    LDR R1,=9375
    STR R1,[R0] ;寫TCNTB1
    LDR R0,=rTCNTB2
    LDR R1,=37500
    STR R1,[R0] ;寫TCNTB2
    LDR R0,=rTCON ;
    ORR R1,R0, #0xDD00 ;T1和T2自動重裝/反轉(zhuǎn)、啟動定時器
    STR R1,[R0] ;寫TCON
    S3C44B0的WDT組件及開發(fā)應(yīng)用
    常用WDT寄存器
    1、WDT控制寄存器WTCON決定是否允許復(fù)位、是否允許中斷以及決定預(yù)分頻系數(shù)和時鐘因子
    2、WDT數(shù)據(jù)寄存器WTDAT和計數(shù)寄存器WTCNT
    3、WDT定時輸入時間:
     T_WDT=1/(MCLK/預(yù)分頻系數(shù)+1)/分頻系數(shù)
    4、WDT復(fù)位時間:
    T_RST=WTCNT×T_WDT
    S3C44B0的WDT開發(fā)應(yīng)用
    如果MCLK=40 MHz,采用預(yù)分頻值為99,分頻系數(shù)為64,要使WDT的定時時間為10秒,允許復(fù)位,禁止中斷,寫出WDT初始化程序片段。
    解答:t_watchdog = 1/( MCLK / (預(yù)分頻值+1) /分頻系數(shù) )
     = 1/(40000000/100/64)
     = 160us
     溢出時間t = WTCNT*t_watchdog=10S
     = WTCNT*160us=10000000us
     WTCNT=62500
     LDR R0,rWTCON
     LDR R1,=0xF939
     STR R1,[R0];寫WDT控制寄存器使禁止中斷,允許復(fù)位,預(yù)分頻系數(shù)99,分頻系數(shù)64
     LDR R0,rWTCNT
     LDR R1,=62500
     STR R1,[R0] ;寫WDT計數(shù)寄存器使計數(shù)值為62500,定時10秒