基于STC12C5A60S2系列1T 8051单片机的TM1638键盘数码管模块的按键扫描、数码管显示按键值、显示按键LED应用

  • STC12C5A60S2系列1T 8051单片机管脚图
  • STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式及配置
  • STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式介绍
  • TM1638键盘数码管模块概述
  • TM1638键盘数码管模块特性说明
  • TM1638键盘数码管模块管脚定义
  • TM1638键盘数码管模块管脚功能说明
  • TM1638键盘数码管模块显示地址寄存器
  • TM1638键盘数码管模块键扫数据寄存器
  • TM1638键盘数码管模块数据命令寄存器
  • TM1638键盘数码管模块地址命令寄存器
  • TM1638键盘数码管模块显示控制命令寄存器
  • TM1638键盘数码管模块串行数据传输格式
  • TM1638键盘数码管模块串行数据传输模式时序图
    • 地址自动加1模式时序图
    • 固定地址模式时序图
  • TM1638键盘数码管模块串行数据传输模式时序波形图
  • TM1638键盘数码管模块程序设计流程图
    • 地址自动加1模式的程序设计流程图
    • 固定地址模式的程序设计流程图
  • TM1638键盘数码管模块应用电路
    • TM1638键盘数码管模块驱动共阴数码管硬件电路
    • TM1638键盘数码管模块驱动共阳数码管硬件电路
  • TM1638键盘数码管模块应用原理图电路
  • TM1638键盘数码管模块的按键扫描、数码管显示按键值、显示按键LED程序
  • TM1638键盘数码管模块的按键扫描、数码管显示按键值、显示按键LED实验现象

STC12C5A60S2系列1T 8051单片机管脚图

STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式及配置

STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式介绍

TM1638键盘数码管模块概述

TM1638是带键盘扫描接口的LED(发光二极管显示器)驱动控制专用电路,内部集
成有MCU 数字接口、数据锁存器、LED 高压驱动、键盘扫描等电路。主要应用于冰箱、
空调 、家庭影院等产品的高段位显示屏驱动。

TM1638键盘数码管模块特性说明

• 采用功率CMOS 工艺
• 显示模式 10 段×8 位
• 键扫描(8×3bit)
• 辉度调节电路(占空比8 级可调)
• 串行接口(CLK,STB,DIO)
• 振荡方式:RC 振荡(450KHz+5%)
• 内置上电复位电路
• 采用SOP28封装

TM1638键盘数码管模块管脚定义

TM1638键盘数码管模块管脚功能说明

TM1638键盘数码管模块显示地址寄存器

TM1638键盘数码管模块键扫数据寄存器


TM1638键盘数码管模块数据命令寄存器

TM1638键盘数码管模块地址命令寄存器

TM1638键盘数码管模块显示控制命令寄存器

TM1638键盘数码管模块串行数据传输格式

TM1638键盘数码管模块串行数据传输模式时序图

地址自动加1模式时序图

固定地址模式时序图

TM1638键盘数码管模块串行数据传输模式时序波形图

TM1638键盘数码管模块程序设计流程图

地址自动加1模式的程序设计流程图

固定地址模式的程序设计流程图

TM1638键盘数码管模块应用电路

TM1638键盘数码管模块驱动共阴数码管硬件电路

TM1638键盘数码管模块驱动共阳数码管硬件电路

TM1638键盘数码管模块应用原理图电路

TM1638键盘数码管模块的按键扫描、数码管显示按键值、显示按键LED程序

main.c

#include "reg51.h"#include "TM1638.h"unsigned char DisplayKeyNumberArray[8];//声明TM1638键盘数码管模块显示按键数值数组变量 即TM1638键盘数码管模块每个数码管显示按键数值的数组//unsigned char code NixieTubeDisplayDataArray[] ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,0x00};//共阴数码管 显示0123456789ABCDEF以及熄灭//共阴数码管显示0123456789ABCDEF以及熄灭//unsigned char code NixieTubeOfPointDisplayDataArray[] = {0xbf, 0x86, 0xdb, 0xcf, 0xe6, 0xed, 0xfd, 0x87, 0xff, 0xef, 0xf7, 0xfc, 0xb9, 0xde, 0xf9, 0xf1,0x00}; //共阴数码管带小数点显示0.1.2.3.4.5.6.7.8.9.A.B.C.D.E.F.以及熄灭 void main(void)//主函数{ unsigned char i;//声明TM1638键盘数码管模块数码管个数变量TM1638Init();//TM1638键盘数码管模块初始化函数for(i=0;i<8;i++)//循环TM1638键盘数码管模块数码管个数TM1638WriteData(i