- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机课程设计信号发生器详解
单片机课程设计
实验报告
电子信息工程学院
指导教师:***
08年6月30日
单片机课程设计实验报告
一.系统总体介绍
1)题目意义:
这次课程设计的题目我选择的是信号发生器,我之所以选择这个题目的原因有三个
①它是一个DA转换的实验,在前不久的北京市电子大赛中,我们做的是AD的转换,所以想将模数/数模都熟悉一遍,为今后可能遇到的接口实验打下坚实的基础;
②另外一个原因是用到的芯片是MAX518,该芯片是串行数模转换,运用I2C总线,通过这个实验可以更好的运用串行通信,同时能够学习I2C总线的协议,掌握了一门新的总线,我觉得比其他实验收获更大;
③MAX518的时序比较复杂,通过练习针对时序的编程可以更好的提高自己读PDF资料的能力和编程的能力。
2)本人所做的工作
这个实验从始至终都是自己完成的。
①程序的编写,程序的编写是我结合MAX518的时序图编写出来的,编程的重点在于对与MAX518的编程,在编程的过程中对于应答信号的理解和处理是整个程序的核心,在单步调试中能够很明显的观测到SDA和SCL信号线上电平的变化;
②四种波形的表格数据的建立。表格的建立是通过MATLAB函数产生的。其函数分别为:正弦波 y=round(127*sin(0:2*pi/256:2*pi))+127
锯齿波 y=round(0:1:255)
三角波 y=round(0:2:255)
Y=round(255:2:0)
方波直接是0和255
由于MATLAB产生的数据之间含有回车和空格,不符合汇编语言的语法规则,所以要用WORD对所得的数据进行处理,利用WORD的查找替换同能讲回车和空格替换为英文的逗号,其中回车的表示方法为 ^p
③学习KEIL和SSTFlashFlex51.exe的使用
④元器件的购买和焊接
⑤实验报告的完成
3)系统的主要功能
该系统能够产生正弦波,锯齿波,三角波和方波四种波形,同时能够产生16HZ,12HZ,10HZ,8HZ四种频率,也就是可以产生4*4=16种信号,通过8个按键开关来选择,同时有八个发光二极管来指示产生信号的频率和波形,形象直观。
经过改进后增加了双路输出的功能,按下双波形选择键,可以同时发出两路波形,波形的种类由按下的两个波形选择开关决定。定义位于左边的按键优先级高,右边的优先级低,优先级高的波形将由通道0输出,优先级低的将由通道1输出。单路输出时功能同前所述。
二.硬件电路设计及描述
本电路由SST89E58单片机,开关(10个),放光二极管(8个),11.0592M晶振,电容电阻组成。
为保证单片机能正常工作,首先将电源和地接好,将EA/VPP接到+5V;
P1.4~P1.7,P3.0~P3.3口作为开光控制端口,用10K电阻上拉到+5V,通过开关控制是否接地;
P1.1和P1.2作为SCL和SDA线,与MAX518通信;
MAX518的AD0和AD1接地,地址为00,模拟信号由OUT0输出,由于MAX518的参考电压由电源电压提供,不用外接参考电压;
三.软件设计流程及描述;
首先是检测频率按键和波形按键,如果没有键按下就循环等待,选择好波形和频率后就进入主程序循环发送数据。先发送MAX 518地址58H,然后发送控制信号00H,再发送数据,重复上述过程256次发送完一个周期的波形,再发送下一个周期,循环往复
四.程序代码及源注释
SDA EQU P1.2
SCL EQU P1.1
ORG 0000H
AJMP FQ0 ;跳转到频率查询程序
ORG 0100H
FQ0: JB P1.7,FQ1 ;查询1.7口是否为低电平,高电平的话继续查询1.6口
MOV R5,#02H ;延迟2us
SETB P0.0 ;灭0.0口指示灯
SETB P0.1 ;灭0.1口指示灯
SETB P0.2 ;灭0.2口指示灯
CLR P0.3 ;亮0.3口指示灯
AJMP SS ;跳转到波形查询程序
FQ1: JB P1.6,FQ2 ;查询1.6口是否为低电平,高电平的话继续查询1.5口
MOV R5,#22H ;延迟34us
SETB P0.0
SETB P0.1
文档评论(0)