国产精品久久久久影院,成人午夜福利视频,国产精品久久久久高潮,国产精品 欧美 亚洲 制服,国产精品白浆无码流出

歷史上的今天

今天是:2024年09月04日(星期三)

正在發(fā)生

2019年09月04日 | cc2530裸機編程系列筆記1--定時器Timer1模模式的程序設計

發(fā)布者:Mengyun 來源: eefocus關鍵字:cc2530  裸機編程  定時器  Timer1 手機看文章 掃描二維碼
隨時隨地手機看文章

定時器/計數(shù)器單片機的幾大重要資源之一,而cc2530的定時器/計數(shù)器與普通的51系列單片機相比,工作模式增加了。通過學習手冊可知cc2530的定時器/計數(shù)器有三種工作模式,風別為自由模式、模模式和正計數(shù)/倒計數(shù)模式。無論哪種模式,均可以采用查詢和中斷兩種方式使用定時器的。本專題講述cc2530定時器/計數(shù)器處于模模式時的編程方法。


首先是用查詢的方式來使用Timer1定時器。使用Timer定時器時,首先要對該定時器進行初始化,代碼如下:


void INIT_Timer1()

  T1CTL = 0x00;     //1分頻、停止運行

  T1CTL = 0x0e;     //128分頻 模模式

  T1CCTL0 |= 0x04;  //設定timer1通道0輸出比較模式

  T1CC0L = 0x24;

  T1CC0H = 0xF4;

  IRCON &= ~0x02;

}


很容明顯可以看出在使用Timer1時,我們要用到T1CTL、T1CCTL0、T1CC0L、T1CC0H及IRCON這五個寄存器。T1CTL是控制寄存器,用于①設置分頻器劃分值如f/8或f/128等,這里的f是標記頻率。②定時器三種模式的選擇。T1CC0L、T1CC0H這兩個寄存器存放的是計數(shù)的終值(計數(shù)記到該值,設置中斷標志位,或產(chǎn)生中斷)IRCON中則為中斷標志位。之所以寫出代碼

IRCON &= ~0x02;

是為了先清除Timer1對應的中斷標志位。

T1CCTL0 |= 0x04;  //設定timer1通道0輸出比較模式


那么該行代碼中的T1CCTL0做該賦值操作又有何意義?


模模式需要開啟通道0的輸出比較模式,否則計數(shù)器只有到了0XFF時才會產(chǎn)生溢出中斷(相應的產(chǎn)生溢出標志),也就是如果沒有設置通道0的輸出比較模式,計數(shù)器的值到達T1CC0后,不會產(chǎn)生溢出中斷(相應的溢出標志不會置1),這點需要特別注意。下面貼出整個該程序的代碼:



#include

#define LED1 P1_0   //定義LED1為P1.0  

 

int count = 0;

 

void INIT_LED(void)

{

  P1SEL &= ~0x01;   //設P1.0為普通I/O功能

  P1DIR |= 0x01;    //設P1.0為輸出方向

  LED1 = 0;         //將LED1點亮

}

 

void INIT_Timer1()

  T1CTL = 0x00;     //1分頻、停止運行

  T1CTL = 0x0e;     //128分頻 模模式

  T1CCTL0 |= 0x04;  //設定timer1通道0輸出比較模式

  T1CC0L = 0x24;

  T1CC0H = 0xF4;

  IRCON &= ~0x02;

}

 

void main( void )

{

  INIT_LED();

  INIT_Timer1();

  LED1 = 1 ;

  //int count = 0;

  while(1)

  {

    if(IRCON &= 0x02)    

    {

      count++;

      if(count==1)

      {

         IRCON &= ~0x02 ;

         count = 0;

         LED1 = !LED1;

      }

    }

  }

}

      之所以稱該程序的編寫方式為查詢方式就在于如下代碼,


if(IRCON &= 0x02)    

    {

      count++;

      if(count==1)

      {

         IRCON &= ~0x02 ;

         count = 0;

         LED1 = !LED1;

      }

    }

      在主程序中不斷對中斷標志位進行查詢,若中斷標致位被置位時需要軟件清0。

關鍵字:cc2530  裸機編程  定時器  Timer1 引用地址:cc2530裸機編程系列筆記1--定時器Timer1模模式的程序設計

上一篇:cc2530裸機編程系列筆記4--GPIO口的使用
下一篇:51單片機系列知識6--中斷系統(tǒng)(1)

推薦閱讀

工業(yè)機器人既是先進制造業(yè)的關鍵支撐裝備,也是改善人類生活方式的重要切入點,其研發(fā)和產(chǎn)業(yè)化應用是衡量一個國家科技創(chuàng)新、高端制造發(fā)展水平的重要標志。大力發(fā)展工業(yè)機器人產(chǎn)業(yè),對于打造我國制造新優(yōu)勢,推動工業(yè)轉型升級,加快制造強國建設,改善人們生活水平具有重要意義。近年來,隨著國家對工業(yè)機器人的扶持力度不斷加大,本土企業(yè)不斷推動技術創(chuàng)新...
2、 工作方式方式0:擴展移位寄存器方式,移位速率fosc/12① 以方式0工作時,數(shù)據(jù)由RXD串行的輸入/輸出,TXD輸出位移脈沖,使外部的移位寄存器移位。② 移位速率,振蕩頻率的十二分之一。③ 串行口是從低位開始串行輸出輸入是從地位開始還是高位開始?例:教材*1P132④ 方式0時,SM2必須為0;REN=0禁止接收;方式0與TB8、RB8無關;TI=0;RI=0處于非中...
示波器是用來測量交流電或脈沖電流波的形狀的儀器,由電子管放大器、掃描振蕩器、陰極射線管等組成。除觀測電流的波形外,還可以測定頻率、電壓強度等。凡可以變?yōu)殡娦闹芷谛晕锢磉^程都可以用示波器進行觀測。 本文教大家制作存儲示波器數(shù)據(jù) U 盤的方法。 制作存儲示波器數(shù)據(jù) U 盤步驟選擇 4G 以下容量的 U 盤一個,最好是正品大品牌的,我自己...
文/陳根兩周前,造車的特斯拉突然成為了機器人圈內(nèi)的熱點,馬斯克在特斯拉AI Day的結尾以一個彩蛋的形式宣布特斯拉正在開發(fā)的人形機器人,立時引起人們的熱議。馬斯克提到,這款人型機器人最早會在2022年投放市場,而就機器人行業(yè)發(fā)展現(xiàn)狀來看,這無疑又是一個激進的目標。上周,特斯拉公開招聘與機器人相關的職位,包括機械工程師-執(zhí)行器集成、機械工程師-制動器...

史海拾趣

小廣播
設計資源 培訓 開發(fā)板 精華推薦

最新單片機文章

 
EEWorld訂閱號

 
EEWorld服務號

 
汽車開發(fā)圈

 
機器人開發(fā)圈

電子工程世界版權所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved