




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、毕业教学环节成果(2011 届)基于51单片机的 家用水流量设计信息工程学院 应用电子技术应电082土<7*k|> k!> kl klk|> ki> k1>k!>指导教师2011年5月10 日金华职业技术学院毕业教学成果目 录摘要1引言21任务设计32 系统硬件电路的设计42. 1主芯片stc89c5242.2 吋钟电路62.3 复位电路72.4 电源电路82. 5液晶显小电路82. 6状态显示电路一15-2.7 温度测量电路-15-2.8 水流量测量电路-22-2.9 按键控制电路-23-2. 10 小结-23 -3 软件系统的设计-24 -3. 1
2、软件设计总流程-24 -3. 2 温度程序模块一25 -3. 3水流量程序模块373. 4显示程序393. 5小结294 调试结果记录304. 1温度测量304. 2流量测量305 总结306 成果展示-31 -结论与谢辞错误!未定义书签。参考文献错误!未定义书签。附件1电路原理图-34 -35 -36附件2 pcb图附件3仿真图附件4元件清单37附件5程序清单38基于51单片机的家用水流量设计信息工程学院应用电子技术刘海清摘要:文以智能家居系统屮的水流量模块为课题,以水流量计传感器和数字温度传感器 ds18b20实吋采集水流量状态和水温的数据,并根据主控器stc89c52的程序指令处理后 计
3、算出水费价格,用液晶屏lcd 1602分当前温度、水价和水流总量三种状态动态显示。 另外,木课题设计了上下限报警,使杳看更为直观,使用更加方便。关键词: 单片机 ds18b20温度传感器 水流量传感器household water-flow detection circuitdesign based on 51 mcu(major of applied electronic technology,information and engineering college, jinhuacollege of vocation and technology, liu hai-qing)abstract
4、: taking the smart home system in the water flow module is subject to water flow sensor and digital temperature sensor ds18b20 real一time acquisition state water flow and water temperature data and program ins true ti ons according to mas ter stc89c52 calcula ted after the price of wat er, with lcd t
5、x-1602 points the current temperature, water flow volume and dynamic display of three states. in addition, the project design of the upper and lower alarm, so view is more intuitive, easier to use.keyword: microprocessor ds18b20temperature sensor water flow sensor引言随着现代社会的进步,经济的发展,人们对精神领域的追求更高,对生活水平
6、的要 求更高。现代的家居生活是一种高品位、高质量、个性化、智能化的方式。本系统就是 基于stc89c52单片机控制的智能家居系统,可以实际监控室内各种不同的家屯设备, 并能通过液晶屏动态显示当前工作状态。该系统与传统的智能家居系统相比,具有功能 多样化、成本造价低等优点,r符合当今社会智能、节能、环保的发展观念,并在人们 享受高品位、高质量、个性化、智能化生活的同时提高人们的节约意识。由于智能家居 系统冇众多模块,本课题只采取其中的水流量模块进行单独设计。1 任务设计当打开水龙头吋,根据单片机stc89c52的指令、水流量计传感器和数字温度传感 器ds18b20实时采集水流量状态和水温的数据。
7、当单片机stc89c52扫描到水流量计传 感器的脉冲数,经过单片机stc89c52处理,计算出所采集的水流量后,通过液品屏 lcd 1602能动态显示当前水流量、水费及水温。根据设计过程,可以将的本课题划分为8个电路模块如图1所所示:图1-1电路总框图2 系统硬件电路的设计2. 1 主芯片 stc89c522. 1. 1 主要性能 与mcs-52单片机产品兼容、8k字节在系统可编程flash存储器 1000次擦写周期 全静态操作:0hz33hz 三级加密程序存储器 32个可编程i/o 口线 三个16位定时器/计数器八个屮断源 全双工uart申行通道 低功耗空闲和掉电模式 掉电后屮断可唤醒 看门
8、狗定时器双数据指针 掉电标识符2.1.2 芯片功能特性简述:stc89c52是一种低功耗、高性能cm0s8位微控制器,具有8k在系统可编 程flash存储器。使用高密度非易失性存储器技术制造,与工业80c51产品指令和 引脚完全兼容。片上flash允许程序存储器在系统可编程,亦适于常规编程器。在 单芯片上,拥有灵巧的8位cpu和在线系统可编程flash,使得stc89c52为众多 嵌入式控制应用系统提供高灵活、超有效的解决方案。stc89c52具有以下标准功 能:8k字节flash, 256字节ram, 32位i/o 口线,看门狗定吋器,2个数据 指针,三个16位定时器/计数器,一个6向量2级
9、中断结构,全双工串行口,片 内品振及时钟电路。另外,stc89c52可降至ohz静态逻辑操作,支持2种软件可 选择节电模式。空闲模式下,cpu停止工作,允许ram、定时器/计数器、串口、 中断继续工作。掉电保护方式下,ram内容被保存,振荡器被冻结,单片机一切工 作停止,直到下一个中断或硬件复位为止。8位微控制器8k字节在系统可编程 flashop l .匚ki 1匚p.1.z匚pi .:i匚pi . 1匚lu. $匚iu 5'匚ki . t匚rst/.vm匚p丄 d/kxd匚ljx. l/jxd匚id. z/int5«匚px. /fm匚p3. 4/jwcps. 3/n匚p3
10、. 6/wrcpm. 77 莎cxtalzcxtall匚vss匚l01 11 21 31 41 51 61 71 81 920:40 zj vcu39 zj l,0i38 zj po.137. zj pdl 236 =i pdl 3:35 zj pol 434 z: pd'. oi33 z: po'. 6i32 o p0'.731 z3 ea/.vm 30=)ale/prog 29: o psen28 zj pz f27: l 陀”6i26 =i p2.325: o pel 424: o p2.323 p pz. 222: lj pz 121 zj p2.j图2-1单片
11、机引脚2.1.3 引脚功能表2-1 stc89c52引脚介绍说明引脚功能介绍vcc+5v电源电压vss电路接地端p0.0 p0.78位漏极开路的双向i/o通道p2.0 p2.78位拟双向i/o通道p3.0rxd,串行输入口p3.1txd,串行输出口p3.2into,外部中断0输入口p3.3int1,外部中断1输入口p3.4定时器/计数器0外部事件脉冲输入端p3.5定时器/计数器1外部事件脉冲输入端p3.6外部数据存贮器写脉冲p3.7外部数据存贮器读脉冲rst/vpd复位输入信号ale/pr0g地址锁存有效信号psen程序选通有效信号ea/vpp当保持ttl高电平,执行内部eprom的指令,当使
12、ttl为低电平,从 外部程序存贮器取出所有指令,在内的eprom编程时,此端为21 v编程 电源输入端xtall内部振荡器外接晶振的一个输入端xtal2内部振荡器外接晶振的一个输入端2.2 时钟电路单片机的最小系统有三部分组成,即电源,吋钟电路和复位电路。其屮单片机 的电源引脚与5v电源连通即可,而时钟电路和复位电路还需接口扩展,这也是单 片机的基本电路操作。时钟电路用于产生单片机工作所需的时钟信号,时序是指令执行中各信号z间 的相互关系。单片机本身就如同一个复杂的同步时序电路,为了保证同步工作方式 的实现,电路应在唯一的吋钟信号控制下严格地按吋序进行工作。在stc89c52单 片机内部带有时
13、钟电路,因此,只需要在片外通过xtal1和xtal2引脚接入定时 控制元件(品体振荡器和电容),即可构成一个稳定的自激振荡器。在stc89c52芯 片内部有一个高增益反相放大器,而在芯片的外部,xtal1和xtal2z间跨接晶 体振荡器和微调电容。在单片机的xtal1脚和xtal2脚之间并接一个晶体振荡器 就构成了内部振荡方式。stc89c52单片机内部有一个高增益的反相放大器,xtal1 为内部反相放大器的输入端,xtal2为内部反相放大器的输出端,在其两端接上晶 振后,就构成了自激振荡电路,并产生振荡脉冲,振荡电路输出的脉冲信号的频率 就是晶振的固有频率。在实际应用中通常还需要在晶振的两端
14、和地z间各并上一个 小电容。c5hx】20picyii12mc6.i|l20p图2-2时钟电路用晶振和电容构成谐振电路。屯容大小与晶振频率和工作电压有关。但电容的 大小影响振荡器的稳定性和起振的快速性,为了提高精度,木实验板采用20pf的 电容作为微调电容。在设计电路板时,晶振、电容等均应尽可能靠近芯片,减小分 布电容,以保证振荡器振荡的稳定性。2.3 复位电路复位是单片机的初始化操作,其口的是使cpu和系统屮各部分处于一个确定的 状态,并从这一状态开始工作。系统上电路或死机后都要进行复位操作。单片机的 rst引脚为复位引脚,振荡电路正常工作后,rst端加上持续两个机器周期的高电 平后,单片机
15、就被复位。复位电路有3种基木方式:上电复位,开关复位和看门狗 复位。图2-3复位电路本课题采用按键开关复位是指通过接通按钮开关,使单片机进入复位状态。开 关复位电路一般不单独使用。在应用系统设计屮,若需使用开关复位电路,一般的 做法是将开关复位与上电复位组合在一起形成组合复位电路,上电复位电路完成上 电复位功能,开关复位屯路完成人工复位。图2-3 'i1 c7与r1构成了上电复位电路。上电复位后,电源经r1对c7充满电 源,c7等效于开路,rst端为低电平;单片机正常工作。按开关k1后,c7两端 电荷经r1迅速放电,k1断开后,由c7、r1及电源完成对单片机的复位操作。在 上述电路中c
16、7、r1按上电复位电路的设计而取值。复位屯路的作用非常重要,能否成功复位关系但单片机系统能否正常运行的问 题。如果振荡电路正常而单片机系统不能正常运行,其主要原因是单片机没有完成 正常复位,程序计数器的值没有冋0,特殊功能寄存器没有冋到初始状态。这时可 以适当地调整上电复位电路的阻容值,增加莫充电时间常数来解决问题。2.4 直流电源滤波电路单片机对于直流电源电压非常敏感,但是一般直流电源都存在一些杂波,通常 是直流电压中的高频交流成分,消除电源中的高频交流成分对增强电路的性能具有 较大作用。因而,我们设计了滤波电路,起到滤波的作用,从i佃更好的避免不必耍 的故障发生。滤波电路的基木原理是利用电
17、容或电感的滤波特性,图2-4电源电路 采用电容滤波。图中led是用來指示电源接通的情况。1>图2-4电源电路j2 com32. 5 液晶显不电路课题任务要求以lcd 1602芯片显示单片机处理后的温度、水费和水流量,在此有必要详尽的介绍lcd 1602的特性和用法。2.5.1显不特性 只需5v电源电压,低功耗、长寿命、高可靠性 内置192种字符(160个5x7点阵字符和32个5x10点阵字符) 具冇64个字节的自定义字符ram 显示方式:stn、半透、正显 骡动方式:1/16duty, 1/5bias 视角方向:6点 背光方式:底部led 通讯方式:4位或8位并口可选 标准的接口特性:适
18、配mc51和m6800系列mpu的操作时序。2. 5.2引脚说明表2-2液晶1602引脚说明管脚号符号功能1vss电源地(gnd)2vdd电源电压(+5v)3volcd驱动电压(可调)寄存器选择输入端,输入mpu选择模块内部寄存器类型信号:rs二0,当mpu进行写模块操作,指向指令寄存器;4rs当mpu进行读模块操作,指向地址计数器;rs=1,无论mpu读操作还是写操作,均指向数据寄存器5r/wr/w=o 读操作;r/w=l写操作6e使能信号输入端,输入mpu读/写模块操作使能信号:4位方式通7dbo数据输入/输出口,mpu与模块之间的数据传送通道讯时,不使用8db1数据输入/输出口,mpu与
19、模块z间的数据传送通道db0-db39db2数据输入/输出口,mpu与模块z间的数据传送通道10db3数据输入/输出口,mpu与模块之间的数据传送通道11db4数据输入/输出口,mpu与模块z间的数据传送通道12dbs数据输入/输岀口,mpu与模块之间的数据传送通道13db6数据输入/输出口,mpu与模块之间的数据传送通道14db7数据输入/输出口,mpu与模块之间的数据传送通道15a背光的正端+5v16k背光的负端0v2.5.3 接口时序读操作时序:写操作时序:arsqthdlr/wetr.ntf th$ tsd2 須db0l)b7x>thd2u图2-5时丿芋图表2-3液晶1602时序
20、图标号说明时序参数符号极限值单位测试条件最小值典型值最大值e信号周期tc400ns引脚ee脉冲宽度tpm150nse上升沿/下降沿时间tr, tf25ns地址建立时间tspl30ns引脚e、地址保持时间thdl10nsrs、 rw数据建立时间(读操 作)td100ns引脚db0db7数据保持时间(读操 作)thd220ns数据建立时间(写操 作)tsp240ns数据保持吋间(写操 作)thd210ns程序实现如门void wr_com(unsigned char com) 写指令delay(l);延时1msrs=0;写命令设置rw=0;并行数据的读写en=0;使能为0p2=com;输入命令de
21、lay(l);延时1msen=1;使能为1delay(l);en=0;延时1ms使能为0/* * * * * 写数据* * * * */void wr_dat(unsigned char dat)/ 写数据delay(l); 延吋 1msrs=1; 写数据设置rw=0;并行数据的读写en=o;使能为0p2=dat;输入数据delay(l);延时1msen=1;使能为1delay(l);延时1msen=o;使能为02.5.4 初始化指令:表2-4清屏指令指令功能指令编码执行时间/msrsr/wdb7db6db5db4db3db2db1db0清屏00000000011.64功能:1. 清除液晶显示
22、器,即将ddram的内容全部填入空白的ascii码20h;2. 光标归位,即将光标撤回液晶显示屏的左上方;3. 将地址计数器(ac)的值设为0。表2-5光标归位指令指令功能指令编码执行时间/msrsr/wdb7db6db5db4db3db2db1db0光标归位000000001x1.64功能:1. 把光标撤回到显示器的左上方;2. 把地址计数器(ac)的值设置为0;3. 保持ddram的内容不变表2-6进入模式设置指令表2-7显示开关控制指令指令功能指令编码执行时间/usrsr/wdb7db6db5db4db3db2db1dbo显示开关 控制0000001dcb4 0功能:控制显示器开/关、光
23、标显示/关闭以及光标是否闪烁。表2-8设定显示屏或光标移动方向指令指令功能指令编码执行时 间/ u srsr/wdb7db6db5db4db3db2db1dbo设定显示 屏或光标 移动方向000001s/cr/lxx4 0功能:使光标移位或使整个显示屏幕移位。表29功能设定指令指令功能指令编码执行 时间 /usrsr/wdb7db6db5db4db3db2db1db0功能设定00001d ls/cr/lxx4 0功能:设定数据总线位数、显示的行数及字型。参数设定的情况如下:表2-10 设定cgram地址指令指令功能指令编码执行 时间 /usrsr/wdb7db6db5db4db3db2db1d
24、b0设定cgram 地址0001cgram的地址(6位)功能:设定下一个要存入数据的cgram的地址。表2-11设定ddram地址指令指令功能指令编码执行 时间/u srsr/wdb7db6db5db4db3db2db1db0设定d d ram地址001cgram的地址(7位)40功能:设定下一个要存入数据的cgram的地址。(注意这里我们送地址的时候应该是0x80+address,这也是前面说到写地址命令的时候 耍加上0x80的原因)指令功能指令编码执行 时间 /usrsr/wdb7db6db5db4db3db2db1db0读取忙碌 信号或ac 地址01fbac内容(7位)40功能:1. 读
25、取忙碌信号bf的内容,bf二1表示液晶显示器忙,暂时无法接收单片机送來的数 据或指令;当bf=o时,液晶显示器可以接收单片机送来的数据或指令;2. 读取地址计数器(ac)的内容。表2-13数据写入ddram或cgram指令一览指令功能指令编码执行 时间/u srsr/wdb7db6db5db4db3db2db1db0写数据到ddram 或cgram10要写的数据d7d040功能:1. 将字符码写入ddram,以使液品显示屏显示出相对应的字符;2. 将使用者口己设计的图形存入cgramo表2-14从cgram或ddram读出数据的指令一览指令功能指令编码执行时 间/ u srsr/wdb7db6
26、db5db4db3db2db1db0从 cgram 或 ddram 中读数据11要读的数据d7d040功能:读取ddram或cgram屮的内容。单片机和lcd液晶显示器的连接j3緞晶灵图2-6液晶显示电路2.6 状态显示电路电路设计若水流量开始技术则绿灯亮,水流量计数停止则绿灯灭。温度超过40 度或小于0度红灯报警。由于发光二极管的需求电流为3ma10ma,电压为3v所以计算r=3v/ (3-10) ma=(3301000)欧故我们在这采用r=330,以使经过发光二极管电流较大,发光更亮。图2-7状态显示电路2.7 温度测量电路课题任务中需耍测量水温,故先用温度传感器ds18b02的数据采集,
27、再通过单 片机数据处理,最后在液晶屏显示出來。2. 7. 1 ds18b20 简介ds18b20是dallas半导休公司推出的第一片支持“一线总线”接口的温度 传感器,他它具冇微型化、低功耗、高性能、抗干扰能力强、易配微处理器等优点, 可直接将温度转化成串行数字信号供处理器处理。ds18b20貝有以下优点:适应电压范围宽,电压范围在3.0v5.5v,在寄生电源方式下可由数据线供电。独特的单线接口方式,与微处理器连接吋只需要一条口线即可实现微处理器与ds18b20的双向通信。 支持多点组网功能,多个ds18b20可以并联在唯一的三线上,实现组网多点测温。 在使用屮不需要任何外围元件,全部传感元件
28、以及转换电路集成在形如一直三极管 的集成电路内。 测温范围-55°c + 125°c,在-10°c+85°c时进度为土0.5°c,可编程分辨率为912位, 对应的可分辨温度分别为0. 5°c、0. 25°c、0. 125°c和0. 0625°c,可实现高精度测温。 负压特性。屯源极性接反时,芯片不会因为过热而烧毁,但不能正常工作。2. 7. 2ds18b20结构及其工作原理dallas ds18b2ods18b2u ro-q2j- :-*ncnc vim vqncncnccind图2-8 ds18b20的
29、引脚和封装低激憾11电源检测丄图2-9 ds18b2 0的内部结构ds18b20组成:64位rom、温度传感器、非挥发的温度报警触发器th和tl、配置寄存器。ds18b20的管脚排列:dq为数字信号输入/输出端gnd为电源地vdd为外接供电电源输入端,在寄生电源接线方式时接地。ds18b20内部带冇共9个字节的高速暂存器ram和电可擦除eeprom,起结 构如表2-15所示。农2-15 ds18b20高速何存器结构寄存器内容字节地址温度值低位(lsb)0温度值高位(msb)1高温限值(th)2低温限值(tl)3配置寄存器4保留5保留6保留7crc校验值8表2-16 ds18b20操作指令rom
30、操作指令指令约定代码功能读rom33h读ds18b20温度传感器rom中的编码(即64位地址)匹配rom5511发出命令后接着发出64位rom编码,访问总线上与该编 码对应的芯片搜索romfoh用于确定挂接在同一总线上ds18b20的个数跳过romcch忽略64位rom地址,直接向ds18b20发温度变换命令告警搜索ech执行后只有问多超过上限或卜 限的芯片才响应ram操作指令指令约定代码功能温度转换44h启动ds18b20温度转换。12位转换时长典型值750ms读暂存器beh读内部ram中9字节的数据。写暂存器4eh向ram第2、3字节写上、下限温度数据,紧跟命令之后 传送2字节数据复制暂存
31、器48h将ram中第2、3字节的内容复制到内部eeprom中重调eepromb8h将eeprom中内容恢复到ram中第3、4字节温度数据在高速暂存器ram的第0和第1个字节中的存储格式如下表2-17所示。表2-17 ds18b20温度数据存储格式位7位6位5位4位3位2位1位02322212°2122232 4位15位14位13位2位11位10位9位8sssss262521ds18b20在出厂是默认配置为12位,其中最高位为符号位,即温度值共11位, 单片机在读取数据时,一次会读2字节共16位,读完后将低11位的二进制数转化 为丁进制数后再乘以0.0625便为所测的实际温度值。另外,
32、述需要判断温度的正 负。前5个数字为符号位,这5位同时变化,我们只需要判断11位就可以了。前5 位为1时,读取的温度为负值,冃测到的数值需耍取反加1再乘以0.0625才可得到 实际温度值。前5位为0时,读取的温度为止值,且温度为止值时,只要将测得的 数值乘以0.0625即可得到实际温度值。考虑到实际使用的需要,在这里我们只使用 一个ds18b20,故每次操作前只需复位后发出skip rom指令(即跳过rom指令) 再读出温度的正值、并精确到小数点后一位,即可满足设计需求。每颗ds18b20在出厂前都有一个64位光刻rom,它可以看作该ds18b20的 地址序列码。其各位排列顺序是:开始8位为产
33、品类型标号,接下來48位是该 ds18b20自身的序列号,最后8位是前面56位的crc循环兀余校验码(crc=x8+x5+x4+1) o光刻rom的作用是使每一个ds18b20都各不相同,这样 就可以实现一条总线 挂接多个ds18b20的目的。由tds18b20是在一根i/o线上读写数据,因此,对读写的数据位有着严格的 时序要求。ds18b20有严格的通信协议來保证各位数据传输的止确性和完整性。该 协议定义了儿种信号的时序:复位时序、读时序、写时序。所有时序都是将主机作 为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启 动写时序开始,如果要求单总线器件冋送数据,在进行写
34、命令后,主机需启动读时 序完成数据接收。数据和命令的传输都是低位在先。(1) ds18b20的复位时序:vddgnd"生机发岀艮酗甘主机楼收猫s®帼80us 最小值,480us最大值;960us15s *-d$18b20发旳-应觌曲60ue图2 10 ds18b20的复位时序图/*ds 1820 复位子程序*/void dsl820rst()unsigned char x=0;dq= 1;/dq复位delay_18b20(4);延吋dq = 0;/dq拉低delay_18b20(100);精确延时大于480usdq= 1;拉高delay_18b20(40);延时(2) ds
35、18b20的读时序:对于ds18b20的读时序分为读0时序和读1时序两个过程。对于ds18b20的读时隙是从主机把单总线拉低么后 在15us z内释放单总线 以让ds18b20把数据传输到单总线上。ds18b20在完成一个读时序过程,至少需 要60us才能完成。sid主cpu耕图2-11ds18b20的读时序图/*ds 1320 m数据 了程序*/uchar dsl820rd()unsigned char i=0;unsigned char dat=0;for (i=8;i>0;i-)dq = 0;dat»=l;dq= 1;if(dq) datl=0x80;delay_18b2
36、0(10);return(dat);(3) ds18b20的写时序:读数据读温度2进制8次给脉冲信号将温度数据转移到dat给脉冲信号数据转换对于ds18b20的写吋序仍然分为写0吋序和写1吋序两个过程。对于ds18b20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证ds18b20能够在15us到45us之间能够正确地采样10总线上的“0”电平,当要写1时序时,单总线被拉低z后,在15usz内就得释放单总线。主cpu别咂 4-血为叫伽< 15us# i5ur30us 岡0采祥区4 1su5>|4 亞區屮 30usicwntg60120us图2-12 d
37、s18b20的写时序图/*ds 1820 ?丁数据 了程序*/void dsl820wr(uchar wdata) unsigned char i=0;for (i=8; i>0; i)dq = 0;dq = wdata&0x01; delay_18b20(10);dq= 1;wdata»=l;写数据2进制8次给脉冲信号数据传送延时给脉冲信号数据移位2.7.3温度测量电路接口展示u2vdddqgndvccr2 4.7k1i p1.04温度传感器图2-13温度测量电路2.8 水流量测量电路课题任务屮最重要的是水流量的测量。通过水流量传感器的数据采集,根据商 家的水流量传感
38、器的参数可以得出单片机在运算时的数据。水流量传感器参数:环境温度:1o55°c流量计算在流量为:0.204l/min时,1l=21o0次;050.8l/min时,1l=228o次;0.91.2l/min 吋,1l=2350 次;1.22.5l/min 时,1l=246o 次;(脉冲次数在流量变 化时有一定程度的变动)接线方法 白线:信号输出;黑线:电源负(也可按客户耍求定做)测量精度:±5% (在流量稳定的系统,精度可达土2%)工作电压:dc024v工作压力:w100psi (7kg/cm)耐湿性能:在环境湿度为90%以下时性能保持稳定寿命测试:本产品用进口干簧管作感应元件
39、,在负荷小于24v 1ma前捉下, 开关寿命大于3亿次。a 2-14水流量计图2-15水流量测量电路2.9按键控制电路k2p1.4sw-pbk3课题设计之初,要求基木实现的功能有水流量的控制、水价的改变。由于液 晶显示屏不能够完全实现其显示,故乂增加了换页功能,共三个控制键。-iipi sq ql12.pl6sw-pb图2-16按键电路sw-pb k42. 10 小结电路的设计,首先是把预定功能设定好,再看运行这些需要什么样的硬件,然后实施硕件的操作。各个模块都要有合理的设计。仔细认真是设计硕件电路的基 本,一步走错,整个设计就毁于一旦。在设计本课题时,电路设计规则一定要注意, 还有多多借鉴网
40、络上的众多设计者分享的经验,益于门己的设计,总z切为课题 的成功做准备。3 软件系统的设计3. 1 软件设计总流程程序耍求液品显示冇水温、水价、水费和当前水流量。水流量的测量由开关 控制。由于lcd 1602的显示屏幕有限,所以又把程序设计成可以翻页的形式。翻页 也用开关控制。由于在两个界面里面都显示水温,故在显示程序里加入测量水温程 序也未尝不可。整个程序屮结构较为简单,但其屮也冇几个重要而目比较费脑筋的 了程序,包括水测量程序、水流量数据的计算与转换、温度数据转换程序。在程序中可以分为3个主要模块:水流量模块,温度模块,显示模块如图3-1所示:图3-1总流程图3. 2 温度程序模块3. 2
41、. 1 温度数据转换程序由温度传感器ds18b20釆集的温度数据读取后温度的低位和高位分别存在主 芯片sct89c52存储器中。其中依定传感器的设计,读出的数据最高位为0吋温度 为正,温度为1吋,温度是负数。是以对温度数据处理,将温度数据高位和低位整 合在一起,在判断温度的正负即可。如图32所示:图3-2温度测最流程图3.2.2 温度数据显示前处理程序将已处理好的温度数拯的首先判断它的正负,然后再去运行其他的代码。在这 里,程序还设定了温度报警。温度报警本来可以在ds18b20中对芯片进行设置,但 考虑到对芯片的熟悉度不够,容易出错,而在程序中设定比较容易理解,写起來也 不会太难。还有实际水的
42、温度不可能超过100度,所以测得100度以上的温度值就 会显得多余,在程序中只耍设定最高99.9度即可。再就是美观上的设定,测得的温 度在为个位时,十位为0就会看起来不太美观,只要把十位设定看不见即可。如图3-3所不:等待调用显小叫”号 红灯亮红灯亮温度置为卜位不显示温度各位分杞资源图3-3数字不显示流程图3. 3 水流量程序模块水流量的测量主要依靠对得到的频率处理,由流量计在一段时间下产生高电平 的个数决定,即q (流量)二f (频率)/r (商家设定值)所以只要在单片机屮设定 一定的时间,并在该时间之下计算出得到的高屯平即口在本程序中stc89c52的 两个定时器to为计数状态,t1为计吋
43、状态,这样方可测量流量。3. 3. 1 水流量的读取程序中断程序运行的时间到,就可以读取计数器中的数值,将下数值读出后把计数 器赋值为0,等待下一次的取出,然后进入对读出数据的处理程序。如图34所示:等待调用读取频率左时器赋初值置时间标志位水流量计牌 序与咖专换.稈序返回图3 4水流量测量流程图3.3.2 水流量数据的处理程序在预定时间到,即已经取出了定时器的数值。我们计算的水流量最大是以每 吨来计算并显示的,故一个整形或长整型的数不够,故先把它放在了一个int变量 的存储空间内,做水流量的前三位,在定义一个长整型的数,把它作为水流量的后 六位,这样计算起来也比较容易,数据也不会起冲突,也是为
44、将要计算水价做准备。 设定该水流量的最大计数为250吨,超过了定值,则会从0开始。如图3-5所示:图3-5水流量数据处理流程图3. 4 显示程序在程序中只是计算岀流量值,温度值以及和资源分配的情况,一些字母的显 示,都耍另加,这样才能尽善尽美的表达岀显示出来的意思。在显示程序屮加入了 温度的测量,所以在主程序中不必再测量温度。在第一页主要显示的是温度、水费 和水流量的后六位,最后以t结尾。第二页主要显示温度、单位水价和水流量的前 三位,最后以kg结尾。如图36、图3-7所示:图3-6笫一页显示流程图图3-7笫二页显示程序流程图3.5 小结:木课题的程序全部用c语言来编写。在编写过程屮,会借鉴网
45、络的编程资料,会将整个程序进行整体的规划,会对错误的程序反复修改,尽善尽美的达到课题要 求。其中主要的问题在于怎样节省存储空间,怎样最大限度的利用芯片,怎样的程 序在现实实物中能够很好的运行成功。这就主要归结于对芯片的熟悉程度和对程序 的应用程度。经过一番努力后,最终把程序做了出来。在做程序的过程屮,遇到自 己解决不了的难题就和同学们一起商量探讨。这次的课题充分的锻炼了自己。4 调试结果记录4. 1温度测量4.2流量测量表4-1温度测量调试环境温度调试自来水7°c洗澡水52°c由于自来水水流不够均匀,水流量传感器较小,测量不会标准,故测试改水流量测 量用气流代替,每次结果不
46、一。因原本设计耍求已达到,本设计硬件部分和软件部分结 束。5 总结这次设计的制作,充分的考验了自己的综合能力。从硬件到软件的制作过程中, 问题多多,但经过一番努力后,所有的问题都解决。硬件的问题主要是设计电路这一块。因为这次设计中有第一次触摸的芯片和电 路,这都不得不自己找资料去查找其芯片的结构和用法。当电路设计好了以后,元 器件不多,自己就用万能板做电路。由于焊接工艺不好,使得电路有虚焊、漏焊, 甚至焊错的接口,短路也时有发生。查找错误也很慢。让口己看到了在动手操作能 力上的不足。软件部分的问题就是查找资料太多,但整理出来有用的很少,还有液晶屏1602 和ds18b20温度传感器时序图看起来
47、始终很费劲。网上那个有很多它们的资料,看 懂网上的程序也很艰难,发现自己对程序上而也只是略懂皮毛。毕业设计是一次对学校对学生专业技能的验收,通过这次的实际操作,让我从 硬件到软件,从思考到动手,从理论到实践,让我对电子专业的更加深刻的了解, 学习的专业知识更加的巩固,更大的好处是让我知道口己哪些的不足,哪些是口己 的强项,失败和成功都是我的财富。也让我知道在关键时刻要充分的发挥白己的能 力,在平时要多劳动,多学习,多看多想多实践。马上就要走上社会的我们更加体 会到专业对自己重要性。在这次毕业设计中,我重要的收获就是其屮许多次的失败。由失败走向成功是 很让人兴奋的一件事,其中妙味无穷。由于有问题
48、,所以我找过同学一起探讨,上 网找过资料來搜集,找过老师來辅导。使我感觉到过的很充实,希望在以后工作中 也能持续保持口己这样的积极性。所以这次非常感谢老师同学们的帮助。6 成果展示图6-1实物图6-2实物sln666ssd vs& 岂心二一结论与谢辞本次毕业设计通过指导老师的指导,以及自己的努力,我才能完成任务。不但让我 增长了见识也让我真正感受到理论与实际相结合的成果,受益匪浅。感谢我的指导老师,他给予我许多的帮助和鼓励。我还要感谢在设计过程中所有给 予我真诚帮助的其他老师和同学。参考文献1 张菁,基于单片机温度控制系统方案的研究。2007 (9)。2 楼然苗,51系列单片机设计实例
49、.北京航空航天大学出版社,2003o3 苏铁力、关振海等.传感器及其接口技术m.中国石化出版社,1998.4 宋亚伟、李恒宗,基于ds18b20的温度采集控制电路,2008,3,7(9)。5 肖睛,液品显示温度的控制,2005 (2)o6 谭浩强,c程序设计(第二版).清华大学出版社.1999年12月第2版电源电路时钟电路j2con3ji3trrici piviioouf104pj jj104vccd1y :llowriiksct89c52vcc卜温度测量电路温度传s®u2vccvdddq gndsw pbk3o o-sw-pbksw pb按键操作复位电路液晶显示电路cm mvccres9x!93】o3837 36 一35343332rsrwrst xlu hpsenx2aidlaaldpoop2 0p0.1p2 1p0 2p2 2p0 3p2 3p04p2 4p0 5p2 5p0 6p2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高数二考试题及答案
- 高级财务自考试题及答案
- 法检考试题目及答案
- 2025年教师资格证考试教育公共基础知识笔试题库450题及答案
- 2025年智能家居项目可行性分析报告
- 调解学教程考试题及答案
- 2025年垃圾可行性分析报告
- 2025成都市购房合同范文模板
- 电磁复习考试题及答案
- 中国对氨基三氟甲苯项目创业投资方案
- 《电子基础与技能》项目二整流电路二极管、整流电路
- 写字楼公司门禁管理制度
- 孔压静力触探测试技术规程培训
- 实验室风险评估报告(金坛区疾控中心)
- 跌倒护理不良事件案例分析
- T/DZJN 20-2020家用和类似用途饮用水处理装置用炭棒和炭棒滤芯组件
- 人教版七年级上学期期中考试数学试卷及答案(共7套)
- 湘艺版九年级上册第四单元《世界民族之声(二)》音乐单元作业设计
- 器械性压疮的护理
- 中国老年患者术后谵妄防治专家共识
- 兄妹断绝协议书范文
评论
0/150
提交评论