在线观看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

審核編輯:湯梓紅

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

    關注

    6056

    文章

    44804

    瀏覽量

    643737
  • 計數器
    +關注

    關注

    32

    文章

    2281

    瀏覽量

    95772
  • 定時器
    +關注

    關注

    23

    文章

    3271

    瀏覽量

    116467
收藏 人收藏

    評論

    相關推薦

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

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

    單片機定時器的用法

    本章以CW32通用定時器為例介紹單片機定時器的用法。
    的頭像 發表于 01-04 10:37 ?1710次閱讀
    <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 ?71次下載
    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>中斷
    主站蜘蛛池模板: 国产激烈床戏无遮挡在线观看 | 免费一级毛片无毒不卡 | 欧美性video精品 | 午夜久久久久久 | 美女色黄一男一女 | 成人三级毛片 | 久久理论片| 伊人亚洲综合网成人 | 色狠狠综合 | 欧美最猛黑人xxxxwww | 久久精品免费在线观看 | 色综合天天五月色 | 国产男女交性视频播放免费bd | 久久精品久久久久 | 亚洲一区中文 | 日本三级吹潮 | 久久精品亚洲精品国产欧美 | 2021国产成人精品久久 | 黄色网视频 | 亚洲特黄大黄一级毛片 | 深夜影院一级毛片 | 亚洲人成电影综合网站色 | 4438x成人网最大色成网站 | 色噜噜噜噜| 在线免费看黄的网站 | 色综合久久五月 | 日本黄黄 | 俺来也婷婷 | 久色国产| 有码日韩 | 日本午夜视频 | 日本69xxⅹxxxxxx19 | 五月激情婷婷丁香 | 奇米欧美成人综合影院 | 亚洲精品亚洲人成毛片不卡 | 免费看黄资源大全高清 | 天天天操 | 办公室桌震娇喘视频大全在线 | 日本黄色片www | 天天射综合网站 | 国产又色又爽又黄的网站在线一级 |