基于单片机PWM信号发生器系统Proteus仿真(含全部资料)
全套资料包含:Proteus仿真源文件+keil C语言源程序+AD原理图+流程图+元器件清单+说明书等
资料下载:
通过网盘分享的文件:资料分享
链接: 百度网盘 请输入提取码 提取码: tgnu
目录
资料下载:
Proteus仿真功能
项目文件资料:
一、Proteus仿真源文件
二、AD原理图文件
二、报告说明书
三、系统流程图
四、Keil c语言程序源代码
项目功能:
两路输出PWM信号;
通过按钮调整频率、占空比和相位差
使用LCD1602显示频率、占空比和相位差
项目文件:
一、Proteus仿真源文件
二、AD原理图文件
二、报告说明书
三、系统流程图
四、器件清单
元件 | 型号 | 数量 |
单片机 | AT89C51 | 1 |
电容 | 10uf | 1 |
电容 | 30pf | 2 |
晶振 | 12MHZ | 1 |
电阻 | 10k | 1 |
按钮 | 7 | |
显示器 | LCD1602 | 1 |
排阻 | 10k | 1 |
五、Keil c语言程序源代码(部分)
#include "reg51.h"
#include "lcd1602.h"
#define uchar unsigned char
#define uint unsigned int
sbit out1=P2^6;//输出
sbit out2=P2^7;
sbit k1=P1^0;//按钮
sbit k2=P1^1;
sbit k3=P1^2;
sbit k4=P1^3;
sbit k5=P1^4;
sbit k6=P1^5;
uint freq=10;//频率
uchar pwm=50,time=0;//占空比
uchar set0=0,set1=0;
uchar cha0=0,cha1=0;//相位差控制
uchar xiang=0;//相位差0-180
uchar disp1[]="f:0000Hz pwm:00%";
uchar disp2[]=" :000 "; //e0//显示函数
void xian()
{disp1[2]=freq/1000+0x30;disp1[3]=freq%1000/100+0x30;disp1[4]=freq%100/10+0x30;disp1[5]=freq%10+0x30;disp1[13]=pwm/10+0x30;disp1[14]=pwm%10+0x30;disp2[2]=xiang/100+0x30;disp2[3]=xiang%100/10+0x30;disp2[4]=xiang%10+0x30;write_string(1,0,disp1);write_string(2,0,disp2);
}
//计算
void zhou()
{unsigned long i;i=1000000;i=i/freq;//计算周期i=i/100;//周期分成100份set0=(65536-i)/256;set1=(65536-i)%256;//计算相位差i=xiang;i=i*100/360;cha0=i;if(cha0+pwm>99){cha1=cha0+pwm-99;}elsecha1=cha0+pwm;
}//主函数
void main()
{disp2[0]=0xe0;disp2[5]=0xdf;zhou();init_1602();//初始化xian();TMOD|=0X11; ET0=1;//打开定时器0中断允许EA=1;//打开总中断TR0=1;//打开定时器while(1){if(!k1)//频率加{if(freq<9999)freq++;zhou();xian();while(!k1);} if(!k2)//频率减{if(freq>1)freq--;zhou();xian();while(!k2);}if(!k3)//占空比加{if(pwm<99)pwm++;zhou();xian();while(!k3);} if(!k4)//占空比减{if(pwm>0)pwm--;zhou();xian();while(!k4);}if(!k5)//相位差加{if(xiang<180)xiang++;zhou();xian();while(!k5);} if(!k6)//相位差减{if(xiang>0)xiang--;zhou();xian();while(!k6);}}
}
//定时器0中断
void Timer0() interrupt 1
{if(time<99)time++;elsetime=0;if(time<pwm)//通道1输出out1=1;elseout1=0;if(time==cha0)//通道2输出out2=1;if(time==cha1)out2=0;TH0=set0;TL0=set1;
}
六、全套资料包含
七:项目资源获取
需要完整的资料可以点击下面的名片关注,回复“资料”!
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓