在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

單片機定時器驅動

華仔的編程隨筆 ? 來源:華仔的編程隨筆 ? 作者:華仔的編程隨筆 ? 2023-04-23 09:16 ? 次閱讀

定時器TIMER0、TIMER1

RD8T37 系列單片機內部的 Timer0 和 Timer1 是兩個 16 位定時器/計數器,它們具有計數方式和定時方式兩種工作模式。特殊功能寄存器 TMOD 中有一個控制位 C/TX 來選擇 T0 和T1 是定時器還是計數器。它們本質上都是一個加法計數器,只是計數的來源不同。定時器的來源為系統時鐘或者其分頻時鐘,但計數器的來源為外部管腳的輸入脈沖。只有在 TRx=1 的時候,T0 和 T1 才會被打開計數。

計數器模式下,P0.2/T0 和 P0.3/T1 管腳上的每一個脈沖,T0 和T1的計數值分別增加 1。定時器模式下,可通過特殊功能寄存器 TMCON 來選擇T0和 T1 的計來源是 sys/12 或 fsys (fsys 為分頻后的系統時鐘)。

定時器/計數器 T0 有4 種工作模式,定時器/計數器 T1有 3 種工作模式(模式三不存在):

1.模式 0: 13 位定時器/計數器模式

2.模式 1: 16 位定時器/計數器模式

3.模式 2: 8 位自動重模式

  1. 模式 3: 兩個8 位定時器/計數器模式

在上述模式中,T0 和 T1 的模式 0、1、2 都相同,模式3 不同。

T0 和 T1相關特殊功能寄存器

image.png

定時器0 功能寄存器的宏定義:

/*TIMER*/	
sfr   TCON   = 0X88;  //定時器控制寄存器
sfr   TMOD   = 0X89;  //定時器工作模式寄存器
sfr   TL0    = 0X8A;  //定時器0低8位
sfr   TL1    = 0X8B;  //定時器1低8位
sfr   TH0    = 0X8C;  //定時器0高8位
sfr   TH1    = 0X8D;  //定時器1高8位

定時器0初始化

void Timer0Iint(void)
{
	TMOD |= 0x01;           // 配置定時器0為 16位定時器,  TH0、TL0全用 
	TH0 =(65536-1000)/256;   //1000us定時,即1毫秒溢出產生中斷
	TL0 =(65536-1000)%256;  //1000us定時,即1毫秒溢出產生中斷
	ET0 = 1;				 //開啟定時器0中斷
	EA = 1;				//開啟全局中斷
	TR0 = 1;				//定時器0開始計數;
}

定時器0中斷函數:

void Timer0() interrupt 1
{
	//每次產生中斷后初始化定時器初值, 1ms秒產生1次中斷
	TH0=(65536-1000)/256;
	TL0=(65536-1000)%256;
	//500毫秒執行次LED1反轉
	count ++;
	if(count == 500)
	{
		LED1 = ~LED1;
		count = 0;
	}
	
}

main.c代碼如下:

#include "RD8T37x_C.H"


sbit LED1 = P3^1;
sbit LED2 = P3^2;
static uint32_t count = 0;

void LED_Init(void)
{
	P3CON |= 0x06; //P31輸出
}

void Timer0Iint(void)
{
	TMOD |= 0x01;  // 配置定時器0為 16位定時器,  TH0、TL0全用 
	TH0 =(65536-1000)/256;   //1000us定時,即1毫秒溢出產生中斷
	TL0 =(65536-1000)%256;  //1000us定時,即1毫秒溢出產生中斷
	ET0 = 1;									//開啟定時器0中斷
	EA = 1;										//開啟全局中斷
	TR0 = 1;									//定時器0開始計數;
}

void main(void)
{
	LED_Init();
	Timer0Iint();
	while(1);
}

void Timer0() interrupt 1
{
	//每次產生中斷后初始化定時器初值, 1ms秒產生1次中斷
	TH0=(65536-1000)/256;
	TL0=(65536-1000)%256;
	//500毫秒執行次LED1反轉
	count ++;
	if(count == 500)
	{
		LED1 = ~LED1;
		count = 0;
	}
	
}

下載到開發板后就實現P3.1閃燈了。

*附件:閃燈.zip

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6065

    文章

    44946

    瀏覽量

    648263
  • 計數器
    +關注

    關注

    32

    文章

    2290

    瀏覽量

    96145
  • 定時器
    +關注

    關注

    23

    文章

    3297

    瀏覽量

    117461
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    單片機定時器中斷應用案例

    定時器中斷,顧名思義就是在規定的時間內發送中斷請求,要實現定時器中斷,單片機需要能夠正確地計算時間,單片機是如何進行計時的呢?
    發表于 10-31 14:49 ?2797次閱讀
    <b class='flag-5'>單片機</b><b class='flag-5'>定時器</b>中斷應用案例

    單片機定時器的用法

    本章以CW32通用定時器為例介紹單片機定時器的用法。
    的頭像 發表于 01-04 10:37 ?1911次閱讀
    <b class='flag-5'>單片機</b><b class='flag-5'>定時器</b>的用法

    基于51單片機定時器2的操作與實現

    基于51單片機定時器2的操作與實現,51單片機定時器2的使用!
    發表于 02-22 17:53 ?14次下載

    52單片機有幾個定時器?52單片機定時器1和52單片機定時器2程序對比

    52單片機有幾個定時器?STC89C52RC其實是有三個定時器單片機,STC89C52RC共有3個定時器,分別是T0、T1、T2。而51
    發表于 11-10 14:30 ?3.6w次閱讀

    單片機定時器知識課件

    單片機定時器基礎知識與使用技巧。
    發表于 12-20 12:17 ?2次下載

    51單片機定時器工作原理

    51單片機定時器工作原理及用法
    的頭像 發表于 03-14 13:51 ?9.7w次閱讀

    ATmega16單片機教程之ATmega16單片機定時器的分析與設計應用概述

    本文檔的主要內容詳細介紹的是ATmega16單片機教程之ATmega16單片機定時器的分析與設計應用概述主要內容包括了:1、單片機定時器的基
    發表于 12-07 08:00 ?15次下載
    ATmega16<b class='flag-5'>單片機</b>教程之ATmega16<b class='flag-5'>單片機</b><b class='flag-5'>定時器</b>的分析與設計應用概述

    基于單片機定時器的設計方法

    單片機實現一個定時器只要對單片機里的特殊寄存進行設置就可以實現了,下面我與朋友們說說這個0到9.9秒定時器的設計方法。
    的頭像 發表于 11-02 16:58 ?1.1w次閱讀
    基于<b class='flag-5'>單片機</b>的<b class='flag-5'>定時器</b>的設計方法

    基于51單片機定時器

    設計思路。這樣自己拿到任何型號的51單片機,只要有原理圖,都可以自主設計。博主剛接觸單片機,才疏學淺,可能會出現設計不足和錯誤,歡迎大家評論區交流。^ _ ^/********************************************************
    發表于 11-04 21:06 ?35次下載
    基于51<b class='flag-5'>單片機</b>的<b class='flag-5'>定時器</b>

    51單片機——定時器的原理和使用

    定時器的原理1.cpu時序的有關知識震蕩周期:為單片機提供定時信號的震蕩源的周期(由外部的晶振)狀態周期:2個震蕩周期,用s表示機械周期 6個狀態周期,12個震蕩周期 (12MHz的晶振1us)指令
    發表于 11-10 18:50 ?72次下載
    51<b class='flag-5'>單片機</b>——<b class='flag-5'>定時器</b>的原理和使用

    51單片機——定時器

    51單片機——定時器為什么使用定時器?定時器原理?定時器設置中斷配置源代碼為什么使用定時器?之前
    發表于 11-11 16:36 ?40次下載
    51<b class='flag-5'>單片機</b>——<b class='flag-5'>定時器</b>

    51單片機定時器中斷

    定時器介紹:51單片機定時器屬于單片機的內部資源,其電路連接和運轉均在單片機的內部完成定時器
    發表于 11-11 19:36 ?7次下載
    51<b class='flag-5'>單片機</b><b class='flag-5'>定時器</b>中斷

    【MSP430單片機定時器

    【MSP430單片機定時器
    發表于 11-19 16:21 ?8次下載
    【MSP430<b class='flag-5'>單片機</b>】<b class='flag-5'>定時器</b>篇

    51單片機定時器/計數

    一、課前須知:1、51單片機有兩組定時器/計數,因為既可以定時,也可以計數,所以稱之為定時器/計數
    發表于 11-20 20:06 ?47次下載
    51<b class='flag-5'>單片機</b><b class='flag-5'>定時器</b>/計數<b class='flag-5'>器</b>

    51單片機定時器中斷

    定時器介紹:51單片機定時器屬于單片機的內部資源,其電路連接和運轉均在單片機的內部完成定時器
    發表于 11-20 20:36 ?15次下載
    51<b class='flag-5'>單片機</b><b class='flag-5'>定時器</b>中斷
    主站蜘蛛池模板: 日本人色道 | 欧美极品另类xxx | 性生交酡| 美女黄色在线看 | 国产网站免费看 | 成人精品视频在线观看播放 | 人人九九精品 | 8050午夜网 | 狠狠干狠狠操 | 亚洲福利视频一区 | 日韩一级高清 | 亚洲国产色婷婷精品综合在线观看 | 在线女同免费观看网站 | 日韩一级欧美一级 | 天天躁天天狠天天透 | 免费一级特黄3大片视频 | 美女网站黄页 | 国产va在线播放 | 波多野结衣一级特黄毛片 | 国产人成午夜免费看 | www.色日本| 天天视频一区二区三区 | 色综合色狠狠天天综合色hd | 色婷婷综合久久久久中文一区二区 | 在线天堂中文在线资源网 | 久久777国产线看观看精品卜 | 色偷偷偷偷 | 亚洲 欧洲 日产 韩国在线 | 亚洲精品电影天堂网 | 亚洲国产高清人在线 | 午夜影院18 | 免费看黄色一级毛片 | www.亚洲天堂| 视频一区二区在线观看 | 不卡一区 | 欧美日韩乱国产 | 欧美又粗又硬又大久久久 | 激情亚洲色图 | 天天干免费视频 | 九九热在线精品 | 69xxx欧美|