基于C8051F410的任意波形发生器毕业设计.docx
- 文档编号:6873098
- 上传时间:2023-01-11
- 格式:DOCX
- 页数:32
- 大小:814.99KB
基于C8051F410的任意波形发生器毕业设计.docx
《基于C8051F410的任意波形发生器毕业设计.docx》由会员分享,可在线阅读,更多相关《基于C8051F410的任意波形发生器毕业设计.docx(32页珍藏版)》请在冰豆网上搜索。
基于C8051F410的任意波形发生器毕业设计
毕业设计(论文)原创性声明和使用授权说明
原创性声明
本人郑重承诺:
所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。
尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。
对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。
作者签名:
日 期:
指导教师签名:
日 期:
使用授权说明
本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:
按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。
作者签名:
日 期:
学位论文原创性声明
本人郑重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
作者签名:
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
作者签名:
日期:
年月日
导师签名:
日期:
年月日
注意事项
1.设计(论文)的内容包括:
1)封面(按教务处制定的标准封面格式制作)
2)原创性声明
3)中文摘要(300字左右)、关键词
4)外文摘要、关键词
5)目次页(附件不统一编入)
6)论文主体部分:
引言(或绪论)、正文、结论
7)参考文献
8)致谢
9)附录(对论文支持必要时)
2.论文字数要求:
理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
3.附件包括:
任务书、开题报告、外文译文、译文原文(复印件)。
4.文字、图表要求:
1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写
2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。
图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画
3)毕业论文须用A4单面打印,论文50页以上的双面打印
4)图表应绘制于无格子的页面上
5)软件工程类课题应有程序清单,并提供电子文档
5.装订顺序
1)设计(论文)
2)附件:
按照任务书、开题报告、外文译文、译文原文(复印件)次序装订
指导教师评阅书
指导教师评价:
一、撰写(设计)过程
1、学生在论文(设计)过程中的治学态度、工作精神
□优□良□中□及格□不及格
2、学生掌握专业知识、技能的扎实程度
□优□良□中□及格□不及格
3、学生综合运用所学知识和专业技能分析和解决问题的能力
□优□良□中□及格□不及格
4、研究方法的科学性;技术线路的可行性;设计方案的合理性
□优□良□中□及格□不及格
5、完成毕业论文(设计)期间的出勤情况
□优□良□中□及格□不及格
二、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
三、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
建议成绩:
□优□良□中□及格□不及格
(在所选等级前的□内画“√”)
指导教师:
(签名)单位:
(盖章)
年月日
评阅教师评阅书
评阅教师评价:
一、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
二、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
建议成绩:
□优□良□中□及格□不及格
(在所选等级前的□内画“√”)
评阅教师:
(签名)单位:
(盖章)
年月日
教研室(或答辩小组)及教学系意见
教研室(或答辩小组)评价:
一、答辩过程
1、毕业论文(设计)的基本要点和见解的叙述情况
□优□良□中□及格□不及格
2、对答辩问题的反应、理解、表达情况
□优□良□中□及格□不及格
3、学生答辩过程中的精神状态
□优□良□中□及格□不及格
二、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
□优□良□中□及格□不及格
2、是否完成指定的论文(设计)任务(包括装订及附件)?
□优□良□中□及格□不及格
三、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
□优□良□中□及格□不及格
2、论文的观念是否有新意?
设计是否有创意?
□优□良□中□及格□不及格
3、论文(设计说明书)所体现的整体水平
□优□良□中□及格□不及格
评定成绩:
□优□良□中□及格□不及格
教研室主任(或答辩小组组长):
(签名)
年月日
教学系意见:
系主任:
(签名)
年月日
基于C8051F410的任意波形发生器
一.硬件电路
1.C8051F410单片机开发板一块
从上两图可以清楚的看到单片机置于板底层,而且是由品诺电子出品的。
2.波形调理电路
下图是波形调理电路,采用了两级同相比例放大电路,第一级在P0.0/IDAC0输入端对地接一330Ω电阻,目的是将电流信号转换成电压信号在对其进行放大,中间一级是电压跟随器,其目的是将两级放大电路相互隔离开,最后一级是压倍可变同相比例放大电路,其放大倍数在1~10之间可变,从而可实现模拟幅度调制。
问题:
为什么I/V转换电阻选330Ω而不直接选1KΩ呢?
解答:
在毕设起初调试阶段也采用过1KΩ电阻,其目的是直接想将2mA电压直接转换成2V电压,但调试许久仞未见到波形产生,最后才发现更换小电阻后就有波形了,于是才知道单片机的驱动能力有限,I/V转换电阻不宜过大,否则就实现不了想达到的效果。
几级电路间当时还采用了双插针隔离,图中P1,P3,P4均是双插针,这样设计的目的是为了调试方便,易查出问题所在。
当然也可以放上单插针建立测试点测试即可,使用双插针在对各级测试好后可采用短路帽短接级联,从而实现整体电路功能。
下面做个简单估算:
想必大家也都熟知同相比例放大电路放大倍数:
那么第一级放大倍数就为3倍,输入电压VP-P为:
330Ω*2mA=660mV,即输入的电压信号峰值为330mV,经过第一级放大转换出的信号幅值约为990mV(约1V)。
第二级放大倍数在1~10之间,也就是说输出电压幅值可在1V~10V之间变化。
当然LM741运放采用的是±12V供的电,理论上输出波形幅值也可以达到12V,但是受开环增益影响,幅度在达到10V左右及以上的时候波形会有明显失真(当时我看到了正弦波有削顶失真)。
3.LCD12864显示电路
上图为显示电路,12864接法其实很简单,除了VSS,VDD,VO,BLA,BLK接电源外,还有两个空脚(Pin16和Pin18),8位并行数据口DB0~DB7(Pin7~Pin15),其他5位则是逻辑控制口,可通过单片机控制命令对其编程。
本次设计采用了串行数据传输模式,即用到了RS(CS),R/W(SID),E(SCLK),PSB,/RST,其中CS为串行传输片选端,SID为串行数据传输口,SCLK为串行数据传输时钟(通过置0写1完成),PSB为串行并行方式选择端(其中PSB=0为串行工作方式,PSB=1为并行工作方式)。
在设计的时候预留了并行数据口,其目的是为了拓展使用。
注意:
LCM12864M-3.3Ver20在焊接时需要将背面电阻R7上有一个三段焊盘全部断路,出厂时该显示屏这个三段焊盘靠外侧的两个焊盘是短接在一起的,所以一定要拿吸锡纸将焊锡拿掉。
二.软件程序
程序调试环境:
SiliconLaboratoriesIDE
程序:
//-----------------------------------------------------------------------------
//Includes
//-----------------------------------------------------------------------------
#include
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
//16-bitSFRDefinitionsfor'F41x
//-----------------------------------------------------------------------------
sfr16TMR3RL=0x92;//Timer3reloadvalue
sfr16TMR3=0x94;//Timer3counter
sfr16IDA0=0x96;//IDA0highandlowbytes
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
//GlobalConstants
//-----------------------------------------------------------------------------
#defineSYSCLK24500000//InternaloscillatorfrequencyinHz
#defineSAMPLE_RATE_DAC100000L//DACsamplingrateinHz
#definePHASE_PRECISION65536//rangeofphaseaccumulator
//
//theset_DACsroutine.
//EDITbylineter
unsignedcharm;
unsignedcharn;
sbitChange_waveform=P1^7;
sbitChange_frequency=P1^6;
staticunsignedintFREQUENCY=1000;//FrequencyoutputinHz
staticunsignedintFREQUENCY1=1;
staticunsignedintFREQUENCY2=1;//FrequencyoutputinKHz
unsignedintDATA;
//staticunsignedintPHASE_ADD=FREQUENCY*PHASE_PRECISION/SAMPLE_RATE_DAC;
//EDITOVER
unsignedintcodeSINE_TABLE[128]=
{
0x0000,0x0324,0x0647,0x096a,0x0c8b,0x0fab,0x12c8,0x15e2,
0x18f8,0x1c0b,0x1f19,0x2223,0x2528,0x2826,0x2b1f,0x2e11,
0x30fb,0x33de,0x36ba,0x398c,0x3c56,0x3f17,0x41ce,0x447a,
0x471c,0x49b4,0x4c3f,0x4ebf,0x5133,0x539b,0x55f5,0x5842,
0x5a82,0x5cb4,0x5ed7,0x60ec,0x62f2,0x64e8,0x66cf,0x68a6,
0x6a6d,0x6c24,0x6dca,0x6f5f,0x70e2,0x7255,0x73b5,0x7504,
0x7641,0x776c,0x7884,0x798a,0x7a7d,0x7b5d,0x7c29,0x7ce3,
0x7d8a,0x7e1d,0x7e9d,0x7f09,0x7f62,0x7fa7,0x7fd8,0x7ff6,
};
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
//FunctionPrototypes
//-----------------------------------------------------------------------------
voiddelay_num_10us(unsignedint);
voidmain(void);
voidOSCILLATOR_Init(void);
voidPORT_Init(void);
voidDAC0_Init(void);
voidTIMER3_Init(intcounts);
voidFrequency_conversion(void);
voidSet_DACs(void);
//-----------------------------------------------------------------------------
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
/////////////////////////LCD12864显示/////////////////////////
//////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////
//-----------------------------------------------------------------------------
//LCD12864DisplayGlobalConstants
//-----------------------------------------------------------------------------
sbitLCD12864_SCLK=P2^2;//E
sbitLCD12864_SID=P2^1;//RW
sbitLCD12864_RST=P2^4;
//lowactive可以不用,也就是说,只用两条线和LCD通信
sbitLCD12864_PSB=P2^3;
sbitLCD12864_CS=P2^0;
unsignedcharcodes1[]={"波形发生器"};
unsignedcharcodes2[]={"波形:
"};
unsignedcharcodes21[]={"Sine"};
unsignedcharcodes22[]={"Square"};
unsignedcharcodes23[]={"Triangular"};
unsignedcharcodes3[]={"频率:
"};
unsignedcharcodes31[]={"500Hz"};
unsignedcharcodes32[]={"1kHz"};
unsignedcharcodes33[]={"2kHz"};
unsignedcharcodes34[]={"2.5kHz"};
unsignedcharcodes4[]={"幅度:
请调滑变!
"};
unsignedcharcodese[]={"警告:
错误"};
unsignedcharcodeAC_TABLE[]={
0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,//第一行汉字位置
0x90,0x91,0x92,0x93,0x94,0x95,0x96,0x97,//第二行汉字位置
0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,//第三行汉字位置
0x98,0x99,0x9a,0x9b,0x9c,0x9d,0x9e,0x9f,//第四行汉字位置
};
//-----------------------------------------------------------------------------
/*****************************************************************
*名称:
LCD12864_Delay()
*功能:
延时
*输入:
z
*输出:
无
*****************************************************************/
voidLCD12864_Delay(unsignedintz)
{
unsignedinta,b;
for(a=0;a for(b=0;b<120;b++); } /***************************************************************** *名称: LCD12864_sendbyte *功能: 按照液晶的串口通信协议,发送数据 *输入: zdata *输出: 无 *****************************************************************/ voidLCD12864_SendByte(unsignedcharzdata) { unsignedchari; for(i=0;i<8;i++) { if((zdata< { LCD12864_SID=1; } else { LCD12864_SID=0; } LCD12864_SCLK=0; LCD12864_SCLK=1; } } /***************************************************************** *名称: LCD12864_write_com() *功能: 写串口指令,分三字节写完 *输入: com *输出: 无 *****************************************************************/ voidLCD12864_WriteCom(unsignedcharcom) { LCD12864_CS=1;//打开片选,高电平有效 LCD12864_SendByte(0xf8);//第一字节 LCD12864_SendByte(com&0xf0);//第二字节 LCD12864_SendByte((com<<4)&0xf0);//第三字节 } /***************************************************************** *名称: LCD12864_write_date() *功能: 写串口指令 *输入: date *输出: 无 *****************************************************************/ voidLCD12864_WriteDate(unsignedchardate) { LCD12864_CS=1;//打开片选 LCD12864_SendByte(0xfa);//第一字节 LCD12864_SendByte(date&0xf0);//第二字节 LCD12864_SendByte((date<<4)&0xf0);//第三字节 } /**********
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 C8051F410 任意 波形 发生器 毕业设计