基于单片机方波发生器课程设计报告.doc_第1页
基于单片机方波发生器课程设计报告.doc_第2页
基于单片机方波发生器课程设计报告.doc_第3页
基于单片机方波发生器课程设计报告.doc_第4页
基于单片机方波发生器课程设计报告.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

河池科技大学河池科技大学 单单 片片 机机 课课 程程 设设 计计 题题 目目 姓姓 名名 学学 院院 专专 业业 学学 号号 指导教师指导教师 成成 绩绩 二 一二年五月二十二日制 湖南科技大学本科生课程设计 论文 i 摘 要 本课程设计设计的是一种 AT89C51 单片机构成的波形发生器 可产生方波 三角 波 正弦波 锯齿波等多种波形 波形的周期可用程序改变 并可根据需要选择单极 性输出或双极性输出 具有线路简单 结构紧凑 性能优越等特点 文章给出了源代 码 通过仿真测试 其性能指标达到了设计要求 关键词 关键词 单片机 DAC 信号发生器 湖南科技大学本科生课程设计 论文 1 目 录 第一章第一章 系统功能系统功能要求 要求 2 1 1 设计内容 2 1 2 设计原理 2 第二章第二章 方波发生器设计方案论证方波发生器设计方案论证 3 2 1 方案的设计与选择 3 第三章第三章 系统的硬件电路的设计系统的硬件电路的设计 4 3 1 系统硬件原理 4 3 2 芯片端口资源分配表 4 第四章第四章 软件设计软件设计 5 4 1 主程序 5 4 2 系统初始化子程序 5 4 3 键盘中断子程序 5 4 4 定时器中断子程序 6 第五章 第五章 系统调试系统调试 7 第六章 第六章 结果分析结果分析 9 参考文献参考文献 10 附件附件 1 11 附录附录 2 基于单片机方波发生器的器件清单基于单片机方波发生器的器件清单 16 湖南科技大学本科生课程设计 论文 2 第一章第一章 系统功能系统功能要求 要求 用单片机产生频率可调的方波信号 输出方波的频率范围为1Hz 200Hz 频率误 差比小于0 5 要求用4 个按钮改变方波给定频率 按钮每按下一次 给定频率改变 一次 用示波器观察方波波形 1 11 1 设计内容 设计内容 本课程设计是设计一个方波发生器 用 4 个按钮控制方波的频率以及占空比 1 21 2 设计原理设计原理 AT89C51单片机具有组成微型计算机的各部分部件 CPU RAM I O定时器 计数器 以及串行通讯接口等 只要将AT89C51的ROM 接口电路 再配置键盘及其接口 显示 器及其接口 数模转换及波形输出 指示灯及其接口等四部分 即可构成所需波形发 生器 其信号发生器构成原理框图如图1所示 图1 方波信号发生器设计原理框图 在信号发生器中 只用到片内中断请求 即是在AT89C51输出一个波形采样点信 号后 接着启动定时器 在定时器未产生中断之前 AT89C51等待 直到定时器计时结 束 产生中断请求 AT89C51响应中断 接着输出下一个信号波形 如此循环 当有按 键按下时 产生外部中断请求信号 CPU暂停当前工作 处理中断请求 重新装入定时 初值 开始定时 湖南科技大学本科生课程设计 论文 3 第二章第二章 方波发生器设计方案方波发生器设计方案论证论证 在电子技术领域中 实现方波发生器的方法有很多种 可以采用不同的原理及器 件构成不同的电路 但可以实现相同的功能 2 12 1 方案的设计与选择方案的设计与选择 实现方波发生器的方法很多 但主要有三个方案 采用单片函数发生器 8038 采用锁 相式频率合成器 采用单片机编程 方案优点缺点 单片函数发生器 8038简单易行 可实现数控 调整频率信号频率稳定度不高 锁相式频率合成器性能良好难以达到输出频率覆盖系数 单片机编程信号精度较高 需求软硬件结合 通过对比 决定采用单片机编程的方法来实现 该方法可以通过编程的方法来 控制信号波形的频率和幅度 而且在硬件电路不变的情况下 通过改编程序来实现 频率的变换 此外 由于通过编程方法产生的是数字信号 所以信号的精度可以做得 很高 本设计用到一个AT89C51微处理器 4个按键 一个四与门 AT89C51用到两个定时 器 定时器0和定时器1 其中定时器0工作在定时方式1下 决定方波频率 定时器1工 作在定时方式1下 用来设定占空比 按键1与2控制方波信号频率 按下按键1或2时 进行频率的调节 占空比不变 1键按下时 频率增加100Hz 若2键按下时 频率增加 10Hz 频率最大值为500Hz 当频率大于最大值时 重新赋值为50Hz 另外两个按键控 制方波信号占空比 当按键3和4按下时 进行占空比调节 频率不变 3键按下时 占 空比进行增加10 4键按下时 占空比增加1 占空比最大值为100 当占空比大于 100 时 重新赋值为0 湖南科技大学本科生课程设计 论文 4 第三章第三章 系统的硬件电路的设计系统的硬件电路的设计 3 13 1系统硬件原理系统硬件原理 系统硬件原理图如图2 本次设计中 采用内部时钟方式 AT89C51单片机的 P1 0 P1 1 P1 2 P1 3口分别连接四个按键 对输出方波的频率 占空比进行控制 P2 0口作为方波输出口 可以通过示波器来观察波形 四个键盘口连接一个四与门 与INT0口连接 将键盘中断请求信号送入CPU 图2 系统硬件原理图 3 23 2芯片端口资源分配表芯片端口资源分配表 表2 74LS21芯片端口资源分配表 芯片端口 作用说明 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 控制输出方波占空比 湖南科技大学本科生课程设计 论文 5 P2 0 输出方波波形 P3 2 接收键盘中断请求信号 第四章第四章 软件设计软件设计 方波发生器的软件设计包括主程序 延时子程序 系统初始化程序 键盘中断子 程序 定时器中断子程序 4 14 1 主程序主程序 主程序包括系统初始化 和一个死循环系统 当有中断请求信号产生时 跳出循 环 执行中断程序 流程图如图3 所示 图 3 主程序流程图 4 24 2系统初始化子程序系统初始化子程序 在此程序中 给所有变量赋初值 键盘扫描口 初始频率与占空比及定时 开中 断 定时器0与定时器1的工作方式等 初始化时启动了定时器0和定时器1 其中初始频 率为50Hz 占空比为50 键盘中断处理子程序流程图如图4所示 4 34 3键盘中断子程序键盘中断子程序 键盘用外中断 0 实现 当有键按下时 产生低电平送入 INT0 口 形成中断请求 信号 CUP 转去执行键盘中断子程序 进行频率调节或占空比调节 1 频率调节 按下按键 1 或 2 时 进行频率的调节 占空比不变 1 键按下时 频率增加 100Hz 若 2 键按下时 频率增加 10Hz 频率最大值为 500Hz 当频率大于最大值时 重新赋值为 50Hz 2 占空比调节 当按键 3 和 4 按下时 进行占空比调节 频率不变 3 键按 下时 占空比进行增加 10 4 键按下时 占空比增加 1 占空比最大值为 99 当占 空比大于 99 时 重新赋值为 1 开始 系统初始化 空循环 湖南科技大学本科生课程设计 论文 6 N Y N Y 图 4 键盘中断处理子程序流程图 4 44 4 定时器中断子程序定时器中断子程序 定时器中断子程序中有定时器 0 与定时器 1 中断 频率定时器 0 中断流程图 与占空比定时器 1 流程图分别如图 5 图 6 所示 定时器 0 中断执行的操作有 复位 启动自身进行频率定时 同时启动定时器 1 开始 关中断 延时消抖 是否有键按下 判断按键号 键处理 频率和占空比 范围是否超界 赋初值 计算定时初值 键盘口初始化 关中断 湖南科技大学本科生课程设计 论文 7 进行占空比定时 输出高电平 定时器 1 中断 停止自身的计时 输出低电平 第五章 第五章 系统调试系统调试 在本次课程设计中 使用 Proteus 软件进行仿真调试 调试内容主要为软硬件的协 同 观察波形输出结果是否能够与设计方案所设计的那样达到要求 调试结果如下 1 在 Proteus 软件中运行仿真 示波器窗口中出现方波波形 显然波形频率与占 空比分别为 50Hz 和 50 符合程序初始化的结果 图 7 Proteus 仿真 初始状态 2 分别按下按键 1 2 调节方波频率 可以看到方波波形频率不断增加 一快一慢 而占空比依然为 50 未变 图 8 Proteus 仿真 调节方波频率 3 重新在初始状态下进行仿真 分别按下按键 3 4 调节方波占空比 可以看到 方波波形的占空比发生变化 而频率未变 湖南科技大学本科生课程设计 论文 8 图 9 Proteus 仿真 调节方波占空比 湖南科技大学本科生课程设计 论文 9 第六章 第六章 结果分析结果分析 在本次设计中 方波信号发生器的频率和占空比都独立可调 输出方波信号 的占空比围为 0 100 调节精度为 1 频率范围为 50Hz 500Hz 调节精度为 10Hz 频率和占空比之间的调节彼此独立 进行频率调节时 每次可以增加 100Hz 或 10Hz 超过 500Hz 输出为 50Hz 的方波 进行占空比调节时 每次可增加 1 或 10 超出 100 时输出占空为 0 方波 总体看来 设计成果达到了设计要求 输出方波的波形稳定 调节也较为简单 湖南科技大学本科生课程设计 论文 10 参考文献参考文献 1 皮大能 南光群 刘金华 单片机课程设计指导书 北京理工大学出版社 2010 7 2 李光飞 楼然苗 胡佳文 谢象佐 单片机课程设计实例指导 北京航空航天大学出版社 2004 9 3 求是科技 单片机典型模块设计实例导航 人民邮局出版社 2004 5 4 童诗白 模拟电路技术基础 M 北京 高等教育出版社 2000 5 5 方大千 鲍俏伟 实用电子控制电路 国防工业出版社 2003 4 6 李朝青 单片机原理及接口技术 北京航空航天大学出版社 2011 6 湖南科技大学本科生课程设计 论文 11 附件附件 1 1 基于单片机方波发生器的程序清单 基于单片机方波发生器的程序清单 include define uchar unsigned char define uint unsigned int float fosc 12000000 系统时钟频率 sbit KEY1 P1 0 控制频率百位 sbit KEY2 P1 1 控制频率十位 sbit KEY3 P1 2 控制占空比十位 sbit KEY4 P1 3 控制占空比个位 sbit OUTPUT P2 0 方波输出端口 uchar zkb uint freq uchar TIMER0 L TIMER0 H TIMER1 L TIMER1 H 定 延时子程序 void delay uchar n 延时 uchar i while n for i 255 i 0 i 湖南科技大学本科生课程设计 论文 12 系统初始化 void chushihua void P1 0 x0f freq 50 zkb 50 TIMER0 L 0 xe0 TIMER0 H 0 xb1 TIMER1 L 0 xf0 TIMER1 H 0 xd8 TL0 0 xe0 初始频率 50Hz 定时 20ms TH0 0 xb1 TL1 0 xf0 初始占空比 50 定时 10ms TH1 0 xd8 TMOD 0 x11 定时器 1 和定时器 0 工作在方式 1 IT0 1 选择 INT0 为下降沿触发方式 EX0 1 外部中断 0 允许 ET0 1 定时器 1 和定时器 0 中断允许 湖南科技大学本科生课程设计 论文 13 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 输出高电平 湖南科技大学本科生课程设计 论文 14 void Timer1 zkb interrupt 3 占空比定时器 1 中断 TR1 0 定时器 1 停止 TL1 TIMER1 L TH1 TIMER1 H OUTPUT 0 输出低电平 键盘扫描子程序 void keyscan interrupt 0 using 1 外部中断 0 float TF0 TZ1 EX0 0 关中断 delay 10 延时消抖 if P1 0 x0f 判断是否有键按下 if KEY1 0 freq 100 按键为 1 号 频率加 100 if KEY2 0 freq 10 按键为 2 号 频率加 10 if freq 500 freq 50 频率大于 500Hz 重新赋值为 5 if KEY3 0 zkb 10 按键为 3 号 占空比

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论