课程设计报告课程名称:课程设计题目:PCF8591产生小信号1摘要本文主要介绍利用PCF8591芯片DA转换产生小信号(100毫伏以内),然后经LM358放大滤波,最后再用ADC0809芯片AD转换将放大后信号用单片机显示。DA产生的小信号可用来模拟霍尔线性传感器产生的小信号。即本设计可用来模拟磁场检测关键词:PCF8591、小信号、放大滤波、ADC0809。2目录一、绪论.......................................................................................................................31.1课题概述............................................................................................错误!未定义书签。1.2磁场检测系统发展概况....................................................................................................31.3课题研究的目的和意义....................................................................................................3二、系统设计...............................................................................................................42.1设计任务............................................................................................................................42.2系统设计思路....................................................................................................................42.3系统设计框图....................................................................................................................4三、硬件设计...............................................................................................................53.1DA模块..............................................................................................................................53.2信号放大滤波模块............................................................................................................63.3AD模块..............................................................................................................................63.4主单片机STC89C52部分................................................................................................73.5按键模块............................................................................................................................83.6显示模块............................................................................................................................83.7报警模块............................................................................................................................93.8整体电路............................................................................................................................9四、软件设计.............................................................................................................10五、系统仿真与调试.................................................................................................115.1PROTEUS仿真...................................................................................................................115.2硬件调试..........................................................................................................................12六、设计总结与心得体会.........................................................................................13七、参考文献.............................................................................................................14附录一源程序...........................................................................................................153一、绪论1.2磁场检测系统发展概况最早的磁场探测器已有2000多年的历史,通过感应地球磁场辨识方向或为舰船导航。随着现代科技的进步,磁场传感器的应用越来越广泛,磁场传感技术向着高灵敏度、高分辨率、小型化以及和电子设备兼容的方向发展。文献[1~4]等传感器专著对各类传感器进行了论述,但关于磁场传感器的篇幅不多,介绍不全面。本文在广泛查阅国内外文献的基础上,对磁场传感器进行了系统总结。从应用的观点出发,根据磁场感应范围将磁场传感器分为三类:低强度磁场、中强度磁场及高强度磁场传感器[5]。低强度磁场传感器通常检测1μG以下的磁场;中强度磁场传感器通常检测1μG~10G磁场;高强度磁场传感器检测范围通常在10G以上。1.3课题研究的目的和意义磁场强度是工业检测的重要手段,利用检测磁场强度检测转速,利用磁场处理水研究,利用检测磁场降低人类血液黏度等。磁场已经应用于各行各业中,所以其强度的检测也显得很有市场。本设计原理可将微弱的磁场变化信号放大,并让显示发生变化,变化的电压对应磁场强度的变化值。通过制作本课程设计,也让自己更加灵活的运用单片机以及信号处理方面的知识,理论与实际紧密结合,增强对理论的分析能力。本课题基于单片机的磁场强度检测系统设计,系统维护简单,工作应用简单。因此,本课题是非常有意义的。4二、系统设计2.1设计任务1、用DXP软件画出系统原理图;2、将原理图导入PCB,制作PCB板3、编写简单程序,对焊完的板子进行简单调试,检查数码管、蜂鸣器等处是否有问题,以及检查整体电路是否缺失、短接;4、编写程序,实现模拟信号的产生,信号滤波,信号放大,信号AD转换处理等功能。5、将程序烧进单片机,对实物进行调试,最后完善功能。2.2系统设计思路充分设计利用STC89C52的40个引脚,节省其他硬件的使用,主要实现以下功能:1.当系统上电时,数码管显示的是模拟信号经放大后的电压值。2.通过按键可改变(增加或减少)产生模拟信号的大小。3.长按按键1可显示增加的磁场强度单位个数。4.长按按键2可让模拟信号产生变化的锯齿波。5.对模拟信号进行放大,数码管实时显示。2.3系统设计框图图1系统设计框图5三、硬件设计系统硬件分为7个模块:1、主单片机STC89C52部分,主控制芯片。2、DA转换部分采用的是PCF8591芯片,输出信号为小信号(单个变化6MV多一点,整体变化60MV)变化。3、信号放大模块采用LM358运放芯片。4、AD转换采用ADC0809芯片。5、按键采用四脚轻触开关。6、显示模块采用四位共阴数码管。7、报警模块采用5V有源蜂鸣器。3.1DA模块此模块采用的是PCF8591芯片来实现,原理如下图2所示:图2DA转换模块PCF8591是具有I2C总线接口的8位A/D及D/A转换器。有4路A/D转换输入,1路D/A模拟输出。这就是说,它既可以作A/D转换也可以作D/A转换。A/D转换为逐次比较型。引脚图如图2所示。电源电压典型值为5V。AIN0~AIN3:模拟信号输入端。A0~A3:引脚地址端。VDD、VSS:电源端。(2.5~6V)SDA、SCL:I2C总线的数据线、时钟线。OSC:外部时钟输入端,内部时钟输出端。EXT:内部、外部时钟选择线,使用内部时钟时EXT接地。AGND:模拟信号地。AOUT:D/A转换输出端。VREF:基准电源端。此模块需要说明的是在PCF8591的VREF引脚接了一个10K的滑动变阻器,其目的是用来改变其基准电压,从而提高其DA输出的信号的最小分辨率。其中AOUT引脚输出产6生的模拟信号,接一了一个10UF电容用来滤除其中的噪声信号,电容容值的选取根据信号频率的大小,本设计产生连续自动变化的模拟小信号时其频率大约为10HZ,因此,其叠加在上面的噪声会比10HZ要高,根据经验因此选用了10UF电容。3.2信号放大滤波模块此模块采用LM358芯片构成二阶低通滤波电路实现,其原理如下图3所示:图3信号放大滤波模块此二阶低通滤波电路中的电阻与电容值根据信号频率选取,具体内容此处不详述。下面三个排针引出的分别为模拟的最初小信号输出,一级放大后的输出,二级放大后的输出。第一级放大倍数为2.5倍,这是因为考虑到二阶低通滤波器增益在2.5倍效果较好,一般不能超过3倍,第二级放大电路放大41倍,所以总的放大倍数为2.5*41=102倍。其中OUT2输出端接了一个电阻和发光二极管,当DA输出自动变化的小信号经放大后,其灯将闪烁。3.3AD模块此模块采用的是ADC0809芯片实现,具体原理如下图4所示