基于51單片機(jī)的簡易數(shù)字頻率計(jì)
要求使用定時(shí)/計(jì)數(shù)器1作定時(shí)用,定時(shí)1s;定時(shí)/計(jì)數(shù)器0作計(jì)數(shù)器用,被計(jì)數(shù)的外部脈沖從P3.4(T0)接入。
單片機(jī)將在1s內(nèi)對脈沖計(jì)數(shù)并送四位數(shù)碼管顯示,最大計(jì)數(shù)顯示值為0FFFFH。
求程序。
;===============================================
最佳答案:這是個簡易頻率計(jì),程序如下:
;---------------------------------
ORG 0000H
JMP START
ORG 000BH
JMP T0_INT
;---------------------------------
START:
MOV TMOD, #51H ;/*01010001 T1計(jì)數(shù),T0定時(shí)*/
MOV TH0, #HIGH(65536 - 50000) ;50ms@12MHz
MOV TL0, #LOW (65536 - 50000)
MOV TH1, #0
MOV TL1, #0
SETB TR0
SETB TR1
SETB ET0
SETB EA
MOV R7, #20
SJMP $
;---------------------------------
T0_INT: ;50ms執(zhí)行一次
MOV TL0, #LOW (65536 - 50000) ;重新寫入初始值
MOV TH0, #HIGH(65536 - 50000) ;50ms@12MHz
DJNZ R7, T0_END
MOV R7, #20
MOV P1, TL1
MOV P2, TH1
MOV TL1, #0
MOV TH1, #0
T0_END:
RETI
;---------------------------------
END
用PROTEUS仿真如下圖。