1、包骏祥单片机课设课程设计任务书学生姓名: 包骏祥 专业班级: 电信1304 指导教师: 沈维聪 工作单位: 信息工程学院 题 目: 占空比可调信号发生器初始条件:1.Protues软件;2.课程设计辅导资料:“占空比可调的信号发生器设计与应用”、“电路设计技术与应用”等;3.先修课程:模拟电子技术、数字电子技术、Protues电路设计教程及单片机原理及应用等课程要求完成的主要任务:(包括课设工作量及技术要求、说明书撰写具体要求)1.课程设计时间:1周;2.课程设计内容:用4个按键分别控制输出信号的占空比和频率(用示波器观察输出波形),显示占空比范围0100,频率范围50Hz500Hz,实时测量
2、输出信号的占空比和频率值。3.本课程设计统一技术要求:研读辅导资料对应章节,对选定的设计题目进行理论分析,针对具体设计部分的原理分析、建模、必要的推导和可行性分析,画出程序设计框图,编写程序代码,上机调试运行程序,记录实验结果,并对实验结果进行分析和总结;4.课程设计说明书按学校“课程设计工作规范”中的“统一书写格式”撰写,具体包括:目录;设计原理和方法;系统硬件线路设计图;程序框图;资源分配表;源程序;性能分析;课程设计的心得体会;参考文献。指导教师签名: 年 月 日系主任(或责任教师)签名: 年 月 日目 录摘 要 11.设计原理和方法 21.1方案的设计与选择 21.2设计原理 32.系
3、统硬件电路设计图 33.程序框图 43.1主程序框图 43.2系统初始化程序 43.3定时器中断程序框图 43.4键盘扫描程序框图 54.资源分配表 65.源程序 76.性能分析 96.1定时器中断分析 96.2系统性能分析 97.心得体会 14参考文献 15本科生课程设计成绩评定表 16摘 要单片机具有集成度高,功能强,可靠性高,体积小,功耗低,使用方便,价格低廉等一系列优点,目前已经渗入到人们工作和生活的方方面面,几乎无处不在。本课题讨论的占空比可调的信号发生器的核心是目前应用极为广泛的51系列单片机。基于单片机的信号发生器的设计,该课题的设计目的是充分运用大学期间所学的专业知识,考察现在
4、正在使用的信号发生器的基本功能,完成一个基本的实际系统的设计全过程。特别是这个信号发生器的设计中涉及到一个典型的控制过程。通过单片机控制一个有特殊功能的信号发生芯片,可以产生一系列有规律的幅度和频率可调的波形。这样一个信号发生器装置在控制领域有相当广泛的应用范围。因为产生一系列的可调波形可以作为其他一些设备的数值输入,还可以应用于设备检测、仪器调试等场合。1.设计原理和方法1.1方案的设计与选择在电子技术领域中,实现函数信号发生器的方法有很多种,可以采用不同的原理及器件构成不同的电路,但可以实现相同的功能。方案的比较:方案一:采用单片函数发生器如8038、8038可同时产生正弦波,方波等,而且
5、方法简单易行。用D/A转换器的输出来改变调制电压,也可以实现数控的调频,但是产生的频率稳定度不高。方案二:采用锁相式频率合成器,利用锁相环,降压控制振荡器(VOC)的输出,频率锁定在所需的频率上,该方案性能良好,但是难以达到输出频率覆盖系数的要求,并且其电路复杂。方案三:采用单片机编程的方法实现。该方法可以通过编程,来控制方波信号输出的频率和幅度,并且只要改变程序的相关参数,便可以改变输出波形的频率和占空比。由于编程的方法产生的是数字信号,所以信号的精度可以做到很高。并且电路简单。鉴于方案一的信号频率不够稳定和方案二的电路复杂,频率覆盖系数难以达标等缺点,所以决定采用方案三的设计方法。方案三不
6、仅仅是软硬件结合,而且它使用的元器件,容易得到,且价格便宜,使得硬件的开销达到最省。在此次设计中,利用STC89C52单片机,软硬件结合,实现占空比和频率可调。按键的操作是通过数字电路跟外部中断0来控制的。可以输出占空比在0到100%可调,精度为1%,频率范围为50HZ到500HZ可调,精度为10HZ的方波。本设计用到一个STC89C52微处理器,4个按键,一个四输入与门。STC89C52用到两个定时器,定时器0和定时器1。其中定时器0工作在方式1下,决定输出信号的频率,定时器1工作在方式1下,决定输出信号的占空比。 按键1和2决定信号的输出频率,按键1用于增大信号的频率,按一下就增加10HZ
7、,当增加到500HZ时,就归为50HZ。按键2用于减小输出信号的频率,按一次键,输出信号的频率减少10HZ,当减少到50HZ时,频率就归于500.按键3和4决定信号的占空比,按键3用于增加信号的占空比,按下一次键,占空比就增加1,上限值为100,当再次按键时,就让占空比归1。按键4用于减小信号的占空比,按下一次键,占空比就减1,下限值为1,当再次按键时,就让占空比回归到99。通过上面的步骤,便可以实现占空比和频率的调节。1.2设计原理STC89C52单片机是整个波形信号发生器的核心部分,通过程序的编写和执行,产生各种各样的信号,并从按键接受数据,进行频率的的转换和占空比的调节,可以直接输出波形
8、并用示波器观察。2.系统硬件电路设计图四个独立按键分别与单片机的P1.0,P1.1,P1.2,P1.3相连接,并且通过一个四输入的与非门,将与非门的输出当做单片机外部中断0的触发信号。当有按键按下时,就会进入外部中断程序。P1.4口输出信号连接到示波器,检测输出波形。图1 系统硬件电路仿真图3.程序框图此占空比可调信号发生器的程序主要包括这几个部分:主程序,延时子程序,初始化程序,定时器程序和键盘扫描程序(通过外部中断控制)。主程序用于控制系统的所有子程序的执行。3.1主程序框图主程序用于控制整个系统,先对系统初始化,然后通过一个空循环等待中断程序,当中断到来时候,就进入中断程序,执行中断程序
9、。中断程序执行完成之后,就返回主程序,继续等待。主程序框图如下图2:图2 主程序框图3.2系统初始化程序初始化程序主要是给计数器0和1赋初值,让初始化占空比为50%,信号频率为50HZ,设置定时器0和定时器1的工作方式,并且开启计数器0和计数器1,设置外部中断的触发方式,开启总中断。3.3定时器中断程序框图定时器中断0中断程序框图如下图3所示,定时器中断1程序框图如下图4所示。定时器0用于控制输出信号的频率,定时器1用于控制输出信号的占空比。 图3 定时中断0程序框图 图4 定时中断1程序框图3.4键盘扫描程序框图当有按键按下时,进入到外部中断,然后暂时关闭外部中断,启动延时程序,以消除抖动。
10、然后检测是哪个按键被按下,然后对频率跟占空比的变量做出相应的赋值,并且将占空比的值送到数码管显示。并且对定时器0和定时器1分别赋新的初值,开启外部中断,定时器0和1中断,中断程序结束。 N Y图5 按键扫描程序流程图4.资源分配表8位P0数码管8位P2数码管4位P1独立键盘1位P1.4输出波形1位P3.2外部中断触发表一 资源分配表5.源程序#include #define uchar unsigned char#define uint unsigned intfloat fosc=12000000;/系统时钟频率sbit key1=P10;/控制频率的增加sbit key2=P11;/控制频
11、率的减少sbit key3=P12;/控制占空比的增加sbit key4=P13;/控制占空比的减少sbit clk=P14;uchar num;uint zkb=50;/占空比初值,取值范围为0到100uint fre=50;/频率初值,取值范围为50到500uint time0_H,time0_L,time1_H,time1_L;void delay(uint z) uint i,j; for(i=z;i-;i0) for(j=110;j-;j0);void init()/初始化 TMOD=0x11;/定时器0和1都工作在方式1(高8位与低8位) time0_H=0xB1; time0_L
12、=0xE0; time1_H=0xD8; time1_L=0xF0; TH0=0xB1;/定时器0装入初值,计数器计数20000次,20ms TL0=0xE0; TH1=0xD8;/定时器1装入初值,计数器计数10000次,10ms TL1=0xF0; IT0=1;/外部中断1为低电平触发 EX0=1;/开外部中断1 ET0=1;/定时器T0中断允许 ET1=1;/定时器T1中断允许 EA=1;/开启总中断 TR0=1;/开启定时器0 TR1=1;/开启定时器1void main() init(); while(1);void T0_time()interrupt 1 TR1=1;/开定时器1
13、 TH0=time0_H; TL0=time0_L; clk=1;void T1_time() interrupt 3 TR1=0;/关定时器1 TH1=time1_H; TL1=time1_L; clk=0;void keyscan() interrupt 0/外部中断0float TX,TZ;EX0=0;/关中断delay(10);/延时消抖if(P1!=0x0F) /检测一行按键 if(key1=0) fre=fre+10; if(fre500) fre=50; if(key2=0) fre=fre-10; if(fre99) zkb=1; if(key4=0) zkb=zkb-1; i
14、f(zkb1) zkb=99; TX=(65536-fosc/(12.0*fre);/TX为定时器0的计数次数TZ=(65536-(fosc*zkb)/(12.0*100*fre);/TZ为定时器1的计数次数time0_H=(uint)TX/256;/十进制转化为十六进制高八位time0_L=(uint)TX%256;time1_H=(uint)TZ/256;time1_L=(uint)TZ%256;P1=0x0f;EX0=1;/开外部中断1TR0=1;/开定时器0TR1=1;/开定时器16.性能分析6.1定时器中断分析本次占空比可调信号发生器的设计采用了定时器0和定时器1中断,定时器0中断用
15、于控制信号的频率,定时器1用于控制信号的占空比。当调节输出信号的占空比时,信号的频率就不变;如果调节信号的频率,占空比就不变。设fre表示输出的频率,zkb表示输出的占空比,TX为定时器0的计数次数,TZ为定时器1的计数次数。给TX装入初值为:TX=(65536-fosc/(12.0*fre)给TZ装入初值为:TZ=(65536-(fosc*zkb)/(12.0*100*fre)当定时器0计数到时,开启定时器1,定时器1开始计数,并且P1.4口输出高电平。当经过一个周期中高电平持续的时间后,定时器1计数时间就到了,程序进入到定时器1中断执行,然后关掉定时器1,并且输出低电平。因为定时器0中断是
16、一直开着的,当经过一个周期中低电平持续的时间后,定时器0计数又到了,进入定时器0中断执行,如此循环。当改变fre或者zkb的时候,就可以相应改变输出信号的占空比跟频率。6.2系统性能分析该系统实现占空比与频率可调信号发生器。占空比的调节范围是0到100%,精度是1%,当达到上限值时,再次增加时,占空比归于0,达到下限时,再次减少,占空比自动归于100%。频率的调节范围是50HZ到500HZ,精度是10HZ,当达到上限值时,再次增加时,频率自动归于50HZ,当达到下限值时,再次减少时,频率自动归于500HZ。6.3实物与结果展示四个独立按键分别与单片机的P1.0,P1.1,P1.2,P1.3相连
17、接,并且通过一个四输入的与非门,将与非门的输出当做单片机外部中断0的触发信号。当有按键按下时,就会进入外部中断程序。P1.4口输出信号连接到示波器,检测输出波形。实物图如下图6。图6 占空比可调信号发生器实物图将系统接通电源,P1.4口引线与地线分别接到示波器红黑两探头,得到调节占空比和频率的结果。如下图所示。图7 复位或初始时占空比和频率值图8 占空比调节结果(1)图9 占空比调节结果(2)图10 频率调节结果(1)图11 频率调节结果(2)图12 频率调节结果(3)经过测试,占空比可调信号发生器设计成功。7.心得体会作为一名电信专业的大三学生,我觉得做单片机课程设计是十分有意义的,而且是十
18、分必要的。因为通过此次课设可以把我们所学的专业基础课理论知识运用到实践中去,同时也为我们提供了良好的实践平台。得知这个题目之后,我的第一感觉是题目挺简单。但是当我真正的去做的时候,事情并不是我想象中的那样。刚开始没怎么弄懂原理,只是有一点头绪,后来通过看一些参考书慢慢懂得了工作原理,课设渐渐进入正题。经过一系列准备,终于开始工作,设计电路图,编写程序,然后在protues里面仿真。经过一次又一次的改写程序,终于我仿真出了预期的效果。当时感觉很有成就。 这次课程设计,我真的体会到了单片机是很重要的一门课程,老师和一些工作的朋友都曾说过,如果学好一门单片机,就凭这个技术这门手艺找一个好工作也不成问
19、题。尽管我们在课堂学到的内容很有限,但在以后的学习中单片机还需要好好的深入研究和学习,学好了单片机也就多了一项生存的本钱。最后感谢老师对我们的精心指导和帮助,感谢同学们对我的帮助。参考文献1.张元良. 单片机原理及应用教程. 清华大学出版社.2011.2.杨术明. 单片机原理及接口技术. 华中科技大学出版社.2013.3.马钟梅. 单片机的C语言应用程序设计(第5版). 北京航空航天出版社.2014.4.徐敏. 单片机原理及应用. 机械工业出版社.2012.5.马永杰. 单片机原理及应用(第2版). 清华大学出版社.2015.本科生课程设计成绩评定表姓 名包骏祥性 别男专业、班级电信1304课程设计题目:设计并实现占空比可调信号发生器课程设计答辩或质疑记录:成绩评定依据:最终评定成绩(以优、良、中、及格、不及格评定)指导教师签字: 年 月 日
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1