51单片机定时器频率计算

本文介绍了51单片机如何通过调整定时器的TH与TL来改变频率,提供了不同周期对应的频率计算示例,并展示了如何通过改变频率实现PWM输出的不同值。还提供了一个简单的初始化定时器0的示例代码,以及延时函数和按键处理程序。
摘要由CSDN通过智能技术生成

频率是周期的倒数

51单片机定时器中TH与TL可以改变周期来改变频率。

举例如下

3000us=3ms=0.003s   T=0.003s频率=333HZ   
2000us=2ms=0.002s   T=0.002s 频率=500HZ 

1818us=1.818ms=0.001818s T=0.001818s 频率=550HZ 
1300us=1.3ms=0.0013s T=0.0013s 频率750HZ  
1000us=1ms=0.001s   T=0.001s  频率=1000HZ  
650us=0.65ms=0.00065s T=0.00065s频率1500HZ
500us=0.5ms=0.0005s T=0.0005s 频率=2000HZ
400us=0.4ms=0.0004s T=0.0004s频率2500HZ
330us=0.33ms=0.00033sT=0.00033s 频率3000HZ

可通过改变频率使PWM输出不同的值

以下为一个例子

#include<reg52.h> //包含头文件,一般情况不需要改动
sbit BUZZ=P2^5;     //定义蜂鸣器接口
sbit k3=P3^2;     //定义P31口是k3
sbit k2=P3^0;     //定义P31口是k2
code unsigned int toneH[6]={     //音调对应的定时器计数值的高8位 第一个音为低音7
0XF8,0XFA,0XFB,0XFC,0XFE,0XFE
};
code unsigned int toneL[6]={     //音调对应的定

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值