時(shí)間:2018-12-27 14:02:47來源:電子發(fā)燒友網(wǎng)
導(dǎo)讀:在51單片機(jī)中,分為軟件定時(shí)器,不可編程硬件定時(shí)器,可編程定時(shí)器。
一、什么是定時(shí)器/計(jì)數(shù)器在51單片機(jī)中,定時(shí)器/計(jì)數(shù)器是用來實(shí)現(xiàn)定時(shí)功能,并且具有計(jì)數(shù)的功能,來實(shí)現(xiàn)對外部信號的計(jì)數(shù)。
二、定時(shí)器/計(jì)數(shù)器有什么類型在51單片機(jī)中,分為軟件定時(shí)器,不可編程硬件定時(shí)器,可編程定時(shí)器。
軟件定時(shí):CPU每執(zhí)行一條指令時(shí),是需要固定時(shí)間的,所以,通過執(zhí)行空指令可以達(dá)到延時(shí)的效果,這樣子做的代價(jià)是占用CPU時(shí)間,所以一般很少這么做。
不可編程硬件定時(shí)器:是由電路和硬件來完成定時(shí)功能的,一般采用基電路,外接定時(shí)部件(電阻和電容),通過改變電阻的阻值和電容的電容值來修改定時(shí)值,一量確定后件不能通過軟件修改,這樣子做的優(yōu)點(diǎn)是不需要占用CPU時(shí)間。
可編程定時(shí)器:通軟件來確定定時(shí)值及其范圍,可編程定時(shí)器功能強(qiáng)大,靈活性高。這是本文詳細(xì)講解的定時(shí)器。
三、定時(shí)器的內(nèi)部結(jié)構(gòu)及工作原理8051單片機(jī)有定時(shí)器0(T0)和定時(shí)器1(T1)兩個(gè)定時(shí)器。
定時(shí)器0(T0)和定時(shí)器1(T1)是兩個(gè)16位加法計(jì)算器。
定時(shí)器0是由TH0和TH1兩個(gè)8位計(jì)數(shù)器組成的,定時(shí)器1也是一樣。
定時(shí)器內(nèi)部還有以下寄存器:
8位的方式寄存器(TMOD)
8位控制寄存器(TCON)
選擇定時(shí)器模式寄存器(C/T)
啟動(dòng)方式寄存器(GATE)
工作方式及發(fā)出啟動(dòng)信號寄存器(TR0或TR1)
四、定時(shí)器工作方式
定時(shí)器的工作方式主要是通過THOD低4位是定時(shí)器0的工作方式控制位,高4位為定時(shí)器1的工作方式控制方式。均為M1M0
工作方式M1M0功能00013位計(jì)數(shù)器10116位計(jì)數(shù)器2108位計(jì)數(shù)器,初值自動(dòng)裝入311T0分成兩個(gè)8位計(jì)數(shù)器,T1停止工作五、使用定時(shí)器
timer_count.c
#include
unsignedchari;
sbitLED0=P1^0;
voidmain(void)
{
TMOD=0x01;
TH0=0;
TL0=0;
ET0=1;
TR0=1;
EA=1;
while(1);
}
voidt0_delay(void)interrupt1
{
i++;
TR0=0;
TH0=0;
TL0=0;
if(i==20)
{
i=0;
LED0=~LED0;
}
TR0=1;
}
a
標(biāo)簽:
中國傳動(dòng)網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動(dòng)網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動(dòng)網(wǎng)(www.surachana.com)獨(dú)家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)須注明來源“中國傳動(dòng)網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。
產(chǎn)品新聞
更多>2025-04-30
性能躍升20%!維宏NK300CX Plus數(shù)控系統(tǒng)...
2025-04-11
rpi-image-gen:樹莓派軟件鏡像構(gòu)建的終...
2025-04-08
【產(chǎn)品解讀】全面提升精密制造檢測節(jié)拍...
2025-03-31
激光閃耀 智慧引領(lǐng) | WISE MASER 黑武士...
2025-03-20