序
毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。
为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天要分享的是:基于51单片机肺活量测量仪的设计
1 主要器件功能说明
本课题中所用的到主要器件有,89S52单片机, MAX232串口通信芯片,AD620,气体压力传感器ATP015G。
1.1 AT89S52单片机
AT89S52是美国ATMEL公司生产的低功耗,高性能CMOS 8位单片机,片内含4K bytes的可遍程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统引脚。它集Flash程序存储器既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中,ATMEL公司的功能强大,低价位AT89S51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。
主要性能参数:
·与MSC-51产品指令系统完全兼容
·8K字节在系统编程(ISP)Flash闪速存储器
·1000次擦写周期
·全静态操作:0HZ-24MHZ
·三级加密程序存储器
·256*8字节内部RAM
·32个可编程I/O口线
·3个16位定时/计数器
·8个中断源
·可编程串行UART通道
·低功耗空闲和掉电模式
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
1.2 MAX232串行通信芯片
主要特点:
1、单5V电源工作
2、 LinBiCMOSTM工艺技术
3、 两个驱动器及两个接收器
4、 ±30V输入电平
5、低电源电流:典型值是8mA
6、符合甚至优于ANSI标准 EIA/TIA-232-E及ITU推荐标准V.28
7、ESD保护大于MIL-STD-883(方 法3015)标准的2000V
1.3AD620
图2.5仪表放大电路是由3个放大器所共同组成,其中的电阻R与RX需在放大器的电阻使用范围内(1K-10K)。籍由固定的电阻R,我们可以调整RX来调整放大的增益值,其关系式为V0=(1+2R/RX)(V1-V2),唯需注意避免每个放大器的饱和现象(放大器最大输出为其工作电压±Vdc)。
图1.5
一般而言,上述仪表放大器都有包装好的成品可以买到,我们只需要外接一电阻(即RX),依照其特有的关系式去调整至所需的放大倍率即可。
图2.6所示为AD620仪表放大器的脚位图。其中1、8脚要跨接一电阻来调整放大倍率(作用同RX),4、7接脚需提供正负相等的工作电压,由2、3接脚输入的放大的电压即可从接脚6输出放大后的电压值。接脚5则是参考基准,如果接地则接脚6的输出即为与地之间的相对电压。
图1.6
1.5.4 气体压力传感器ATP015G
参数 |
数值 |
单位 |
注释 |
总体 |
|||
压力范围 |
15 |
Psi |
标准规格压力 |
最大超压 |
3X |
额定压力 |
|
电气@25℃(77℉) 除非有其他规定 |
|||
激励 |
5 |
VDC |
|
输入阻抗 |
4~6 |
K |
|
输出阻抗 |
4~6 |
K |
|
适用环境 |
|||
工作温度范围 |
-20~+100 |
℃ |
-4℉~+212℉ |
储存温度范围 |
-40~+125 |
℃ |
-40℉~+257℉ |
机械特性 |
|||
介质兼容性 |
干净,干燥,无腐蚀性气体 |
||
性能 |
|||
零漂 |
±30 |
mv |
|
范围 |
70±20 |
mv |
|
桥阻 |
4~6 |
K |
|
线性度 |
±0.3 |
%span |
2 |
迟滞 |
±0.5 |
%span |
|
零漂温度系数 |
-0.08 ~ 0.8 |
%span/℃ |
|
温度系数范围 |
-0.1~ -0.3 |
%span/℃ |
|
注释:1.所有这些最小或最大值都是在5V和25℃的情况下。除非有其他规定。 2.最佳线性度。 3.在-20℃和100℃。温度系数为典型值。 |
表1.1
ATP015G内部结构图如下:
图1.7
图2.7中1脚与3、4脚分别接激励电压(+5V)的正端和负端,2脚与5脚分别是输出电压的正端与负端。整体为全桥差动电路,使输出电压的灵敏度比单臂电桥提高了四倍。并且消除了非线性误差,同时仍然具有温度补偿作用。
2硬件原理与设计
2.1 输入部分电路
图2.1
图2.1为整个电路的输入部分,传感器的输出正负端分别接图中A620的3脚与2脚,由于传感器的输出较小(被测量者吹气时,电压变化大概为15mv左右)电阻R401为100欧将输入电压放大(电压放大倍数由公式G=49.4K/R+1算出)。图中电容C401实现滤波功能。
2.2 A/D转换部分电路
图2.2
传感器的输出经过上面的输入电路部分最后与TLC549的2脚连接,实现A/D转换。图中TLC431为TLC549提供一个稳定的基准电压与TLC549的1脚相连,这样就算VCC(+5V)有所波动也不会对转换结果造成影响。基准电压的值可由R002进行调节。A/D转换的结果经由TLC549的6脚与单片机的P2.2口相连,将转换的结果送入单片机。
2.3液晶显示电路
图2.3
2.4串口通信部分电路
图2.4
2.5电源部分电路
图2.5
在电源部分,由LM7805CT提供一个稳定的5V电压,并接入电容C303、C304、C305、C306滤波。
2.6电路布线,调试及故障分析
本系统原理图和PCB图布线均用Protel99 SE软件完成。电路板(PCB)是电子产品电路中元件和器件的连接件,它提供了电路元件和器件之间的电气连接。PCB设计的好坏对抗干扰能力影响很大。因此,在进行PCB设计时。必须遵守PCB设计的一般原则,并应符合抗干扰设计的要求。
2.6.1 PCB设计一般步骤
一般PCB基本设计流程如下:
前期准备→PCB结构设计→PCB布局→布线→布线优化和丝印→网络和DRC检查和结构检查→制版。
第一、前期准备。
这包括准备元件库和原理图。“工欲善其事,必先利其器”,要做出一块好的板子,除了要设计好原理之外,还要画得好。在进行PCB设计之前,首先要准备好原理图SCH的元件库和PCB的元件库。元件库可以用Protel自带的库,但一般情况下很难找到合适的,最好是自己根据所选器件的标准尺寸资料自己做元件库。原则上先做PCB的元件库,再做SCH的元件库。PCB的元件库要求较高,它直接影响板子的安装;SCH的元件库要求相对比较松,只要注意定义好管脚属性和与PCB元件的对应关系就行。注意标准库中的隐藏管脚,之后就是原理图的设计,做好后就准备开始做PCB设计了。
第二、PCB结构设计。
这一步根据已经确定的电路板尺寸和各项机械定位,在PCB 设计环境下绘制PCB板面,并按定位要求放置所需的接插件、按键/开关、螺丝孔、装配孔等等。并充分考虑和确定布线区域和非布线区域(如螺丝孔周围多大范围属于非布线区域)。
第三、PCB布局。
布局就是在板子上放器件。这时如果前面讲到的准备工作都做好的话,就可以在原理图上生成网络表(Design->Create Netlist),之后在PCB图上导入网络表(Design->Load Nets),各管脚之间还有飞线提示连接,然后就可以对器件布局了。
一般布局按如下原则进行:
(1).按电气性能合理分区,一般分为:数字电路区(即怕干扰、又产生干扰)、模拟电路区(怕干扰)、功率驱动区(干扰源);
(2).完成同一功能的电路,应尽量靠近放置,并调整各元器件以保证连线最为简洁;同时,调整各功能块间的相对位置使功能块间的连线最简洁;
(3).对于质量大的元器件应考虑安装位置和安装强度;发热元件应与温度敏感元件分开放置,必要时还应考虑热对流措施;
(4).I/O驱动器件尽量靠近印刷板的边、靠近引出接插件;
(5).时钟产生器(如:晶振或钟振)要尽量靠近用到该时钟的器件;
(6).在每个集成电路的电源输入脚和地之间,需加一个去耦电容(一般采用高频性能好的独石电容);电路板空间较密时,也可在几个集成电路周围加一个钽电容。
(7).继电器线圈处要加放电二极管(1N4148即可);
(8).布局要求要均衡,疏密有序,不能头重脚轻或一头沉
需要特别注意,在放置元器件时,一定要考虑元器件的实际尺寸大小(所占面积和高度)、元器件之间的相对位置,以保证电路板的电气性能和生产安装的可行性和便利性同时,应该在保证上面原则能够体现的前提下,适当修改器件的摆放,使之整齐美观,如同样的器件要摆放整齐、方向一致,不能摆得“错落有致”。这个步骤关系到板子整体形象和下一步布线的难易程度,所以一点要花大力气去考虑。布局时,对不太肯定的地方可以先作初步布线,充分考虑。
第四、布线。
布线是整个PCB设计中最重要的工序。这将直接影响着PCB板的性能好坏。在PCB的设计过程中,布线一般有这么三种境界的划分:首先是布通,这时PCB设计时的最基本的要求。如果线路都没布通,搞得到处是飞线,那将是一块不合格的板子,可以说还没入门。其次是电器性能的满足。这是衡量一块印刷电路板是否合格的标准。这是在布通之后,认真调整布线,使其能达到最佳的电器性能。接着是美观。假如你的布线布通了,也没有什么影响电器性能的地方,但是一眼看过去杂乱无章的,加上五彩缤纷、花花绿绿的,那就算你的电器性能怎么好,在别人眼里还是垃圾一块。这样给测试和维修带来极大的不便。布线要整齐划一,不能纵横交错毫无章法。这些都要在保证电器性能和满足其他个别要求的情况下实现,否则就是舍本逐末了。
布线时主要按以下原则进行:
(1).一般情况下,首先应对电源线和地线进行布线,以保证电路板的电气性能。在条件允许的范围内,尽量加宽电源、地线宽度,最好是地线比电源线宽,它们的关系是:地线>电源线>信号线,通常信号线宽为:0.2~0.3mm,最细宽度可达0.05~0.07mm,电源线一般为1.2~2.5mm。对数字电路的PCB可用宽的地导线组成一个回路, 即构成一个地网来使用(模拟电路的地则不能这样使用)
(2).预先对要求比较严格的线(如高频线)进行布线,输入端与输出端的边线应避免相邻平行,以免产生反射干扰。必要时应加地线隔离,两相邻层的布线要互相垂直,平行容易产生寄生耦合。
(3).振荡器外壳接地,时钟线要尽量短,且不能引得到处都是。时钟振荡电路下面、特殊高速逻辑电路部分要加大地的面积,而不应该走其它信号线,以使周围电场趋近于零;
(4).尽可能采用45º的折线布线,不可使用90º折线,以减小高频信号的辐射;(要求高的线还要用双弧线)
(5).任何信号线都不要形成环路,如不可避免,环路应尽量小;信号线的过孔要尽量少;
(6).关键的线尽量短而粗,并在两边加上保护地。
(7).通过扁平电缆传送敏感信号和噪声场带信号时,要用“地线-信号-地线”的方式引出。
(8).关键信号应预留测试点,以方便生产和维修检测用
(9).原理图布线完成后,应对布线进行优化;同时,经初步网络检查和DRC检查无误后,对未布线区域进行地线填充,用大面积铜层作地线用,在印制板上把没被用上的地方都与地相连接作为地线用。或是做成多层板,电源,地线各占用一层。
(10).在进行布PCB板的时候,晶振要紧紧的靠在单片机的旁边,如果离的太远,则晶振不能起振。
第五:布线优化和丝印。
一般设计的经验是:优化布线的时间是初次布线的时间的两倍。感觉没什么地方需要修改之后,就可以铺铜了(Place->polygon Plane)。铺铜一般铺地线(注意模拟地和数字地的分离),多层板时还可能需要铺电源。时对于丝印,要注意不能被器件挡住或被过孔和焊盘去掉。同时,设计时正视元件面,底层的字应做镜像处理,以免混淆层面。
第六:网络和DRC检查和结构检查。
首先,在确定电路原理图设计无误的前提下,将所生成的PCB网络文件与原理图网络文件进行物理连接关系的网络检查(NETCHECK),并根据输出文件结果及时对设计进行修正,以保证布线连接关系的正确性;
网络检查正确通过后,对PCB设计进行DRC检查,并根据输出文件结果及时对设计进行修正,以保证PCB布线的电气性能。最后需进一步对PCB的机械安装结构进行检查和确认。
第七:制版。
2.6.2 PCB布线工艺要求
(1). 线
一般情况下,信号线宽为0.3mm(12mil),电源线宽为0.77mm(30mil)或1.27mm(50mil);线与线之间和线与焊盘之间的距离大于等于0.33mm(13mil),实际应用中,条件允许时应考虑加大距离;
布线密度较高时,可考虑(但不建议)采用IC脚间走两根线,线的宽度为0.254mm(10mil),线间距不小于0.254mm(10mil)。特殊情况下,当器件管脚较密,宽度较窄时,可按适当减小线宽和线间距。
(2). 焊盘(PAD)
焊盘(PAD)与过渡孔(VIA)的基本要求是:盘的直径比孔的直径要大于0.6mm;例如,通用插脚式电阻、电容和集成电路等,采用盘/孔尺寸1.6mm/0.8mm(63mil/32mil),插座、插针和二极管1N4007等,采用1.8mm/1.0mm(71mil/39mil)。实际应用中,应根据实际元件的尺寸来定,有条件时,可适当加大焊盘尺寸;
PCB板上设计的元件安装孔径应比元件管脚的实际尺寸大0.2~0.4mm左右。
(3).过孔(VIA)
一般为1.27mm/0.7mm(50mil/28mil);
当布线密度较高时,过孔尺寸可适当减小,但不宜过小,可考虑采用1.0mm/0.6mm(40mil/24mil)。
(4).焊盘、线、过孔的间距要求
PAD and VIA :≥0.3mm(12mil)
PAD and PAD :≥0.3mm(12mil)
PAD and TRACK :≥0.3mm(12mil)
TRACK and TRACK :≥0.3mm(12mil)
密度较高时:
PAD and VIA :≥0.254mm(10mil)
PAD and PAD :≥0.254mm(10mil)
PAD and TRACK :≥ 0.254mm(10mil)
TRACK and TRACK :≥ 0.254mm(10mil)
2.6.3电路的调试及故障分析
电路板做好之后用万用表对PCB上所敷铜线和元件的管脚进行测试,检测导线与导线之间、导线与管脚间和相邻的管脚之间是否短路,单根导线是否发生断路以及元件的管脚和焊盘间是否有虚焊现象,确保硬件电路的正确。
按照硬件电路要实现的功能逐一连通电路的电源,首先是稳压电源部分,在接通电源之前,要把滑动变阻器调到合适的阻值,主要保护电路突然受大电压或者电流的冲击,以至损坏电路。通电后要先用万用表测出关键点的实际电压,比如输入点,和各芯片引脚的电压。满足要求后再逐一安装芯片。
如果学弟学妹们在毕设方面有任何问题,随时可以私信我咨询哦,有问必答!学长专注于单片机相关的知识,可以解决单片机设计、嵌入式系统、编程和硬件等方面的难题。
愿毕业生有力,陪迷茫着前行!