标题:
用单片机定时器产生方波源程序
[打印本页]
作者:
963.
时间:
2018-3-25 20:19
标题:
用单片机定时器产生方波源程序
实验45 用定时器产生方波
单片机源程序如下:
/*********************************************************************************
* 【作 者】: 清翔电子:03
* 【版 本】: 1.0
* 【实验平台】: QX-MCS51 单片机开发板
* 【外部晶振】: 11.0592mhz
* 【主控芯片】: STC89C52
* 【编译环境】: Keil μVisio3
* 【程序功能】: 本程序演示用定时器的方法产生一PWM方波,其周期为1ms(0.001s,1KHz);
占空比为1/5(高电平持续200us)。若产生其他参数的PWM波,只需更改
程序中的相关参数即可。(同学们也可试着设计可调的PWM输出)
pwm波由P1^0口输出。可观察到其对应发光二极管在闪烁
(熄灭持续时间为200us,点亮持续时间为800us,闪烁周期为1ms)
下载程序后我们看到的现象是灯一直亮,是因为熄灭时间太短人眼分辨不出
调节占空比 占空比越大灯的亮度越暗
* 【使用说明】:
* 说明:免费开源,不提供源代码分析.
**********************************************************************************/
#include<reg52.h>
#define uint unsigned int
uint pp;
sbit pwm=P1^0;
void main()
{
TMOD=0x01; //模式设置,00000001,可见采用的是定时器0,工作与模式1(M1=0,M0=1)。
TR0=1; //打开定时器
TH0=0Xff; //定时器设置,每隔100微秒发起一次中断。
TL0=0Xa4;
ET0=1; //开定时器0中断
EA=1; //开总中断
while(1)
{
if(pp<=2) //调节占空比 占空比越大灯的亮度越暗
pwm=1;
else
pwm=0;
if(pp==10)
pp=0;
}
}
void time0() interrupt 1
{ TH0=0Xff;
TL0=0Xa4;
pp++;
}
复制代码
所有资料51hei提供下载:
【实验45】用定时器产生方波0.rar
(9.37 KB, 下载次数: 56)
2018-3-25 20:18 上传
点击文件名下载附件
用定时器产生方波
下载积分: 黑币 -5
作者:
lovesycc
时间:
2019-4-19 15:35
不错,谢谢分享,改了下占空比,做了个方波发生器
作者:
快乐眼泪
时间:
2019-4-20 20:04
感谢楼主分享
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1