目录摘要...................................................................................................................................................IAbstract............................................................................................................................................II1.设计原理.......................................................................................................................................11.1信号搜集模块....................................................................................................................11.2A/D转换模块....................................................................................................................21.3控制模块...........................................................................................................................31.4显示模块...........................................................................................................................42.总设计图.......................................................................................................................................53.源程序...........................................................................................................................................63.1主程序...............................................................................................................................63.2A/D转换程序....................................................................................................................83.3LCD显示程序....................................................................................................................94.仿真结果.....................................................................................................................................125.心得体会.....................................................................................................................................14参考文献.........................................................................................................................................15武汉理工大学《单片机原理与应用》课程设计说明书I摘要在描述正弦波的时候,一般从三个方面进行描述,即频率,相位,最大值,在测量的时候一般测量的是正弦波的瞬时值,一般可以通过有效值与最大值之间的关系得到有效值。有效值在生活中广泛被使用,原因在于有效值直接反映了交流信号的能量大小,同时,由于可叠加的性质,计算起来十分便捷,对于功率、噪声、能量转换的研究是很有帮助的。本次课程设计,要求对于输入固定频率不同幅度的正弦波的有效值进行测量,并且最示出来。根据要求,我们这次设计,以AT89C52作为控制系统,TLC549芯片为A/D转换模块,TM032L作为LCD显示。通过相关的程序控制,配合设置的开关从而将输入的正弦波的有效值在显示屏上面显示出来,实现实验要求。关键词:正弦波、有效值、A/D转换、AT89C52武汉理工大学《单片机原理与应用》课程设计说明书IIIAbstractInthedescriptionofthesinewave,typicallyfromthreeaspects,namely,frequency,phase,maximumvalue,whenmeasuringthegeneralmeasurementistheinstantaneousvalueofthesinewave,cangenerallythroughtherelationshipbetweentheeffectivevalueandthemaximumeffectivevalue.RMSwidelybeusedinourdailylife,thereasonliesintheeffectivevaluedirectlyreflectsthesizeoftheenergyoftheacsignal,atthesametime,duetothenaturecanbestacked,convenienttocalculate,forpower,noise,energyconversionresearchisveryhelpful.Thecurriculumdesign,therequirementfortheinputoffixedfrequencymeasuredifferentamplitudeoftheeffectivevalueofsinewave,andthemostinthem.Accordingtotherequirements,wedesignthistime,withAT89C52asthecontrolsystemofeightbitschipasA/Dconversionmodule,TM032LasLCDdisplay.Throughrelevantprogramcontrol,cooperatetosettheswitchtotheinputoftheeffectivevalueofsinewavedisplayedonthescreenabove,realizeexperimentrequirement.Keyword:sinewave、virtualvalue、A/Dconversion、AT89C52武汉理工大学《单片机原理与应用》课程设计说明书11.设计原理输入的正弦波由于是模拟信号,不能直接读出瞬时值,需要在信号采集之后经过A/D转换成数字信号才能够在单片机中被读取出来,这样就可以比较方便的得到结果。对于有效值的测量,一般上来说有以下几种常用的方法:1)采用二极管整流电路,再通过峰值检波电路测得峰值,然后根据波形因数求得相应的有效值;2)利用单片机控制A/D对一个周期内的信号进行连续多点采样,然后在软件中根据有效值计算公式求均方根就可得到有效值;3)采用专用有效值检测芯片如AD736直接将交流信号转换直流有效值信号。这三种方法,方案1硬件电路较复杂,且能测得的波形有限,对不同的波形还需根据其波形因数采取不同的换算关系。方案2软件计算,编程难度不大,而方案3软硬件都较简单,但是资金投入比较大,因此,综合以上考虑,我们选区的方案与方案2相似,加以了一点改进。设计上分为四个模块:信号搜集模块、A/D转换模块、控制模块、LCD显示模块,以下是各个模块的详细介绍。1.1信号搜集模块对于我们做的设计而言,信号搜集模块采用的是三组串并联的电阻进行分压,从而让输出的电压小于5V,这样做的原因是我们选区的A/D转换所使用的芯片为TLC549,该芯片的电压不能高于6V,因此对于输入的电压要进行相应的处理。图1信号采集图武汉理工大学《单片机原理与应用》课程设计说明书2设置三组开关,分别为0~5V、5~10V、10~15V,当仿真的时候,输入相应区间的幅度便要将开关拨到相应的位置上,以便能够将电压降低转换芯片的安全电压范围之内,在后面的电路中在进行相应的放大就可以将电压值还原了。当电压值小于5V的时候,连接到第一个开关上面,直接输出至TLC549的输入端;当电压值在5~10V的时候,接到第二个开关上面,通过分压了之后,输出R4两端的电压,起到了降压的目的(电压减半);当电压值在10~15V的时候,连接到第三个开关,分压之后,电压值降到了原来的三分之一,仍就满足了转换芯片的电压要求。1.2A/D转换模块该模块的主要作用是将输入的模拟信号转换成可检测的数字信号,作为单片机的输入信号,当然,该信号的数值已经在芯片的安全电压之下了。图2TLC549引脚图TLC549是8位串行A/D转换芯片,通过三线与处理器进行串行串口,具有4MHz片内系统时钟和软、硬件控制电路,转换时间最长17μs,最高转换速率为4000次/s。VCC最大为6V,REF+:正基准电压输入2.5V≤REF+≤Vcc+0.1,REF-:负基准电压输入端,-0.1V≤REF-≤2.5V,且要求:(REF+)-(REF-)≥1V,GND:接地端。/CS:芯片选择输入端,要求输入高电平VIN≥2V,输入低电平VIN≤0.8V。DATAOUT:转换结果数据串行输出端,与TTL电平兼容,输出时高位在前,低位在后。ANALOGIN:模拟信号输入端,0≤ANALOGIN≤Vcc,当ANALOGIN≥REF+电压时,转换结果为全“1”(0FFH),ANALOGIN≤REF-电压时,转换结果为全“0”(00H)。I/OCLOCK:外接输入/输出时钟输入端,同于同步芯片的输入武汉理工大学《单片机原理与应用》课程设计说明书3输出操作,无需与芯片内部系统时钟同步。在一个周期内采样的时候,通过比较每个采样值的大小,从而得到的是最大的采样值就是我们要的最大值,通过后续计算就可以得到并且还原有效值。1.3控制模块图3AT89C52芯片引脚图采用的是TC89C52芯片,与51结构相似,XTAL1(19脚)和XTAL2(18脚)为振荡器输入输出端口,外接12MHz晶振。RST/Vpd(9脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40脚)和VSS(20脚)为供电端口,分别接+5V电源的正负端。P0~P3为可编程通用I/O脚,其功能用途由软件定义,在本设计中,P