微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于tinyAVR和Nokia3310 LCD的温度绘图仪

基于tinyAVR和Nokia3310 LCD的温度绘图仪

时间:11-07 来源:互联网 点击:

5 C语言程序设计
这里提供给大家经过编译的利用C语言编写的源代码程序(软件集成开发环境为WinAVR,C语言编译器为AVR-GCC)。程序需要运行在1 MHz的时钟频率下。
采用编程器STK500在ISP编程模式给单片机烧写程序。单总线温度传感器DS18B20是通过单总线接口完成读/写功能的,这种总线接口在单片机上是利用软件模拟来实现的。可以参考温度传感器的使用手册以获取它的各种命令。这里仅仅对源程序代码中较重要的部分作如下注释:

在ds1820_read函数中读取DS18B20,经过必要的处理后,返回一个10倍于实际摄氏温度值的数值。无限循环构成程序的主体,其操作模式主要有两种:第一种模式是以摄氏度和华氏度交替显示当前温度值,同时显示最大值和最小值;另一种模式是用图形方式显示温度的变化。曲线图的绘制采用了graph1函数,它是通过提取数组data的数值绘制像素点的。Setlcd函数用于在LCD屏幕上绘制坐标轴。S4开关(连接单片机PA1引脚)用于切换上述两种模式。从绘图模式到温度模式的相互切换并不会删除状态信息。程序代码的其他部分用于处理LCD的初始化和绘图算法。

6 独立运行
温度绘图仪采用一节或两节5号或7号规格的干电池,可以是碱性电池,或者可充电的镍氢或镍镉电池。一旦接通电源后,显示器开始显示温度值。可使用开关在读数模式和绘图模式之间切换。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top