本次实验用到的TMI1638是淘宝优信电子上面购买的,可实现8个LED8个数码管8个按键
首先创建TM1638.H和TM1638.C文件、需要注意的是引脚定义,SYS,H和delay可直接用正点原子的代码,代码如下:
TM1638.H
#ifndef __TM1638_H
#define __TM1638_H
#define DATA_COMMAND 0X40
#define DISP_COMMAND 0x80
#define ADDR_COMMAND 0XC0
//TM1638模块引脚定义
#define DIO_SET() GPIO_SetBits(GPIOB, GPIO_Pin_7)
#define DIO_RESET() GPIO_ResetBits(GPIOB, GPIO_Pin_7)
#define CLK_SET() GPIO_SetBits(GPIOB, GPIO_Pin_8)
#define CLK_RESET() GPIO_ResetBits(GPIOB, GPIO_Pin_8)
#define STB_SET() GPIO_SetBits(GPIOB, GPIO_Pin_9)
#define STB_RESET() GPIO_ResetBits(GPIOB, GPIO_Pin_9)
#define DIO_IN() GPIO_ReadInputDataBit(GPIOB, GPIO_Pin_7)
void TM1638_Write(unsigned char DATA);
unsigned char TM1638_Read(void);
void Write_COM(unsigned char cmd);
unsigned char Read_key(void);
void Write_DATA(unsigned char add,unsigned char DATA);
void Write_oneLED(