1. 程式人生 > >51微控制器定時器中斷控制燈1S亮的程式

51微控制器定時器中斷控制燈1S亮的程式

#include   <AT89X51.H>
unsigned char i=0,j=0;

void main()
{
 TMOD=0X01;
 TH0=0X4c;
 TL0=0X00;
 TR0=1;
ET0=1;
EA=1;
P0_3=1;

 while(1)
   {};
}

timer0() interrupt 1
{
 TR0=0;
 TH0=0X4c;//5000us
 TL0=0X00;
 i++;
 if(i>=20)
   {
   i==0;
   j++;
   if(j>=20)
    {
  j=0;
   P0_3= ~P0_3;
 }

   }
 TR0=1;
}

//注意此處必須用兩個變數i,否則程式不會通過。

相關推薦

51微控制器定時中斷控制1S程式

#include   <AT89X51.H>unsigned char i=0,j=0; void main(){ TMOD=0X01; TH0=0X4c; TL0=0X00; TR0=1;ET0=1;EA=1;P0_3=1;  while(1)   {};} t

51微控制器定時中斷程式

程式執行開始,A燈先亮5秒,然後滅了到B燈亮5秒,B再滅再到C燈亮5秒,C滅,程式結束,不再執行。這程式該怎麼寫?用定時器精確定時……晶振11.092MHZ。 #include "REG52.H" /* * */ sbit LED_A = P1^0; sbit

51微控制器定時的原理與使用

定時器是微控制器的重要功能模組之一,在檢測、控制領域有廣泛應用。定時器常用作定時時鐘,以實現定時檢測,定時響應、定時控制,並且可以產生ms寬的脈衝訊號,驅動步進電機。定時和計數的最終功能都是通過計數實現,若計數的事件源是週期固定的脈衝則可實現定時功能,否則只能實現計數功能。

51微控制器定時實現LED閃爍

要啟用一個定時器,先要開啟定時器,然後產生中斷 系統中斷: 初始化程式應完成如下工作: 對TMOD賦值,以確定T0和T1的工作方式。 計算初值,並將其寫入TH0、TL0或TH1、TL1。 中斷方式時,則對EA賦值,開放定時器中斷。 使TR0或TR1置位,啟動定時/計數器定時或計數。

51微控制器定時/計數器的使用程式與分析

定時器的使用能夠使延時更加的準確定時器/計數器由振盪器,12分頻電路,多路轉換開關MUX,16位的加1計數器T0和16位的T1暫存器組成。定時器/計數器的核心是16位的加1計數器。1、計數功能:對外部脈衝進行計數。外部脈衝通過T0(P3.4)、T1(P.5)兩個訊號引腳輸入,

51微控制器--定時測量脈寬

學51也算有一段時間了 以前學的相當的粗糙 很多原理性的東西 都不知道 今天上課的時候聽老師說  這個LOW的微控制器可以測量脈寬   去手冊上看了一下 加上課本上說的  臥槽 真的可以 哈哈   直

STM32之定時中斷控制LED閃爍

上篇部落格我們是用延時函式實現了LED的閃爍,今天我們使用STM32的定時器來使LED閃爍。 關於32的定時器的種類,今天我在這先不做過多的說明,有時間我會再另寫一篇部落格來專門介紹32的定時器。今天我們使用32的定時器3來產生中斷,以實現LED的閃爍。 今

51微控制器定時的原理與使用(二)

承接上一節51微控制器定時器的原理與使用,這節我們繼續講述怎麼用定時器做一個電子鐘,PWM脈衝和測電阻。先從實驗三講起吧! 實驗三、定時器測電阻 測量如下圖Rx的電阻並顯示在數碼管上。 測量思路為: 1、電容C1放電,P2.5與P2.6設定為輸入模式,P2.7設定為推輓輸

Cubieboard上使用U-boot通過定時中斷控制LED

繼LED之後,學習使用A10中斷,目的是學習U-boot中如何使用中斷。 軟體環境: 筆記本一臺,安裝WindowsXP sp3                      XP下軟體:Source Insight 3.5;SecureCRT;VMware Worksta

51微控制器定時

sTC微控制器定時器的使用可以說非常簡單,只要掌握原理,有一點的C語言基礎就行了。要點有以下幾個: 1.      一定要知道英文縮寫的原形,這樣暫存器的名字就不用記了。 理解是最好的記憶方法。好的教材一定會給出所有英文縮寫的原形。 2.      儘量用形像的方法記憶。

51微控制器定時總結

1.定時器TMOD暫存器 C/T這一位用來控制定時器工作方式。本來T上面有一橫表示低電平有效。c為計數,也即是及外部脈衝的個數,也會是定時器溢位及中斷。GATE這一位用來設定外部中斷脈衝是否可啟動定時器。 意思就是當GATE=1時,定時器的啟動有二個位控制,即TR0和int

51微控制器使用定時中斷模擬PWM控制埠電壓

  最近應實驗室需求寫一篇51微控制器產生PWM的文章供參考.   微控制器晶片STC89C52,晶振12MHz,編譯環境Keil5.   分析:若使微控制器埠為高電平, 則微控制器輸出電壓為恆值5V. 反之低電平輸出電壓為0V. 但是我們如果在週期為T的時間內

微控制器定時中斷以及使用的一般步驟(51為例)

51微控制器共有兩個16位可程式設計的定時器/計數器,即定時器T0和定時器T1。它們既有定時功能又有計數功能,通過設定一些相關的特殊功能暫存器就可以選擇啟用哪一個功能。定時器系統是微控制器內部一個獨立硬體部分,與CPU和晶振之間通過內部某些控制線連線並相互作用,

微控制器MSP430 - Timer_A 定時中斷程式

一、利用定時器定時功能,實現定時器單個溢位中斷,實現 P3.0 方波輸出 #include "cc430x613x.h" void main() { WDTCTL = WDTPW + WDTHOLD; // 停止看門狗定時器 P3DIR |=

C51--點LED(for迴圈、while迴圈、定時中斷迴圈)

第一步:開啟keil4,建立工程,at89c52。 1.點亮第一個LED燈 #include<reg52.h> sbit led=P2^0; void main() { led=0;//低電平亮 } 2.利用延時來使LED 1秒閃爍,500ms變

流水&數碼管&定時中斷

根據郭天祥老師定時器流水燈課件作業。 利用動態掃描和定時器1在數碼管上顯示出從765432開始以1/10秒的速度往下遞減直至765398並保持顯示此數,與此同時利用定時器0以500MS速度進行流水燈從上至下移動,當數碼管上數減到停止時,實驗板上流水燈也停止然後

用連結串列+函式指標+定時中斷實現的一個軟體定時(試用於所有微控制器

因為需要移植nrf51822的程式到普通微控制器上,於是分析了協議棧裡的軟體定時器,用連結串列+函式指標+定時器中斷的方法實現了軟體定時器的功能。 下面介紹程式碼和使用方法 1、函式指標和連結串列初始化 typedef void (*app_timer_timeout_

Stm32定時中斷使LED閃爍

知識點: Stm32共有11個定時器: 1.兩個高階定時器:TIM1、TIM8-------------------------APB2 2.四個通用定時器:TIM2~TIM5-------------------------APB1 3.兩個基本定時器:TIM6、TIM7

AVR微控制器教程——定時中斷

本文隸屬於AVR微控制器教程系列。   中斷,是微控制器的精華。 中斷基礎 當一個事件發生時,CPU會停止當前執行的程式碼,轉而處理這個事件,這就是一箇中斷。觸發中斷的事件成為中斷源,處理事件的函式稱為中斷服務程式(ISR)。 中斷在微控制器開發中有著舉足輕重的地位——沒有中斷,很多功能就無法實現。

stm32-定時中斷

cmd open 兩個 typedef clock 數據手冊 濾波 重裝 fin 由於現在是在學用庫函數操作,我的目標是知道用到的每個函數的作用,需要的時候可以加以更改使用,所以關鍵是要怎麽知道stm32各函數的作用 雖然從名字上也能知道個大概,但是細節還是要查stm3