2.2 I2C存储器扩展电路设计
I2C总线(Inter Integrated Circuitbus)包括一条数据线(SDA)和一条时钟线(SCL),是单片机系统常用的总线结构。这种总线结构尽可能地节省了单片机I/O资源,为多路温度采集保留了最大的扩展空间。
该设计中采用的存储器AT24C16是Atmel公司生产的I2C接口E2PROM芯片。AT24C16中带有片内寻址寄存器。每写入或读出一个数据字节后,该地址寄存器自动加1,以实现对下一个存储单元的操作,且所有字节都以单一操作方式读取。为降低总的写入时间,一次操作可写入多达8 B的数据。I2C存储器电路图3所示。
2.3 液晶显示电路设计
液晶显示电路采用1602带字库液晶实现。这一液晶模块,接口功能明确,操作简单,简化了电路设计,自带字库极大地方便了显示操作的实现。
3 系统功能实现
系统软件设计主要有两项任务,是用于不间断记录温度数据;二是用于接收用户输入,响应用户指令。
温度记录程序中每隔固定时间间隔采集温度数据,将温度数据与当前时间一并记录。若不扩展实时时钟芯片,可用软件方式,依据时间间隔计算转换得到当前时间,避免使用时钟芯片增加系统成本。对于用户按键输入,以外部中断方式予以响应。
该设计中没有采用操作系统,因此,多任务的调度是系统功能实现的关键之一。该设计没有输入中断产生时,为普通单任务系统;中断产生时,工作在多任务模式下。因此,中断产生后,两个任务模仿Linux操作,系统系多线程工作模式实现调度。
由于单片机工作频率所限,加之温度传感器为单总线串行器件,读/写占用时间周期相对较长,因此系统应考虑环境温度变化的剧烈程度。
4 结语
该设计可以实现温度数据的采集与长时间数据记录,既可以单独采样其中任意一路,也可以实现多路同时采样,同时可以与主机交互。该系统的整个运行过程在同一地点进行集中监控,方便又节省人力,实现了温度的采集、显示、存储于一体的集成记录功能。设计使用的外围元件较少。具有设计简单,扩展灵活,功能较全面等特点。