单片机的智能信息记录仪设计方案_第1页
单片机的智能信息记录仪设计方案_第2页
单片机的智能信息记录仪设计方案_第3页
单片机的智能信息记录仪设计方案_第4页
单片机的智能信息记录仪设计方案_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、AVR单片机的智能信息记录仪设计方案2010年04月24日 10:21 不详 作者:马 飞,马彦青,骆 用户评论(0)关键字:单片机(1081)AVR(106)信息(35)AVR单片机的智能信息记录仪设计方案摘要:给出了基于AVR单片机ATMEGA64来设计智能信息记录系统的软硬件设计方法,该方法通过外加液晶和USB接口,并通过U盘直接存储信息,然后在液晶上显示,从而完成对仪器的开关机时间等信号的智能存储。0 引言 随着计算机技术的发展,对各种仪器的使用情况的监控也越来越智能化。针对目前市场上时间记录仪成本高、可扩展性差、存储容量小、编程复杂等缺点,本文通过以AVR单片机为核心控制器,以高亮度

2、液晶为显示器,以USB移动硬盘为存储设备,设计了一种智能时间记录仪。1 系统硬件设计11 系统总体组成 智能信息记录仪由单片机、电源、液晶显示、键盘输入和USB模块几部分组成,其系统组成结构框图如图1所示。系统中的电源包括外部电源和锂电池。开机后,系统主电源一边给电路供电,一边对锂电池充电。关机后,则由锂电池给USB供电完成数据的保存。液晶显示部分的主要任务是完成开关机时间的查询显示,在空闲时显示当前的系统时间。时钟模块使用的是DSl302芯片,它是DALLAS公司推出的涓流充电时钟芯片,片内含有一个实时时钟日历和31字节静态RAM。它可通过简单的串行接口与单片机进行通信,实时时钟日历电路可提

3、供秒、分、时、日、星期、月、年的信息,每月的天数和闰年的天数可自动调整。USB模块采用的U盘读写芯片PB375A是一个比较简单的U盘读写解决方案。使用它无需了解繁琐的USB HOST底层协议和FAT文件系统(支持FATl2和FATl6及FAT32文件系统),而只需要将MCU与模块通过SPI接口或者UART通信,通过执行几个简单命令,便可完成文件的新建、读写、删除等功能,使用十分简单方便。另外,对于单片机来说,基本不占用单片机系统的存储空间,只需要几个字节的RAM和几百字节的代码就可完成。它的串口支持9600、4800和2400bits三种波特率的选择,由于其内置5 V转33 V电路,故可大大简

4、化外围电路的设计。12 硬件电路设计 该信息记录仪器采用一款高性能低功耗的处理器ATmega64作为中央控制器,它的工作电压为33 V,具有丰富的内部资源:包括53个可编程的IO口、7个外部中断、2个16位定时器、2个8位定时器、4 KB的片内SRAM和64 KB系统内可编程Flash存储器,而且擦写寿命长,可满足系统要求。ATmega64及其外围接口电路如图2所示。 该仪器的中断接口电路包括开机时的上电中断和关机时的掉电中断,它们都由光电耦合芯片6N137和非门74LVT04组成,图3所示是其中断电路。电源VC经过7805后接到光耦的输入端,输出接单片机的INT0和非门的l脚,非门的2脚接I

5、NTl。因此,在开机时,光耦输入端Vin+为高电平,输出端Vo为低电平,故产生上电中断(INT0);而关机时,光耦的输入是低电平,而输出为高电平。故在经过非门2脚后,输出低电平以产生掉电中断(INTl)。 电源切换电路主要的功能是在系统关机时,转由锂电池给USB供电并完成数据的保存,其电源切换如图4所示。图中,当外部开机后,V为高电平使三极管Q2导通,同时把Q1的基极拉至低电平,使其导通。外部电源V经过二极管D1后(VC)给单片机电路和USB供电。由于程序在初始时把POWER置高,所以,此时Q2也是导通的。当系统关机后,V变成低电平,三极管Q2截止。但是,由于此时Q3是导通的,所以Q1仍导通,

6、只是此时是由锂电池供电来完成数据的保存,这时,单片机的定时器l开始工作,并在延时10 s后,使POWER的输出为低电平,从而使Q3关断,并最终使Q1的基极变高,整个记录仪关闭。2 系统软件设计 系统软件的主要任务是USB的读写、液晶的显示、时钟和键盘的编程。PB375A和单片机之间使用串行通信。其中,单片机首先将命令码和参数信息发送给PB375A,由PB375A根据命令信息执行完相应操作,再以中断方式返回操作状态码给单片机。通信格式包括起始码(0x3A)、操作码、数据长度和数据包。其主要的操作码如下: Ox71:检测U盘是否连接,连接时返回0; 0x64:打开已有的文件,如果文件不存在,则返回

7、Ox42: 0x65:新建文件; Ox7A:确定读写字节的地址; 0x7B:以字节为单位返回读取的数据。 图5所示是本系统的程序流程框图。21 文件新建与数据写入 利用命令CMD_FileCreat可新建文件,文件名应为8+3格式,且必须为大写字母或者数字。 写入数据可通过命令CMD_ByteWrite来实现。 通过CMD_FileClose命令可关闭文件。关闭文件将自动更新文件长度。另外应特别注意只有关闭了文件;才默认生成文件,否则没有文件生成,也就无法进行下面的操作(例如新建文件后没有关闭文件就开始读数据,则该操作无效)。22 向已有文件追加数据 向已有文件追加数据时的一般命令如下: CM

8、D_FileOpen:打开文件; CMD_ByteLocate:移动文件指针到末尾(0xFFFFFFFF); CMD_ByteWrite:写入数据; CMD_FileClose:关闭文件。23 写数据操作 写数据时,首先读取实时时钟DSl302的值,以判断当前时间是不是每月的1号,如果是,就新建一个vv-mmTXT文件,用来保存一个月中每天的开机次数,然后再新建yymmddTXT文件来保存每次具体的开关机时间。假如现在是09年11月1日,则先新建09-11TXT并写入31个0,然后把它第一个数读取出来,是0则新建09-11-01TXT,写入开机时间后,再把开机次数的标志位加1,然后再写入文件09-11TXT。第二次开机时,时间就直接追加到该文件里。 在新建文件09-11-01TXT时,要把此刻的日期时间保存起来。这样,当关机时,就会把关机时间追加到该文件里。24 日期时间的查询与显示 显示要查询的日期时间时,首先打开输入要求的日期文件,然后读取数据并存入显示缓存。为了能在电脑上清晰阅读,写入具体时间时,应使用空格、回车、换行等特殊字符

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论