×
单片机 > 单片机程序设计 > 详情

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

发布时间:2020-08-26 发布时间:
|

要求使用定时/计数器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仿真如下图。




『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
单片机中高阻态的实质及意义