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

编程入门 行业动态 更新时间:2024-10-10 05:16:32

基于51单片机的简易数字<a href=https://www.elefans.com/category/jswz/34/1740795.html style=频率计"/>

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

要求使用定时/计数器1作定时用,定时1s;定时/计数器0作计数器用,被计数的外部脉冲从P3.4(T0)接入。
单片机将在1s内对脉冲计数并送四位数码管显示,最大计数显示值为0FFFFH。
求程序。
悬赏分:30 - 解决时间:2010-6-27 22:26
;===============================================
最佳答案:这是个简易频率计,程序如下:
;---------------------------------
    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仿真如下图。




图片链接:/%D7%F6%B6%F8%C2%DB%B5%C0/album/item/902f7103f249d83149fb5162.html

图中信号的频率是5000Hz,显示的1388是16进制,这是题目中要求的形式。
;===============================================
提问者对于答案的评价:谢谢
原题网址:.html?fr=im2
相关网址:.html?fr=qrl&cid=1075&index=1

更多推荐

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

本文发布于:2024-03-07 08:17:07,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1717304.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:频率计   单片机   简易   数字

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!