導航:首頁 > 操作系統 > 51單片機定時器應用

51單片機定時器應用

發布時間:2023-05-20 14:42:38

⑴ 51單片機定時器的使用

51單片機定時器的GATE=1時,用外部INT0啟動定時器,當INT0=0時,
定時器T1會停止計數,這個時候讀取T1的值是可以計算出高電平的寬度的。

⑵ c51單片機的定時器計數器怎麼用

//用定時器T0查詢方式P0口8位控制LED閃爍
#include // 包含52單片機寄存器定義的頭文件
#define uchar unsigned char
#define uint unsigned int
/**************************************************************
函數功能:主函數
**************************************************************/
void main(void)
{

TMOD=0x01; //使用定時器T0的模式1
TH0=(65536-50000)/256; //定時器T0的高8位賦初值
TL0=(65536-50000)%256; //定時器T0的高8位賦初值
TR0=1; //啟動定時器T0
TF0=0; //溢出標志位 先清零
P0=0xff; //關閉LED燈
while(1)//無限循環等待查詢
{
while(TF0==1)
{
TF0=0;
P0=~P0;
TH0=(65536-50000)/256; //定時器T0的高8位賦初值否則會從0開始計數
TL0=(65536-50000)%256; //定時器T0的高8位賦初值
}
}
}

⑶ 51單片機的定時器用作定時方式是

51單片機的定時器用作緩廳定時方式是一個時鍾周期加1。根據查詢相關公開信息顯示,51單片機的定時器用作定時方式是由內部時鍾頻率定時,一個時鍾周期加1。51單片機是對兼容英特爾8051指令系統的單片機的統稱,51單片機廣泛應用於家用電器、汽車激慶、工業測控、通信設備中,因為51單片機的指令系統、內部擾鉛隱結構相對簡單,所以國內許多高校用其進行單片機入門教學。

⑷ 51單片機匯編語言定時器的使用(中斷方式)

(1)
COUNT_INTEQU30H
LEDVALUEEQU31H
ORG0000H
LJMPSTART
ORG001BH
LJMPTimer1Interrupt

START:
MOVSP,#60H
MOVCOUNT_INT,#0
MOVLEDVALUE,#01H
LCALLInitTimer1

LOOP:
MOVA,LEDVALUE
MOVP2,A
LJMPLOOP

InitTimer1:
MOVTMOD,#10H;定時器T1為工作方式1,產生50ms定時
MOVTH1,#3CH
MOVTL1,#0B0H
SETBEA
SETBET1
SETBTR1
RET

Timer1Interrupt:
PUSHDPH
PUSHDPL
PUSHACC
MOVTH1,#3CH
MOVTL1,#0B0H
;========================
INCCOUNT_INT
MOVA,COUNT_INT;每50ms加1,
CJNEA,#2,Timer1Interrupt_EXIT;100ms
MOVCOUNT_INT,#0
MOVA,LEDVALUE
RLA
MOVLEDVALUE,A
;========================
Timer1Interrupt_EXIT:
POPACC
POPDPL
POPDPH
RETI

END
(2)
COUNT_INT_LEQU30H
COUNT_INT_HEQU31H
LEDVALUEEQU32H
ORG0000H
LJMPSTART
ORG001BH
LJMPTimer1Interrupt

START:
MOVSP,#60H
MOVCOUNT_INT_L,#0
MOVCOUNT_INT_H,#0
MOVLEDVALUE,#01H
LCALLInitTimer1

LOOP:
MOVA,LEDVALUE
MOVP2,A
LJMPLOOP

InitTimer1:
MOVTMOD,#20H;定時器T1為工作方式2,產生250us定時
MOVTH1,#00H
MOVTL1,#06H
SETBEA
SETBET1
SETBTR1
RET

Timer1Interrupt:
PUSHDPH
PUSHDPL
PUSHACC
MOVTH1,#00H
MOVTL1,#06H
;========================
INCCOUNT_INT_L
MOVA,COUNT_INT_L;每250us加1,
CJNEA,#40,Timer1Interrupt_EXIT;250US*40=10ms
MOVCOUNT_INT_L,#0
INCCOUNT_INT_H
MOVA,COUNT_INT_H;每10Ms加1,
CJNEA,#10,Timer1Interrupt_EXIT;10ms*10=100MS
MOVCOUNT_INT_H,#0
MOVA,LEDVALUE
RLA
MOVLEDVALUE,A
;========================
Timer1Interrupt_EXIT:
POPACC
POPDPL
POPDPH
RETI

END

閱讀全文

與51單片機定時器應用相關的資料

熱點內容
浪潮伺服器貴州銷售雲主機 瀏覽:840
amdlinux顯卡安裝 瀏覽:564
泰海科技雲伺服器如何卸載 瀏覽:122
有密碼打開excel加密 瀏覽:818
java生成重復字元 瀏覽:282
串口伺服器有什麼用 瀏覽:330
linux安裝red5 瀏覽:295
單片機中斷時入口地址作用 瀏覽:148
程序員的工作是重復性的嗎 瀏覽:67
照片怎麼轉換成pdf 瀏覽:133
女生學編程好嗎 瀏覽:240
目前絕地求生怎麼看伺服器地址大全 瀏覽:825
論人類不平等的起源pdf 瀏覽:436
壓縮機螺桿加工 瀏覽:370
怎麼把網站伺服器設置在境外 瀏覽:164
單片機編程取反 瀏覽:897
51單片機課程設計課題 瀏覽:900
手機淘寶登錄怎麼加密碼 瀏覽:486
linux快捷方式圖標 瀏覽:38
陽光車險的app叫什麼名字 瀏覽:462