51单片机c语言脉冲计数并显示程序

51单片机c语言脉冲计数并显示程序,第1张

TMOD=0x05;

TH0=0;TL0=0;磨饥衡肢液

TR0=1;

while(1)

{

a=TH0*256+TL0;

display(a);瞎做

}

这是个简易频率计,程序如下:

---------------------------------

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

图中信号的频率是5000Hz,显示的是凯汪16进制,这是题目中要求的形式。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12334622.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存