示波器课设报告_第1页
示波器课设报告_第2页
示波器课设报告_第3页
示波器课设报告_第4页
示波器课设报告_第5页
已阅读5页,还剩22页未读, 继续免费阅读

付费下载

下载本文档

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

文档简介

《合程设计简易波器姓名/学号专业班级:指导教师:

09级通(3班魏云龙二○一二年六三十日目

系方设..................................................................................-1.1控制模块的论证与选择..........................................................................21.2A/D换模块的论证与选择..................................................................-21.3显示模块的论证与选择..........................................................................31.4存储模块的论证与选择............................................................................3系理分与算......................................................................4-电与序计..............................................................................-4-3.1电路的设计

-4-3.1.1统总体框图.....................................................................................................-4-3.1.2单机最小系统电路........................................................................................-3.1.3LCD12864液显示模块原图-6-3.1.4存模块电路图.3.1.5信处理电路原理图........................................................................................-3.2程序的设计

-8-3.2.1序流程图.........................................................................................................-83.2.2序功能描述与设计思路.................................................................................-测方与试果

-4.1测试方案.....................................................................................................-94.2测试条件与仪器........................................................................................--4.3测试结果及分析........................................................................................--4.3.1试结果.............................................................................................................-4.3.2试分析与结论.................................................................................................-9-附

-5.1原件清单:................................................................................................--5.2总原理图:..................................................................................................-105.3PCB版...................................................................................................-115.4源程序............................................................................错误!未义书签参文

211心体2-1

波形采、储与回系H)1.系统案设计本系统主要由控制模块A/D模块、显示模块、存储模块、电源模块等组成,下面分别论证这几个模块的选择。制块论与择方案一:AT89C51美国ATME司生产的低电压、高性能CMOS8位单片机,片内含4Kbytes的可反复擦写的只读程序(EEPROM)和128bytes的随机存取数据存储器(器件采用公司的高密度,非易失性存储技术生产兼容标准MCS-51指令系统,片内置通用位中央处理器(能强大,可灵活应用于各种控制领域。方案二:AVR系列单片机高速、低耗、保密,具有转换等电路,片内资源更为丰富,接口也更为强大时由于其价格低等优势在很多场合可以替代系列单片机。ATmega16是基于增强的AVRRISC结构低功耗的8位CMOS微控制器,具有1KBSRAM和16KB储单元。由于其先进的指令集及单时钟周期指令执行时间,数据吞吐率高达1MIPS/MHZ,从而可以缓减系统在功耗和处理速度之间的矛盾。方案:采用STC12系列单片机可以省掉复位电路、外部数据存储器(24Cxx系列芯片)些场合还可以省掉晶振路简单格低廉度快系列单片机为单时钟/机器周期(1T)一些指令执行速度是传统24倍,最低的也是3倍可以直接代替8051针对传统8051单片机开发的程序可以直接用于STC12系列单片机须重新编写STC12系列单片机简易编程器的电路。IC1是编程时插芯片的20脚DIP插座R1C1为被编程芯片提供复位信号X1、C2C3为被编程芯片提供时钟信号VT1VT2构成简易的RS-232到TTL的电平转换,省掉了MAX232。比较以上三种方案,选择方案三。换块论与择方案一:ADC0809是位逐次逼近型A/D转换器。它由一个8路模拟开关、一个地址锁存译码器、一个转换器和一个三态输出锁存器组成,其转换速度为128us不能满足题目要求会造成采集的信号失真当为两路信号同时采集时,需要用两片,占用处理器端口过多。方案二:MAX187/189是串行的ADC引脚数少、集成度高、易于数字隔离、易于芯片升级、价格适中缺点是速度相对较低且对单片机的速度和接口要求比较高,以致许多单片机不适用于控制。方案三:采用STC12系列单片机内部集成的A/D比较器,口可直接作--

A/D转换用,节约I/O了口的使用,并且不用考虑信号的传输速率。综合以上三种方案,我们选择方案三示块论与择方案一:采LED数码管显示。LED码管显示器是一种由LED发光二极管组合显示字符的显示器件是单片机人机对话最常用的输出设备但如果需要显示的内容较多,过多增加数码管进行轮流显示则控制复杂,此外码管需要较多连线,电路复杂,功耗比较大。方案二:采用示。1602字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD。液晶显示器都是数字式的,和单片机系统的接口简单可靠,操作方便。并且它的体积小、重量轻、功耗低,液晶显示器每一个点在收到信号后就一直保持原色彩和亮度恒定发光会闪烁。

液晶显示器画质高且不方案三:带字库的12864LCD可以显示汉字字符且编程简单。可以构成很好的人机交流界面,增强系统可操作性外考虑到当前要显示测试的波形为了使大众能直观看到波形。综上所述,我们选择方案三。存模的证选方案一:采用2816存储数据。2816常用的芯片,用于单片机系统中,常用于扩展为片外ROM它使单片机系统的设计,特别是调试实验更为方便、灵活。但它的写操作速度较慢,引脚较多,连线较复杂。方案二:W25Q8016支持标准的串行外设接口和高性能双四路输出,以及双/四路输入输出接口。具有较高的存储容量,支持较高速率的数据存储,并且灵活性和性能远远超过普通的串行存储器。方案三:AT24C02是一个2K位串行E2PROM,内部含有256个8位字节,CATALYST司的先进术实质上减少了器件的功耗。有一个16字节页写缓冲器。该器件通过IIC总线接口进行操作,有一个专门的写保护功能。IIC总线最主要的优点是其简单性和有效性由于接口直接在组件之上因此VC总线占用的空间非常小减少了电路板的空间和芯片管脚的数量降低了互联成本。12C总线的另一个优点是,他支持多主(multimastering),其中任何能够进行发送和接收的设备都可以成为主总线个主控能够控制信号的传输和时钟频率。综合以上三种方案,我们选择方案三。3-

2.系统论分析与算我们采用STC12系列芯片内部AD换器对于单极性信号我们直接对信号进行放大,然后送到内部换器进行转换。对于峰峰值为00mv双极性信号,考虑到换器只能进行0~5V拟信号转换,所以先进行放大,然后送入加法器使信号变为AD转换器能够转换的单极性信号再送入内部AD转换器进行模数转换。根据采样定理,在保持信号不失真的前提下,采集的频率至少为所采集信号的2倍。所采集的方波信号频率为10Hz~1kHz,角波信号频率为~,ATmega16的内部A/D最高工作频率时采样速率高达15kSPS,非线性度为.5LSB,绝对精度为±2LSB符合采样频率要求。所采集的正弦波信号频率范围为10Hz~10kHz在保证不失真的前提下,每个周期应尽可能多的采样点,保证了转换精度。3.电路程序设计电的计系统总体图经过以上方案的比较和论证,最终确定的系统组成框图如下图所示。-4

单片机最系统电图2

单片机小系统-5

如图2所示,本题采用的是STC12C5A60S2/AD/PWM系列单片机是宏晶科技生产的单时钟机器周期1T)单片机,是高速低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,速度快8-12倍。内部集成MAX810专用复位电路,2路路高速10位换(250K/S),针对电机控制,强干扰场合。具有高可靠性、功能强、高速度、低功耗等特点,使其能够更好地执行程序、指挥各部分硬件完成既定工作。LCD12864液晶显模块原图图3LCD12864晶显示所要采集的外部信号由单片机处理后出信号的高低电平和信号周期显示在LCD12864(如图3所示晶显示器是一种高清晰显示器件,能够直接连到单片机总线上广泛应用于便携电子产品中LCD12864显示质量高,能够很好地显示测量结果,完成题目的基本要求。--

3.1.4储模块路图图4存储模块如图4所示为本题的存储模块电路图,采集的外部信号经单片机处理后存到AT24C02中由图可知AT24C02引脚包括片选引脚,数据输入输出引脚保护引脚时钟信号控制整个芯片的工作时序转换的结果存储到芯片中,当再次调用数据时,在STC12C5A60S2控制下读出数据到芯片中。3.1.5信处理电原理图图5信号处电路输入的信号经过射极跟随器、放大器、比较器送入单片机进行处理。设计跟-7-

随器可以提高输入阻抗,从信号源吸收很小的功率,对信号源的影响很小于其输出电阻很小,当负载改变时,输出电压变动很小,有较好的负载能力。电压放大倍数为(1+R11)/R10,电路分别如图所示。程的计程序流程程序功能述与设思路根据题目要求软件部分主要实现AD采样和显示。1)AD样芯片当AD后址:的ADC_CONTR的第五位会等于,此时就自动进入STC12列自带AD中断。2)存储部:AD采样的数据存储到存储芯片中。3)显示部:将存储在AT24C02中的数据送到STC12片进行处理,用两点画线方式显示采样的波形。-8

4.测试案与测试果测方1、硬件测试使用数字万用表,对所连接的电路进行测试,测试各节点的连通性,各个引脚间是否有短路,断路,结点连接是否有错误。2、硬件软件联调使用keil编程软件进过STC_isp_v479软件下载到STC12C5A60S2芯片中,进行硬件软件联调,实现信号的处理、采集、存储、回放等功能。对各个参数进行合理设置,以达到题目要求。测条与器、测试条件:检查多次,仿真电路和硬件电路必须与系统原理图完全相同,并且检查无误,硬件电路保证无虚焊。、调试与测试用仪器函数信号发生器:F10A型数字合成函数信号发生器数字示波器DS1062D;数字万用表。测结及析测试结果测量所得的波形和我们函数信号发生器产生的波形相差无几正确显示波形和波形断电存储功能测量的过程中我们在液晶上显示的测量电压和我们函发产生的信号送入我们实验室示波器的测量电压误差大约在0.1V范围内,基本符合我们的要求。测试分析结论根据上述测试数据,各个测试指标基本达到要求:LCD能及时的显示,采集信号峰峰值。电路能够进行采样频率的选择电路能够进行采集和回放功能-9

5.附件原清:总理:-10-

图源序<reg52.h>LcdDatasfrADC_CONTR=0xBC;RS=P0^5;//并行的指令/数选择信号,H数L命RW=P0^6;//并读写选择信号H读L写E=P0^7;//行使能端H有效L无

sfrADC_RES=0xBD;EADCIE^5;unsignedcharcai[]={1,1,1};unsignedchardati=0;unsignedcharled=P0^4;unsignedunsignedcharover=0;intcaiji=P1^2;unsignedxianshi=P1^3;unsignedintdelnop=0;//IO口义scl=P0^0;led1=P1^6;11-

voiddelay(unsignedintx){unsignedinta,b;}读写驱动程////////////////////voidchar{unsignedinti;for(i=0;i<x;i++);;}void{;;}voidx24c08_init()初化子程序{scl=1;flash();}void//动I2C总线{sda=1;scl=0;flash();}void//停止总线{sda=0;flash();}voidcharj)//一个字节{unsignedi,temp;for(i=0;i<8;i++)scl=0;sda=CY;flash();}scl=0;sda=1;flash();}unsignedchar//读一个字节{unsignedchari,j,k=0;scl=0;sda=1;for(i=0;i<8;i++){ifj=1;j=0;k=(k<<1)|j;scl=0;}return(k);}voidclock()总线时钟{unsignedchari=0;scl=1;1

((sda==1)&&(i<255))i++;scl=0;}////////从24c02的地址address中取一个字节数据////unsignedchar{unsignedchari;writex(0xa0);clock();writex(address);clock();stop();delay1(10);return(i);}//////向24c02的address地中入字节数据info/////voidx24c08_write(unsignedinfo){writex(0xa0);clock();writex(address);clock();writex(info);clock();stop();delay1(50);}//////////////////////////////////////unsignedchar{unsignedcharRS=0;E=1;E=0;}

/*********************************向LCD写字数据**********************************/voidchar{while(Lcd_CheckBusy());RS=1;E=0;LcdData=Data;E=1;E=0;}/***********************************从LCD中出据************************************/unsignedcharLcd_ReadData(void){unsignedcharTemp;while(Lcd_CheckBusy());RS=1;E=1;E=0;Temp;}/*************************************想LCD中入令代码**************************************/voidLcd_WriteCmd(unsigned{while(Lcd_CheckBusy());RS=0;1

E=0;LcdData=CmdCode;E=1;E=0;}/**************************************为加速逻辑运算而设置的掩码表是以牺牲空间而换取时间的办法***************************************/unsignedintLcdMaskTab[]={0x0001,0x0002,0x0004,0x000200,0x0400,0x0800,0x1000,0x2000,0x4000,0x8000};/***************************************向LCD定坐标写入一个象素象颜色有两种,0代白(无显示代黑(有显示)****************************************/voidLcd_PutPixel(unsignedx,unsignedy,unsignedColor){unsignedcharz,w;unsignedintTemp;return;w=15-x%16;//确对这个字的第多少位进行操作x=x/16;//确定一行上的第几字if(y<32)//如果为上页//则如果为下页

Lcd_WriteCmd(0x36);Lcd_WriteCmd(y+0x80);//行地址Lcd_WriteCmd(x+z);//地址Temp=Lcd_ReadData();//先读一次再出高8位Temp|=(unsignedint)Lcd_ReadData();//再读出低位if(Color==1)//果写入颜色为在处查表实现加速//果写入颜色为在此处查表实现加速Lcd_WriteCmd(y+0x80);//行地址Lcd_WriteCmd(x+z);//地址Lcd_WriteData(Temp>>8);//先写入高位,再写入低位Lcd_WriteData(Temp&0x00ff);Lcd_WriteCmd(0x30);}/*****************************************清除Lcd屏,如果清除模式Mode为0则为全屏清除为颜色0无任何显示)否则为全屏清除为颜色1(全屏填充显示)******************************************/voidLcd_Clear(unsigned{unsignedcharunsignedcharTemp;if(Mode%2==0)Temp=0x00;1

Lcd_WriteCmd(0x36);//充指令绘图显示for(y=0;y<0x20;y++)for(x=0;x<8;x++){Lcd_WriteCmd(y+0x80);//地址//列地址Lcd_WriteData(Temp);//写数据-D8Lcd_WriteData(Temp);//写数据D7-}Lcd_WriteCmd(0x30);}/****************************************LCD初始化*****************************************/void{//Lcd_WriteCmd(0x30);//选择基本指令集//开显示(无游标、不反)Lcd_WriteCmd(0x01);//清除显示,并且设定地址指针为Lcd_WriteCmd(0x06);//指定在资料的读取及写入时定标移动方向及指定显示的移位}//////////////////////////////////////void{

ADC_CONTR=0xef;}voidinterruptusing1{ADC_CONTR=0xef;{temp=delnop;while(temp){temp--;}{over=1;}}}//////////////////////////////////////voidx,unsignedy){}voidx,unsignedy){

}voidx,unsignedy){}voidx,unsignedy){}voidx,unsignedy){}voidx,unsignedy)15

{}disp_p(unsignedcharx,unsignedchary){}x,unsignedy){}voidx,unsignedy){1

}voidcharx,unsignedy){}voidchary){}voidstarx,unsignedstary,unsignedendx,unsigned{

x=0;y=0;for(x=starx;x<endx;x++){for(y=stary;y<endy;y++){Lcd_PutPixel(x,y,0);}}}voiddisp_bj(void){unsignedcharunsignedchar{Lcd_PutPixel(x,52,1);}{Lcd_PutPixel(13,y,1);}{Lcd_PutPixel(114,y,1);}Lcd_PutPixel(13,1,0);Lcd_PutPixel(114,51,0);Lcd_PutPixel(114,41,0);Lcd_PutPixel(114,31,0);Lcd_PutPixel(114,21,0);Lcd_PutPixel(114,11,0);

disp_k(93,58);}x1,unsignedchar{inti,dx,dy,e,x,y;Lcd_PutPixel(x0,y0,1);Lcd_PutPixel(x1,y1,1);dx=x1-x0;dy=y1-y0;x=x0;y=y0;if(dx>0&&dy>0){if(dx>dy){e=-dx;for(i=0;i<dx;i++){Lcd_PutPixel(x,y,1);x++;e=e+2*dy;if(e>=0){

1

y++;}}}{e=-dy;x=x0;y=y0;for(i=0;i<dy;i++){Lcd_PutPixel(x,y,1);y++;e=e+2*dx;if(e>=0){x++;}}}}if(dx<0&&dy<0){dx=x0-x1;dy=y0-y1;if(dx>dy){e=-dx;for(i=0;i<dx;i++){Lcd_PutPixel(x,y,1);x--;e=e+2*dy;if(e>=0){y--;}}}{

e=-dy;for(i=0;i<dy;i++){Lcd_PutPixel(x,y,1);y--;e=e+2*dx;if(e>=0){x--;}}}}if(dx>0&&dy<0){dy=y0-y1;if(dx>dy){e=-dx;for(i=0;i<dx;i++){Lcd_PutPixel(x,y,1);x++;e=e+2*dy;if(e>=0){y--;}}}{e=-dy;for(i=0;i<dy;i++){Lcd_PutPixel(x,y,1);y--;e=e+2*dx;if(e>=0){x++;1

}}}}if(dx<0&&dy>0){dx=x0-x1;if(dx>dy){e=-dx;for(i=0;i<dx;i++){Lcd_PutPixel(x,y,1);x--;e=e+2*dy;if(e>=0){y++;}}}{e=-dy;for(i=0;i<dy;i++){Lcd_PutPixel(x,y,1);y++;e=e+2*dx;if(e>=0){x--;}}}}{if(dx>0){for(i=0;i<dx;i++){

Lcd_PutPixel(x,y,1);x++;}}{dx=x0-x1;for(i=0;i<dx;i++){Lcd_PutPixel(x,y,1);x--;}}}{if(dy>0){for(i=0;i<dy;i++){Lcd_PutPixel(x,y,1);y++;}}{dy=y0-y1;for(i=0;i<dy;i++){Lcd_PutPixel(x,y,1);y--;}}}}disp_ware(){unsignedcharunsignedcharclr(14,0,15,52);{1

line(x+13,51-(dat1[x-1]/5),x+13,51-(dat1[x]/5));}}//////////////////////////////////////main(){unsignedintc02=0;unsignedcharn,m,ma,mi;Lcd_Reset();disp_bj();EA=1;{{if(caiji==0)//断是否按下键盘{delay(10);延时,件去干扰if(caiji==0)//认按键按下{}while(caiji==0);//按键锁定每按一次count只}x24c08_init();for(c02=0;c02

温馨提示

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

评论

0/150

提交评论