当LED数码管与单片机相联时,一般将LED数码管的各笔段引脚a、b、?、g、Dp按某一顺序接到MCS-51型单片机某一个并行IO口D0、D1、?、D7,当该IO口输出某一特定数据时,就能使LED数码管显示出某个字符。例如要使共阳极LED数码管显示“0”,则a、b、c、d、e、f各笔段引脚为低电平,g和Dp为高电平。
LED数码管编码方式有多种,按小数点计否可分为七段码和八段码;按共阴共阳可分为共阴字段码和共阳字段码,不计小数点的共阴字段码与共阳字段码互为反码;按a、b、?、g、Dp编码顺序是高位在前,还是低位在前,又可分为顺序字段码和逆序字段码。甚至在某些特殊情况下将a、b、?、g、Dp顺序打乱编码。图3.5-2为共阴和共阳LED数码管几种八段编码表。这里采用共阴极数码管的编码方式。
图3.5-2 共阴和共阳LED数码管几种八段编码
共阴顺序小数点暗` 16Dp g f e d c b a 进制 0 0 0 1 1 1 1 1 1 3FH 1 0 0 0 0 0 1 1 0 06H 2 0 1 0 1 1 0 1 1 5BH 3 0 1 0 0 1 1 1 1 4FH 4 0 1 1 0 0 1 1 0 66H 5 0 1 1 0 1 1 0 1 6DH 6 0 1 1 1 1 1 0 1 7DH 7 0 0 0 0 0 1 1 1 07H 8 0 1 1 1 1 1 1 1 7FH 9 0 1 1 0 1 1 1 1 6FH
共阴逆序小数点暗 16a b c d e f g dp 进共阳共阳顺序 顺序 小数小数制 点亮 点暗 1 1 1 1 1 1 0 0 0 1 1 0 0 0 0 0 1 1 0 1 1 0 1 0 1 1 1 1 0 0 1 0 0 1 1 0 0 1 1 0 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 0 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 0 FCH 40H 60H 79H DAH 24H F2H 30H C0 H F9 H A4 H B0 H 66H 19 H 99 H B6H 12 H 92 H BEH 02 H 82 H E0H 78 H F8 H FEH 00 H 80 H F6H 10 H 90 H
图3.5-3为本系统数码管显示电路模块。它的主要工作就是将单片机控制系统里处理出来的温度差进行数码显示。数码显示管下面的四个三极管是用来驱动数码管显示的。
图3.5-3 数码管显示电路模块
第4章 系统的软件设计
4.1 模块流程图
4.1.1 数码显示程序
显示子程序流程图
4.1.2 报警程序流程图
N
Y
4.1.3 主程序流程图
软件的设计相较于硬件设计,更容易让人一目了然,简单明了。下图为本系
统的主程序流程图。首先初始化定时器,判断按下哪个按键,然后定时时间到显示读取下一个的温度差值,由单片机通过温度传感器控制采集温度信息,并将温度信息送入控制电路进行计算和处理,让其在数码显示管上显示,当温差超值时就显示、报警,温差未超值就只显示,如此循环,以每按一个不同的按键来判断环境温度与其它7个粮仓温度的温度差是否超值,来进行是否报警的循环。
Y
N
Y
N
主程序流程图