文件名称:温度测量仪
- 所属分类:
- 单片机(51,AVR,MSP430等)
- 资源属性:
- [C/C++] [源码]
- 上传时间:
- 2009-04-07
- 文件大小:
- 296.3kb
- 下载次数:
- 1次
- 提 供 者:
- lh20032008@163.com
- 相关连接:
- 无
- 下载说明:
- 别用迅雷下载,失败请重下,重下不扣分!
介绍说明--下载内容均来自于网络,请自行研究使用
这是一个完整的项目文件,程序我已经全部调试完毕,现将软硬件资料全部上传,供大家参考学习。里面包含了M16的AD、EEPROM、定时器、中断、看门狗等内部资源的使用,以及菜单程序、浮点数的存放与取出和显示、液晶显示、数字滤波、按键复用等内容。项目硬件比较简单,AD0、AD1读取两路4-20ma电流信号(由RCV420转换成0-5V的电压信号),AD2读取电压信号
该系统主要完成这样一个工作,从AD0读出温度、AD1读取差压,由这两个值根据一个公式计算出流量并显示,AD2读出全压并显示。系统有4个按键,分别接在4个IO口上,这是个按键是 “设置/退出”、“向上/加1”、“向下/右移”、“确认/保存”,这些按键用于设置3路模拟量的上下限值和其他的一些系统参数。整个系统不算复杂,但程序稍微繁琐,调试较费时。PCB绘制好,正准备制版,等焊好了再发上来吧
因为赶时间,并且项目对运行时间无要求,程序中使用了较多的浮点数,导致HEX文件较大。菜单程序使用了全局变量screen_status来记录菜单的状态。
对于AD值的处理,我使用了一种自己摸索出来的滤波方法,对于AD值在正负2以内的跳动非常有效。具体如下实现:用一个全局变量last_ad来存放上一次AD转换的值,每次显示AD值时都要拿本次的AD值与last_ad做比较,若比last_ad大1,则本次值减1,大2则减2,依此类推,并把处理之后的AD值放入last_ad中作为下次比较的值。这样就可以滤出正负2以内的跳动(对于这样的跳动,平均值滤波是*为力的,具体原因嘛,自己试验一下便知道了)
使用ATMANAVR4.5编译通过,GCC版本为3.4.1 GCC提供了较为丰富的库函数,这个程序中的AD、浮点、EEPROM等都是使用函数完成的,稍后我会贴一篇专门介绍浮点数应用的文章,敬请关注。
另外我把12864液晶的驱动单独做了一个范例文件,放在另一个帖子里了
注:仅供学习使用,请勿用于其他用途
该系统主要完成这样一个工作,从AD0读出温度、AD1读取差压,由这两个值根据一个公式计算出流量并显示,AD2读出全压并显示。系统有4个按键,分别接在4个IO口上,这是个按键是 “设置/退出”、“向上/加1”、“向下/右移”、“确认/保存”,这些按键用于设置3路模拟量的上下限值和其他的一些系统参数。整个系统不算复杂,但程序稍微繁琐,调试较费时。PCB绘制好,正准备制版,等焊好了再发上来吧
因为赶时间,并且项目对运行时间无要求,程序中使用了较多的浮点数,导致HEX文件较大。菜单程序使用了全局变量screen_status来记录菜单的状态。
对于AD值的处理,我使用了一种自己摸索出来的滤波方法,对于AD值在正负2以内的跳动非常有效。具体如下实现:用一个全局变量last_ad来存放上一次AD转换的值,每次显示AD值时都要拿本次的AD值与last_ad做比较,若比last_ad大1,则本次值减1,大2则减2,依此类推,并把处理之后的AD值放入last_ad中作为下次比较的值。这样就可以滤出正负2以内的跳动(对于这样的跳动,平均值滤波是*为力的,具体原因嘛,自己试验一下便知道了)
使用ATMANAVR4.5编译通过,GCC版本为3.4.1 GCC提供了较为丰富的库函数,这个程序中的AD、浮点、EEPROM等都是使用函数完成的,稍后我会贴一篇专门介绍浮点数应用的文章,敬请关注。
另外我把12864液晶的驱动单独做了一个范例文件,放在另一个帖子里了
注:仅供学习使用,请勿用于其他用途
(系统自动生成,下载前可以参看下载内容)
下载文件列表
压缩包 : 温度测量仪.rar 列表 项目\程序\j.aws 项目\程序\j.c 项目\程序\j.c.bak 项目\程序\j.h 项目\程序\Version.v 项目\程序\新建 Text file.txt 项目\程序\熔丝.jpg 项目\程序\J.pnproj 项目\程序\Makefile 项目\程序\J.pnps 项目\程序\.dep\j.o.d 项目\程序\Debug\j.c 项目\程序\Debug\j.cof 项目\程序\Debug\j.eep 项目\程序\Debug\j.elf 项目\程序\Debug\j.hex 项目\程序\Debug\j.o 项目\程序\Debug\j.opt 项目\电路图\Protel Schematic.pdf 项目\电路图\Protel Schematic1.pdf 项目\程序\.dep 项目\程序\Debug 项目\程序 项目\电路图 项目