羞羞小视频在线观看_羞羞视频免费入口网站_羞羞视频下载APP_男女羞羞视频软件

歡迎光臨東莞市飛江電子科技有限公司官網(wǎng)!
全國(guó)咨詢熱線

13926563901

18925580829

飛江淘寶店鋪

首頁(yè)>技術(shù)資料>51單片機(jī)

STM8003F3定時(shí)器2周期性中斷

發(fā)布時(shí)間:2018-04-04   瀏覽量:

/*    添加包含芯片的頭文件    */
#include

unsigned int ms_count;


/*******************************************************************************
**函數(shù)名稱:void Timer2Init()
**功能描述:定時(shí)器2參數(shù)初始化
**入口參數(shù):無(wú)
**輸出:無(wú)
*******************************************************************************/
void Timer2Init()
{
  TIM2_PSCR = 0x00;   //定時(shí)器2預(yù)分頻數(shù)為 1 分頻,即定時(shí)器時(shí)鐘 = 系統(tǒng)時(shí)鐘 = 16MHz
  TIM2_ARRH = 0x3e;   //設(shè)置1毫秒時(shí)間自動(dòng)重載 16000 = 0x3e80
  TIM2_ARRL = 0x80;   //
  TIM2_CNTRH = 0;     //清除計(jì)數(shù)寄存器
  TIM2_CNTRL = 0;     //
  TIM2_IER = 0x01;    //使能定時(shí)器2允許更新中斷
  TIM2_SR1 = 0x00;    //清除所有的中斷標(biāo)示
  TIM2_CR1 = 0x81;    //使能計(jì)數(shù)器,并允許自動(dòng)預(yù)裝
}

/*******************************************************************************
**函數(shù)名稱:void LED2Init()
**功能描述:LED2->功能引腳初始化
**入口參數(shù):無(wú)
**輸出:無(wú)
*******************************************************************************/
void LED2Init()
{
  PC_DDR_bit.DDR7 = 1;
  PC_CR1_bit.C17 = 1;
  PC_CR2_bit.C27 = 1;
}

/**       主函數(shù)      **/
int main(void)
{
 
  asm("sim");           //先關(guān)閉總中斷
  CLK_CKDIVR = 0x00;    //CPUDIV = 1 HSIDIV = 1  內(nèi)部時(shí)鐘 = 16Mhz
  LED2Init();           //調(diào)用LED2初始化函數(shù)
  Timer2Init();         //調(diào)用定時(shí)器2初始化函數(shù)
  asm("rim");           //打開總中斷
  while(1);             //進(jìn)入死循環(huán),等待定時(shí)器2周期中斷
}


/*******************************************************************************
**函數(shù)名稱:__interrupt void TIM2_UPDATE_IRQHandler(void)
**功能描述:定時(shí)器2重載更新中斷服務(wù)函數(shù)
**入口參數(shù):無(wú)
**輸出:無(wú)
*******************************************************************************/
#pragma vector = 15     //設(shè)置定時(shí)器2重載的中斷向量號(hào) = 15
__interrupt void TIM2_UPDATE_IRQHandler(void)
{
  TIM2_SR1 = 0x00;      //清除中斷標(biāo)志
  ms_count++;           //中斷使 ms_count++ 做加法,記錄1毫秒產(chǎn)生的中斷次數(shù)
 
  if(ms_count >= 1000)  //記錄達(dá)到1000毫秒,即1秒
  {
    ms_count = 0;       //復(fù)位記錄中斷次數(shù)
    PC_ODR ^= 0x80;     //對(duì)LED2進(jìn)行異或取反,使LED2以1秒的周期亮滅
  }
}

m.wastewaterengineeringjobs.com