毕业论文参考模板

分类号 ___________ 单位代码10642

密级公开学号___________________

逝麼$兔学IX

学士学位论文

论文题目:XXX的设计

论文作者:xxx

指导教师:xxx教授/副教授/讲师专业:机械工程及自

动化

提交论文日期:2015年xx月xx日

论文答辩日期:2015年xx月xx日

学位授予单位:重庆文理学院

中国?重庆

二?一五年五月

Graduation Thesis of Chongqing University of Arts and Sciences

xxxx(英文题目)

Candidate: xxx

Supervisor: xxx

Major: Mechanical Engineering and

Automatio n

College of Mechanical and Electronic Engineering

Chongqing University of Arts and Sciences

May, 2015

2015届机械工程及自动化专业学士学位毕业论文(设计)目录

目录

摘要.......................................................................... I Abstract ................................................................ II 0引言 (1)

1 液位自动控制系统方案 (1)

1.1简单的机械控制方式 (1)

1.2复杂的控制系统控制方式 (1)

2液位自动控制系统原理 (1)

2.1液位控制系统的组成 (1)

2.2工作原理 (2)

3液位自动控制硬件设计 (2)

3.1单片机 (2)

3.2复位电路和晶振电路 (3)

3.3传感器 (4)

3.4液晶显示 (4)

3.5A/D转换器 (5)

3.6按键电路 (5)

3.9继电器控制电路 (6)

4液位自动控制软件设计 (6)

4.1系统主程序设计 (6)

4.2 A/D转换程序 (7)

5结果与总结 (8)

5.1仿真结果 (8)

5.2实物制作结果 (8)

5.3总结 (9)

参考文献 (10)

致谢 (11)

附录 (12)

2015届机械工程及自动化专业学士学位毕业论文(设计)中文摘要

摘要

在我们生活和生产中对液位的控制有着广泛的运用。比如民用的蓄水池的供水,如果水位过低过高,都会影响到我们的用水。因此我们需要设计何适的控制器自动调整起进水的流量,使其保持正常的液位。本文主要是设计一种液位自动控制系统,它是以AT89S52作为控制器,通过89S52单

片机、压力传感器、ADC0832模数转换器和液晶显示器等硬件系统和软件设计的方法,实现液位的自动控制。具有检测报警和控制的功能,而且可以对液位进行显示。本设计用单片机控制继电器的动作,实现进水电机的启动和停止。该系统操作方便,而且结构简单、造价低、程序容易调试等优点。

关键词:单片机;液位控制;显示;模数转换

I

2015届机械工程及自动化专业学士学位毕业论文(设计)中文摘要

Abstract

In our life and producti on of liquid level con trol is widely used. Civil water supply of reservoir, for example, if the low water level is too high, will affect our water. He Shi so we need to design the controller automatically adjust the water flow, to keep its normal level. This paper is to design a kind of liquid level automatic control system, it was based on the AT89S52 as the controller, through the 89 s52 microcontroller, pressure sen sor, con verter ADC0832 modulus and liquid crystal displays and other hardware system and software design method, realize the liquid level automatic control. Have detection alarm and control functions, and can be carried out on the liquid level display. This design with the single chip microcomputer control relay action, realize the motor start and stop the water. The system is easy to operate, and has simple structure, low cost, easy program debugg ing, etc.

Key words: single chip microcomputer ;Liquid level control ;Display ;Analog-to-digital con vers ion

2015届机械工程及自动化专业学士学位毕业论文(设计)

0引言

随着现在科学技术的发展,单片机控制的智能控制和传感器技术在生活中广泛的应用,人们将其应运用到液位的控制上。液位控制系统是以液位为被控参数的控制系统。通过压力传感器检测液位高度,在通过单片机控制水位高度,具有体积小,实际运用广泛、简单,成本低,整个系统不容易被干扰,可靠性能高,具有比较高的性价比。

1液位自动控制系统方案

现在对液位的控制方法有许多种,比较常用的主要有两种方法,一种方法是比较简单的机械控制

方式,另一种方法是比较复杂的控制系统控制方式。

1.1简单的机械控制方式

简单的机械控制方式其表现形式有浮标式、电极式等,这种控制方式具有的优点是结构简单,制作的价格低。但是简单的机械控制受到的限制很大,比如电极式需要的前提就是液体导电却不能被电引燃,这就表明只能对单个溶液进行控制。这种控制方式的精度也不高,不可显示液位当前高度的数值,很容易受到各个方面的干扰,并且要实现液位的自动控制就需要人机交换性高,但这种方式却很难实现人机交互。

1.2复杂的控制系统控制方式

复杂的控制系统控制是应用传感器技术检测液位的高度,把检测到的模拟信号放大,经过A/D 转换器变换成数字信号送给单片机,由单片机处理后,用单片机的输出电平控制继电器的工作,以此来实现进水电机是否进水,达到对水位的控制。

根据本设计的要求,选取第二种控制方式实现。最后确定的方案是以单片机为控制核心,设计一个水箱的液位自动控制系统。液位高度是会变化的,所以要求随时检测水位高度和设定值进行比较,用单片机控制继电器的开断实现液位高度的调整。液位检测是通过压力传感器实现对液位高度检测。系统设定了上限高度和下限高度,当液位高度上升到上限高度设定值,系统报警,单片机控制继电器停止,控制电机停止加水,如果检测到液位低于下限高度设定值,系统报警,单片机控制继电器开启,控制电机加水。且本系统在检测时用液晶显示器显示当前液位高度,从而实现对水箱的液位自动控制。

2液位自动控制系统原理

2.1液位控制系统的组成

液位自动控制系统是由单片机AT89S52芯片为核心、压力传感器、A/D转换器、液晶显示器、

按键电路、继电器等几部分组成。采用单片机作为系统控制器的处理器,其中把压力传感器传送来的电压信号经过

A/D转换器转换后传送给单片机,然后用单片机去控制继电器工作,启动、停止进水电机达到液位的自动控制控制。具体结构如图1所示。

2.2工作原理 在水箱的水位发生改变时,压力传感器会发生变化,压力传感器接收到的压力信号后,就把变 化量转换成了电压信号。这个信号经过运算放大后送到

A/D 转换器,A/D 转换器把这个模拟的电压 信号转换为数字信号量,将数字信号传送到单片机 AT89S52中进行数据的处理。处理后按照设定的

要求控制输出,同时液晶显示模块显示液位的高度,按键电路可以对液位的上限高度和下限高度进 行,液位在超过上限高度或者低于下限高度都会声光报警。

3液位自动控制硬件设计

液位自动控制系统的硬件主要包含了单片机、按键电路、液晶显示器、传感器、

A/D 转换器和

声光报警电路等。

3.1单片机 主要芯片采用的是双列 40引脚的AT89S52单片机,其引脚如图2所示。AT89S52单片机是一种 低功耗、高性能 CMOS 位微控制器,具有8K 在系统可编程Flash 存储器。

3.1.1 AT89S52 性能介绍

AT89S52是一种低功耗、高性能的CMOS8位微控制器,并且具有8K 在系统可编程Flash 存储器。 使用了 Atmel 公司的高密度非易失性存储器技术制造, 和80C51系列的单片机指令与引脚是完全兼容 的。片上Flash 可以使用在常规的编程器,也可以允许程序存储器在系统中编程。在单一的芯片上, 就拥8位CPU ,不用把芯片取下来,放在编程器上烧写程序,直接在应用的板子上烧定程序,这也 就是大多的嵌入式控制应用系统使用

AT89S52而灵活性提高的原因。

3.1.2 AT89S52 接口引脚介绍 电源引脚:电源正极VCC,负极GND 。复位引脚:REST 。时钟信号输入输出引脚:XTAL1;XTAL2

液位显示

模拟量

1 压力传感 」A/D 转换器 L 单片机

AT89S52

继电器 数字量

参数设 疋

按键电路

警 图1系统框图

变化量

外部ROM的读选引脚访问外部存储器控制引脚: PSEN (低电平有效)。地址锁存和ROM编程脉冲输入引脚:ALE/ PROG。

EA/VPP。P0 口可以当普通的I/O接口,也控制在系统外部扩展存储器

的时候,输出低8位的地址。P1 口一般用作普通I/O接口,也可以在系统外部扩展存储器的时候,

输出高8位的地址。P3 口在为普通I/O 口时,可以进行位操作,是双向端口。当系统需要扩展外部 器件时,P3 口也可以作为第二功能使用。

3.1.3 AT89S52 接口的使用

其中,P0 口接液晶显示器,显示当前液位高度和设定的液位上、下限值; P1 口接A/D 转换器

和声光报警电路 ;P2 口用于控制继电器;P3 口连接按键电路,用于设定液位的上、下限值。

图2 AT89S52单片机引脚图

3.2复位电路和晶振电路

单片机是无法独立完成数据处理的,我们需要在单片机外部添加复位电路和晶振电路组成最小 系统来辅助单片机工作。复位就是让单片机从程序的最初开始重新运行。晶振是为单片机提供时钟 的,单片机工作的最小时间计量单位就是由这个晶振决定。单片机与两者的连接入图

3所示。

图3最小系统

第3页共15页

PIO v( c Pll POO

PJ2 POI PJ3 P02 PJ4

P03

PJ5 P04 P16 P05 P17 P06 REST P07 P30 EA VPP P H ALL PltOCi P32 PSEN

P3J P27 PA4 P26 P35 P25 P36 P24 P37 P23 XTAL2 P22 XTALI P21 (iND P20

40

W

T LKI _严

cs 3 倒3 4 P14

5 £

7

pH ry : pJU

rJi 11

C32

12

D 卫34 14 仍

IS |

lb p37

17

IS 19 20

P9C vcc

F9 1

POO PI2 POI P13 P02 PM P03 PI5 P04

P16

PI7 m REST F07 P30

FAVPP

P31 ALE PRE

P32 FSEN

P33 P27 PM P26 P35 P25 P36 P24 PJ7

m XTAL2 P22 XTAL1 P2I GKD P20

2? 24 23

4 F h I

?託 OHJU12BZ15M

1S1430

26 VCC DE

n I

CiNtJ

<;ND

25

24 23 22

3.3传感器

传感器选用的是压力传感器。当受到力的作用时,传感器中的电阻应变片发生形变,电阻应变 片是一种电信号的敏感器件,其变化后加在电阻两端的电压发生发生变化,通过后续的放大后在传 输给A/D 转换器转换。本设计传感器选用的是

D3B 压力传感器,如图 4所示。其工作电压:4.2V

到 6.2V ; 接线方面: 压力范围:0到1000MM 水柱,0到0.1Kg/c 怦;电压输出:0.23V 到4.9V ;线性度在0.2%; G 接地,1接+5V 另与0之间加载2.2K 上拉电阻即可通过 0输出。

图4 D3B 压力传感器

3.4液晶显示

现在大多的字符液晶都是基于 HD44780液晶芯片的,控制原理也是完全相同的。因此基于

HD44780写的控制程序可以很方便地应用于市场上大部分的字符型液晶。 本设计选用了 LCD1602液

晶显示,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块,能够同时显示 16x02即32

个字符。其引脚结构图如图 5所示。

LCD 140:

3.4.1液晶显示屏引脚接口介绍

第1脚VSS 是电源地。第2脚VCC 是5V 电源的正极。第 3脚V0是液晶显示器的对比度调 整端,在接正电源的时候对比度是最弱,接地电源时候则相反是最高。第 4脚RS 是寄存器的选择,

在其咼电平为

1

的时候选择的是数据寄存器、 低电平为0的时候选择的则是指令寄存器。

第5脚RW

是读写信号线, 高电平为 1时进行读操作,低电平为 0的时候进行的则是写操作。第 6脚E 端是使

能端,高电平时读取信息,负跳变时执行指令。第

7至14脚:D0至D7为8位双向数据端。第15

至16脚为空脚或者背灯电源,其中15脚是背光正极,16脚是背光负极。其引脚与单片机连接如图

图6 LCD1602引脚与单片机引脚连接

3.5A/D转换器

A/D转换器在系统中有着重要的作用,它将传感器传送来的模拟信号转换成可以提供给单片机能够处理的数字信号。系统采用了ADC0832转换芯片,ADC0832是美国国家半导体公司生产的一种

8位分辨率、双通道A/D转换芯片。它体积小,兼容性强,性价比高。其引DI连接到单片机P10, CLK连接P11,CS连接P12上,如图7所示。

图7 ADC0832 A/D转换器

3.6按键电路

按键电路采用了3个按键,包括设定键、加液位上限、减液位下限键,分别连接单片机的P30、

P31、P32,如图8所示。

6所示。

1---- n

P254

5

P276

vcc

VD RS

RW

FiST

T

为厂14

NK

)4>2?4

>

6>7

叩II r

PM斗

Mt 9

<]\D

CAD

图8按键电路

3.7继电器控制电路

继电器控制电路如图9所示,单片机的I/O 口直接控制继电器的电流不够,所以运用单片机的

P20 口接到三极管的基极,这里三极管起到了放大和开关的作用。电路中接了一个二极管并联在继电器两端起到保护作用。

P2 VCCI

4液位自动控制软件设计

4.1系统主程序设计

在用汇编语言编写控制器程序时,相对会比较麻烦,本系统采用C程序设计。系统软件设计简单

合理,易于控制,能有效地的对不同状态和不同外界条件进行控制,并且运行稳定、控制效果良好、抗干扰能力高。图10为软件设计框图。

姓名:题目

图10程序设计流程图

4.2 A/D转换程序

A/D转换程序如图11所示:

图11 A/D转换程序流程图

2015届机械工程及自动化专业学士学位毕业论文(设计)

5结果与总结

5.1仿真结果

如图12所示。

..单..

-■■

Tu ?

t

-

R 1

n. <

LiZDd

MiaL

i i

-ci ?

V**

Water Leuel s 05cri

H E Li CH L I 07cm)

PX2YJK

P2.li*J?

fZ?4AQ

F3-AH.G

任砂1+

■NTMJS

■ZJ

-TT

P'lDTZ H

irr^K

rar■网

F335WTD

R S J WTT

riam

PI J VJW.

fnW

图12液位自动控制仿真

5.2实物制作结果

如图13所示。

图13液位自动控制实物

姓名:题目

5.3总结

通过这段时间的努力完成了液位自动控制系统的设计。在设计中,完成了方案的选择、设计的仿真、软件设计和实物制作等方面的工作。本次设计通过查阅资料丰富了我知识,让我将所学的知识综合的运用起来,提高了我的动手动脑能力。在老师指导下,同学的帮助中,还有自己的努力下达到了设计的目的。

参考文献

[1]李全利?单片机原理及接口技术(第二版)?高等教育出版社,2008.6

[2]潘新民,王燕芳?微型计算机控制技术(第2版)?北京:电子工业岀版社

[3]虞献文?家用电器原理与应用.高等教育出版社,2000.3

[4]胡文金?单片机应用技术实训教程.重庆:重庆大学出版社,2005

[5]陶永华,尹怡欣,葛芦生.新型PID控制及其应用.北京:机械工业出版社

⑹王玉良,吴晓非,张琳,禹可.原理与接口技术(第 2版),2006.6

[7]齐蓉,肖维荣?可编程控制器技术电子工业岀版社.

[8]陶永华,尹怡欣,葛芦生. 新型PID控制及其应用.北京:机械工业出版社

[9]廖常初.PLC编程及应用(第 2版).北京:机械工业出版社,2007

[10]雷丽文.微机原理与借口技术.北京:电子工业出版社,2001

[11]朱定华.微机原理与接口技术.北京:北京交通大学出版社,2003

[12]梁景凯.机电一体化设计与系统.北京:机械工业出版社,1997

[13]杨平,廉仲.机械电子工程设计.北京国防工业出版社,2001

[14]何小阳.计算机监控原理及技术.重庆大学出版社,2003

[15]何力民编?单片机高级教程[M] ?北京:北京航空大学出版社,2000

2010.6

,1998. 9

,1998

致谢

在我本次毕业设计完成之际,我要感谢我的指导老师xxx教授的热情关怀和悉心指导。在整个

论文的撰写过程中,xxx老师倾注了大量的心血和汗水。在此我表示真诚的感谢和深深的谢意。许多同学也提出了宝贵的意见,在此也致以诚挚的谢意。

大学即将结束,教过我的老师们,你们严谨细致的、一丝不苟的作风一直是我们学习的榜样。感谢这些年陪我的同学和朋友们,有你们的支持、鼓舞和帮助,我才充实的度过了这大学的生活。

Xxx

2015年5月于重庆

2013届电子信息科学与技术专业学士学位毕业论文(设计)附录

液位自动控制主程序

#in clude

#defi ne uchar un sig ned char

#defi ne uint un sig ned int

sbit beep=P1A4;

sbit Relay=P2A。;

sbit LED_H=P1A6;

sbit LED_L=P1A7;

/*sbit LED_IN=P1A5;

sbit LED_O K=P1A6;*/

sbit K仁P3A0;

sbit K2=P3A1;

sbit K3=P3A2;

uchar H_l im=11,L_lim=7;

uchar ad_dat1=0; //读取滤波后的AD值

uchar Water_dat=0;

uchar set_flag=0; /****************************************

***********

函数名称:延时子函数函数功能:按

键消抖

*****************************************

**********/

void delayms( uint xms)

{

uint i,j;

for(i=xms;i>0;i--) for(j=110;j>0;j--);

}

#include "ADC0832.H"

#include "1602.C"

〃水位计算

/*void Water_Calculate()

{ -

if(ad_dat1<33)

{ Water_dat=10-((33-ad_dat1)/3);

}

else

{ Water_dat=10+((ad_dat1-33)/3);

}

} */

void key()

{

if(K1==0)

{ delayms(10); if(K1==0) {

set_flag++;附录

〃头文件〃宏定义

if(set_flag>2)

set_flag=0; while(!K1);

}

}

switch(set_flag)

{ - case 1:

if(K2==0)

{

delayms(10);

if(K2==0)

{

if(H_l im<99)

H_lim++;

while(!K2);

}

}

else if(K3==0)

{

delayms(10);

if(K3==0)

{

if(H_l im>0)

H_lim--;

while(!K3);

}

} break; case 2:

if(K2==0)

{

delayms(10);

if(K2==0)

{ if(L_lim<99)

L_lim++;

while(!K2);

}

}

else if(K3==0)

{

delayms(10);

if(K3==0)

{ if(L_lim>0)

L_lim--;

while(!K3);

}

} break; default: break;

}

}

2015届机械工程及自动化专业学士学位毕业论文(设计)致谢

void con trol()

{

static uchar i=0;

if(i<20)

i++;

else

i=0;

if(Water_dat> H」im||Water_dat

-- if(Water_dat>H」im) {--

if(i<10)

{

LED_H=0;

}

else

{

LED_H=1;

}

LED_L=1; Relay=1;

// LED_IN=1;LED_OK=0;

}

else

{

if(i<10)

{

LED_L=0;

}

else

{

LED_L=1;

}

LED_H=1; Relay=0;

// LED_IN=0;LED_OK=1;

} if(i<10) {

beep=0;

}

else

{

beep=1;

}

} else

{

LED_L=1; LED_H=1; beep=1;

}

} void mai n()

{

uint AD_DA T=0; float ad_buf=0; uchar i=0;

// LED_OK=0;

in it_1602(); while(1)

{

if(i<10) //滤

{

i++;

AD_DA T+=A_D(); //波

}

else //算

{

i=0; //法ad_dat1=(uchar)(AD_DAT/10); 〃ad_dat1=255-

ad_dat1;

if(ad_dat1>1) -

{

ad_buf=(float)((ad_dat1-1)/2.4);

Water_dat=(uchar)(ad_buf); } -

- else

Water_dat=0;

AD_D A T=0;

}

// Water_Calculate();

display();

key();

con trol();

}

}

相关主题
相关文档
最新文档