课程设计报告撰写要求12.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课程设计报告撰写要求12

综合实验设计报告 学生姓名:孟祥明学 号:2013301020120学 院:电气工程学院班 级:电信131题 目:波形发生器的设计 指导教师: 尹维春 职称: 实验师 指导教师: 王冬铂 职称: 实验师 2016 年 9 月 14 日 设计要求 设计并制作一套单相SPWM触发脉冲电路,要求: 1 采用双极调制算法,产生一个7脉冲SPWM触发脉冲,并用单片机数字化近似实现;? 2 完成拓展硬件电路,软件编程和调试;? 3 具有2ms死区设计;? 4 低次谐波较少; 设计原理及框图 本系统以89C52单片机为控制核心,由查表法通过定时器产生SPWM波, ﹢5V Spw波 电源模块 单片机主控电路模块 双极型PWM转换电路 输出 图1设计框图 2.1 利用查表产生SPWM波理论 SPWM采用频率数倍于正弦波的三角波调制正弦波,可得到近似于正弦波的输出。三角波的频率越高,即载波比越高,谐波的频率就越高,输出端滤波器就更容易去除谐波。? 查表就是通过计算得到脉冲序列中每一个矩形脉冲周期内高低电平持续时间,c语言编程时用数组来表示,通过编写对应程序来查表进而控制输出端口高低电平时间及转换,从而产生SPWM波。? 图2 SPWM原理图 2.2单片机程序设计框图 开始 I/O端口初始化 定时器A初始化 赋初始值,开总中断 启动定时器 定时器计数,I/O保持电平 查表切换计数值,反转I/O 图3 程序流程图 三. 器件说明 3.1主控电路 图4 单片机主控电路 主控电路采用了STC89C52RC。89c52是一种低功耗、高性能CMOS8位微控制器,具有 8K字节系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash。 89c52具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线, HYPERLINK "/view/1313309.htm" \t "/_blank" 看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16 位 HYPERLINK "/view/281961.htm" \t "/_blank" 定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工 HYPERLINK "/view/1060187.htm" \t "/_blank" 串行口。另外 STC89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。 3.2电源电路 图5 电源模块 三端稳压集成电路LM7805。只有三条引脚输出,分别是输入端、接地端和输出端。 3.3双极性pwm转换电路 图6 双极型PWM转换电路 程序设计 4.1 c语言程序实现主程序 #include<reg52.h>? #include<intrins.h>? #define?uint?unsigned?int? int?i=0;? char?flag=0;? sbit?P10=P1^0;? sbit?P17=P1^7;? sbit?P20=P2^0;?? int?a1[]={976?1563?435?1912?222?1912?435?1563?976?976?1563?435?1912?222?1912?435? 1563?976}; void?main()? {? P10=0;? P17=0; IE=0x82;? TMOD=0x01;? TH0=(65536-a[i])/256;? TL0=(65536-a[i])%256;? TR0=1;? while(1)? {?? if(flag==1)? { flag=0;?? P17=~P17;? P20=~P20;? } }? } 4.2 中断程序 void?tim

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档