51單片機之計時器與計數器

2020-12-14 電子工程世界網

CPU時序的有關知識

 振蕩周期:為單片機提供定時信號的振蕩源的周期(晶振周期或外加振蕩周期)

 狀態周期:2個振蕩周期為1個狀態周期,用S表示。振蕩周期又稱S周期或時鐘周期。

 機器周期:1個機器周期含6個狀態周期,12個振蕩周期。

 指令周期:完成1條指令所佔用的全部時間,它以機器周期為單位。


例如:外接晶振為12MHz時,51單片機相關周期的具體值為:

振蕩周期=1/12us;

狀態周期=1/6us;

機器周期=1us;

指令周期=1~4us;


初始化程序應完成如下工作:

對TMOD賦值,以確定T0和T1的工作方式。

計算初值,並將其寫入TH0、TL0或TH1、TL1。

中斷方式時,則對EA賦值,開放定時器中斷。

使TR0或TR1置位,啟動定時/計數器定時或計數

解釋


#include "reg52.h" //此文件中定義了單片機的一些特殊功能寄存器


typedef unsigned int u16;   //對數據類型進行聲明定義

typedef unsigned char u8;


sbit led=P2^0; //定義P20口是led



void Timer0Init()

{

TMOD|=0X01;//選擇為定時器0模式,工作方式1,僅用TR0打開啟動。


TH0=0XFC; //給定時器賦初值,定時1ms

TL0=0X18;

ET0=1;//打開定時器0中斷允許

EA=1;//打開總中斷

TR0=1;//打開定時器

}


void main()

{

Timer0Init();  //定時器0初始化

while(1);

}



void Timer0() interrupt 1

{

static u16 i;

TH0=0XFC; //給定時器賦初值,定時1ms

TL0=0X18;

i++;

if(i==1000)

{

i=0;

led=~led;

}

}

關鍵字:51單片機  計時器  計數器 編輯:什麼魚 引用地址:http://news.eeworld.com.cn/mcu/ic494675.html

推薦閱讀

51單片機霍爾自行車碼錶測速裡程表

#include <reg52.h>                 //調用單片機頭文件#define uchar unsigned char  //無符號字符型 宏定義        變量範圍0~255#define uint  unsigned int         //無符號整型 宏定義        變量範圍0~65535sbit clk = P1^3;&nbsp

發表於 2020-12-03

STC51單片機流水燈+外部中斷蜂鳴器

閒暇之餘做了一個簡單的流水燈,設計思路先將LED燈從0-7逐個顯示,然後再從7-0逐個顯示。如果產生外部中斷(即按鈕按下),則8個LED燈全亮,之後又恢復流水燈狀態。#include <reg52.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned intsbit K=P3^2;//啟動按鈕,外部中斷uchar led;void delay(uint x)               {       

發表於 2020-12-03

51單片機8*8LED點陣翻頁 閃爍 靜止 平移顯示

基於單片機的LED點陣設計基本要求:利用單片機AT89C51設計LED點陣,顯示器能顯示不同的字符、圖形,能夠用獨立鍵控制不同字符的切換效果。創新:顯示效果可以是閃爍;靜止;平移等。任務區分:A——每隔1s閃爍1次B——循環平移,速度自定.單片機源程序如下:#include <reg52.h>sbit ADDR0 = P1^0;sbit ADDR1 = P1^1;sbit ADDR2 = P1^2;sbit ADDR3 = P1^3;sbit KEY   = P3^5;unsigned int cnt,m,stage,sec=1000;unsigned char code image

發表於 2020-12-03

8位數模轉換器DAC0832介紹及51單片機驅動程序

為(+10~-10)V。VREF端與D/A內部T形電阻網絡相連。(6)、Vcc :晶片供電電壓,範圍為(+5~ 15)V。(7)、AGND :模擬量地,即模擬電路接地端。(8)、DGND :數字量地。下面是單片機驅動程序:#include <reg51.h>#include <intrins.h>#define uchar unsigned char#define uint unsigned intsbit CS = P1^0;sbit CLK = P1^1;sbit DI = P1^2;sbit DO = P1^2;uchar code Tab[]={0x3F,0x06

發表於 2020-12-01

C51單片機全自動洗衣

源程序:#include<reg51.h>                                  //定義頭文件#define uint unsigned int                  //定義字符uint#define uchar unsigned char          &nbsp

發表於 2020-12-01

51單片機LCD12864顯示屏圖片中文英文顯示

顯示結果:圖片及字體取模單片機源程序如下:#include<reg51.h>#include<intrins.h>#include<stdlib.h>#define uchar unsigned char#define uint unsigned int//定義埠sbit A0=P2^0;  //定義埠是傳輸命令還是數據,sbit RW=P2^1;//定義埠是讀取還是寫入,sbit LCDEN=P2^2;//晶片使能啟動sbit RST=P2^3;//復位鍵uchar code dis1[]={/*--  文字:  我  --*//*--&nbsp

發表於 2020-12-01

相關焦點

  • 圖形化編程玩51單片機(十四)模擬工廠裡產品掃描計數器實驗一
    本期實驗:模擬工廠裡的產品掃描計數器:實驗一,16位簡單計數器,本次實驗最大值為9999。本期目的:理解計數器的工作原理,同時也為實驗二做準備。【使用說明】:選用51單片機實驗板上的S2和S3鍵。注釋:由於我們的51單片機是16位的計數器,所以它的程序設計裡的變量最大也只能使用int的類型變量,也就是最大值為65535。
  • 圖形化編程玩51單片機(十五)模擬工廠裡的產品掃描計數器實驗二
    本期目的:不是簡單地通過增加變量來拓展計數器的容量,而是要通過編程來判斷變量1和變量2的狀態來整合成一個完整的32位計數器。 【使用說明】:選用51單片機實驗板上的S2和S3鍵。
  • 單片機原理|定時器/計數器的工作原理及應用作業
    A、M=213 =8192B、M=28 =256C、M=24 =16D、M=216 =65536我的答案:D 得分: 2.3分 2MCS-51單片機定時器T0的溢出標誌TF0,若計滿數產生溢出時
  • 51單片機擴展中斷的四種方法
    MCS—51系列單片機內部只有兩個外部中斷源輸入端,當外部中斷源多於兩個時,就必須進行擴展,下面介紹兩種簡單的擴展方法:一、採用硬體請求和軟體查詢的方法:這種方法是:把各個中斷源通過硬體
  • 51單片機的特殊功能寄存器(SFR)
    在51單片機內部有一個CPU用來運算、控制,有四個並行I/O口,分別是P0、P1、P2、P3,有ROM,用來存放程序,有RAM,用來存放中間結果,此外還有定時/計數器,串行I/O口,中斷系統,以及一個內部的時鐘電路。
  • 6位LED顯示單片機控制電子鐘/計數器
    這是我們設計的單片機電子鐘/計時器學習板,它採用6位LED數碼管顯示時、分、秒,以24小時計時方式。可以通過按鍵實現時分調整、秒表/時鐘功能轉換、省電(關閉顯示)等功能。51單片機做的電子鐘在很多地方都有介紹, 對於單片機學習者來說這個程序基本上是一道門檻,掌握了電子鐘程序, 基本上可以說51單片機就掌握了80%。常見的電子鐘程序由顯示部分、計算部分、時鐘調整部分構成,本產品硬體上完全支持倒計時器,客戶只要自己修改程序就能實現倒計時功能。
  • 51單片機PWM的控制
    PWM(脈衝寬度調製)對模擬信號電平進行數字編碼的方法,計算機只能輸出0或5V的數字電壓值而不能輸出模擬電壓,而我們如果想獲得一個模擬電壓值,則需通過使用高解析度計數器,改變方波的佔空比來對一個模擬信號的電平進行編碼。仍輸出數位訊號,因為滿幅值的直流供電只有5V(1)和0V(0)兩種。
  • pic單片機教程之13位程序計數器存儲器的組成
    [導讀]本節主要講解PICMicro中檔系列單片機13位程序計數器的程序存儲器構成。包括存儲器尋址方式、存儲器分頁、程序存儲器頁之間的跳轉實現及相關跳轉指令、技術原理。程序存儲器構成中檔系列單片機有一個13位的程序計數器,可以尋址8K×14位的程序存儲空間。程序存儲器總線寬度(指令字)為14位。由於所有的指令均為單字指令,所以一個具有8K×14位程序存儲器的器件可以存儲8K條指令。很易於確定是否有充足的程序存儲空間來實現應用程式。
  • 現在還有必要學習51單片機了嗎
    無意間聽到的這段對話,引出了我的一番思考,現在學單片機,尤其是8位的51單片機,真的是窮途末路了嗎?低成本晶片的主戰場當下的電子,嵌入式行業發展中,單片機的用量越來越大,應用領域越來越廣,小到20元左右的玩具,達到成百上千萬的醫療設備,無不在使用單片機。
  • 使用單片機做一個簡單的計數器
    上篇文章作者給大家介紹了單片機如何控制單個數碼管教程,感興趣的朋友可以點擊我的頭像進行觀看,接下來作者給大家介紹如何利用單片機控制多位數碼管顯示不同的數字,並且分享使用單片機實現一個簡單的計數器項目源碼。
  • 一文全面了解最強51單片機晶片STC89C52RC
    此外,P1.0 和P1.1 還可以作為定時器/計數器2的外部技術輸入(P1.0/T2)和定時器/計數器2 的觸發輸入(P1.1/T2EX),具體參見下表:在對FlashROM編程和程序校驗時,P1 接收低8位地址。
  • MCS-51單片機的結構和工作原理
    3.1 概述:MCS-51單片機晶片有許多種:      如8051、8031、8751、80C51、80C31等。3.1.1 MCS-51單片機系列:兩大系列:MCS-51子系列和MCS-52子系列。其中51子系列是基本型,而52子系列屬於增強型。
  • STC15系列51單片機的存儲器結構
    8位的51單片機在教學(或者自學時)領域發揮著重要作用,對於單片機的編程即是對特殊功能寄存器的編程。所以研究單片機的寄存器十分必要。STC15系列單片機的存儲器分3種,分別是程序存儲器ROM、數據存儲器RAM和特殊功能寄存器(SFRs),其中程序存儲器和數據存儲器是各自獨立編制的。
  • 8051單片機簡史:深度認識8051單片機的來龍去脈
    8051單片機系列也被稱為Intel MCS-51架構單片機,它是由Intel在1980年開發的,在80年代非常流行(至今仍然很流行)。在本文中,將介紹8051單片機以及8051單片機的一些基礎知識。8051單片機的歷史英特爾的8051單片機(Intel MSC-51架構)是8048單片機(Intel MSC-48架構)的後繼產品。
  • 單片機定時器/計數器結構和工作原理是什麼
    實質是計數器,脈衝每一次下降沿,計數寄存器數值將加1。計數的脈衝如果來源於單片機內部的晶振,由於其周期極為準確,這時稱為定時器。計數的脈衝如果來源於單片機外部的引腳,由於其周期一般不準確,這時稱為計數器。
  • 51單片機在片設備與中斷(4)
    10、8051單片機響應中斷後,產生長調用指令LCALL,執行該指令的過程包括:首先把( PC )的內容壓入堆棧,以進行斷點保護,然後把長調用指令的16位地址送( PC),使程序執行轉向( 程序存儲器)中的中斷地址區。
  • MCS-51單片機指令系統概述 2
    電子製作 HPOOMCS-51控制轉移指令電子製作 HPOO控制轉移指令用於控制程序的流向,所控制的範圍即為程序存儲器區間,MCS-51系列單片機的控制轉移指令相對豐富,有可對64kB程序空間地址單元進行訪問的長調用、長轉移指令
  • 51單片機之4位數加法計算器的設計報告
    AT89C52是一個低功耗,高性能的51內核的CMOS 8位單片機,片內含8k空間的可反覆擦些1000次的Flash只讀存儲器,具有256 bytes的隨機存取數據存儲器(RAM),32個雙向I/O口,2個16位可編程定時計數器。綜合考慮,選擇方案二,採用Atmel公司的AT89C52單片機作為控制器。
  • 單片機復位電路原理是腫麼樣的呢???
    相同之處在於它們都用於使儀器回到起始狀態;不同之處在於,計算機清零按鍵的啟動手段為手動式,而復位電路有三種啟動手段可供選擇,其一是在電路通電時刻立即進行復位操作,其二是在需要復位時手動操作,其三是根據程序或電路運行的需要自動進行操作。  對於單片機而言,復位功能是必須存在的,因為單片機的每一次啟動都需要復位,以使CPU及系統各個部件都處於初始狀態,並從初始狀態開始進行工作。
  • 51單片機程序存儲器擴展
    在單片機的擴展中,要分別考慮程序存儲器及數據存儲器的擴展。存儲器是單片機系統中使用最多的外擴晶片,對80C51系列單片機而言,由於程序存儲器與數據存儲器的空間在物理空間上的各自獨立性,使得兩者的擴展方法略有不同。