1、基于 avr 单片机的风火轮 设计 摘要 本课题研究的对象是 用 单片机控制 安装在自行车车轮辐条上的 led 动态显示 , 使其能呈现出 各种 有趣 的 风火轮 发光 图像 。这 会让我们的自行车在夜晚更加炫目有个性,而且提高夜晚骑车的安全性。 电路 系统以 avr 单片机为核心,霍尔开关 产生 的 电平 为信号源,测算出车轮转动一圈所需时间,从而分时段控制 led 的 发亮 。本文首先介绍本系统所需要的两个芯片atmega8 和 74hc595,阐述了其的功能结构及其应用。然后介绍本设计的总体方案并附上基本原理图,并且对单片机和接口设计和各自工作原理进行详细说明。最 后谈到该系统的软件设计
2、并附上程序。 关键词:风火轮,霍尔开关, 74HC595,单片机 Design of Hot Wheels based on Avr MCU Abstract The object of this research is SCM so that it led to a dynamic display showing a variety of common images, its application will enable us to more of a bike at night there are dazzling personality, but also to improve the
3、 safety of night riding. The system is single-chip microcomputer as the core avr Hall switch for the signal source of the response, measured around the time required for the rotation of the wheels, which led at times to control the display. This paper first introduces the system required two chips a
4、tmega8 and 74hc595, described the function of its structure and its application. And then introduce the design of the overall program with the basic principles of map, and single-chip microcomputer and interface design and principle of their work in detail. Finally, on the system with the software d
5、esign process. Keyword: feng huo lun ,Hall switch , 74hc595 ,scm 目录 摘要 1 英文摘要 1 第一章 绪论 3 1.1 本课题的目的及研究意义 3 1.2 本课题的应解决的主要问题 3 1.3 本章小结 3 第二章 风火轮系统概述 4 2.1 风火轮系统功能需求 4 2.2 风火轮结构设计 4 2.3 本章小结 4 第三章 系统模块设计 5 3.1 主要元器件介绍 5 3.1.1 atmega8: avr 单片机 5 3.1.2 74hc595: 32 位串行 led 显示驱动器 6 3.2 各模块组成设计 7 3.2.1 感应
6、电路设计 8 3.2.2 信号处理电路 8 3.2.3 32 位 led 驱动模块 8 第三章 软件设计 9 第一章 绪论 1.1 本课题的目的及研究意义 数字电路产品在生活中有 着极其广泛的应用,包括计算机、数字通信、智能仪器仪表、自动控制及航天等领域。这些给人们生活,工作等方面带来了极大的方便。 风火轮是一种非常有用的创新设计,我国是自行车大国 ,漆黑的夜晚我们骑车往往不是很安全,后方行人往往不太容易察觉,但这项设计很大的解决了这个问题,有了它夜晚我们的自行车会发出亮光,会让别的行人注意,从而减少事故。并且风火轮绚丽的图案,会使我们的生活更有乐趣。 本课题包含了感应电路 ,数码管驱动电路,
7、单片机程序下载电路,控制电路 等四个部分的设计。通过对四个部分的设计,要求实现 风火轮 的基本功能 。其 中单片机中集成了定时,中断电路。 此次研究 旨在 对自己专业 知识 的掌握程度进行检验 , 加强解决 电子方面常见实际问题的能力,掌握一般电子电路设计方法与设计步骤 , 积累实际电子制作经验, 实现向 更复杂更实用的应用领域 的过渡。 目的在于巩固基础、注重设计、培养技能、追求创新、走向实用。 1.2 本课题的应解决的主 要问题 本课题研究通过单片机等集成电路实现 led 动态显示。在设计过程中需要解决的主要问题有: 第一: 如何让 LED 在特定的时间点亮 ,从而组成图案 第二: 图像点
8、阵取样 第三: 不需要使用时,风火轮如何休眠 。 1.3 本章小结 本章 说明 了 课题的 研究 意义、 研究 目的 、 应 解决的 主要 问题 等各方面的内容。从宏观角度对本次毕业设计的背景、目的、内容、思路等进行了阐述。 第二章 风火轮系统概述 2.1 风火轮系统功能需求 本课题研究的对象是 led 动态显示系统,该系统以 avr 单片机为核心,通过读取霍尔开关捕捉车轮每转 一周的电平跳变,用 timer0 计算出这个时间。用这个时间的 1/256 做为每条显示射线的持续时间,由 timer1 控制输出。再经 74hc595,从而驱动数码管。其大致结构图如下: 2.2 风火轮结构设计 风火
9、轮结构框图 车轮转动感应电路 信号处理电路 发光二极管驱动电路 显示装置电路 处理器程序下载,电源控制电路 将系统的功能需求结构化后,不难发现,整体的设计思路及方向更加明确,整个系统 主要 可划分为三个模块: ( 1)感应模块 -进行车轮的转圈所需时间的测定,并转成电信号给信号处理器 ( 2)信号处理 模块 - 包含定时 计数器 , 外部 中断电路,休眠 模式 ( 3) LED 驱动模块 -接收处理器 传来 的信号,驱动串联的 LED 2.3 本章小结 本章主要阐述了 风火轮 的基本工作原理和系统的功能需求,并对系统的结构进行了阐述 。在说明系统功能需求的过程中,详细叙述了系统所需实现的基本功
10、能, 使得整个设计清晰明了。 第三章 系统模块设计 3.1 芯片介绍 3.1.1 atmega8: avr 单片机 Atmega8 是 atmel 公司在 2002 年第一季度推出的一款新型 avr 高档单片机。芯片内部集成了较大容量的存储器 和丰富强大的硬件接口电路,采用小引脚封装 (本系统采 用的是MLF32),相比先前的单片机,有着更多的接口,更好的省电性,抗干扰性 和稳定性,而且价格便宜,在应用市场极具竞争力。 主要性能如下: 高性能的、低功耗的 8 位 avr 微控制器,先进的 RISC 精简指令集结构 较大容量非易失性程序和数据存储器以及存储器 强大的外部接口性能 特殊的微控制器性
11、能 I/O 口和封装 (32 脚 mlf 封装 ) 宽工作电压 (4.5V) 高运行速度 ( 08MHZ) 低功耗 ( 4MHZ, 3V, 25) 1.1.2 管脚及内部结构 1.1.3 管脚封装参见图 1 1.1.4 内部结构参见图 2 (图 1) Atmega8 芯片引脚图 (图 2) Atmega8 单片机系统结构图 Atmega8 的外部管脚定义如下: VCC 电源正(数字) : 4.5V GND 电源地 信号处理模块主要部分 3.1.2 74hc595: 32 位串行 led 显示驱动器 74hc595 特点 如下 : 8 位串行输入 8 位串行或并行输出 存储状态寄存器,三种状态
12、输出寄存器可以直接清除 100MHz 的移位 频率 输出能力: 并行输出,总线驱动 串行输出;标准 中等规模集成电路 串行到并行的数据转换 74hc595 引脚图 表 74hc595 的引脚功能 符号 引脚 描述 Q0Q7 15, 1, 2, 3, 4, 5, 6, 7 并行数据输出 GND 8 地 Q7 9 串行数据输出 MR 10 主复位(低电平) SHCP 11 移位寄存器时钟输入 STCP 12 存储寄存器时钟输入 OE 13 输出有效(低电平) DS 14 串行数据输入 VCC 16 电源 3.2 各模块组成设计 3.2.1 感应电路设计 感应电路是整个系统的信号源, 我选用的是霍尔
13、开关 ,车轮 每 转一圈,就会产生 一个下降沿 沿波形,由此波形处理器判断时间。 3.2.2 信号处理电路 程序下载时 , AVR 处于 SPI 从机方式,接口总线时钟 SCK, MOSI 为从机数据输入, MOSO为从机数据为输出。 PB6 系统复位引脚, TXD 为 USART 总线的数据输出口 ,RXD为 USART 总线的数据输出口。 AVR 为主机方式时 ,MOS0 为主机数据输入。 单片机有两个外部中断 INTO,INT1, INT0 用于按键检测,长按键大于 3s,系统即处于休眠状态, INT1 霍尔 传感器触发(下降沿)。 还用到了 Atmega8 内部集成的定时器计数器 T0
14、,T/C1. T0 所选时钟 经 256 分频 ,一旦TCNT0 的计数值与 OCRA1 的数据相等, T/C1 中断。促发 LED 驱动模块。 3.2.3 32 位 led 驱动模块 74HC595 端口 9 串接下一 595的 SER 端口,公用 CLK,RCLK。 四片 595 串接组成 32LED驱动模块。 3.3 本章小结 本章介绍了抢答器中使用到的主要元器件的管脚图、功能表,着重介绍了三个模块 (感应电炉、信号处理、驱动电路 )的设计和工作过程,使得整个风火轮系设计理念和工作过 程很清晰呈现了出来。 风火轮原理图 第三章 软件设计 编译软件 WINAVR ,经编译获得 hex 文件
15、, PROGISP 烧录 FLASH 编译程序如下: #include #include #include #include #include #include #include /*-* * 主时钟 * *-*/ #ifndef F_CPU #define F_CPU 8000000 / 8MHz #endif /*-* * 宏定义 * *-*/ #define NUM_LEDS 32 / 单面 LED 数据 #define NUM_PIXELS 256 / 像素数 256 (刚好一个字节 ) #define PIC_MODE 1 / 图像模式 1:数据存在 FLASH / 1/4:数据存在
16、 EE 512byte #define HALL_DEBOUNCE 4 / 400us #define STANDBY_TIMEOUT 50000 / 50000100us = 5 s #define BUTTON_DEBOUNCE 10 / 100ms #define POWEROFF_TIMEOUT 200 / 约 3s /*-* * 按键入口 * *-*/ #define KEY_PRESED !(PIND&_BV(PD2) /*-* *霍尔传感电源控制 * *-*/ #define HALL_ON PORTD|= _BV(PD6) #define HALL_OFF PORTD&=_BV(PD6) /*-* * 74HC595 引脚 * *-*/ #define SET_SER PORTB|= _BV(PB4) / 数据 -74HC595 14# #define CLR_SER PORTB&=_BV(PB4) #define SET_SCLK PORTB|= _BV(PB5) / 移位时钟 -74HC595 11# #define CLR_SCLK PORTB&=_BV(PB5)