水塔水位控制
- 格式:doc
- 大小:198.00 KB
- 文档页数:10
水塔水位控制1、中英文摘要摘要:本水位控制系统采用80C51为控制芯片设计的控制电路,所编程序采用查询方式对由P1.0和P1.1输入水位信号进行检查,输入信号有四种状态,通过硬件原理图可以确定每种水位信号的含义,从而可以根据输入信号的状态执行相应的子程序对电动机的工作与停止、故障报警装置以及硬件检查程序进行控制,从而达到硬件检测、故障报警和水位控制的功能。
关键词:80C51,硬件检测,水位控制Abstract: The water level control system using 80C51 chip design for the control of the control circuit, the programmed manner using query by P1.0 and P1.1 input signal level inspection, there are four kinds of input signal status, through the hardware schematic diagram to determine the meaning of each level signal, allowing the input signal according to the state of implementation of the corresponding subroutine of the motor work and stop, fault alarm and hardware inspection procedures to control, so as to achieve the hardware detection, failure alarm, and water level control functions.Keywords: 80C51, hardware detection, water level control, failure alarm- 1 -2、引言《单片原理及应用》是一门技术性、应用性很强的学科,实践教学是它的一个极为重要的环节。
不论是硬件扩展、接口应用还是编程方法、程序调试,都离不开实验教学。
如果不在切实认真地抓好学生的实践技能的锻炼上下功夫,单凭课堂理论课学习,势必出现理论与实践脱节的局面。
任随书本上把单片机技术介绍得多么重要、多么实用多么好用,同学们仍然会感到那只是空中楼阁,离自己十分遥远,或者会感到对它失去兴趣,或者会感到它高深莫测无从下手,这些情况都会令课堂教学的效果大打折扣。
本次仿真设计的目的就是让同学们在理论学习的基础上,通过完成一个涉及MCS—51(见附录1)单片机各种资源应用并具有综合功能的小系统目标板的设计与编程应用,使学生不但能够将课堂上学到的理论知识与实际应用结合起来,而且能够对电子电路、电子元器件、印制电路板等方面的知识进一步加深认识,同时在软件编程、排版调试、焊接技术、相关仪器设备的使用技能等方面得到较全面的锻炼和提高,为今后能够独立进行某些单片机应用系统的开发设计工作打下一定的基础。
该水塔水位控制电路能够实现监测水位并根据水位高低控制电机的工作与停止来保证水塔水位保持在额定范围内,从而实现水位控制。
同时,通过分析不合理的状态显示做出电路的路障诊定判断,从而避免因系统的故障影响水塔水位的控制。
在上一学期进行的EDA课程学习,本次综合实践是在此基础上,来完成该系统的软件设计与调试。
待仿真成功后,再将程序写入单片机中。
3、课程设计用的仪器和器件(技术参数见附录2)1、PC机一台;TND-MD教学实验系统一台2、XLISP1000 单片机综合仿真实验仪3、9V直流电压供电4、水泵1个5、万能板一块,规格为12cm*18cm6、4K7欧电阻2个,51欧电阻1个7、二极管1个8、三极管1个,型号SBD509、继电器1个,型号SRD-09VDC-SL-C10、光电耦合器1个,型号4N25813Q- 2 -- 3 -11、导线若干,水桶1个,水管1米,电烙铁等 4、硬件设计 4.1设计目标(1)当水位低于下限水位即检测信号P1.0=0,P1.1=0时候则致P1.2=1功过光电耦合器使中间继电器J 吸合,从而控制强电控制系统水泵供水。
(2)当水位上升到上限和下限之间(P1.0=1,P1.1=0)的时候就保持原来的状态。
(3)当水位超过上限(P1.0=1,P1.1-1)的时候,控制系统停电,停止抽水。
(4)当检测信号在下限没有反映而在上限有反映的时候(P1.0=0,P1.1=1)就使水泵停止抽水且发出报警(P1.2=0,P1.4=1,P1.5=1) 4.2设计思想图1(1)用80C51设计一个单片机最小控制系统。
其中P1.0接水位下限传感器;P1.1接水位上限传感器;P1.2输出经反相器后接光电耦合器,通过继电器控制水泵工作;P1.3输出经反相器后接LED,当出现故障是LED闪烁;P1.4输出器接蜂鸣器,当故障出现时报警。
(2)用塑料尺、导线等设计一个水塔水位传感器。
其中A电极置于水位10cm 处,接5V电源正极;B电极置于水位15cm处,经4.7K下拉电阻接单片机的P1.0口;C电极置于水位的20cm处,经4.7下拉电阻接单片机的P1.1口。
(3)设计一个单片机至水泵的控制电路。
要求单片机与水泵之间要用反相器、光电耦合器和继电器控制,计算出LED限流电阻,接好继电器的续流二极管。
如图1所示。
5、软件设计水塔水位控制流程图如图2图2源程序见附录3- 4 -6、调试过程在硬件芯片引脚连线和程序的编写完成以后,便进入了设计的调试阶段。
在计算机上输入程序后,在与硬件的配合使用下,才发现设计中的错误是如此的多。
我按以下步骤进行了调试:(1) 首先检查硬件的连接情况,在检查的过程中发现了以下的问题:GND引脚未接地、各个芯片的数据端D0~D7与系统总线的D0~D7接反,这些错误是一些在实验或设计中容易忽略犯下的错误,但是经过仔细的检查,这些问题都很快得到了解决。
(2) 根据运行后计算机屏幕上显示的错误或警告信息检查到程序中的很多错误。
如:芯片初始化时奇偶入口地址的选择错误、程序中一些低级的输入错误等。
这些错误经过认真检查,并通过老师和同学的帮助以及查看《微机原理与接口技术实验指导书》等相关文献,这些错误最终得到了修正,完成了软硬件的联调。
7、结果分析通过对题目分析,按照题目要求来选择采用了可编程并行接口芯片80C51,并通过合理布线以及编写程序最终达到了题目的要求的水塔水位控制电路的设计,设计结果基本符合课题要求。
8、总结与体会本次课程设计历时一个周,通过与同学的交流合作以及老师的指导帮助,我最终顺利完成了本次课程设计。
通过本次课程设计,我进一步熟悉和掌握了可编程并行接口芯片80C51功能和使用。
在设计过程中,芯片的引脚的连接是很重要的一项,而我在连接芯片的各引脚时出了很多的错误,但是在老师的指导下、在查阅各参考文献后这些错误都一一得到了改正,最终完成了合理的布线。
在程序编写方面,本次课程设计中的程序是我第一次尝试完成一个完整的程序,以前都是编写一些初始化程序、中断子程序的程序段,不用考虑各段程序之间的连接和组织。
在整个程序的编写过程中,错误的出现是不可避免的,但是,通过向老师答疑、和同学们探讨以及参考实验指导书等文献资料,问题也慢慢得到了解决,最终完成了各芯片的初始化编程、延时子程序的编程以及各程序段的组织,从而完成了整个程序的编写。
9、参考文献[1]:史新福、冯萍主编;32位微型计算机原理接口技术及其应用;清华大学出版社;2007年1月- 5 -[2]:朱定华主编;微机原理、汇编与接口技术试验教程;清华大学出版社;2007年4月[3]:王晓明等主编;微机应用系统设计;兰州大学出版社;2001年[4]:米根锁主编;微机原理与接口技术;兰州大学出版社;2000年- 6 -10、附录附录140个引脚大致可分为4类:电源(2)、时钟(2)、控制(4)和I/O引脚(32)(1)主电源引脚Vss和Vcc① Vss接地② Vcc正常操作时为+5伏电源(2)外接晶振引脚XTAL1和XTAL2(18/19引脚)① XTAL1内部振荡电路反相放大器的输入端,是外接晶体的一个引脚。
当采用外部振荡器时,此引脚接地。
② XTAL2内部振荡电路反相放大器的输出端。
是外接晶体的另一端。
当采用外部振荡器时,此引脚接外部振荡源。
- 7 -(3)控制或与其它电源复用引脚RST,ALE/PROG ,PSEN 和 EA/Vpp(9/30/29/31引脚)① RST 当振荡器运行时,在此引脚上出现两个机器周期的高电平(由低到高跳变),将使单片机复位。
在Vcc掉电期间,此引脚可接上备用电源,由VPD向内部提供备用电源,以保持内部RAM中的数据。
②ALE/PROG 正常操作时为ALE功能(允许地址锁存)提供把地址的低字节锁存到外部锁存器,ALE 引脚以不变的频率(振荡器频率的)周期性地发出正脉冲信号。
因此,它可用作对外输出的时钟,或用于定时目的。
但要注意,每当访问外部数据存储器时,将跳过一个ALE脉冲,ALE 端可以驱动(吸收或输出电流)八个LSTTL电路。
对于EPROM型单片机,在EPROM编程期间,此引脚接收编程脉冲(功能)③外部程序存储器读选通信号输出端,在从外部程序存储取指令(或数据)期间,在每个机器周期内两次有效。
同样可以驱动八LSTTL输入。
④ EA/Vpp ,Vpp为内部程序存储器和外部程序存储器选择端。
当 EA为高电平时,访问内部程序存储器,当 EA 为低电平时,则访问外部程序存储器。
(4)80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。
P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。
对于EPROM型单片机,在EPROM编程期间,此引脚上加21伏EPROM编程电源(Vpp)。
附录2技术参数:1. 9V直流电压供电;2. 水泵1个;3. 万能板一块,规格为12cm*18cm;4. 4K7欧电阻2个,51欧电阻1个;5. 二极管1个;6. 三极管1个,型号SBD50;7. 继电器1个,型号SRD-09VDC-SL-C;8. 光电耦合器1个,型号4N25813Q;9. 导线若干。
附录3源程序ORG 0000H- 8 -AJMP LOOPORG 0030HLOOP: ORL P1,#03H ;P1口置数,为检查水位状态作准备MOV A,P1 ;读P1口输入信号JNB ACC.0,LOOP1 ;即当P1.0=0则转LOOP1JB ACC.1,LOOP2 ;当P1.1=1则转LOOP2MAIN: CALL DELAY ;调延时子10S子程序AJMP LOOPLOOP1: JNB ACC.1,LOOP3 ;当P1.1=0则转SETB P1.2 ;停电动机CLR P1.3 ;置P1.3=0,启动报警子程序ACALL LED ;调用报警子程序LOOP4: SJMP LOOP4 ;出现故障后程序进入等待状态LOOP3: CLR P1.2 ;P1.2置0,启动电动机供水AJMP MAINLOOP2 SETB P1.2 ;使P1.2=1,停止电机工作AJMP MAINDE1AY: MOV R0,#200 ;10S子程序A3: MOV R1,#100A1: MOV R2,#248A2: DJNZ R2,A2DJNZ R1,A1DJNZ R0,A3RETDE1AY1: MOV R3,#10 ;0.5S子程序A4: MOV R4,#100A5: MOV R5,#248A6: DJNZ R5,A6DJNZ R4,A5DJNZ R3,A4RETLED: CLR P1.3 ;置报警灯闪烁MOV R6,#20- 9 -F1: CPL P1.3CPL P1.7CALL DE1AY1DJN Z R6,F1SETB P1.3AJMP LOOP ;故障维修完后跳转到初始化END- 10 -。