苏州市职业大学电子信息工程学院毕业设计
表3.67段LED的段选码表
显示字符 0 1 2 3 4 5 6 7 共阴极段码 3fH 06H 5bH 4fH 66H 6dH 7dH 07H 显示字符 8 9 A B C D E F 共阴极段码 7fH 6fH 77H 7fH 39H 3fH 79H 71H 3.5 风扇驱动电路
风扇的驱动采用的是两个三极管直接与风扇连接,因为三极管具有放大性,所以可以通过三级管来放大信号,然后直接传输到风扇,下图3-10就是该模块电路:
VCCR310kR21kR41kQ18050Q28550M风扇
图3-10风扇驱动模块 图3-11 三极管引脚介绍
三极管是一个电流放大器,具有三个电极,如图3-11所示,分别叫做集电极C,基极B,发射极E。
3.6 按键模块
单片机的键盘有两种主要类型,分别是独立式的键盘和矩阵式键盘。独立式键盘每个按键单独占用一个输入/输出端口。按下一个按钮,不会影
13
苏州市职业大学电子信息工程学院毕业设计
响其他的输入/输出接口。而矩阵式键盘与独立式的恰恰相反,它的每条水平线和垂直线在交叉处是通过一个按键连接。通过分析很显然独立式键盘接法更适合该设计。
独立式键盘是根据对I/O口的高低电平进行判断按键的状态。这种按键方法一般采用查询式结构。依次对每个I/O口查询,一旦检测到某个接口输入为低电平。即可确认该口对应的按键已按下,随后传送到该键的处理程序。3硬件电路如图3-12所示:
K1K2K113K22413K32413K324图3-12按键模块电路图
3
张筱云、李淑萍单片机原理及接口技术项目教程[J]2012.8:265-266
14
苏州市职业大学电子信息工程学院毕业设计
4 系统软件设计
4.1 主程序流程图
对于本设计温控风扇,如果要实现它的理想功能:根据实时环境温度来控制风扇的转速,就必须在运作时进行不断地进行程序判断,当超过设定温度值的上下限时,相应的子程序会及时控制风扇,实时的切换关闭、弱风、大风三个状态。
显示驱动程序以查七段码取得各数码管应显数字,逐位扫描显示。主程序流程图如图4-1所示:
开始 调用按键 扫描函数 程序初始化 调用数码管 显示函数 调用DS18B20 初始化函数 调用温度 处理函数 调用DS18B20 温度转换函数 调用风扇 控制函数 调用温度读取函数 结束 图4-1主程序流程图
15
苏州市职业大学电子信息工程学院毕业设计
4.2 DS18B20子程序流程图
DS18B20的每一步操作都要按照它的工作时序执行。即首先要对元件复位,再进行ROM命令,最后才能对存储器和数据操作。如主机控制DS18B20完成温度转换这一过程就必须遵循这一规则,具体流程图如下图4-2所示:
发DS18B20复位命令CRC校验正确?发跳过ROM命令Y发读取温度命令移入温度暂存器NY读取操作,CRC校验N结束9字节完?
图4-2 DS18B20程序流程图
4.3 按键子程序流程图
本模块硬件设计上主要通过3个按键实现,软件上由按键扫描子程序KEYSCAN子程序实现。按一下板子上的K1键即可进入系统上限温度设置,此时按“加”键K2,则上限温度+1,同理按K3便是上限温度—1;若要设置下限温度只要再按一下K1键即可,同样也可以通过K2,K3键进行设置下限的温度值。具体按键程序流程图如图4-3所示:
16

