跑步机启停/速度控制模块的硬件划分如图 2.2 所示,由ATmega128 单片机、按键输入模块和显示模块组成,各个部分详细说明如下所示。
(1)ATmega128 单片机:跑步机启停/速度控制模块的核心控制器件。
(2)按键输入模块:提供用户的输入通道。
(3)显示模块:显示跑步机当前的工作状态,包括速度和启停等。
图 2.2 跑步机启停/速度控制模块的硬件划分
跑步机启停/速度控制模块的硬件电路如图 2.3 所示,ATmega128 单片机使用PC0 扩展了一个独立按键K1 用于跑步机的启动、停止和暂停控制,使用PC4 和PC77 引脚扩展了K1 和K2用于速度增加和速度减慢的控制;使用PD和PE引脚分别扩展了两位独立数码管作为速度显示模块,使用PF0 和PF7 扩展了两个发光二极管用于工作状态指示。
图 2.3 跑步机启停/速度控制模块的硬件电路
跑步机启停/速度控制模块涉及的典型器件说明参见表 2.1。
表 2.1 跑步机启停/速度控制模块涉及的典型器件说明
独立按键是ATmega128 单片机应用系统中最常用的人机交互通道器件之一,其通常用于为用户提供向ATmega128 单片机输入信息的通道。
独立按键的工作基本原理是:当按键被按下时,按键接通两个点,放开时则断开这两个点。按键按照结构可以分为两类:触点式开关按键(如机械式开关、导电橡胶式开关等)和无触点开关按键(如电气式按键、磁感应按键等)。
ATmega128 单片机应用系统中典型的独立按键应用电路如图 2.4 所示,按键的一端连接到电源地,另一端通过一个电阻连接到电源正电压端,同时还连接到单片机的I/O引脚上。当按键没有被按下时,单片机的I/O引脚通过电阻连接到VCC上,I/O引脚上被加上了一个高电平;当按键被按下时,单片机的I/O引脚直接连接到电源地,被加上低电平。
图 2.4 典型的独立按键应用电路
注意: 图 2.4 所示电路中,PB7 引脚上没有加上拉电阻,因为ATmega128 单片机的P1 引脚内置了一个上拉电阻,可以参考第1 章中的相应介绍。
数码管是一种由多个发光二极管组成的半导体发光器件,常见的数码管按照显示的段数可分为七段数码管、八段数码管和异型数码管;按照能显示多少个字符/数字可以分为一位、两位等“ X ”位数码管;按照数码管中各个发光二极管的连接方式可以分为共阴极数码管和共阳极数码管。
数码管的本质是组合在一起的 8 个发光二极管,通过点亮不同组合的发光二极管可用来显示数字 0~9、字符A、F、H、L、P、R、U、Y、符号“-”及小数点“.”,图 2.5 是数码管的内部结构示意图,可以看到共阴极数码管和共阳极数码管的内部连接方式是不同的。
图 2.5 数码管的内部结构
从图 2.5 可以看到,当数码管内部的发光二极管被点亮时,对应的数码管段会发光,所以可以根据数码管需要显示的数字或字符推导出需要外加在数码管引脚上的电平组合,这个过程称为对数码管进行字形编码,由于共阴极数码管和共阳极数码管的结构不同,所以其对应的编码也不同,参见表 2.2。
表 2.2 八段数码管的字形编码
续表
与发光二极管类似,数码管也有“灌电流”和“拉电流”两种不同的驱动方式。