已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浙江传媒学院课程设计(实训)报告 学 院 电子信息学院 专 业 电子信息工程 班 级 学 号 8888888 姓 名 88 课 题 88888888888 指导教师 88 报告成绩 _ _日 期:2013年 12 月 5 日目 录1、设计目的 12、设计任务与要求 13、设计原理分析 14、设计内容 14.1 资源分配 14.2 硬件原理图 24.3软件流程图 35、 调试运行 36、 设计结果 47、设计心得体会及建议 4附录1 程序清单 4附录2 参考文献 121、 设计目的1) 巩固、加深和扩大单片机应用的知识面,提高综合及灵活运用所学知识解决实际课题设计的能力。2) 培养针对课题需要,选择和查阅有关手册、图表及文献资料的能力,提高组成系统、编程、调试的动脑动手能力。3) 通过对课题设计方案的分析、选择、比较,熟悉运用单片机系统开发、软硬件设计的方法内容及步骤。4) 掌握DAC0832,LM324的接口电路,及使用方法。5) 熟悉掌握函数信号发生器的工作原理。2、 设计任务与要求任务:设计一个具有调频、显示和计算频率、显示四种波形四种功能的简易函数信号发生器系统要求:利用单片机延时控制函数信号的频率,通过粗略计算用LCD0832显示频率值。3、 设计原理分析利用单片机的P2、P3口的几个端口与数字开关相连接,来模拟按键,通过改变数字开关状态来改变端口的状态,从而达到波形以及波形显示的控制要求。sbit key7=P27;/左移45sbit key6=P26;/右移45sbit key5=P22;/减少取样点数sbit key4=P21;/增加取样点数sbit key3=P20;/控制显示sbit key2=P34;/加频率sbit key1=P33;/减频率sbit key0=P32;/选择波形4、 设计内容12344.1 资源分配本设计中用到以下资源:四个P口,数字开关、LCD1602、DAC0832,LM324。1) 晶振采用11.0592MHZ。2) sbit key7=P27;/左移45sbit key6=P26;/右移45sbit key5=P22;/减少取样点数sbit key4=P21;/增加取样点数sbit key3=P20;/控制显示sbit key2=P34;/加频率sbit key1=P33;/减频率sbit key0=P32;/选择波形sbit rs=P35;/ RS为寄存器选择sbit rw=P36;/ RW为读写信号线sbit lcden=P37;/ E(或EN)端为使能(enable)端3) P0口与DAC0832的D0-D7数据输入端相连。P24用来控制DAC0832的输入寄存器选择信号CS。P25用来控制DAC0832的8位DAC寄存器读写信号WR。P1口用来控制LCD1602的数据写入。12344.14.2 硬件原理图12344.14.24.3 软件流程图结束开始显示LCD初始KEY3=0LCD显示频率和波形名显示波形KEY5频率粗调KEY1频率微调KEY2频率微调KEY4频率粗调否是5、 调试运行本函数信号发生器通过单片机程序代码运行时间计算出波形频率,误差还是很大。 正弦波 三角波 锯齿波 方波6、 设计结果经过调试,能够顺利运行,符合设计要求,通过改变数字开关key3可以控制LCD显示和波形显示,key0选择波形,key1、key2、key4、key5、key6、key7控制频率和相位的变化。7、 设计心得体会及建议本次的设计中利用AT89C51和DAC0832以及放大器完成电路的设计,用开关来控制各种波形的发生及转换,用单片机输出后,经过模数转换器生成波形,最终可以通过示波器观察。在这次的软件设计中,程序设计采用的是C语言。C语言简洁高效,是最贴近硬件的高级编程语言,经过多年的发展,现在已成熟为专业水平的高级语言。函数信号发生器程序在编写的时候,因此还是有很多问题的,尤其是波形和LCD1602同时显示不能兼顾,只能通过key3键来选择,以及波形频率的计算总是误差很大。 通过这次课程设计,我进一步了解了波形发生器的原理,在实际动手操作过程中,使我接触了许多我以前没接触过的元件,使我学得了许多知识,使我获益匪浅。这次课程设计,使我的动手能力得到了很大的提高,更使我们懂得理论知识的重要性,没有理论的指导一切实际行动都是盲目的,且实际操作是我们得到的理论知识得到验证,更能增加对理论知识的理解。附录1 程序清单#include#define uchar unsigned char#define uint unsigned int#define M 0.9/11.0592MHzsbit key7=P27;/左移sbit key6=P26;/右移45sbit key5=P22;/减少取样点数sbit key4=P21;/增加取样点数sbit key3=P20;/控制显示sbit key2=P34;/加频率sbit key1=P33;/减频率sbit key0=P32;/选择波形/*sbit led0=P20;sbit led1=P21;sbit led2=P22;sbit led3=P23;*/sbit CS1= P24; / 控制DAC0832的8位输入寄存器,仅当都为0时,可以输出数据(处于直通状态),否则,输出将被锁存sbit WR1= P25; / 控制DAC0832的8位DAC寄存器,仅当都为0时,可以输出数据(处于直通状态),否则,输出将被锁存char flag; /波型输出标置变量uchar i,j;uchar num ;uchar d;uchar xy;uchar code lcd_hang1=Sine Wave Triangle Wave sawtooth Wave Square Wave Select Wave: press No.1 key! ;uchar idata lcd_hang216=f= Hz ;void delay(int z) /延时z毫秒int x,y;for(x=z;x0;x-)for(y=124;y0;y-); void delay1us(int z) /延时20*z us ?int y;for(y=z;y0;y-); uchar sin(uchar x)/正弦波unsigned code sine_tab256=/输出电压从0到最大值(正弦波1/4部分)0x80,0x83,0x86,0x89,0x8d,0x90,0x93,0x96,0x99,0x9c,0x9f,0xa2,0xa5,0xa8,0xab,0xae,0xb1,0xb4,0xb7,0xba,0xbc,0xbf,0xc2,0xc5,0xc7,0xca,0xcc,0xcf,0xd1,0xd4,0xd6,0xd8,0xda,0xdd,0xdf,0xe1,0xe3,0xe5,0xe7,0xe9,0xea,0xec,0xee,0xef,0xf1,0xf2,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfd,0xfd,0xfe,0xff,0xff,0xff,0xff,0xff,0xff,/输出电压从最大值到0(正弦波1/4部分)0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfd,0xfd,0xfc,0xfb,0xfa,0xf9,0xf8,0xf7,0xf6,0xf5,0xf4,0xf2,0xf1,0xef,0xee,0xec,0xea,0xe9,0xe7,0xe5,0xe3,0xe1,0xde,0xdd,0xda,0xd8,0xd6,0xd4,0xd1,0xcf,0xcc,0xca,0xc7,0xc5,0xc2,0xbf,0xbc,0xba,0xb7,0xb4,0xb1,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x99 ,0x96,0x93,0x90,0x8d,0x89,0x86,0x83,0x80,/输出电压从0到最小值(正弦波1/4部分)0x80,0x7c,0x79,0x76,0x72,0x6f,0x6c,0x69,0x66,0x63,0x60,0x5d,0x5a,0x57,0x55,0x51,0x4e,0x4c,0x48,0x45,0x43,0x40,0x3d,0x3a,0x38,0x35,0x33,0x30,0x2e,0x2b,0x29,0x27,0x25,0x22,0x20,0x1e,0x1c,0x1a,0x18,0x16 ,0x15,0x13,0x11,0x10,0x0e,0x0d,0x0b,0x0a,0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,/输出电压从最小值到0(正弦波1/4部分)0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02 ,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0d,0x0e,0x10,0x11,0x13,0x15 ,0x16,0x18,0x1a,0x1c,0x1e,0x20,0x22,0x25,0x27,0x29,0x2b,0x2e,0x30,0x33,0x35,0x38,0x3a,0x3d,0x40,0x43,0x45,0x48,0x4c,0x4e,0x51,0x55,0x57,0x5a,0x5d,0x60,0x63,0x66 ,0x69,0x6c,0x6f,0x72,0x76,0x79,0x7c,0x80; return sine_tabx;void DAC0832(uchar x)P0=x;/*1602液晶的相关函数*/#define lcd_ports P1sbit rs=P35;sbit rw=P36;sbit lcden=P37;void write_com(uchar com)rs=0;/置零,表示写指令lcden=0;lcd_ports=com;delay(5);lcden=1;delay(5);lcden=0;void write_date(uchar date)rs=1;/置1,表示写数据(在指令所指的地方写数据)lcden=0;lcd_ports=date;delay(5);lcden=1;delay(5);lcden=0;void disp_lcd(uchar addr,uchar *temp1)uchar num;write_com(addr);delay(1); /延时一会儿?for(num=0;num255)i=0;elsei=i+d; /设置采样间隔switch(flag) /当按键0正弦波,当按键1的为输出三角波,按键2时输出方波,按键3时输出锯齿波case 0: DAC0832(sin(i);break; /当flag=0时,正弦波,亮灯 P0=0XFF;led0=0;case 1:if(i127)/ 当flag=1时,三角波DAC0832(255-i);elseDAC0832(i);/亮灯 P0=0XFF;led1=0;break;case 2: DAC0832(i);break;/ 当flag=2时,锯齿波,亮灯 P0=0XFF;led2=0case 3: /当FLAG=3时,方波if(i127)DAC0832(0X00);elseDAC0832
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 科学活动救护车说课稿
- 脑梗死护理查房教学
- 二年级下册数学导学案-6.3长方形与正方形丨北师大版
- 大班语言教案:冬天好还是夏天好
- 物业节能源降耗措施培训
- 一年级上册数学教案-6.11-20各数的认识 人教新课标(2014年秋)
- 急慢性心力衰竭的诊断与治疗指南
- 《小蝌蚪找妈妈》课本剧剧本:一场奇妙的冒险之旅(6篇)
- 第一单元《机械运动》3.长度的几种特殊测量方法(分层训练)(原卷版)
- 架空绝缘导线在农网中的应用
- 1《饮食与健康第一课时零食与健康》(说课稿)皖教版五年级上册综合实践活动
- Module2 Unit5 My friends(说课稿)-2024-2025学年沪教牛津版(深圳用)英语四年级上册
- 4 公民的基本权利和义务 (说课稿 )2023-2024学年统编版道德与法治六年级上册
- 上海市同济大学第二附属中学2024-2025学年高一上学期期中考试英语试题(无答案)
- 第4课 日本明治维新(说课稿)-2024-2025学年九年级历史下册素养提升说课稿(统编版)
- 13 寒号鸟 公开课一等奖创新教学设计
- 2025年新高考语文复习 诗歌鉴赏-语言 课件
- 汽车租赁公司车辆养护制度
- 《第二节 气温和降水》教学设计
- 2024年达州客运考试题库
- 松材线虫病防治施工合同
评论
0/150
提交评论