国产成人av人人爽人人澡-亚洲国产日韩欧美一区-好吊日视频这里只有精品-日本高清精品视频在线

您好,歡迎進(jìn)入深圳市穎特新科技有限公司官方網(wǎng)站!

您現(xiàn)在的位置:首頁(yè) 新聞資訊 >> 新聞?lì)^條 >> N76E003之定時(shí)器3
新聞資訊
NEWS INFORMATION

N76E003之定時(shí)器3

發(fā)布時(shí)間:2019-05-22

定時(shí)器3是一個(gè)16位自動(dòng)重裝載,向上計(jì)數(shù)定時(shí)器。用戶可以通過配置T3PS[2:0] (T3CON[2:0])選擇預(yù)分頻,并寫入重載值到R3H 和R3L寄存器來決定它的溢出速率。用戶可以設(shè)置TR3 (T3CON.3)來開始計(jì)數(shù)。當(dāng)計(jì)數(shù)跨過FFFFH,TF3 (T3CON.4)置為1,且R3H 和R3L寄存器的內(nèi)容重載到內(nèi)部16位計(jì)數(shù)器。如果ET3 (EIE1.1)置為1,定時(shí)器3中斷服務(wù)程序被執(zhí)行。當(dāng)進(jìn)入中斷服務(wù)程序,TF3會(huì)被硬件自動(dòng)清零。

定時(shí)器3同時(shí)也用作串口波特率產(chǎn)生定時(shí)器,詳細(xì)內(nèi)容請(qǐng)參考章節(jié)13.5“波特率”

 

 

 用戶可以設(shè)置TR3 (T3CON.3)來開始計(jì)數(shù)。當(dāng)計(jì)數(shù)跨過
FFFFH,TF3 (T3CON.4)置為1,且R3H 和R3L寄存器的內(nèi)容重載到內(nèi)部16位計(jì)數(shù)器。

如果ET3 (EIE1.1)置為1,定時(shí)器3中斷服務(wù)程序被執(zhí)行。當(dāng)進(jìn)入中斷服務(wù)程序,TF3會(huì)被硬件自動(dòng)清零。

 

定時(shí)器3同時(shí)也用作串口波特率產(chǎn)生定時(shí)器,詳細(xì)內(nèi)容請(qǐng)參考章節(jié)13.5“波特率”

波特率

串口的不同模式的波特率時(shí)鐘源和速度是完全不同的。詳見表 13–3. 用于設(shè)定不同的波特率。
在模式1或模式3,串口0的波特率時(shí)鐘源可通過BRCK (T3CON.5)選擇定時(shí)器1或定時(shí)器3。對(duì)于串口1,只有采用定時(shí)器3作為唯一的時(shí)鐘源。

當(dāng)采用定時(shí)器1作為波特率發(fā)生器,需要關(guān)閉定時(shí)器1中斷。定時(shí)器1可配置為計(jì)數(shù)器或是定時(shí)器,三種工作模式都可以。典型應(yīng)用中,會(huì)配置為定時(shí)器工作在自動(dòng)重裝載模式(定時(shí)器模式2)。如果采用定時(shí)器3作為波特率發(fā)生器,同樣也需要關(guān)閉定時(shí)器3中斷。

 對(duì)應(yīng)算式如下:

#ifdef FOSC_160000
        RH3    = HIBYTE(65536 - (1000000/u32Baudrate)-1);          /*16 MHz */
        RL3    = LOBYTE(65536 - (1000000/u32Baudrate)-1);          /*16 MHz */
#endif
#ifdef FOSC_166000
        RH3    = HIBYTE(65536 - (1037500/u32Baudrate));              /*16.6 MHz */
        RL3    = LOBYTE(65536 - (1037500/u32Baudrate));              /*16.6 MHz */
#endif
#include "N76E003.h"
#include "SFR_Macro.h"
#include "Function_define.h"
#include "Common.h"
#include "Delay.h"

#define RELOAD_VALUE_H  (65536-1500)/256
#define RELOAD_VALUE_L  (65536-1500)%256

/************************************************************************************************************
*    TIMER 2 interrupt subroutine
************************************************************************************************************/
void Timer3_ISR (void) interrupt 16 
{
    clr_TF3;
    P12 = ~P12;                                 //P0.2 toggle when TF3 interrupt
        printf("\n TM3 INT 0x%bX", RH3);
}

/************************************************************************************************************
*    Main function 
************************************************************************************************************/
void main (void)
{
    
    Set_All_GPIO_Quasi_Mode;
    InitialUART0_Timer1(115200);

       
    RH3 = RELOAD_VALUE_H;                       //initial counter values 
    RL3 = RELOAD_VALUE_L;    
    
    set_ET3;                                    //enable Timer3 interrupt
    set_EA;                                     //enable interrupts
    set_TR3;                                    //Timer3 run

    while(1);
}

上面這個(gè)程序利用定時(shí)器一產(chǎn)生波特率,利用定時(shí)器3來進(jìn)入中斷。

下面這個(gè)例程是產(chǎn)生串口波特率的(串口一)

void InitialUART1_Timer3(UINT32 u32Baudrate) //use timer3 as Baudrate generator
{
        P02_Quasi_Mode;        //Setting UART pin as Quasi mode for transmit
        P16_Quasi_Mode;        //Setting UART pin as Quasi mode for transmit
    
      SCON_1 = 0x50;       //UART1 Mode1,REN_1=1,TI_1=1
      T3CON = 0x08;       //T3PS2=0,T3PS1=0,T3PS0=0(Prescale=1), UART1 in MODE 1
        clr_BRCK;  //timer 1
    
#ifdef FOSC_160000
        RH3    = HIBYTE(65536 - (1000000/u32Baudrate)-1);          /*16 MHz */
        RL3    = LOBYTE(65536 - (1000000/u32Baudrate)-1);            /*16 MHz */
#endif
#ifdef FOSC_166000
        RH3    = HIBYTE(65536 - (1037500/u32Baudrate));              /*16.6 MHz */
        RL3    = LOBYTE(65536 - (1037500/u32Baudrate));              /*16.6 MHz */
#endif
    set_TR3;         //Trigger Timer3
}
#define HIBYTE(v1)              ((UINT8)((v1)>>8))                      //v1 is UINT16
#define LOBYTE(v1)              ((UINT8)((v1)&0xFF))
SCON_1 = 0x50;       //UART1 Mode1,REN_1=1,TI_1=1


 T3CON = 0x08;       //T3PS2=0,T3PS1=0,T3PS0=0(Prescale=1), UART1 in MODE 1

 

 

 

 

#ifdef FOSC_160000
        RH3    = HIBYTE(65536 - (1000000/u32Baudrate)-1);          /*16 MHz */
        RL3    = LOBYTE(65536 - (1000000/u32Baudrate)-1);            /*16 MHz */
#endif
#ifdef FOSC_166000
        RH3    = HIBYTE(65536 - (1037500/u32Baudrate));              /*16.6 MHz */
        RL3    = LOBYTE(65536 - (1037500/u32Baudrate));              /*16.6 MHz */
#endif
  set_TR3;         //Trigger Timer3

 

 

 

 

 

 





 

聯(lián)系方式0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤(rùn)豐創(chuàng)業(yè)園A棟2樓A08

不卡一区二区高清视频| 欧美日本道一区二区三区| 厕所偷拍一区二区三区视频| 狠狠做深爱婷婷久久综合| 九九热精品视频在线观看| 亚洲高清一区二区高清| 国产人妻精品区一区二区三区| 五月情婷婷综合激情综合狠狠 | 亚洲精品国产福利在线| 欧美日韩无卡一区二区| 爽到高潮嗷嗷叫之在现观看| 成年人免费看国产视频| 欧美大粗爽一区二区三区| 中文日韩精品视频在线| 日韩av生活片一区二区三区| 日韩精品区欧美在线一区| 尹人大香蕉一级片免费看| 日本在线视频播放91| 99久久国产精品亚洲| 中文精品人妻一区二区| 日本人妻免费一区二区三区| 亚洲精品深夜福利视频| 自拍偷拍一区二区三区| 五月婷婷欧美中文字幕 | 国产精品视频一区麻豆专区 | 偷拍洗澡一区二区三区| 国产精品午夜性色视频| 一区二区三区免费公开| 中文字幕亚洲精品乱码加勒比| 日韩一区二区三区观看| 不卡中文字幕在线免费看| 沐浴偷拍一区二区视频| 在线精品首页中文字幕亚洲| 国产高清精品福利私拍| 婷婷色国产精品视频一区| 亚洲一区二区三区免费的视频| 黄片美女在线免费观看| 一区二区三区精品人妻| 大伊香蕉一区二区三区| 精品精品国产自在久久高清| 国产爆操白丝美女在线观看|