基于AVR单片机的智能信息记录仪设计

发布者:龙爱泉也最新更新时间:2011-11-26 关键字:信息记录  单片机  ATMEGA64  PB375A  DSl302  U盘读写 手机看文章 扫描二维码
随时随地手机看文章

0 引言
    随着计算机技术的发展,对各种仪器的使用情况的监控也越来越智能化。针对目前市场上时间记录仪成本高、可扩展性差、存储容量小、编程复杂等缺点,本文通过以AVR单片机为核心控制器,以高亮度液晶为显示器,以USB移动硬盘为存储设备,设计了一种智能时间记录仪。

1 系统硬件设计
1.1 系统总体组成
    智能信息记录仪由单片机、电源、液晶显示、键盘输入和USB模块几部分组成,其系统组成结构框图如图1所示。系统中的电源包括外部
电源和锂电池。开机后,系统主电源一边给电路供电,一边对锂电池充电。关机后,则由锂电池给USB供电完成数据的保存。液晶显示部分的主要任务是完成开关机时间的查询显示,在空闲时显示当前的系统时间。时钟模块使用的是DSl302芯片,它是DALLAS公司推出的涓流充电时钟芯片,片内含有一个实时时钟/日历和31字节静态RAM。它可通过简单的串行接口与单片机进行通信,实时时钟/日历电路可提供秒、分、时、日、星期、月、年的信息,每月的天数和闰年的天数可自动调整。USB模块采用的U盘读写芯片PB375A是一个比较简单的U盘读写解决方案。使用它无需了解繁琐的USB HOST底层协议和FAT文件系统(支持FATl2和FATl6及FAT32文件系统),而只需要将MCU与模块通过SPI接口或者UART通信,通过执行几个简单命令,便可完成文件的新建、读写、删除等功能,使用十分简单方便。另外,对于单片机来说,基本不占用单片机系统的存储空间,只需要几个字节的RAM和几百字节的代码就可完成。它的串口支持9600、4800和2400bit/s三种波特率的选择,由于其内置5 V转3.3 V电路,故可大大简化外围电路的设计。


1.2 硬件电路设计
    该信息记录仪器采用一款高性能低功耗的处理器ATmega64作为中央控制器,它的工作电压为3.3 V,具有丰富的内部资源:包括53个可编程的I/O口、7个外部中断、2个16位定时器、2个8位定时器、4 KB的片内SRAM和64 KB系统内可编程Flash存储器,而且擦写寿命长,可满足系统要求。ATmega64及其外围接口电路如图2所示。

[page]

    该仪器的中断接口电路包括开机时的上电中断和关机时的掉电中断,它们都由光电耦合芯片6N137和非门74LVT04组成,图3所示是其中断电路。电源VC经过7805后接到光耦的输入端,输出接单片机的INT0和非门的l脚,非门的2脚接INTl。因此,在开机时,光耦输入端Vin+为高电平,输出端Vo为低电平,故产生上电中断(INT0);而关机时,光耦的输入是低电平,而输出为高电平。故在经过非门2脚后,输出低电平以产生掉电中断(INTl)。


    电源切换电路主要的功能是在系统关机时,转由锂电池给USB供电并完成数据的保存,其电源切换如图4所示。图中,当外部开机后,V为高电平使三极管Q2导通,同时把Q1的基极拉至低电平,使其导通。外部电源V经过二极管D1后(VC)给单片机电路和USB供电。由于程序在初始时把POWER置高,所以,此时Q2也是导通的。当系统关机后,V变成低电平,三极管Q2截止。但是,由于此时Q3是导通的,所以Q1仍导通,只是此时是由锂电池供电来完成数据的保存,这时,单片机的定时器l开始工作,并在延时10 s后,使POWER的输出为低电平,从而使Q3关断,并最终使Q1的基极变高,整个记录仪关闭。

2 系统软件设计
    系统软件的主要任务是USB的读写、液晶的显示、时钟和键盘的编程。PB375A和单片机之间使用串行通信。其中,单片机首先将命令码和
参数信息发送给PB375A,由PB375A根据命令信息执行完相应操作,再以中断方式返回操作状态码给单片机。通信格式包括起始码(0x3A)、操作码、数据长度和数据包。其主要的操作码如下:
    Ox71:检测U盘是否连接,连接时返回0;
    0x64:打开已有的文件,如果文件不存在,则返回Ox42:
    0x65:新建文件;
    Ox7A:确定读写字节的地址;
    0x7B:以字节为单位返回读取的数据。
    图5所示是本系统的程序流程框图。

[page]

    该仪器的中断接口电路包括开机时的上电中断和关机时的掉电中断,它们都由光电耦合芯片6N137和非门74LVT04组成,图3所示是其中断电路。电源VC经过7805后接到光耦的输入端,输出接单片机的INT0和非门的l脚,非门的2脚接INTl。因此,在开机时,光耦输入端Vin+为高电平,输出端Vo为低电平,故产生上电中断(INT0);而关机时,光耦的输入是低电平,而输出为高电平。故在经过非门2脚后,输出低电平以产生掉电中断(INTl)。


    电源切换电路主要的功能是在系统关机时,转由锂电池给USB供电并完成数据的保存,其电源切换如图4所示。图中,当外部开机后,V为高电平使三极管Q2导通,同时把Q1的基极拉至低电平,使其导通。外部电源V经过二极管D1后(VC)给单片机电路和USB供电。由于程序在初始时把POWER置高,所以,此时Q2也是导通的。当系统关机后,V变成低电平,三极管Q2截止。但是,由于此时Q3是导通的,所以Q1仍导通,只是此时是由锂电池供电来完成数据的保存,这时,单片机的定时器l开始工作,并在延时10 s后,使POWER的输出为低电平,从而使Q3关断,并最终使Q1的基极变高,整个记录仪关闭。

2 系统软件设计
    系统软件的主要任务是USB的读写、液晶的显示、时钟和键盘的编程。PB375A和单片机之间使用串行通信。其中,单片机首先将命令码和
参数信息发送给PB375A,由PB375A根据命令信息执行完相应操作,再以中断方式返回操作状态码给单片机。通信格式包括起始码(0x3A)、操作码、数据长度和数据包。其主要的操作码如下:
    Ox71:检测U盘是否连接,连接时返回0;
    0x64:打开已有的文件,如果文件不存在,则返回Ox42:
    0x65:新建文件;
    Ox7A:确定读写字节的地址;
    0x7B:以字节为单位返回读取的数据。
    图5所示是本系统的程序流程框图。

 

 

关键字:信息记录  单片机  ATMEGA64  PB375A  DSl302  U盘读写 引用地址:基于AVR单片机的智能信息记录仪设计

上一篇:没有仿真器的条件下如何开发AVR
下一篇:基于ATmega8单片机的125 kHz简易RFID阅读器设计

推荐阅读最新更新时间:2024-03-16 12:47

单片机汇编实验二:定时器实验
实验要求: 由AT89S52内部定时器0,按方式1工作,即作为16位定时器使用每0.05秒T1溢出中断一次。P1口的P1.0~P1.8分别接8个发光二极管。要求编写程序模拟一时序控制装置。开机后第一秒钟L1,L8亮,第二秒钟L2,L7亮,第三秒钟L3,L6亮,第四秒L4,L5亮,第五秒L3,L6亮,第六秒L2,L7亮,第七秒L1,L8亮,第八秒L1,L3,L5,L7亮,第九秒L2,L4,L6,L8亮,第十秒全亮,第十一秒全灭。然后再从头循环。 //This is the second program of the homework; //Name: WQ DATE: 201326 //In this program we used
[单片机]
基于单片机的串联锂离子电池组监测系统设计
介绍一个以51系列单片机为主控单元的串联锂离子电池组监测系统。采用差分放大器和模拟开关轮流检测单体电池电压,利用单片机的IO接口和DS18B20实现单总线多点温度检测。系统简单经济,经过试验,能可靠、准确地对串联锂离子电池组进行监测。 具有高电压、高容量、循环寿命长、安全性能好等优点的锂离子电池,在便携式电子设备、电动汽车、空间技术、国防工业等多方面具有广阔的应用前景。由若干节锂离子电池经串联组成的动力锂离子电池组目前应用最为广泛。由于每节单体电池的电压不一致,使用中电池不允许过充电、过放电,电池的性能和寿命受温度影响较大等特点,必须对串联锂离子电池组进行监测,确保在使用中锂离子电池具有良好的状态,或者使用中电池出现问题立即报
[电源管理]
基于<font color='red'>单片机</font>的串联锂离子电池组监测系统设计
单片机的"位"
  常见的MCU有8位、16位、32位、64位以及更早之前有4位(当然现在也在使用),至于128位的?可能PowerPC有的吧,但貌似已经不属于MCU的范围了吧。   那么到底我们是怎么来划分这个“位”的呢?   取决于Internal Data Bus Width 内部数据总线宽度。   目前MCU有两种架构:     1.冯·诺依曼结构(Von-Neumann Architecture)或(普林斯顿体系架构(Princetion Architecture))       PM(Program Memory)和DM(Data Memory)两个存储器共用一个总线,此总线位数即为单片机的位数。       例如:MSP430   
[单片机]
pic单片机MPLAB安装步骤&工程建立&经验总结
写在前面: pic这款单片机用的也很普遍了,其性能及能做些什么就不必啰嗦去说了。有很多人反映pic的编译器mplab安装出问题,有的是安装后软件打不开,有的是编译时出错,总之都是些常见的问题。我在这里把以前的mplab卸载再安装了一遍,并写下安装步骤和第一个工程建立方法供大家参考。另外,我把自己学习pic的一些经验总结下。 pic是我在51之后接触的的第二款单片机,都说它跟51区别不大,但是突然换了一种芯片就跟换了一个环境一样,开始有些不适应,在摸索了大概一个星期后我才慢慢适应了,凭借着有些51的基础,pic走下来很顺利,我才发现真的和51没太大的区别,出了指令不同,寄存器配置不一样外都差不多。这里也可以延伸一下,那么其他的
[单片机]
pic<font color='red'>单片机</font>MPLAB安装步骤&工程建立&经验总结
浅谈基于C8051F060单片机控制AD9833实现FSK调制
数字调频又称移频键控,简记为FSK,它是载波频率随数字信号而变化的一种调制方式。利用基带数字信号离散取值特点去键控载波频率以传递信息的一种数字调制技术。除具有两个符号的二进制频移键控之外,尚有代表多个符号的多进制频移键控,简称多频调制。一种用多个载波频率承载数字信息的调制类型。最常见的是用两个频率承载二进制1和0的双频FSK系统。由于FSK具有方法简单、易于实现、抗噪声和抗衰落性能较强等优点,因此在现代数字通信系统的低、中速数据传输中得到了广泛应用。   直接数字频率合成技术(DDS)将先进的数字处理技术与方法引入信号合成领域。DDS器件采用高速数字电路和高速D/A转换技术,具备频率转换时间短、频率分辨率高、频率稳定度高、输出
[单片机]
浅谈基于C8051F060<font color='red'>单片机</font>控制AD9833实现FSK调制
单片机在AC变频空调的应用
1 引言 随着我国国民经济的发展和人民物质文化生活水平的不断提高,空调器已广泛应用于社会的各种场合,直流变频空调器因具有节能、低噪、恒温控制、全天候运转、启动低频补偿、快速达到设定温度等性能,使空调的舒适性大大提高,将越来越受到人们的喜爱。单片机技术的广泛应用,直流变频技术及模糊控制技术在空调器嵌入式控制领域的成功应用,半导体功率器件的迅速发展为直流变频控制的推广提供了技术保障。 本设计方案的AC变频空调控制器由室内机控制器、室外机控制器两部分组成。基于SPMC75F2413A 的优越性能,用其设计室外机AC变频控制器,容易实现产品模块化、智能化特点,控制参数采用开放式结构,便于与各种压缩机联结,从而能够在
[单片机]
AVR单片机解密后的熔丝配置
AVR单片机内部有多组与器件配置和运行环境相关的的熔丝位,这些熔丝位非常重要,用户可以通过设定和配置熔丝位使AVR单片机局部不同的特性,以更加适合实际应用。但是由于需要对熔丝位进行配置,给初学者带来一些不太好理解的地方,对于单片机解密以后,在烧录程序的时候,也要对熔丝位配置,如果配置不对了,可能不工作或功能发生变化。所有在烧录解密后的文件的时候一定要对熔丝位进行配置,由于支持AVR的工具非常多,而不同的工具的软件的界面不同,所以在做AVR单片机解密前最好告诉解密公司自己使用的是什么工具,让芯片解密公司按照自己的工具的界面做配置图,这样就方便了解密以后去烧写程序,不过自己也可以用解密公司提供的样片去读熔丝位配置,有的工具直接读芯片就
[单片机]
51单片机的状态机消抖代码
#include enum State {Init, Press, Free}; //定义按键状态的枚举类型 enum State Key_State; //按键状态 sbit Key1 = P2^4; sbit Key2 = P2^5; sbit Key3 = P2^6; sbit Key4 = P2^7; void Delay_ms(unsigned int x) { int i,j; for(i=0; i 110; i++) for(j=0; j ; } //============================================================================
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved