STM32控制TM1638模块——基于正点原子精英STM32F103ZET6开发板
1、TM1638模块:
本人使用的TM1638模块为:Risym TM1638按键数码管LED显示模块。
2、驱动程序:
驱动程序主要由tm1638.h和tm1638.c两个文件组成,现分享自己写的代码,供大家参考。
1)、tm1638.h头文件:
/**
***************************************************************************************
* TM1638模块初始化头文件
* 硬件连接:PA5--STB,PA6--CLK,PA7--DIO
* TubePoint:数码管显示数字是否带小数点
* LightState:LED灯亮灭状态
* TM1638_Init():TM1638初始化函数
* TM1638_WriteData():TM1638写数据函数
* TM1638_WriteAddressData():TM1638指定地址写数据函数
* TM1638_Tube():TM1638指定数码管序号与显示数字函数
* TM1638_TubeOff():TM1638关闭指定数码管函数
* TM1638_Light():TM1638指定LED灯序号num与亮灭state函数
* TM1638_Read():TM1638读数据函数
* TM1638_ReadKey():TM1638读键扫数据函数
* 创建人:hug567
* 最后修改时间:2018-4-5
***************************************************************************************
*/
typedef enum {NoPoint = 0, Point = !NoPoint} TubePoint; //是否带小数点,Point:带,NoPoint:不带
typedef enum {LightOff = 0, LightOn = !LightOff} LightState; //灯开关状态,LightOn:开,LightOff:关
void TM1638_Init(void); //TM1638初始化函数
void TM1638_WriteData(unsigned char data); //TM1638写数据函数
void TM1638_WriteAddressData(unsigned char addr,unsigned char data); //TM1638指定地