51单片机输出方波问题

本文详细介绍了如何利用8051单片机,在时钟频率6MHz下,通过定时器1工作方式1设置,输出1KHz且占空比为60%的矩形波。分析了题目条件,包括时钟周期、定时器工作模式,并提供了理论储备,如机器周期计算和不同工作方式下的定时时间。接着,作者分享了编程思路,设定定时器初值以实现方波,并给出了程序及仿真实验结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一:NOTE

今天分享一个题目,有关51单片机输出方波的问题,好了,进入正题

二:题目

已知8051单片机的时钟频率为6MHZ,通过定时器1的工作方式1在P1^1引脚输出一个1KHZ占空比为60%的矩形波。

三:分析题目

1、首先第一个条件,时钟频率6MHZ,从这里我们可以得出它的时钟周期为1/f=2us
2、第二个条件,定时器1,工作方式1,那么对应TMOD寄存器也就是0x10。
3、第三个条件,输出一个1KHZ占空比60%,这里其实有两个条件,第一个输出1KHZ,他告诉我们输出的波形周期是1/f=1ms,然后是占空比,推出高电平为1ms*60%=600us,那么低电平就是400us,到这里,题目所有条件都分析完毕

四:理论储备

1、机器周期=时钟周期*12;
2、定时器工作方式1:定时时间=(65536-初值)*机器周期(知道为什么要算机器周期了吧)这里带入值可以算出初值是50
3、拓展:定时器方式0:定时时间=(8192-初值)*机器周期
定时器方式2:定时时间=(256-初值)*机器周期

五:编程思路

我的思路是定时器初值设100us,然后开始的时候开启定时器并且给高电平,然后给一个标志tt,当tt加到6的时候,给低电平,这样就实现方波的形成,下面给出程序。

六:程序演示

#include<reg51.h>
sbit wave=P1
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值