单片机函数发生器课程设计报告参考.doc_第1页
单片机函数发生器课程设计报告参考.doc_第2页
单片机函数发生器课程设计报告参考.doc_第3页
单片机函数发生器课程设计报告参考.doc_第4页
单片机函数发生器课程设计报告参考.doc_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

精品文档 。 1欢迎下载 广广东东第第二二师师范范学学院院 单单片片机机课课程程设设计计报报告告 物物理理 系系 0 09 9 级级 B BT TE EC C 专专业业 题题目目 单单片片机机函函数数发发生生器器设设计计 姓姓名名 吴吴剑剑锋锋 学学号号 096606703016 指导教师 谢丽英 精品文档 。 2欢迎下载 20112011 年年 4 4 月月 1010 日日 目目 录录 单片机函数发生器设计单片机函数发生器设计 .1 1 1 1 引言引言 .1 1 2 2 设计任务和要求设计任务和要求 .1 1 2.12.1 方案设计与论证方案设计与论证.2 2 2.22.2 单元电路设计与参数计算单元电路设计与参数计算.2 2 3 3 总原理图及及主要模块的流程图总原理图及及主要模块的流程图.5 5 3.13.1 总原理图及元器件清单总原理图及元器件清单 .7 7 3.23.2 主要流程图主要流程图.8 8 4 4 性能测试与分析性能测试与分析 .9 9 5 5 结论与心得结论与心得 .1212 参考文献参考文献 .1212 附录附录 .1313 致谢致谢 .1414 精品文档 。 3欢迎下载 单片机函数发生器设计单片机函数发生器设计 摘要摘要:本设计中主要是运用单片机与 DAC0832 的组合从而产生信号。本次运用了汇编语言来完成设 计,所以具有一定的局限性。 关键字关键字:AT89C51;DAC0832;独立式键盘 1 1 引言引言 函数发生器是一种多波形的信号源。它可以产生正弦波、方波、三角波、锯齿波,甚至任意波 形。它的用途很广泛。可以用于生产测试、仪器维修和实验室,还广泛使用在其它科技领域,如医 学、教育、化学、通讯、地球物理学、工业控制、军事和宇航等。 2 2 设计任务和要求设计任务和要求 设计任务: 以单片机为基础,设计并开发能输出多种波形(正弦波、三角波、锯齿波、梯形波等),且 频率、幅度可变的函数发生器。 设计要求: 1设计借口电路,将这些外设构成一个简单的单片机应用系统,画出接口的连接图和仿真 图。 2编写下列控制程序,程序要求有注释: (1)能输出正弦波、三角波、锯齿波、梯形波 (2)能根据键盘命令进行波形切换 2.12.1 方案设计与论证方案设计与论证 本方案是基于 AT89C51 与 DAC0832 的单缓冲方式接口电路来设计。单缓冲式接口电路具有过程 简单,容易实现。由于本设计运用汇编的编程语言,导致用独立式键盘来实现简单控制。本方案所 产生的信号频率稳定性高,精确度高。而且在硬件方面它所选的元器件比较常见。所以总的来说本 方案的性价比高。 2.22.2 单元电路设计与参数计算单元电路设计与参数计算 (1 1)主控电路)主控电路 AT89C51 是一种带 4K 字节闪存可编程可擦除只读存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能 CMOS 8 位微处理器,俗称单片机。 AT89C2051 是一种带 2K 字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存 储器可以反复擦除 1000 次。该器件采用 ATMEL 高密度非易失存储器制造技术制造,与工业标 准的 MCS-51 指令集和输出管脚相兼容。由于将多功能 8 位 CPU 和闪烁存储器组合在单个芯片 中,ATMEL 的 AT89C51 是一种高效微控制器,AT89C2051 是它的一种精简版本。AT89C 单片机 为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。1 AT89C51 单处机内部设置两个 16 位可编程的定时器/计数器 T0 和 T1,它们具有计数器方 式和定时器方式两种工作方式及 4 种工作模式。在波形发生器中,将其作定时器使用,用它 来精确地确定波形的两个采样点输出之间的延迟时间。模式 1 采用的是 16 位计数器,当 T0 或 T1 被允许计数后,从初值开始加计数,最高位产生溢出时向 CPU 请求中断。 精品文档 。 4欢迎下载 中断系统是使处理器具有对外界异步事件的处理能力而设置的。当中央处理器 CPU 正在处 理某件事的时候外界发生了紧急事件,要求 CPU 暂停当前的工作,转而去处理这个紧急事件。 在波形发生器中,只用到片内定时器计数器溢出时产生的中断请求,即是在 AT89C51 输出 一个波形采样点信号后,接着启动定时器,在定时器未产生中断之前,AT89C51 等待,直到定 时器计时结束,产生中断请求,AT89C51 响应中断,接着输出下一个采样点信号,如此循环产 生所需要的信号波形。如图所示 2.1,AT89C51 所在电路中的工作情况。 图 2.1 AT89C51 工作情况 P1 口接独立式按键电路,P2 口部分接译码器,P0 口接锁存器。 (2 2)独立式键盘电路)独立式键盘电路 独立式键盘中,各按键相互独立,每个按键各接一根输入线,每根输入线上的按键工作状 态不会影响其它输入线上的工作状态。因此,通过检测输入线的电平状态就可以很容易的判断 按键是否被按下了。独立式键盘电路配置灵活,软件结构简单。但每个按键需占用一根输入线, 在按键数量较多时,输入口浪费大,电路结构显得很繁杂,故此种键盘适用于按键较少或操作 速度较高的场合。如图 2.2 所示,独立式按键电路。2 精品文档 。 5欢迎下载 图 2.2 独立式按键电路 按键与 AT89C51 的 P1 口连接。 KEY1 是监测是否输出锯齿波按键;KEY2 是监测是否输出三 角波按键;KEY3 监测是否输出梯形波按键;KEY4 监测是否输出正弦波按键;KEY5 是调频按键。 (3 3)数)数/ /模转换电路模转换电路 DAC0832 是 8 分辨率的 D/A 转换集成芯片。与微处理器完全兼容。这个 DA 芯片以其价格低 廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。D/A 转换器由 8 位输入锁存器、8 位 DAC 寄存器、8 位 D/A 转换电路及转换控制电路构成。 由于 AT89C51 所产生的是数字信号,所以通过 DAC0832 把数字信号转换成模拟信号。 DAC0832 输出的模拟量是电流,为了转换成电压,所以在它后面接入一个运放器。如图 2.3,DAC0832 工作电路。 图 2.3,DAC0832 工作电路 (4 4)驱动电路)驱动电路 74HC138 作用原理于高性能的存贮译码或要求传输延迟时间短的数据传输系统,在 高性能存 贮器系统中,用这种译码器可以提高译码系统的效率。 精品文档 。 6欢迎下载 74HC573 数据锁存器。主要用于数码管、按键等等的控制。如图 2.4 所示,74HC138 加 74HC573 的工作电路。3 如图 2.4 所示,74HC138 加 74HC573 的工作电路 3总原理图及及主要模块的流程图总原理图及及主要模块的流程图 精品文档 。 7欢迎下载 总电路图如 3.0 所示: 图 3.0 总电路图 各功能模块的功能及作用如表 1 所示: 表 1 各功能模块的功能及作用 模块名称图示功能及作用 主控制模块 产生数字信号 精品文档 。 8欢迎下载 键盘模块命令产生何种 信号 数/模转换模块数字信号转换 为模拟信号 3.1 总原理图及元器件清单总原理图及元器件清单 总原理方框图如图 3.1 所示 图 3.1 总原理方框图 元器件清单如表 2 所示 单 片 机 键盘 电路 驱动 电路 数/模转 换电路 放大 电路 波形 输出 精品文档 。 9欢迎下载 表 2 元器件清单 元器件名称个数 AT89C51 芯片 X1 74HC573 芯片 X1 74HC138 芯片 X1 BUTTONX5 OP1PX2 VCCX2 GROUNDX3 DC0832X1 RESX7 3.23.2 主要流程图主要流程图 主程序的流程图如图 3.2 所示,开始时判断是否调频,然后判断是否调用锯齿波程序,然后判 断是否调用三角波程序,然后判断是否调用梯形波程序,然后判断是否调用正弦波程序,最后在循 环回到判断是否调频。 精品文档 。 10欢迎下载 开始 否否 是是 调频 P1.5 是否为 1 P1.0 是否为 1 否否 是是 调用锯齿波程序 P1.1 是否为 1 调用三角波程序 否否 是是 P1.2 是否为 1 否否 是是 P1.2 是否为 1 否否 是是 调用梯形波程序 调用正弦波程序 图 3.2 主流程图 4 4 性能测试与分析性能测试与分析 (1)调用锯齿波程序如图 4.1, 精品文档 。 11欢迎下载 图 4.1 锯齿波 (2)调频后的锯齿波如图 4.2 所示 图 4.2 调频后的锯齿波 (3)调用三角波程序如图 4.3 所示 精品文档 。 12欢迎下载 图 4.3 三角波 (4)调用梯形波程序如图 4.4 所示 图 4.4 梯形波 (5)调用正弦波程序如图 4.5 所示 精品文档 。 13欢迎下载 图 4.5 正弦波 通过调试分析,这个程序锯齿波,三角波,梯形波,正弦波,都可以用键盘自由切换。这个程 序频率调试成功,但幅度与理想中的还是有一定的差距。 5 5 结论与心得结论与心得 回顾起此次单片机课程设计,我仍感慨颇多,的确,从选题到定稿,从理论到实践,在好几个 星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前 所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论 与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来, 从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设 计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题, 同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢 固,比如说不懂一些元器件的使用方法,对单片机汇编语言掌握得不好通过这次课程设计之后, 一定把以前所学过的知识重新温故。 参考文献参考文献 1 梁炳东.单片机原理与应用.北京:人民邮电出版社,2009 2 周杰,张樱枝.单片机 C 语言及汇编语言实用程序设计.北京: 电子工业出版社,2009 3 李学礼. 基于 Proteus 的 8051 单片机实例教程.北京:电子工业出版社,2008 精品文档 。 14欢迎下载 附录附录 源代码及注析 ORG 0000H;程序开始 MOV SP,#60H;设置堆栈 MOV DPTR,#7FFH ;0832 的地址 LOP: MOV P1,#0FFH MOV A,P1 JNB P1.5,FM ;是否需要调频 MOV R6,#01H ;设置步长 MOV R5,#01H START:JNB P1.0,ST ;输出锯齿波程序 JNB P1.1,TRIANGLE ;输出三角波程序 JNB P1.2,TXING ;输出梯形波程序 JNB P1.3,SINE ;输出正弦波程序 SJMP LOP ;循环检测 ;- ST : MOV A,#00H ;设置初值 LOOP:MOVX DPTR,A; 把数据送到端口转换 ADD A,R6;通过步长改变数据,上升波形 CJNE A,#00H,LOOP; A 值是否到最高点 DJNZ R5,LOOP SJMP LOP ;- TRIANGLE:MOV A,#00H;设置初值 LOOP3:MOVX DPTR,A;把数据送到端口转换 ADD A,R6 ;通过步长改变数据上升波形 CJNE A,#00H,LOOP3 ; A 值是否到最高点 DEC A ;减少步长改变数据下降波形 LOOP2:MOVX DPTR,A ;把数据送到端口转换 DEC A ;减少步长改变数据下降波形 CJNE A,#00H,LOOP2 ;A 值是否到最低点 DJNZ R5,LOOP3 ;波形周期 SJMP LOP ;返回检测开关 ;- TXING:MOV A,#00H ;设置初值 LOOP4:MOVX DPTR,A ;把数据送到端口转换 ADD A,R6 ;增加步长改变数据上升波形 CJNE A,#00H,LOOP4 ;A 值是否到最高点 ;SUBB A,R6;下降波形做准备 DEC A MOV R7,0EEH ;循环次数 LOP2:MOVX DPTR,A ;进行延时 DJNZ R7,LOP2 LOOP1:MOVX DPTR,A ;把数据送到端口转换 ;SUBB A,R6 DEC A CJNE A,#00H,LOOP1 ;是否到最低点 MOV R7,0EEH ;循环次数 LOP1:MOVX DPTR,A ;把数据送到端口转换 精品文档 。 15欢迎下载 DJNZ R7,LOP1 ;进行延时 SJMP LOP ;返回检测开关 ;- SINE: MOV A,#00H ;设置初值 LOOP7: MOV R7,A ;保存当前的数据 MOV DPTR,#SIN;读取表的地址 MOVC A,A+DPTR;读取表中的数据 MOV DPTR,#7FFH ;D/A0832 的端口地址 MOVX DPTR,A;进行数据转换 MOV A,R7 ;恢复当前数据 INC A ;为读取表的下一个值做准备 CJNE A,#00H,LOOP7 ;是否读完表的数据 SJMP START ;返回检测开关 FM: MOV R6,#04H ;改变调频/调幅 MOV R5,#02H SJMP START ;返回检测开关 ;-以下是通过正弦的值所建立的一个表 SIN: DB 80H,83H,86H,89H,8DH,90H,93H,96H DB 99H,9CH,9FH,0A2H,0A5H,0A8H,0ABH,0AEH DB 0B1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5H DB 0C7H,0CAH,0CCH,0CFH,0D1H, 0D4H,0D6H,0D8H DB 0DAH,0DDH,0DFH,0E1H,0E3H, 0E5H,0E7H,0E9H DB 0EAH,0ECH,0EEH,0EFH,0F1H, 0F2H,0F4H,0F5H DB 0F6H,0F7H,0F8H,0F9H,0FAH, 0FBH,0FCH,0FDH DB 0FDH,0FEH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH DB 0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FEH,0FDH DB 0FDH,0FCH,0FBH,0FAH,0F9H, 0F8H,0F7H,0F6H DB 0F5H,0F4H,0F2H,0F1H,0EFH, 0EEH,0ECH,0EAH DB 0E9H,0E7H,0E5H,0E3H,0E1H, 0DEH,0DDH,0DAH DB 0D8H,0D6H,0D4H,0D1H,0CFH, 0CCH,0CAH,0C7H DB 0C5H,0C2H,0BFH,0BCH,0BAH, 0B7H,0B4H,0B1H DB 0AEH,0ABH,0A8H,0A5H,0A2H, 9FH, 9CH, 99H DB 96H, 93H, 90H, 8DH, 89H, 86H, 83H, 80H DB 80H, 7CH, 79H, 78H, 72H, 6FH, 6CH, 69H DB 66H, 63H, 60H, 5DH, 5AH, 57H, 55H, 51H

温馨提示

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

评论

0/150

提交评论