单片机课程设计波形发生器地设计_第1页
单片机课程设计波形发生器地设计_第2页
单片机课程设计波形发生器地设计_第3页
免费预览已结束,剩余23页可下载查看

下载本文档

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

文档简介

1、课程设计报告课程单片机原理及应用课程设计题目波形发生器的设计院系电院专业自动化班级学号第一章.设计目的及意义第二章功能要求及实验原理第三章.方案论证第四章.总体设计方案第五章源代码第六章.运行结果第七章.实验总结参考文献一、设计目的及意义1.设计目的(1)利用所学单片机的理论知识进行软硬件整体设计,锻炼学生理论联系 实际、提高我们的综合应用能力。(2)我们这次的课程设计是以单片机为基础,设计并开发能输出多种波形 (正弦波、三角波、锯齿波、方波、梯形波等)且频率、幅度可变的函数发生器(3)掌握各个接口芯片的功能特性及接口方法,并能运用其实现一个简单 的微机应用系统功能器件。(4)课程设计十分有助

2、于学生的知识系统的总结到一起。(5)通过这几个波形进行组合形成了一个函数发生器,使得我对系统的整 个框架的设计有了一个很好的锻炼。这不仅有助于大家找到自己感兴趣的题目, 更可以锻炼大家微机知识的应用。2 .设计意义波形发生器作为一种常用的信号源,是现代测试领域应用最为广泛的通用仪 器之一。在研制、生产、测试和维修各种电子元件、部件以及整机设备时,都学要有 信号源,由它产生不同频率不同波形的电压、电流信号并加到被测器件或设备上, 用其他仪器观察、测量被测仪器的输出响应,以分析确定它们的性能参数。信号 发生器是电子测量领域中最基本、应用最广泛的一类电子仪器。它可以产生多种 波形信号,如正弦波,三角

3、波,方波等,因而广泛用于通信、雷达、导航、宇航等领 域。第二章功能要求及实验原理1. 设计要求设计一个能产生正弦波、方波、三角波、梯形波、锯齿波的波形发生器。2. 实验原理产生指定波形可以通过DAC来实现,不同波形产生实质上是对输出的二进 制数字量进行相应改变来实现的。本题目中,方波信号是利用定时器中断产生的, 每次中断时,将输出的信号按位反即可;三角波信号是将输出的二进制数字信号 依次加1达到Oxff时依次减1,并实时将数字信号经D/A转换得到;锯齿波信 号是将输出的二进制数字信号依次加1达到Oxff时置为0x00,并实时将数字信号经D/A转换得到的;梯形波是将输出的二进制数字信号依次加 1

4、,达到Oxff时保持一段时间,然 后依次减1直至0x00,并实时将数字信号经 D/A转换得到的;正弦波是利用MATLAB将正弦曲线均匀取样后,得到等间隔时刻的y方向上的二进制数值,然后依次输出后经D/A转换得到。第三章方案论证信号发生器的实现方法通常有以下几种:方案一:用分立元件组成的函数发生器:通常是单函数发生器且频率不高,其工作不很稳定,不易调试。方案二:可以由晶体管、运放IC等通用器件制作,更多的则是用专门的函数 信号发生器IC产生。早期的函数信号发生器IC,如L8038、BA205 XR2207/2209 等,它们的功能较少,精度不高,频率上限只有300kHz,无法产生更高频率的信 号

5、,调节方式也不够灵活,频率和占空比不能独立调节,二者互相影响。方案三:利用专用直接数字合成DDS芯片的函数发生器:能产生任意波形并达到很咼的频率。但成本较咼。方案四:采用AT89C52单片机和DAC0832芯片,直接连接键盘和显示。该种方案 主要对AT89C52单片机的各个I/O 口充分利用.P1 口是连接键盘以及接显示电 路,P2 口连接DAC0832输出波形.这样总体来说,能对单片机各个接口都利用上, 而不在多用其它芯片,从而减小了系统的成本也对按照系统便携式低频信号发生器的要求所完成占用空间小,使用芯片少,低功耗第四章总体设计方案原理图0CPU>XTAL1PO.DJftDDPO.1

6、JA&IP0.2MD2FAL2PH 鮎 OSPQ.ijACiP0.5MD5RSTPQ.6KD6P2JQMBP2JABF2 TfM DF5±KTF 21LEF 2 4/A11EF4卜mi aF2 WAi 4F2.rrAi5Pi orr;PS OREFl i.rTJEXFs.imnFl JPM'ihRDFl JFJ 3'IWIP1.4pa jmPL6P.J.5JT1Fl .&UWEP1 7psirnciis1L_29KT?C52=TE>T=pKtli 匸純TA I 2 L/VI屉讨L.AIA 卫LAW 5MW 6DATAS 7MTA7 g站恥仃辭 A

7、Z 2*IK ADA"K All"訓 AD5*TiA s 弟”T:?1 ATO 亠22 ATI23 AT2 :斟 AT3 J?fi AT4 :站 ATS f27 AT6 :囲 ATT tro' TAil n TA2 ,3 l.*J *I 4 TA4 :ffi T崗:fE W :T7 7A7 * 刈亢AT89C52是一个低电压,高性能CMOS 8位单片机,片含8k bytes的可反复 擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件 采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准 MCS-51指令系统,片置通用8位中央

8、处理器和Flash存储单元,AT89C52单片机在电子行业中 有着广泛的应用。T2/P-1. CT£EX/P1. 1 Pl 2 Pl. ?FJ. 4Pl. 5 P1.& Pl . 7 ft ST RWF* a TXI/P3. 1 moz?3. 2 iWTTZ?3. 3T0/P3.411/F3, 5W?a 67 XTALi XTftll 17 &CUDSk103336373&35S4 洱 3?3111SO12231 32&14271 5E6it251 7341 6詢IF2?2021ULJLJLJ 匚匚 UkJLJUTUc c E C Vcc PO. 0

9、?ADO PO 1/JtDl TO FO骑临 PO. 4?JID43 PU 5UD5 FU, £U r/JlEf EA?VP£_ ALE/PEDG PESff P2 TiAlS T3 5/A14 t£. 513 P2. 4/A12 P2. S?A11 F2. Edit) P2. 1 W P空.OJjtCPDIP封装的 AT89C52引脚图准的C51核,在部功能及管脚排布上与通用的8xc52相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC部寄存器、数据 RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控 信号IR的接收解码及与主板

10、CPU通信等。主要管脚有:XTAL1( 19脚)和XTAL2( 18脚)为振荡器输入输出端口,外接12MHz晶振。RST/Vpd (9脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40脚)和VSS(20脚)为供电端口,分别接 +5V电源的正负端。P0P3为可编程通用I/O 脚, 其功能用途由软件定义,在本设计中,P0端口(3239脚)被定义为N1功能控制端口,分别与 N1的相应功能管脚相连接,13脚定义为IR输入端,10脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS( 18脚)和SCLS( 19脚)端口, 12脚、27脚及28脚定义为握手信号功能端口,连 接主板CPU的相

11、应功能端,用于当前制式的检测及会聚调整状态进入的控 制功能。三显示模块LCD1LM016L< TEXT:'S8S cog2-炖 e 乂应忙歴 onciCin&fiti仅 MkcJP I"9V.LKF E svlyp 匸 MVP |°Eylyp B gKp woLKryJP L ss9 g R5-1K四产生波形模块U1GSvccI/VR1ILE(BY1/B¥2:GmD贼Di3XFER012014OHDI5DIODI6VREFDI7RFBI0UT2阳0I0UT1ATT 12:GHD 5AD* 4:A滋吕_ AIM6A CO 7 :'

12、63;; fjGWDlODAC0932 <EXT>対 vcc亠n d1电心:T5迪f14 扎 W:11OPAMP <T£XT>R4 iKR3100K6002 PAMP <TEXTsDac0832CSWKiAGNDD3DiDoUroRfDGNDR2100KDAC0832是8分辨率的 D/A转换集成芯片。与微处理器完全兼容。这个DA芯片以其价格低廉、接口简单、转换控制容易等优点,在单片机应用系统中得到广泛的应用。D/A转换器 由8位输入锁存器、8位DAC寄存器、8位D/A转换电路及转换控 制电路构成五。控制模块coA1 -2T3第五章源代码#in clude

13、<reg52.h>#in clude<absacc.h>#defi ne DAC0832 XBYTEOxOfff int pinl v=256;sbit p20=P2A0;sbit p21= P2A1;sbit p22=P2A2;sbit p23=P2A3;sbit p24=P2A4;sbit RS = P3A0;sbit RW= P3A1;sbit E =卩3八4;使用其中定义的宏来访问绝对地址/DAC0832 端口/改变频率的时延自变量方波锯齿波三角波正弦波梯形波数据/命令选择读写选择使能信号int j=0;/全局变量un sig ned char code TAB

14、 ="0123456789msTIME:"un sig ned char code TAB1 ="Zhe ngxia nboFan gbo San jiaobo Juchibo Tixin gboHJun sig ned char table4;float code table2=/正弦波信号采点值0x80,0x83,0x85,0x88,0x8A,0x8D,0x8F,0x92, 0x94,0x97,0x99,0x9B,0x9E,0xA0,0xA3,0xA5, 0xA7,0xAA,0xAC,0xAE,0xB1,0xB3,0xB5,0xB7, 0xB9,0xBB,0x

15、BD,0xBF,0xC1,0xC3,0xC5,0xC7, 0xC9,0xCB,0xCC,0xCE,0xD0,0xD1,0xD3,0xD4, 0xD6,0xD7,0xD8,0xDA,0xDB,0xDC,0xDD,0xDE, 0xDF,0xE0,0xE1,0xE2,0xE3,0xE3,0xE4,0xE4, 0xE5,0xE5,0xE6,0xE6,0xE7,0xE7,0xE7,0xE7, 0xE7,0xE7,0xE7,0xE7,0xE6,0xE6,0xE5,0xE5, 0xE4,0xE4,0xE3,0xE3,0xE2,0xE1,0xE0,0xDF, 0xDE,0xDD,0xDC,0xDB,0xDA,

16、0xD8,0xD7,0xD6, 0xD4,0xD3,0xD1,0xD0,0xCE,0xCC,0xCB,0xC9, 0xC7,0xC5,0xC3,0xC1,0xBF,0xBD,0xBB,0xB9, 0xB7,0xB5,0xB3,0xB1,0xAE,0xAC,0xAA,0xA7, 0xA5,0xA3,0xA0,0x9E,0x9B,0x99,0x97,0x94, 0x92,0x8F,0x8D,0x8A,0x88,0x85,0x83,0x80, 0x7D,0x7B,0x78,0x76,0x73,0x71,0x6E,0x6C, 0x69,0x67,0x65,0x62,0x60,0x5D,0x5B,0x5

17、9, 0x56,0x54,0x52,0x4F,0x4D,0x4B,0x49,0x47, 0x45,0x43,0x41,0x3F,0x3D,0x3B,0x39,0x37, 0x35,0x34,0x32,0x30,0x2F,0x2D,0x2C,0x2A, 0x29,0x28,0x26,0x25,0x24,0x23,0x22,0x21, 0x20,0x1F,0x1E,0x1D,0x1D,0x1C,0x1C,0x1B, 0x1B,0x1A,0x1A,0x1A,0x19,0x19,0x19,0x19, 0x19,0x19,0x19,0x19,0x1A,0x1A,0x1A,0x1B, 0x1B,0x1C,

18、0x1C,0x1D,0x1D,0x1E,0x1F,0x20, 0x21,0x22,0x23,0x24,0x25,0x26,0x28,0x29, 0x2A,0x2C,0x2D,0x2F,0x30,0x32,0x34,0x35, 0x37,0x39,0x3B,0x3D,0x3F,0x41,0x43,0x45, 0x47,0x49,0x4B,0x4D,0x4F,0x52,0x54,0x56, 0x59,0x5B,0x5D,0x60,0x62,0x65,0x67,0x69, 0x6C,0x6E,0x71,0x73,0x76,0x78,0x7B,0x7D;void delay (un sig ned c

19、har ms);延时函数void write_(unsigned char ); 液晶写指令 void write_data( un sig ned char dat); / 液晶写数据 void LCD1602ni t(void)/ 液晶初始化delay(15); write_(0x38); delay(5); write_(0x38); delay(5); write_(0x08); write_(0x01); write_(0x06); write_(0x0c);void write_( un sig ned char ) _E = 0;RS = 0;延时15ms/功能设置/延时5ms功

20、能设置延时5ms显示设置显示清屏显示光标移动设置显示开即光标设置复位初始为高电平RW = 0;P1 =;delay(1);E = 1;delay(1);E = 0;void write_data( un sig ned char dat) _E = 0;RS = 1;RW = 0;P1 = dat;delay(1);E = 1;delay(1);E = 0;void delay (un sig ned char ms)un sig ned char i;while(ms-)for(i=0;i<120;i+);void fan g()复位初始为高电平/ 晶振 12MHz 延时 0.01ms

21、/方波DAC0832=0; delay(pi nlv/2);DAC0832=0xff; delay(pi nlv/2);锯齿波void jvchi()un sig ned char i; for(i=0;i<255;i+)DAC0832=i; delay(p inlv/256);/三角波void tran()un sig ned char i; for(i=0;i<255;i+) DAC0832=i; delay(pi nlv/512); for(i=255;i>0;i-) DAC0832=i; delay(pi nlv/512);正弦波void sin()un sig ne

22、d int i; for(i=0;i<256;i+) DAC0832=table2i; delay(p inlv/256);梯形波void tx(void)un sig ned char i; for(i=0;i<255;i+) DAC0832=i; delay(pi nlv/1024);DAC0832=0xff;delay(pi nlv/2);for(i=255;i>0;i-)DAC0832=i; delay(pi nlv/1024);/主函数void main (void)IE=0x85;中断允许控制,外部中断设定 改变频率TCON=0x05;中断请求标志 下降沿有效LC

23、D1602_ini t(); table0=pi nlv/1000;/初始化计算周期作为输出千位设置待写入数据的地址,写1602的第显示'TIME:'/显示周期在周期后面加上"MS"/方波/写1602的第1行,写明产生的波形/锯齿波table1=pinlv%1000/100;/ 百位table2=pi nlv%100/10;/ 十位table3=pi nlv%10;/ 个位write_(0x80+0x40);2行。写出做产生波形的周期for(j=12;j<17;j+)write_data(TAB j ); delay(1);for(j=0;j<4

24、;j+)write_data(TABtable j ); delay(1);write_data(TAB10);write_data(TAB11);while(1)if(p20=0)write_(0x80);for(j=11;j<22;j+)write_data(TAB1j); _ while(p20=0) fan g();if(p2 仁=0)write_(0x80);/写 1602 的第 1 行,for(j=33;j<44;j+)write_data(TAB1j); _while(p2 仁=0)写明产生的波形jvchi();if(p22=0)/ 三角波write_(0x80);/

25、写 1602 的第 1 行,for(j=22;j<33;j+) write_data(TAB1j); _while(p22=0)tran();写明产生的波形if(p23=0)正弦波write_(0x80);/写 1602 的第 1 行,for(j=0;j<11;j+) write_data(TAB1j); _while(p23=0)sin();if(p24=0) / 梯形波write_(0x80);/写 1602 的第 1 行for(j=44;j<55;j+) write_data(TAB1j); _while(p24=0)tx();写明产生的波形写明产生的波形void in

26、 t0(void) in terrupt 0pinlv=pinl v+10;table0=pi nlv/1000;table1=pi nlv%1000/100;table2=pi nlv%100/10;中断0加频频率加十table3=pi nlv%10;write_(0x80+0x40);/设置代写入数据的地址,写 1602第2行for(j=12;j<17;j+)write_data(TAB j );delay(1);for(j=0;j<4;j+)write_data(TABtable j );delay(1);write_data(TAB10);write_data(TAB11); _void int1(void) interrupt 2中断 2 减频pinlv=pinlv-10;/ 频率减十table0=pi nlv/1000;table1=pi nlv%1000/100;table2=pi nlv%100/10;table3=pi nlv%10;write_

温馨提示

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

评论

0/150

提交评论