新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于AVR单片机的自行车行车记录仪,软硬件协同

基于AVR单片机的自行车行车记录仪,软硬件协同

作者:时间:2016-09-12来源:网络收藏

由以上工作原理可知,可以通过调节滑动变阻器R3,从而来调节触发电平。并且通过点亮灯LED1来指示信号的输出。

改良后的信号输出波形如图3.5所示

图3.5 霍尔传感器输出信号

图3.5 输出信号

信号输出如上图3.5可知,经过改良后的霍尔传感器能输出一个单片机能识别的方波,并且可以通过调节滑动变阻器R3来调节传感器的触发电平,同时通过指示灯LED1来指示信号的输出,最主要达到了增强信号的可处理性的目的。

3.3

在打印的时候需要大电流提供,而单片机的IO管脚最多只能提供20mA的电流,所以在打印之前需要有额外的驱动电路来提供打印需要的电流。打印机实物接口如下图3.6所示

图3.6 打印机实物接口

图3.6 打印机实物接口

其中的信号接口如图3.7所示

图 3.7 打印机信号接口

图 3.7 打印机信号接口

打印机电机驱动如下图 3.8所示,打印机主要信号包括,电机驱动信号:Motor(+),4个打印针驱动信号:(6,7,8,9)。

电机驱动电路如下图3.8所示

图3.8 打印机电机驱动

图3.8 打印机电机驱动

打印机电机驱动如上图3.8所示,信号由AVR_PRINT_ON脚输入,高电平驱动,当产生高电平时,通过三极管Q1驱动打印机打印。

打印针的驱动如下图3.9所示

图3.9 打印针驱动

图3.9 打印针驱动

AVR_PRINT_A为信号输入脚,低电平驱动,当该脚为低电平时,通过三极管Q3和Q4驱动打印针PRINT_A打印。

3.4 其它外围电路

除了以上涉及核心电路外,其它比如时间显示,数据存储,温度显示等,都分别需要不同的硬件模块提供支持。

3.4.1 时钟模块

这里时钟采用了达拉斯的DS1302时钟芯片,时钟模块电路图如图3.10所示

图3.10 DS1302时钟模块

图3.10 DS1302时钟模块

该模块采用串行工作模式,通过SCLK(Signal Clock,信号时钟), I/O(Input And Output,输入输出信号),RST(Reset 复位信号)三线控制芯片工作。

3.4.2 数据储存模块

数据存储采用了ATMEL公司的24LC64 EEPROM(可编程电可擦除存储芯片),模块电路图如图3.11所示

图3.11 EEPROM存储电路

图3.11 EEPROM存储电路

该模块采用的是标准的I2C总线模式,操作简单方便,总容量为64Kbit,8K字节,对于存储记录仪的参数是绰绰有余。

3.4.3 温度传感模块

温度传感器采用的是达拉斯的DS18B20,单总线模式,温度传感器模块电路图如图3.12所示

图 3.12 温度传感器模块

图 3.12 温度传感器模块

温度传感器模块如上图3.1所示,DS18B20采用的是单总线模式,该数字温度传感器最大的的特点是,只需一个IO管脚便可以控制其工作,并且该传感器传感温度精确,最小可以精确到0.0625℃。

3.4.4 独立按键模块

独立按键模块是提供用户来控制和使用UI界面,原理图如下图3.13所示

图3.13 独立按键电路

图3.13 独立按键电路

独立按键电路如上图3.13所示,每个按键按下时都会产生一个中断,在设计嵌入式软件时可以通过在按键中断内判断按键值,并且可以通过定时器去除抖动,这种软件设计可以避免软件延时去抖,从而提高了整套软件的运行效率。

4. 软件系统设计

本套软件主要实现自行车行车记录的智能控制,其实现的功能主要有以下几点:

显示平均行车速度,实时行车速度,时间和温度

记录行车速度、行车总里程、单次行车里程

记录总行车时间,单次行车时间

轮胎圆周设定,总里程初值设定

自动关机,节电保护

行车统计信息打印

贪吃蛇小游戏

时间显示和时间设置

4.1 软件总体框架

软件总体流程图如下图4.1所示

图4.1 嵌入式软件整体流程图
图4.1 嵌入式软件整体流程图

图4.1 嵌入式软件整体流程图

4.2 软件说明

该嵌入式软件设计的思想主要是模块化的程序设计思想,其中需要驱动的模块主要有以下几点:

DS1302时钟模块驱动

DS18B20数字温度传感器模块驱动

24LC64 EEPROM存储模块驱动

12864显示模块驱动

霍尔传感器计速模块驱动

EPSON M-150II微型打点打印机驱动

软件主要包含三层结构,分别为应用层,封装层以及驱动层。其软件层次结构如下图4.2所示

图 4.2 嵌入式软件层次结构

评论


相关推荐

技术专区

关闭