




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、郑州科技学院单片机原理及应用课程设计题 目 基于单片机的信号 发生器的设计 学生姓名 专业班级 通信工程2班 学 号 院 (系) 信息工程学院 指导教师 完成时间 2015年 9 月 27 日目 录1 课程设计的目的22 课程设计的任务与要求23 设计方案与论证23.1 设计方案23.2 方案论证24 硬件电路设计24.1 单片机最小系统24.2 D/A数模转换电路24.3 按键电路24.4 放大电路25 系统软件设计26 系统调试26.1 硬件调试26.2 软件调试27 总结2参考文献2附录1:总体电路原理图2附录2:元器件清单2附录3:实物图2附录4:源程序21 课程设计的目的课程设计是在
2、校学生素质教育的重要环节,是理论与实践相结合的桥梁和纽带。单片机课程设计,要求学生更多的完成软硬结合的动手实践方案,解决目前学生课程设计过程中普遍存在的缺乏动手能力的现象. 单片机课程设计的目的和任务是训练学生综合运用已学课程“电子技术基础”、“单片机原理及应用”的基本知识,独立进行单片机应用技术和开发工作,掌握单片机程序设计、调试和应用电路设计、分析及调试检测2 课程设计的任务与要求(1)能产生方波、锯齿波、三角波;(2)波形的幅值与频率可调;(3)输出的波形可供示波器显示。3 设计方案与论证3.1 设计方案方案一:采用单片函数发生器(如8038),8038可同时产生正弦波、方波等,而且方法
3、简单易行,用D/A转换器的输出来改变调制电压,也可以实现数控调整频率,但产生信号的频率稳定度不高。方案二:采用51单片机编程的方法来实现。该方法可以通过编程的方法来控制信号波形的频率和幅度,而且在硬件电路不变的情况下,通过改变程序来实现频率的变换。此外,由于通过编程方法产生的是数字信号,所以信号的精度可以做的很高。3.2 方案论证经过比较,方案二采用软硬件结合,软件控制硬件的方法来实现,使得信号频率的稳定性和精度的准确性得以保证,而且它使用的几种元器件都是常用的元器件,容易得到,且价格便宜,使得硬件的开销达到最省。以STC89C51单片机为核心设计了一个低频函数信号发生器。信号发生器采用数字波
4、形合成技术,由单片机,按键电路、数模转换电路、放大电路、时钟电路以及复位电路组成。通过硬件电路和软件程序相结合,可输出自定义波形,如正弦波、方波、三角波、锯齿波等波形,波形的频率和幅度在一定范围内可任意改变。波形和频率的改变通过软件控制,幅度的改变通过硬件实现。该系统采用单片机作为数据处理及控制核心,由单片机完成人机界面、系统控制、信号的采集分析以及信号的处理和变换,采用按键输入,利用液晶显示电路输出数字显示的方案。总体电路框图如图3-1所示:放大电路波形输出单片机复位电路数模转换电路按键电路时钟电路图3-1 总体电路框图4 硬件电路设计4.1 单片机最小系统MCS-51是INTEL公司在成功
5、推广的MCS-48单片机基础上加以改进而成的8位单片机。这种单片机大约是上世纪70年代末推出的,内部程序可重写的为8751,外扩程序的是8031,一次性生产,不可改变程序的是8051。图4-1为STC89C51单片机最小系统功能图。图4-1 STC89C51单片机引脚图STC89C51单处机内部设置两个16位可编程的定时器/计数器T0和T1,它们具有计数器方式和定时器方式两种工作方式及4种工作模式。在波形发生器中,将其作定时器使用,用它来精确地确定波形的两个采样点输出之间的延迟时间。模式1采用的是16位计数器,当T0或T1被允许计数后,从初值开始加计数,最高位产生溢出时向CPU请求中断。中断系
6、统是使处理器具有对外界异步事件的处理能力而设置的。当中央处理器CPU正在处理某件事的时候外界发生了紧急事件,要求CPU暂停当前的工作,转而去处理这个紧急事件。在波形发生器中,只用到片内定时器计数器溢出时产生的中断请求,即是在STC89C51输出一个波形采样点信号后,接着启动定时器,在定时器未产生中断之前,STC89C51等待,直到定时器计时结束,产生中断请求,STC89C51响应中断,接着输出下一个采样点信号,如此循环产生所需要的信号波形。STC89C51单片机有两个引脚(XTAL1,XTAL2)用于外接石英晶体和微调电容,从而构成时钟电路,电容C1、C2对振荡频率有稳定作用,其容量的选择为3
7、0pf,振荡器选择频率为12MHz的石英晶体。由于频率较大时,三角波、正弦波、锯齿波中每一点的延时时间为几微秒,故延时时间还要加上指令时间才能获得较大的频率波形。为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分。所以,在本设计中加入了复位电路来保证单片机的持续稳定工作。4.2 D/A数模转换电路数模转换就是将离散的数字量转换为连接变化的模拟量。DAC0832是双列直插式8位D/A转换器。能完成数字量输入到模拟量(电流)输出的转换。图4-2为DAC0832数模转换电路图。图4-2 数模转换电路图图4-3为DAC0832为数模转换的最要元件引脚结构图。图4-3 DAC0832的引脚图D
8、AC0832是采样频率为八位的D/A转换芯片,集成电路内有两级输入寄存器,使DAC0832芯片具备双缓冲、单缓冲和直通三种输入方式,以便适于各种电路的需要(如要求多路D/A异步输入、同步转换等)。图4-3为DAC0832的引脚图。其主要参数如下:分辨率为8位,转换时间为1s,满量程误差为±1LSB,参考电压(+10/span>-10)V,供电电源为(+5+15)V,逻辑电平输入与TTL兼容。在DAC0832中有两级锁存器,第一级锁存器称为输入寄存器,它的允许锁存信号为ILE,第二级锁存器称为DAC寄存器,它的锁存信号也称为通道控制信号 /XFER。当ILE为高电平,片选信号 /
9、CS 和写信号 /WR1为低电平时,输入寄存器控制信号为1,这种情况下,输入寄存器的输出随输入而变化。此后,当 /WR1由低电平变高时,控制信号成为低电平,此时,数据被锁存到输入寄存器中,这样输入寄存器的输出端不再随外部数据DB的变化而变化。对第二级锁存来说,传送控制信号 /XFER 和写信号 /WR2同时为低电平时,二级锁存控制信号为高电平,8位的DAC寄存器的输出随输入而变化,此后,当 /WR2由低电平变高时,控制信号变为低电平,于是将输入寄存器的信息锁存到DAC寄存器中。图4-3中其余各引脚的功能定义如下:DAC0832引脚功能说明:DI0DI7:数据输入线,TLL电平。 ILE:数据锁
10、存允许控制信号输入线,高电平有效。 CS:片选信号输入线,低电平有效。 WR1:为输入寄存器的写选通信号。 XFER:数据传送控制信号输入线,低电平有效。 WR2:为DAC寄存器写选通输入线。 Iout1:电流输出线。当输入全为1时Iout1最大。 Iout2: 电流输出线。其值与Iout1之和为一常数。 Rfb:反馈信号输入线,芯片内部有反馈电阻. Vcc:电源输入线 (+5v+15v) Vref:基准电压输入线 (-10v+10v) AGND:模拟地,摸拟信号和基准电源的参考地. DGND:数字地,两种地线在基准电源处共地4.3 按键电路图4-4
11、为键盘接口电路的电路图,本系统采用独立键盘开关,其中按键“KEY1”可以来调节切换波形的输出,按键“KEY4”用来调节调节波形频率的步进值。按键“KEY2”;“KEY3”可以调节波形频率的加和减。 图4-4 按键电路4.4 放大电路LM358里面包括有两个高增益、独立的、内部频率补偿的双运放,适用于电压范围很宽的单电源,而且也适用于双电源工作方式,它的应用范围包括传感放大器、直流增益模块和其他所有可用单电源供电的使用运放的地方。电路图如图图4-5所示:图4-5 放大电路如图4-6所示的LM358功能引脚图所示,LM358的5管脚与DAC0832的(IOUT2)12管脚相连,LM358的6管脚与
12、DAC0832的(IOUT1)11管脚相连,LM324的7管脚与DAC0832的REF(9)管脚相连.图4-6 LM358功能引脚图其中4引脚为正电源;11引脚为负电源;1,7,8,14引脚为输出;3,5,10,12位正输出;2,6,9,13引脚为负输出。第一级运算放大器的作用是将DAC0832输出的电流信号转化为电压信号V1,第二级运算放大器的作用是将V1通过反向放大电路的(R2/R1)倍。5 系统软件设计本文中设计是通过按键的选择来实现,在相应按键按下后,采用STC89C51单片机,用编程的方法来产生三种波形,并通过编程来切换三种波形以及波形频率的改变。软件调通后,通过编程器下载到STC8
13、9C51芯片中,然后插到系统中即可独立完成所有的控制。软件的流程图中通过选择K1是否有按下,如果没有则重新开始,如果有则通过K1来选择波形,第一次按下出现正弦波,第二次按下出现方波,第三次按下出现三角波,第四次按下出现锯齿波,依次循环。按下K2、K3、K4依次进行频率加减和步进值的加减,最终输出波形。如图5-1所示:开始输出正弦波初始化有按键按下?K1按下输出方波输出三角波输出锯齿波K2按下F加1K3按下k4按下F减1F步进值调节是否图5-1 程序流程图6 系统调试6.1 硬件调试为了准确发现系统存在的问题,需要进行系统调试,调试的顺序按照先硬件后软件,先局部后整体的顺序来完成。首先介绍系统的
14、硬件安装过程及针对各单元模块的硬件电路调试,检验其是否符合设计初衷,能否达到相应指标。硬件调试主要包括电源系统的调试、单片机小系统的调试、D/A转换电路的调试、示波器的调试几部分。 为保证整个系统能够正常工作,首先要保证电源系统正常工作并且保证输出为+5V。通过测量输出口的电压值不断修改电路设计,完成电源系统的调试。6.2 软件调试主要进行了单片机STC89C51的软件调试过程,检验其是否符合设计初衷,能否达到相应的指标。主要是示波器的调试,通过编写程序实现波形的显示,按键的不同,对应的示波器的显示波形一样。正弦波波形如下图6-1所示:图6-1 正弦波矩形波波形如下图6-2所示:图6-2 矩形
15、波三角波形如下图6-3所示:图6-3 三角波锯齿波形如下图6-4 所示:图6-4 锯齿波7 总结通过这次课程设计使我对课程所学理论知识的深化和提高。并且通过本次课程设计,使我了解和掌握单片机应用系统的软硬件设计过程、方法及实现,培养了我分析问题和解决问题的能力,为以后设计和实现更难的应用系统打下良好基础。同时培养了我撰写设计说明书的能力。在本次设计的过程中,我发现很多的问题,虽然以前还做过这样的设计但这次设计真的让我长进了很多。对于单片机设计,其硬件电路是比较简单的,主要是解决程序设计的问题,而程序设计是一个很灵活的东西,它反映了你解决问题的逻辑思维和创新能力,它才是一个设计的灵魂所在。因此在
16、整个设计过程中大部分时间是用在程序上面的。对理论在实践中应用的深刻理解,通过把波形在计算机上实现,知道和理解该理论在计算机中怎样执行的,对该理论在实践中的应用更深刻的理解,激发了我的学习积极性,在这次课程设计中, 参考文献1 周明德.微型计算机系统原理及应用M.北京:清华大学出版社,20022 刘乐善.微型计算机接口技术及应用M.北京:北京航空航天大学出版社,20013 童诗白.模拟电路技术基础M.北京:高等教育出版社,20004 张友德.单片微型机原理、应用与实践M.上海:复旦大学出版社,2004 5 张永瑞.电子测量技术基础M.西安:西安电子科技大学出版社,20066 李叶紫. MCS-5
17、1单片机应用教程M.北京:清华大学出版社,2004、附录1:总体电路原理图附录2:元器件清单序号名称规格数量1单片机STC89C5112运放芯片LM35823数模转换芯片DAC083214电位器10315电阻10K26电解电容10pf17瓷片电容30pf18LED5mm49晶振12M110电阻2.2K311电阻100212电阻220113电阻1K114按键5附录3:实物图附录4:源程序#include<reg52.h> /包含头文件#include<intrins.h>#define uchar unsigned char /宏定义#define uint unsign
18、ed intsbit s1=P35; /定义按键的接口sbit s2=P36;sbit s3=P37;sbit s4=P34;sbit led0=P30;sbit led1=P31;sbit led2=P32;sbit led3=P33; sbit lcdrs=P27; /液晶控制位sbit lcden=P26;char num,boxing,u; /定义全局变量int pinlv=100,bujin=1,bujin1=1;uchar code table="0123456789"/定义显示的数组uchar code table1="Fout= Wave form
19、:"unsigned long int m;int a,b,h,num1;/自定义字符uchar code zifu=0x0e,0x11,0x11,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x11,0x11,0x0e,0x00, /正弦波 0 10x00,0x07,0x04,0x04,0x04,0x04,0x1c,0x00,0x00,0x1c,0x04,0x04,0x04,0x04,0x07,0x00, /矩形波 2 30x00,0x01,0x02,0x04,0x08,0x10,0x00,0x00,0x00,0x10,0x08,0x0
20、4,0x02,0x01,0x00,0x00, /三角波 4 50x00,0x01,0x03,0x05,0x09,0x11,0x00,0x00, /锯齿波 6;uchar code sin64=135,145,158,167,176,188,199,209,218,226,234,240,245,249,252,254,254,253,251,247,243,237,230,222,213,204,193,182,170,158,146,133,121,108,96,84,72,61,50,41,32,24,17,11,7,3,1,0,0,2,5,9,14,20,28,36,45,55,66,7
21、8,90,102,114,128; /正弦波取码uchar code juxing64=255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0; /矩形波取码uchar code sanjiao64=0,8,16,24,32,40,48,56,64,72,80,88,96
22、,104,112,120,128,136,144,152,160,168,176,184,192,200,208,216,224,232,240,248,248,240,232,224,216,208,200,192,184,176,168,160,152,144,136,128,120,112,104,96,88,80,72,64,56,48,40,32,24,16,8,0;/三角波取码uchar code juchi64=0,4,8,12,16,20,24,28,32,36,40,45,49,53,57,61,65,69,73,77,81,85,89,93,97,101,105,109,1
23、13,117,121,125,130,134,138,142,146,150,154,158,162,166,170,174,178,182,186,190,194,198,202,206,210,215,219,223,227,231,235,239,243,247,251,255; /锯齿波取码void delay(uint xms) /延时函数int a,b;for(a=xms;a>0;a-)for(b=110;b>0;b-);void write_com(uchar com)/写命令函数lcdrs=0;P0=com;delay(1);lcden=1;delay(1); lc
24、den=0;void write_date(uchar date)/写数据函数lcdrs=1;P0=date;delay(1);lcden=1;delay(1);lcden=0;/自定义字符集void Lcd_ram() uint i,j,k=0,temp=0x40; for(i=0;i<7;i+) for(j=0;j<8;j+) write_com(temp+j); write_date(zifuk); k+; temp=temp+8;void init_lcd()/初始化函数uchar i; lcden=0;/默认开始状态为关使能端,见时序图 Lcd_ram();write_c
25、om(0x0f);write_com(0x38);/显示模式设置,默认为0x38,不用变。write_com(0x01);/显示清屏,将上次的内容清除,默认为0x01. write_com(0x0c);/显示功能设置0x0f为开显示,显示光标,光标闪烁;0x0c为开显示,不显光标,光标不闪write_com(0x06);/设置光标状态默认0x06,为读一个字符光标加1. write_com(0x80);/设置初始化数据指针,是在读指令的操作里进行的for(i=10;i<20;i+) /显示初始化write_date(table1i);write_com(0x80+0x40);for(i=
26、0;i<9;i+)write_date(table1i);write_com(0x80+10);write_date(0);write_date(1);write_date(0);write_date(1);write_date(0);write_date(1);write_com(0x80+0x40+0x09);write_date(' ');write_date('1');write_date('0');write_date('.');write_date('0');write_date('H
27、39;);write_date('z');void initclock() /时钟初始化TMOD=0x01;TH0=a;TL0=b;EA=1;ET0=1;TR0=1;void display() /显示函数uchar qian,bai,shi,ge;qian=pinlv/1000;bai=pinlv%1000/100;shi=pinlv%1000%100/10;ge=pinlv%1000%100%10;write_com(0x80+0x40+0x09); if(qian=0)write_date(' ');elsewrite_date(tableqian);if
28、(qian=0&&bai=0)write_date(' ');elsewrite_date(tablebai);write_date(tableshi);write_date('.');write_date(tablege);write_date('H');write_date('z');if(boxing=0)write_com(0x80+10);write_date(0);write_date(1);write_date(0);write_date(1);write_date(0);write_date(1);
29、led3=1;led0=0;if(boxing=1)write_com(0x80+10);write_date(2);write_date(3);write_date(2);write_date(3);write_date(2);write_date(3);led0=1;led1=0;if(boxing=2)write_com(0x80+10);write_date(4);write_date(5);write_date(4);write_date(5);write_date(4);write_date(5);led1=1;led2=0;if(boxing=3)write_com(0x80+1
30、0);write_date(6);write_date(6);write_date(6);write_date(6);write_date(6);write_date(6);led2=1;led3=0;void keyscan()/键盘检测函数if(s1=0) EA=0;delay(2);if(s1=0)while(!s1);pinlv+=bujin;if(pinlv>1000)pinlv=100;display();m=65536-(150000/pinlv);a=m/256;b=m%256;EA=1;if(s2=0) delay(5);if(s2=0)EA=0;while(!s2);
31、pinlv-=bujin;if(pinlv<100)pinlv=1000;display();m=65536-(150000/pinlv);a=m/256;b=m%256;EA=1;if(s3=0) delay(5);if(s3=0)EA=0;while(!s3);boxing+;if(boxing>=4)boxing=0;display();EA=1;void bujindisplay()uint bai,shi,ge;bai=bujin1/100;shi=bujin1%100/10;ge=bujin1%100%10;write_com(0x80+11);if(bai=0)write_date(' ');elsewrite_date(tablebai);write_date(tableshi);write_date('.');write_date(tablege);void bujinjiance()if(s4=0)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保安的法律法规知识试题及答案
- 解析2025保安证重要试题及答案
- 2025年保安证考试阅读理解试题及答案
- 森林防火安全专项方案
- 重庆电信职业学院《口腔工艺管理》2023-2024学年第二学期期末试卷
- 河北省三河市第九中学2024-2025学年高三下学期高考仿真模拟物理试题试卷含解析
- 应急处理的保安证考试试题及答案
- 桂林生命与健康职业技术学院《渠道策划》2023-2024学年第二学期期末试卷
- 完整的保安证考试试题及答案
- 天津市宝坻区何仉中学2024-2025学年4月高中毕业班联合考试数学试题含解析
- 压力容器年度检查表
- 2023-2024学年湖北省洪湖市初中语文九年级下册期末通关试题
- YY/T 1269-2015血液透析和相关治疗用水处理设备常规控制要求
- DG-TJ 08-2198-2019 装配式建筑评价标准 附条文说明
- GB/T 1.2-2020标准化工作导则第2部分:以ISO/IEC标准化文件为基础的标准化文件起草规则
- 电气接地施工规范
- VTE预防优质课件
- 路灯照明工程施工组织设计路灯施工组织设计方案
- 湘教版《美术》六年级毕业班复习题
- 纪念抗日战争暨世界反法西斯战争胜利70周年主题班会课件
- 分娩恐惧量表
评论
0/150
提交评论