ImageVerifierCode 换一换
格式:DOCX , 页数:17 ,大小:345.30KB ,
资源ID:26072550      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/26072550.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于单片机方波发生器课程研究设计报告.docx)为本站会员(b****9)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于单片机方波发生器课程研究设计报告.docx

1、基于单片机方波发生器课程研究设计报告单 片 机 课 程 设 计 题 目 _姓 名 _学 院 _专 业 _学 号 _ 指导教师 _成 绩 _二一二年五月二十二日制摘 要本课程设计设计的是一种AT89C51单片机构成的波形发生器,可产生方波、三角波、正弦波、锯齿波等多种波形,波形的周期可用程序改变,并可根据需要选择单极性输出或双极性输出,具有线路简单、结构紧凑、性能优越等特点。文章给出了源代码,通过仿真测试,其性能指标达到了设计要求。关键词:单片机;DAC;信号发生器目 录第一章 系统功能要求: 21.1、设计内容 21.2设计原理 2第二章 方波发生器设计方案论证 32.1 方案的设计与选择 3

2、第三章 系统的硬件电路的设计 43.1系统硬件原理 43.2芯片端口资源分配表 4第四章 软件设计 54.1 主程序 54.2系统初始化子程序 54.3键盘中断子程序 54.4 定时器中断子程序 6第五章、 系统调试 7第六章、 结果分析 9参考文献 10附件 1 11附录2 基于单片机方波发生器的器件清单 16第一章 系统功能要求: 用单片机产生频率可调的方波信号。输出方波的频率范围为1Hz-200Hz,频率误差比小于0.5%。要求用4 个按钮改变方波给定频率,按钮每按下一次,给定频率改变一次。用示波器观察方波波形。1.1、设计内容 本课程设计是设计一个方波发生器,用4个按钮控制方波的频率以

3、及占空比。1.2设计原理 AT89C51单片机具有组成微型计算机的各部分部件:CPU、RAM、I/O定时器/计数器以及串行通讯接口等。只要将AT89C51的ROM,接口电路,再配置键盘及其接口,显示器及其接口,数模转换及波形输出,指示灯及其接口等四部分,即可构成所需波形发生器。其信号发生器构成原理框图如图1所示。 图1 方波信号发生器设计原理框图 在信号发生器中,只用到片内中断请求,即是在AT89C51输出一个波形采样点信号后,接着启动定时器,在定时器未产生中断之前,AT89C51等待,直到定时器计时结束,产生中断请求,AT89C51响应中断,接着输出下一个信号波形,如此循环。当有按键按下时,

4、产生外部中断请求信号,CPU暂停当前工作,处理中断请求,重新装入定时初值,开始定时。 第二章 方波发生器设计方案论证在电子技术领域中,实现方波发生器的方法有很多种,可以采用不同的原理及器件构成不同的电路,但可以实现相同的功能。2.1 方案的设计与选择 实现方波发生器的方法很多, 但主要有三个方案: 采用单片函数发生器 8038, 采用锁相式频率合成器,采用单片机编程。方案优点缺点单片函数发生器 8038简单易行, 可实现数控,调整频率信号频率稳定度不高锁相式频率合成器性能良好难以达到输出频率覆盖系数单片机编程信号精度较高 需求软硬件结合 通过对比, 决定采用单片机编程的方法来实现。 该方法可以

5、通过编程的方法来控制信号波形的频率和幅度, 而且在硬件电路不变的情况下, 通过改编程序来实现频率的变换。此外,由于通过编程方法产生的是数字信号,所以信号的精度可以做得很高。 本设计用到一个AT89C51微处理器,4个按键,一个四与门。AT89C51用到两个定时器,定时器0和定时器1。其中定时器0工作在定时方式1下,决定方波频率;定时器1工作在定时方式1下,用来设定占空比。按键1与2控制方波信号频率。按下按键1或2时,进行频率的调节,占空比不变。1键按下时,频率增加100Hz,若2键按下时,频率增加10Hz。频率最大值为500Hz,当频率大于最大值时,重新赋值为50Hz。另外两个按键控制方波信号

6、占空比。当按键3和4按下时,进行占空比调节,频率不变。3键按下时,占空比进行增加10%,4键按下时,占空比增加1%。占空比最大值为100%,当占空比大于100%时,重新赋值为0%。 第三章 系统的硬件电路的设计3.1系统硬件原理 系统硬件原理图如图2。本次设计中,采用内部时钟方式。 AT89C51单片机的P1.0、P1.1、P1.2、P1.3口分别连接四个按键,对输出方波的频率、占空比进行控制。P2.0口作为方波输出口,可以通过示波器来观察波形。四个键盘口连接一个四与门,与INT0口连接,将键盘中断请求信号送入CPU。 图2 系统硬件原理图 3.2芯片端口资源分配表 表2 74LS21芯片端口

7、资源分配表 芯片端口 作用说明 1 连接按键1,判断按键1是否按下 2 连接按键2,判断按键2是否按下 3连接按键3,判断按键3是否按下 4连接按键4,判断按键4是否按下 5发送键盘中断请求信号 表3 AT89C51 芯片端口资源分配表 芯片端口 作用说明 P1.0 连接按键1,控制输出方波频率 P1.1 连接按键2,控制输出方波频率 P1.2 连接按键3,控制输出方波占空比 P1.3 连接按键4,控制输出方波占空比 P2.0 输出方波波形 P3.2 接收键盘中断请求信号 第四章 软件设计方波发生器的软件设计包括主程序、延时子程序、系统初始化程序、键盘中断子程序、定时器中断子程序。 4.1 主

8、程序 主程序包括系统初始化,和一个死循环系统。当有中断请求信号产生时,跳出循环, 执行中断程序。流程图如图3 所示。 图3 主程序流程图 4.2系统初始化子程序 在此程序中,给所有变量赋初值:键盘扫描口、初始频率与占空比及定时、开中断、定时器0与定时器1的工作方式等。初始化时启动了定时器0和定时器1.其中初始频率为50Hz,占空比为50%。键盘中断处理子程序流程图如图4所示 4.3键盘中断子程序 键盘用外中断0实现。当有键按下时,产生低电平送入INT0口,形成中断请求信号,CUP转去执行键盘中断子程序,进行频率调节或占空比调节。 (1)频率调节 按下按键1或2时,进行频率的调节,占空比不变。1

9、键按下时,频率增加100Hz,若2键按下时,频率增加10Hz。频率最大值为500Hz,当频率大于最大值时,重新赋值为50Hz。 (2)占空比调节 当按键3和4按下时,进行占空比调节,频率不变。3键按下时,占空比进行增加10%,4键按下时,占空比增加1%。占空比最大值为99%,当占空比大于99%时,重新赋值为1%。 N Y N Y键盘口初始化关中断 图 4 键盘中断处理子程序流程图4.4 定时器中断子程序 定时器中断子程序中有定时器 0 与定时器 1 中断, 频率定时器 0 中断流程图与占空比定时器 1 流程图分别如图 5、图 6 所示。定时器 0 中断执行的操作有:复位,启动自身进行频率定时,

10、同时启动定时器 1,进行占空比定时,输出高电平。定时器 1 中断,停止自身的计时,输出低电平。第五章、 系统调试 在本次课程设计中, 使用 Proteus 软件进行仿真调试。调试内容主要为软硬件的协同,观察波形输出结果是否能够与设计方案所设计的那样达到要求。调试结果如下: 1) 在 Proteus 软件中运行仿真,示波器窗口中出现方波波形,显然波形频率与占空比分别为 50Hz 和 50%,符合程序初始化的结果。 图 7 Proteus 仿真 初始状态2) 分别按下按键 1、 2 调节方波频率。可以看到方波波形频率不断增加,一快一慢,而占空比依然为 50%未变。 图 8 Proteus 仿真 调

11、节方波频率 3) 重新在初始状态下进行仿真。 分别按下按键 3、 4 调节方波占空比, 可以看到方波波形的占空比发生变化,而频率未变。 图 9 Proteus 仿真 调节方波占空比 第六章、 结果分析 在本次设计中, 方波信号发生器的频率和占空比都独立可调。 输出方波信号的占空比围为 0%100%,调节精度为 1%;频率范围为 50Hz500Hz,调节精度为 10Hz。频率和占空比之间的调节彼此独立。 进行频率调节时, 每次可以增加 100Hz 或 10Hz, 超过 500Hz输出为 50Hz 的方波;进行占空比调节时,每次可增加 1%或 10%, 超出 100%时输出占空为 0%方波。总体看

12、来,设计成果达到了设计要求。 输出方波的波形稳定,调节也较为简单。参考文献 1 皮大能.南光群.刘金华.单片机课程设计指导书.北京理工大学出版社,2010.7.2 李光飞.楼然苗.胡佳文.谢象佐.单片机课程设计实例指导.北京航空航天大学出版社,2004.9.3 求是科技.单片机典型模块设计实例导航.人民邮局出版社.2004.5.4 童诗白.模拟电路技术基础M.北京:高等教育出版社,2000.5.5 方大千.鲍俏伟.实用电子控制电路.国防工业出版社,2003.4. 6 李朝青.单片机原理及接口技术.北京航空航天大学出版社.2011.6 附件 1基于单片机方波发生器的程序清单:#include#d

13、efine uchar unsigned char#define uint unsigned intfloat fosc=12000000; /系统时钟频率sbit KEY1=P10; /控制频率百位;sbit KEY2=P11; /控制频率十位;sbit KEY3=P12; /控制占空比十位;sbit KEY4=P13; /控制占空比个位;sbit OUTPUT=P20; /方波输出端口;uchar zkb;uint freq;uchar TIMER0_L,TIMER0_H,TIMER1_L,TIMER1_H; /定/*延时子程序*/void delay(uchar n) /延时uchar

14、i;while(n-)for(i=255;i0;i-)/*系统初始化*/void chushihua(void)P1=0x0f;freq=50;zkb=50;TIMER0_L=0xe0;TIMER0_H=0xb1;TIMER1_L=0xf0;TIMER1_H=0xd8;TL0=0xe0; /初始频率 50Hz 定时 20msTH0=0xb1;TL1=0xf0; /初始占空比 50%定时 10msTH1=0xd8;TMOD=0x11; /定时器 1 和定时器 0 工作在方式 1IT0=1; /选择 INT0 为下降沿触发方式EX0=1; /外部中断 0 允许ET0=1; /定时器 1 和定时器

15、0 中断允许ET1=1;EA=1; /系统中断允许TR0=1; /定时器 1 和定时器 0 开始定时TR1=1;/*主函数*/void main(void)chushihua(); /系统初始化while(1) /*定时器中断子程序*/void Timer0_freq() interrupt 1 /频率定时器 0 中断TR1=1; /启动定时器 1,占空比定时TL0=TIMER0_L;TH0=TIMER0_H;OUTPUT=1; /输出高电平void Timer1_zkb() interrupt 3 /占空比定时器 1 中断TR1=0; /定时器 1 停止TL1=TIMER1_L;TH1=TI

16、MER1_H;OUTPUT=0; /输出低电平/*键盘扫描子程序*/void keyscan() interrupt 0 using 1 /外部中断 0float TF0,TZ1;EX0=0; /关中断delay(10); /延时消抖if(P1!=0x0f) /判断是否有键按下if(KEY1=0) freq+=100; /按键为 1 号,频率加 100if(KEY2=0) freq+=10; /按键为 2 号,频率加 10if(freq500) freq=50; /频率大于 500Hz,重新赋值为 5if(KEY3=0) zkb+=10; /按键为 3 号,占空比加 10if(KEY4=0)

17、zkb+; /按键为 4 号,占空比加 1if(zkb100) zkb=1; /占空比大于 100,重新赋值为TF0=(65536-fosc/(12.0*freq);/频率定时初值TZ1=(65536-(fosc*zkb)/(12.0*100*freq); /占空比定时TIMER0_H=(uint)TF0/256;TIMER0_L=(uint)TF0%256;TIMER1_H=(uint)TZ1/256;TIMER1_L=(uint)TZ1%256;P1=0x0f; /给键盘扫描口赋初值EX0=1; /开中断TR0=1; /定时器 1 和定时器 0 开始定时TR1=1; 附录2 基于单片机方波发生器的器件清单 1. 9*15万能板.1个2. 40P锁紧座.1个3. 40P晶振座子.1个4. 自锁开关.1个5. 按键.5个6. 25V10uf电解电容.5个 7. 30pf瓷片电容.5个8. 3mmLED灯.15个9. 40P单排排针.5个10. 40P单排排座.5个11. 10K9脚排阻.5个12. 方头USB-B母.2个13. 10k电阻.4个14. AT89C52.1个 15. 74LS21.1个16. 1uf电容.1个

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1