基于单片机的水位检测与控制系统的研究与设计毕业设计(编辑修改稿)内容摘要:

得到脉动直流电压 18v,再分别经三端稳压器 LM780 LM781 LM7915 分别得到 VCC(+5v)、 +15v 和 15v ,其中电解电容 C C C2 C C C9 起滤波作用, C C C2 C C C10 是旁路电容,起抑制干扰的作用。 电源电路如图 25所示。 ( 2)传感器电路 +15VINSTRT7MEAS1PROBE5SUP6PRBREF3VREF16OSC C10RAMPR13RAMPC12AUXOUT14LAMP9MEM C15PNPBS4U4L M 1 0 4 2C 1 30 .1 u fC 1 42 2 u fR 1 31 0 0 kQ1R11 0 0C 1 10 .1 u fC 1 2T A NZ HE NR31 0 KR26 .8 KC 1 22 2 u f 图 26 传感器电路 传感器电路如图 26 所示。 在传感器电路中, 7 脚和 10 脚是用于探针 2的调整,由于本系统只用到探针 1,故只需将 7 脚和 10 脚接地即可; 1 脚是热阻探针输入端; 5脚是探针故障检测端; 6 脚是电源端; 3, 4 脚分别接 PNP 管的发射极和集电极用于给探针提供 200MA 的固定电流; 16 脚为模拟电压输出端,输出与液位成正比的模拟电压; 12,13 脚用来调整探针的测量周期; 9,14 脚外接两个电容作为探针的记忆电容,记忆探针的电 压值。 ( 3) A/D 转换电路 A/D 转换电路如图 27所示。 江西理工大学 20xx 届专科毕业论文(专科) 12 图 27 A/D 转换电路 本系统经过采用 AD574A 芯片,其中 1脚为电源端; 10 脚输出标准 10V 电压经过变阻器 R4连接到 8 脚给芯片内部解码网络供电; 9脚为地端; 12 脚外接电阻网络用于调整零点, 13 脚为 010V 量程输入端; 14 脚为 020V 量程输入端,此系统不用; 7,11 脚为177。 基准电压输入端; 1619脚接单片机 用于输出低 4位, 2027 脚接单片机 用于输出高 8 位; 28脚输出转换完成信号, 6,3,4,5 脚用 于控制芯片的工作方式, 2脚接地代表芯片用于 12位转换。 当传感器信号输入 13 脚,单片机控制 6 脚为高电平, 3,4,5 脚为低电平时,芯片使 28 脚输出低电平并启动 12 位 A/D 转换,转换完成后置位 28 脚,允许单片机读取数据,当单片机检测到 28 脚为高电平,控制 6 脚为高电平, 3,4,5 脚为低电平读取高 8 位,再 4,6 脚为高电平, 3,5 脚为低电平读取低 4 位,这样就完成一次 A/D 转换和数据读取。 ( 4)单片机外围电路及蜂鸣器电路 单片机外接 12MHZ 晶振,在 9脚外接手动复位电路; 接蜂鸣器用于报警。 江西理工大学 20xx 届专科毕业论文(专科) 13 电路如图 28所示 : I D0I D1I D2I D3I D4I D5I D6I D7W RI T EM O D ED0RC 0CSA0CEU5 2 8D1D2D3D4D5D6D7V C CVCCX T A L 218X T A L 119A L E30EA31P S E N29RS T9P 0 .0 /A D 039P 0 .1 /A D 138P 0 .2 /A D 237P 0 .3 /A D 336P 0 .4 /A D 435P 0 .5 /A D 534P 0 .6 /A D 633P 0 .7 /A D 732P 1 . 01P 1 . 12P 1 . 23P 1 . 34P 1 . 45P 1 . 56P 1 . 67P 1 . 78P 3 .0 /R X D10P 3 .1 /T X D11P 3 .2 /I NT 012P 3 .3 /I NT 113P 3 .4 /T 014P 3 .7 / R D17P 3 . 6 / W R16P 3 .5 /T 115P 2 .7 /A 1 528P 2 .0 / A 821P 2 .1 / A 922P 2 .2 /A 1 023P 2 .3 /A 1 124P 2 .4 /A 1 225P 2 .5 /A 1 326P 2 .6 /A 1 427U6A T 8 9 C5 1P RO G RA M = T e x t1 .H E XR 1 72kR 1 81kU8Y11 2 .0 0 M H ZC 1 63 0 P FC 1 73 0 P FVCCS0C 1 81 0 uVCCR81 0 kQ22 N39 0 6S2 图 28 单片机外围及蜂鸣器电路 W RI T EM O D EI D0I D1I D2I D3I D4I D5I D6R 1 11 0 k R 1 21 0 kVCCVCCS E G a27S E G b3S E G c1S E G d25S E G e2S E G f24S E G g26DI G I T 115DI G I T 216DI G I T 323DI G I T 420DI G I T 517DI G I T 622G RO UN D28/W RI T E8M O D E9DI G I T 721DI G I T 818I D012I D111I D213I D314I D410I D56I D65I D77V c c19DP4C 1 1I CM 7 2 1 8 A 图 29 ICM7218A 显示电路 江西理工大学 20xx 届专科毕业论文(专科) 14 ( 5) ICM7218A 显示电路 ICM7218A 显示电路如图 29 所示。 本系统显示用的 4位七段数据管由数据管专 用 驱 动 芯 ICM7218A 驱 动 , 27,3,1,25,2,24,26 脚 分 别 接 数 据 管 的a~g,15,16,23,20 脚为位选,分别控制 4位数码管的亮灭, ID0~7 为数据线,接单片机 P2 口, WRITE,MODE 是写控制位和模式控制位,分别接单片机 ,。 ( 6) 继电器控制水泵加水电路 该电路由继电器 RL1 和 闭合开关 、 光电耦合器 、 水泵 、 R R R R10 以及 D Q3 等组成。 当 水位在低水位时单片机给 送 出 一个高电平导通光电耦合器然后光电耦合器驱动 Q3导致继电器闭合从而让 220V的交流电接通使水泵加水。 图 210 继电器控制 水泵加水 电路 的原理图 U3 GDOUHE JUMP RELAYSPDT 1 2 3 CON3 R9 1K R15 2K R7 2K R10 10K D7 Q3 NPN +5V +5V K1 江西理工大学 20xx 届专科毕业论文(专科) 15 第 三 章 系统软件设计 软件功能概述 在系统的硬件确定以后,功能完善的软件能够很好的指导和协调硬件的工作,可使系统发挥其最大的作用,并且便利以后的更新换代升级。 一个完整的系统都离不开对 系统状态的监控,为了更好的协调软件,硬件各个部分正常工作就必须对整个系统进行严密监控。 在本系统中定时器 T0 中断服务程序担任数据读取 ,处理和输出显示任务,每隔一定的时间对 A/D 转化进行一次采样,并进行相应的处理,在经过 LED 驱动电路来实现液位的显示。 而主程序完成的任务相对简单,它只是完成初始化和启动 T0 定时的工作。 图 31 主程序设计 显示液位高度 传感器测量 启动水泵继续供水 启动 A/D 转换 报警提示 启动水泵 关闭水泵 停止供水 报警提示 关闭水泵 结 束 开 始 测 量值高于上限值 测量值等于设定值 测量值低于下限值 Y Y Y N Y N Y N Y 江西理工大学 20xx 届专科毕业论文(专科) 16 图 32 定时器 T0 中断服务子程序 图 33 A/D 转换子程序 主程序设计 主程序如图 31 所示。 系统开始工作时,由 LM1042 传感器检测出水位深度,经 A/D 转换后,送入单片机与设定值相比较。 如果测量值高于上限值则发出警报并关闭水泵;如果测量值低于下限值则发出警报并启动水泵供水;如果测量值等于设定值则关闭水泵停止供水,并由显示水位值,否则启动水泵继续供水且显示水位值。 开 始 转换完成 STS=1。 写入控制字 读取高 8 位 计算液位值 修改控制字 逐微分离液位值 并将各位放到 ADV[]中 读取低 4 位 结 束 重装 ID 初值 T0 c++ 记时次数 T0c清零 T0计时 20次 AD读取子程序 启动 AD转换 LED 显示 判断报警 开 始 结 束 N N Y Y Y 江西理工大学 20xx 届专科毕业论文(专科) 17 图 34 LED 显示子程序 定时器 T0中断服务程序 T0中断服务程序完成的任务比较多, 主要包括:每一秒启动一次 A/D 转换,读取并处理数据,显示和超限报警。 T0 中断服务程序流程图如图 32 所示:其中读取和处理数据放到 A/D 值读取子程序。 显示放到 LED 显示子程序;由于液位是一种变化比较缓慢的量,故只需每隔一定时间检测一次即可满足需要,在此选定一秒检测一次,即 1秒进行一次 A/D 转换。 由于本系统所用晶振为 12MHZ,故定时器每计时一次用时为 1/12*10^( 6) *12S=1us,因此定时器为 16 位定时器,故最多计时 2^16=65536 次,即计时 65536US=,此时用定时器 T0 定时50ms,则当定时器定时 20次,共定时 20*50MS=1S,满足系统需要。 据 TC=MT/T计数( T=50ms,T 计数 =1us,M=2^16)得 TC=15536 则定时器初值为 TH0=3C, TL0=B0。 返 回 开 始 ICM 置于中作模式 1 写模式控制字 ICM 置于中作模式 0 输出液位值 8 位完。 显 示 Y X 江西理工大学 20xx 届专科毕业论文(专科) 18 超限预警则是通过把 A/D 转换值与上下限值比较得出液位是否有超限,若超限则输出高电平驱动蜂鸣器报警。 A/D 转换子程序 A/D 转换子程序主要完成 A/D 值的读取以及数据的处理。 因为 AD574A 进行 A/D 转换的过程中第 28 脚 STS=0,转换完成后 STS=1,故启动 A/D 转换后要先检测 STS,若 STS 为高电 平才进行 A/D 值读取操作, A/D 值读取要先写读高8 位控制字,然后读取高 8 位,再写入读低 4 位控制字然后读取低 4 位,。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。