辽宁工业大学单片机原理及接口技术课程设计(论文)题目:水库水位监测装置设计院(系):电气工程学院专业班级:学号: 12030学生姓名:指导教师:(签字)起止时间:2015.06.22-2015.07.05课程设计(论文)报告的内容及其文本格式1、课程设计(论文)报告要求用A4纸排版,单面打印,并装订成册2、页边距:上2.5cm,下2.5cm,左3cm,右2.5cm,页眉1.5cm,页脚1.75cm,左侧装订;3、字体:一级标题,小二号字、黑体、居中;二级,黑体小三、居左;三级标题,黑体四号;正文文字,小四号字、宋体;4、行距:20磅行距;5、页码:底部居中,五号、黑体;6、对图题和图中文字要求:图题是5号黑体,在图的下方居中图中文字是5号宋体,参照图2.17、对表题和表中文字要求:表题是5号黑体,在表的上方居中表中文字是5号宋体,参照表2.1课程设计(论文)任务及评语院(系):电气工程学院教研室:注:成绩:平时20% 论文质量60% 答辩20% 以百分制计算摘要目前国内许多水文站监测水位仍采用人工方法。
该方法不但存在测量的人身安全问题,而且还存在数据测量不够准确、监测实时性不强等问题。
为了实时准确的监测水位,本文设计了单片机控制的水位监测系统。
该系统主要由中央处理器、报警、显示、按键电路组成,能够实现水位实时监测显示,并能对超过警戒线上的水位进行报警。
在对该方案进行细化的过程中,对各功能模块的关键技术和设计作了具体的描述,它们包括CPU最小系统,液位传感器,A/D转换器,输入输出接口电路。
在软件方面给出了流程图和程序清单。
关键词:51单片机;A/D转换;水位传感器;目录第1章绪论 (1)1.1 水库水位监测装置设计概况 (1)1.2 本文研究内容 (1)第2章 CPU最小系统设计 (2)2.1 水库水位监测装置总体设计方案 (2)2.2 CPU的选择 (2)2.3 数据存储器扩展 (4)2.4 复位电路设计 (4)2.5 时钟电路设计 (5)2.6 CPU最小系统图 (6)第3章水库水位监测装置输入输出接口电路设计 (6)3.1 液位传感器的选择 (6)3.2 水库水位监测装置检测接口电路设计 (7)3.1.1 A/D转换器选择 (7)3.1.2 模拟量检测接口电路图 (7)3.2 水库水位监测装置输出接口电路设计 (8)3.3 人机对话接口电路设计 (9)第4章水库水位监测装置软件设计 (10)4.1 软件实现功能综述 (10)4.2 流程图设计 (10)4.2.1 主程序流程图设计 (10)4.2.2 模拟量检测流程图设计 (11)4.3 程序清单 (12)第5章系统设计与分析 (14)5.1 系统原理图 (14)5.2 系统原理综述 (14)5.3 硬件仿真图 (15)5.4 软件调试结果 (15)第6章课程设计总结 (16)参考文献 (17)第1章绪论1.1水库水位监测装置设计概况在水利工程中,水库水位测量一直是水文、水利部门的重点。
如果没有提前进行有效的水位监测,则在遇到洪水、台风等异常天气状况下,因水位达到警戒线而造成江堤决口,大水冲毁堤坝等恶性事故时有发生,由此给国家和人民生命财产带来巨大的损失,因此需要设计一种自动监测仪器。
随着科学技术的不断发展,我国的监测仪器已具有了一定的研究、开发和生产力,从行业生产水平和专业化等方面来看,于发达国家相比还存在一定的差距,国产水位监测仪器主要有浮筒式水位仪、压力传感器式水位仪、超声波式水位仪等,但这些仪器设备昂贵,操作步骤复杂,质控程序繁琐,基于此情况本设计设计了一套相对简单的实时自动检测水库水位的装置,该装置能实时监测水库的水位并通过LED显示屏显示出来,对超过警戒的水位情况进行报警,给运行维护人员提供管理依据,提高水库的安全性。
1.2本文研究内容本论文主要研究水库水位监测系统的设计,对5米以内的水库水位要实现水位报警和水位实时显示功能,设计主要是通过液位传感器将检测来的液位高度转换成电压信号,再通过A/D转换把电压变成数字量传入单片机,单片机将传来的数据通过显示电路进行显示输出,显示精度要达到1厘米。
通过键盘管理人员可以自由设定报警阀值,超过阀值的情况要通过报警电路进行有报警,同时报警电路还具有消音功能。
第2章 CPU 最小系统设计2.1 水库水位监测装置总体设计方案本设计方案的过程原理图如图2.1,通过液位传感器完成水位的测量,再通过放大器将液位传感器检测来的低压信号进行放大,A/D 转换器将模检测的模拟量电压转换成数字量,单片机将检测来的数字信号进行分析处理,产生相应的控制信号,分别通过信号控制LED 对水库水位实时显示,报警系统对超出警戒水位的情况进行报警,提醒运行人员。
图2.1过程原理图 2.2 CPU 的选择本设计选择的单片机型号为89C51,89C51片内有4KB 的FlashROM 程序存储器,128B 的数据存储器,可扩展的外部数据和程序存储均为64KB ,基本结构由八部件组成即中央处理器,输入/输出接口,可编程串行口,定时/计数器,中断系统,特殊功能寄存器。
下面按引脚功能分四个部分进行介绍。
芯片共有40个引脚。
1、主电源引脚(2根)VCC(Pin40):电源输入,接+5V 电源。
VSS(Pin20):接地线。
2、外接晶振引脚(2根)LED 显示液位传感器XTAL1(Pin19):片内振荡电路的输入端。
XTAL2(Pin18):片内振荡电路的输出端。
3、控制引脚(4根)RST(Pin9):复位引脚引脚上出现2个机器周期的高电平将使单片机复位。
ALE/PROG(Pin30):地址锁存允许信号。
PSEN(Pin29)外部存储器读选通信号。
EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。
4、可编程输入/输出引脚(32根)AT89S51单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。
每一根引脚都可以编程,PO口(Pin39~Pin32):名称为P0.0~P0.7,8位双向三态I/O口,当不做外部扩展时,8位准双向I/O口线,在访问外部存储器时,可分时用作低八位地址线和8位数据线。
P1口(Pin1~Pin8):8位准双向I/O口线,名称为P1.0~P1.7P2口(Pin21~Pin28):8位准双向I/O口线,名称为P2.0~P2.7,在访问外部存储器时,它送出高八位地址。
P3口(Pin10~Pin17):8位准双向I/O口线,名称为P3.0~P3.7,这八个管脚都有自己的第二功能,构成控制总线的一部分。
89C51的引脚如图2.2图2.2 51单片机的引脚分布图2.3数据存储器扩展89C51片内有128B的RAM存储器,在实际运用中不够,需要利用51单片机的扩展功能进行外部数据存储器的扩展,本扩展采用的是6116数据存储器,6116是2K*8位静态随机存储器,采用COMS工艺制造,单一+5V电源供电,读出时间最大为200ns,89C51的数据扩展如图2.3。
图2.3 数据存储器扩展2.4复位电路设计复位操作可以使单片机初始化,也可以使死机状态下的单片机重新启动,因此非常重要。
本设计采用的是按键电平复位,在保证RESET引脚上提供10ms以上的高电平就能使单片机可靠复位,它还可以通过按键实现复位,按下按键后,通过R1和R2形成回路,使RESET端产生高电平。
复位电路如图2.4图2.4复位电路原理图2.5时钟电路设计计算机工作时,是在统一的时钟脉冲控制下一拍一拍地进行的,这个脉冲就是由时钟电路产生的,外接晶振,C1,C2值都是30pf,晶振频率为0~24MHZ.时钟电路原理图2.5图2.5 时钟电路图2.6CPU最小系统图CPU最小系统由CPU,74LS373锁存器,6116组成,CPU最小系统如图2.6图2.6 CPU最小系统图第3章水库水位监测装置输入输出接口电路设计3.1液位传感器的选择液位传感器有压力式液位传感器,超声波液位传感器,温度液位传感器,但这些传感器本身结构比较复杂,设计成本高,所以本设计采用筒式电容传感器采集液位的高度。
主要利用其两电极的覆盖面积随被测液体液位的变化而变化,从而引起对应电容量变化的关系进行液位测量。
当电容量发生变化时通过传感器测量电路将输出不同的电压值,从而不同的液位高度将对应不同的电压值,实现了液位与电压这个模拟量之间的联系。
液位传感器的测量电路如图3.1图3.1 液位检测电路3.2 水库水位监测装置检测接口电路设计3.1.1A/D转换器选择本设计采用的转换器为ADC0809转换器。
ADC0809是8位逐次比较式CMOS A/D转换器,它是目前最流行的中速廉价型产品之一。
片内有多路模拟开关及通道地址译码及锁存电路,可对多路模拟信号进行分时采集及转换,片内配置了三态输出数据缓冲器,提供了与微处理器兼容接口,最大不可调误差小于正负1LSB。
3.1.2模拟量检测接口电路图模拟量检测接口电路如图3.2,它由CPU,ADC0809模数转换器和液位检测电路组成。
图3.2 模拟量检测接口电路3.2水库水位监测装置输出接口电路设计报警电路如图3.3当89C51的P2.0输出高电平时,表示水位高出警戒值,此时蜂鸣器报警。
图3.3 报警电路3.3人机对话接口电路设计人机对话接口电路是由键盘和显示器组成,能实现水位的显示和设定报警水位,键盘电路如图3.4,显示电路如图3.5图3.4 键盘电路图图3.5 显示电路图第4章水库水位监测装置软件设计4.1软件实现功能综述本设计是通过水位传感器以电压模拟量来表示水位的高度,将电压这个模拟量通过模数转换变成单片机能识别的数字量,单片机通过软件对数字量进行显示从000~500单位是厘米。
但水位超过设定的警戒值时,由P2.0驱动报警电路进行报警,从而实现水位的实时监测和水位过量的报警输出。
4.2流程图设计4.2.1主程序流程图设计主程序要完成对模拟信号的检测计算,转化成数字量,通过LED输出电路对采集来的液位进行实时的显示,并判断液位是否超出了警戒值,如果超出了警戒值,将产生信号驱动报警电路报警。
如果有停止检测信号产生,主程序将停止工作。
主程序流程图如图4.1图4.1 主流程图4.2.2 模拟量检测流程图设计模拟量检测,通过水位的不同使液位传感器的电容值不同,从而模拟量检测电路产生的电压值不同,再通过A/D 转换器把电压信号转换成数字信号,从而实现不同液位对应不同的数字量,模拟量检测流程图如图4.2图4.2 模拟量检测流程图4.3程序清单A/D转换程序清单:START: MOV R0,#30HMOV R6,#08HMOV R7, #08HCONV1: MOV DPTR, #7FF8H CONV2: MOVX @DPTR, AMOV R5, #0AHDLX: DJNZ R5, DLXWAIT: JB P3.3, WAITMOVX A, @DPTRMOV @R0, AINC R0INC DPTRDJNZ R6, CONV2MOV R6, #08HDJNZ R7, CONV1ACALL DATADSPLJMP START初始化程序:MOV SP,#60HMOV P2,#11011011B MOV TIMER,#50显示程序:DIR: MOV R0, #7AHMOV R3, #01HMOV A, #00HMOV R1,#BITPORTMOV @R1, ALDl: MOV A, @R0MOV DPTR, @#DSEGMOVC A, @A+DPTRMOV R1, #SEGPORTMOVX @R1, AMOV R1, #BITPORTMOV A, R3MOVX @R1, ALCALL DELY sINC R0JB A.3, LD2RL AMOV R3, ASJMP LD1LD2: RET报警程序:SND: SETB P2.0MOV R7, #1EHDL: MOV R6, #0F9HDL1: DJNZ R6, DL1DJNZ R7, DLCLR P0.0RET第5章系统设计与分析5.1系统原理图图5.1 系统原理图5.2系统原理综述根据具体的原理电路图综述本次设计所要完成功能的原理。