云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 51单片机实现PWM波占空比可调

51单片机实现PWM波占空比可调

  • 62 次阅读
  • 3 次下载
  • 2026/1/11 5:05:29

51单片机实现PWM波占空比可调

平台: STC89C52

名称:本程序为用单片机制作的占空比均匀间隔可调PWM发生器。占空比可调间隔 为0.1。即可取得占空比为0%,10%,20%……90%到100%的PWM波。 该波的频率固定为1KH(周期1000微秒)。

SY-1学习板上的操作键: S2----占空比加

S3----占空比减

晶振:11.0592MHZ

程序代码:

#include

#define uint unsigned int uint pp;

char num=2,dis; sbit pwm=P1^0; sbit s2=P3^4; sbit s3=P3^5;

sbit dula=P2^6;

sbit wela=P2^7;

unsigned char code table[]=

{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f, 0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};

void keyscan() { if(s2==0)

{ } if(s3==0) {

while(!s3); num--; if(num==-1) num=0; dis=num; while(!s2); num++; if(num==11) num=10; dis=num;

}

}

void display(a) {

dula=0; P0=table[a]; dula=1; dula=0; wela=0; P0=0xfe; wela=1; wela=0; }

void main() { TMOD=0x01; M0=1)。 TR0=1;

TH0=0Xff; TL0=0Xa4; ET0=1; EA=1; while(1) {

//对于占空比为0和100%这两种极端情况,最好分离

//模式设置,00000001,可见采用的是定时器0,工作与模式1(M1=0, //打开定时器

//定时器设置,每隔100微秒发起一次中断。 //开定时器0中断 //开总中断

keyscan(); if((num!=0)&&(num!=10)) 出,单独考虑

{ }

if(pp<=num) pwm=1; else

pwm=0;

else if(num==0) pwm=0; else

pwm=1; if(pp==10)

//当占空比为0

//当占空比为100%

pp=0;

display(num);//显示num当前值,占空比为num/10。 }

}

void time0() interrupt 1 { TH0=0Xff; TL0=0Xa4; }

pp++;

搜索更多关于: 51单片机实现PWM波占空比可调 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

51单片机实现PWM波占空比可调 平台: STC89C52 名称:本程序为用单片机制作的占空比均匀间隔可调PWM发生器。占空比可调间隔 为0.1。即可取得占空比为0%,10%,20%……90%到100%的PWM波。 该波的频率固定为1KH(周期1000微秒)。 SY-1学习板上的操作键: S2----占空比加 S3----占空比减 晶振:11.0592MHZ 程序代码: #include #define uint unsigned int uint pp; char num=2,dis; sbit pwm=P1^0; sbit s2=P3^

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com