基于51单片机的简易数字频率计

电子元件 4年前 (2022) aysz01
0

要求使用定时/计数器1作定时用,定时1s;定时/计数器0作计数器用,被计数的外部脉冲从P3.4(T0)接入。

单片机将在1s内对脉冲计数并送四位数码管显示,最大计数显示值为0FFFFH。

求程序。

;===============================================

最佳答案:这是个简易频率计,程序如下:

;---------------------------------

ORG 0000H

JMP START

ORG 000BH

JMP T0_INT

;---------------------------------

START:

MOV TMOD, #51H ;/*01010001 T1计数,T0定时*/

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执行一次

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仿真如下图。

 

版权声明:aysz01 发表于 2022-08-06 10:25:28。
转载请注明:基于51单片机的简易数字频率计 | 鳌游电工

暂无评论

暂无评论...