




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于PIC16F747 设计的用电池供电的贮水控制系统 摘要 随着昆断现代化城市迈进的脚步 一栋栋高层居民住宅楼拔地而起 停水是高层住户经 常遇到的问题 只要的原因是储层在高层住宅楼顶层的贮水池没有能够及时补充自来水 导致停水现象 针对这一问题 采用侧水压的方法 应用了以 PIC16F747 单片机为核心 采 用字符液晶显示LCD 定时器及传感器设计了可自动控制进水和出水的控制系统 一 设计任务及要求 以PIC16F747 为核心 采用字符液晶显示 LCD 定时器及传感器 实现对贮水池的水量 自动测量 根据 LCD 模块显示的当前水量 测量出当前的用水速度 通过继电器控制抽水 机的工作 当水量低于总水量的百分之二十或以过去十分钟的用水速度为基准 当贮水池的 用水量不大于一小时时 打开抽水电机给贮水池补充自来水 在此基础之上 可以通过键 盘手动设定开始抽水的条件参数 二 电路原理 通过水的压力作用到传感器上 使其产生一模拟信号 单片机将此信号通过其A D 转换 模块 将其转换成数字信号 通过LCD 将其显示 通过定时器来测量流出水的时间 通过水 的流量与流出这些水所需时间 可以得到水流的速度 当 LCD 所显示的水量不足总水量的百 分之二十时 此时通过继电器控制水电机的抽水工作 或通过当前水流速度 来计算剩余 水可利用的时间 当其不大于一小时时 由继电器控制电机的抽水工作 电路原理图如下图1 和图 2及图 3 图 1 进水口 出水口 压力感 应器 图 2 图 3 三 硬件系统设计 以 16F747 单片机为核心 通过水的压力作用于传感器上进而可得到一个模拟信号 通 过A D 转换 进而可在 LCD 上显示出当前的水量 通过定时器记录产生水位差的整个时间段 通过此水位差和这个时间段进而可以确定水流的速度 然后再通过水流的速度和 LCD 显示的 当前用水量以及程序的控制来对继电器进行控制抽水电机的工作 3 1 芯片的选择 16F747 是采用纳瓦技术 带十位A D 的 40 44引脚 八位 CMOS 闪存单片机 本实验采 用40 引脚的 16F747单片机 3 2 结构框图 图 4 中央控制中央控制 单元单元 PIC16F74 7 传感器传感器定时器定时器 控制电机控制电机 LCD显示显示 传感器部分 接受水对其产生的压力 并且产生一个模拟信号 通过中央控制部分 PIC16F747 将其转化为数字信号 时钟模块 记录产生水位差的时间 LCD 显示部分 显示当前水量 控制电机部分 控制对蓄水池的自动补充自来水 四 软件系统设计 1 初始化程序 2 主程序 include pic h include delay h include lcd h define uchar unsigned char define uint unsigned int uchar deep deep 0 deep 1 uchar deepl 100 假设的是 100 深度因为你们那个传感器我没有办法弄得啊 void chang d void void chang bcd unsigned char a void ini ad void Delay uchar x main TRISA 01xh ini ad lcd init 初始化 LCD lcd puts deep while 1 chang d lcd goto 0 x85 lcd putch dis deep1 0 x30 lcd goto 0 x86 lcd putch dis deep0 0 x30 if deep deepl 0 2 PORTD 04xh else PORTD 01xh 深度 void chang bcd unsigned char a char temp b 25 temp a dis deep0 a 10 取10位 a temp 10 dis deep1 a 取个位 AD 转换 void ini ad TRISA1 1 INTCON 0X00 ADCON0 0X09 通道1 AN1 fosc 2 ADIE 0 禁止 AD 中断 ADIF 0 ADCON1 0X04 AN4 即 RA5 为数字脚 RA1 为模拟输入 参考电压为电源电压 PEIE 1 GIE 1 深度的 A D 转换 这部分我没有办法写 不知道传感器怎么办 void chang d void uint adcr 0 uchar deep r 0 ADON 1 开 ADC ADGO 1 while ADIF 0 ADIF 0 AD 转换完成 adcr ADRESH 读AD 结果高位 adcr adcr 0 x3A 转换成温度值 deep r deep t adcr chang bcd deep r 转化成 BCD 延时 void Delay uchar x 设置延时 uchar i while x for i 0 i 80 i SPI 口定义 define vout RB6 输入 define vout RB5 输出 初始化寄存器 void Config905 void uchar i vout 0 Delay 1 Spi enable for write a spi command for i 0 i 11 i Write configration words 写放配置字 SpiReadSpiWrite RFConf i vout 1 Disable Spi 系统初始化 void system Init void r TRISB 0 x0D TRISD 0 x00 TRISB 0 x0D TRISD 0 x0D vout 1 Spi disable include pic h include delay h include lcd h define uchar unsigned char define uint unsigned int uchar deep deep 0 deep 1 uchar deepl 100 假设的是 100 深度因为你们那个传感器我没有办法弄得啊 void chang d void void chang bcd unsigned char a void ini ad void Delay uchar x main TRISA 01xh ini ad lcd init 初始化 LCD lcd puts deep while 1 chang d lcd goto 0 x85 lcd putch dis deep1 0 x30 lcd goto 0 x86 lcd putch dis deep0 0 x30 if deep deepl 0 2 PORTD 04xh else PORTD 01xh 深度 void chang bcd unsigned char a char temp b 25 temp a dis deep0 a 10 取10位 a temp 10 dis deep1 a 取个位 AD 转换 void ini ad TRISA1 1 INTCON 0X00 ADCON0 0X09 通道1 AN1 fosc 2 ADIE 0 禁止 AD 中断 ADIF 0 ADCON1 0X04 AN4 即 RA5 为数字脚 RA1 为模拟输入 参考电压为电源电压 PEIE 1 GIE 1 深度的 A D 转换 这部分我没有办法写 不知道传感器怎么办 void chang d void uint adcr 0 uchar deep r 0 ADON 1 开 ADC ADGO 1 while ADIF 0 ADIF 0 AD 转换完成 adcr ADRESH 读AD 结果高位 adcr adcr 0 x3A 转换成温度值 deep r deep t adcr chang bcd deep r 转化成 BCD 延时 void Delay uchar x 设置延时 uchar i while x for i 0 i 80 i SPI 口定义 define vout RB6 输入 define vout RB5 输出 初始化寄存器 void Config905 void uchar i vout 0 Delay 1 Spi enable for write a spi command for i 0 i 11 i Write configration words 写放配置字 SpiReadSpiWrite RFConf i vout 1 Disable Spi 系统初始化 void system Init void r TRISB 0 x0D TRISD 0 x00 TRISB 0 x0D TRISD 0 x0D vout 1 Spi disable Delay functions See delay h for details Make sure this code is compiled with full optimization include delay h void DelayMs unsigned char cnt ifXTAL FREQ 2MHZ unsigned char i do i 4 do DelayUs 250 while i while cnt endif ifndef LCD H define LCD H LCD interface header file See lcd c for more info light lcd void lcd dark void write a byte to the LCD in 4 bit mode extern void lcd write unsigned char Clear and home the LCD extern void lcd clear void write a string of characters to the LCD extern void lcd puts const char s Go to the specified position extern void lcd goto unsigned char pos intialize the LCD ca
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 1.3 恒星的一生说课稿-2023-2024学年华东师大版九年级下册科学
- 综合复习与测试说课稿-2025-2026学年高中数学人教B版必修3-人教B版2004
- 浙教版科学九上2.4 物质的分类 说课稿
- 蔬菜一家亲课件简介
- 2025年部编版新教材语文二年级上册全册单元复习课教案(共8个单元)
- 吉林长春版《心理健康》一年级上 第四课 很高兴认识你 教案
- 第六课 计算机的硬件系统说课稿-2025-2026学年初中信息技术苏教版八年级全一册-苏教版
- 人教版地理七下第八章第四节《澳大利亚》说课稿
- 《第四单元 建立网站 第13课 制作网站 四、使用书签》说课稿教学反思-2023-2024学年初中信息技术人教版七年级上册
- 2025年北京燃气考试题库及答案
- 2025年医卫类病理学技术(中级)专业知识-专业实践能力参考题库含答案解析(5套试卷)
- 2025上海科技馆事业单位工作人员招聘10人笔试备考题库及答案解析
- 八年级语文上册期末考点专题17 新闻阅读(解析版)
- 【初二】【八年级】【道法】2025【秋】上学期开学第一课【统编版】(课件)
- 监狱消防安全应急预案
- 军事类面试题目及答案
- 《工程勘察设计收费标准》(2002年修订本)
- GB 1886.45-2016食品安全国家标准食品添加剂氯化钙
- 26个英文字母(课堂PPT)
- 无脊椎动物类群三腔肠动物门
- 生活离不开规则观课报告
评论
0/150
提交评论