• 大小: 2KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-12
  • 语言: 其他
  • 标签: STM32  点阵  TM1640  

资源简介

在STM32或者51下实现用一片TM1640芯片控制8X16点阵,可实现点阵自己DIY显示,动态显示,移屏操作,只用到两个32单片机IO口即可控制,大大减少了对于单片机资源的占用。

资源截图

代码片段和文件信息

#include “TM1640.h“
#include “delay.h“

#define DEL  1   //宏定义 通信速率(默认为1,如不能通信可加大数值)

//地址模式的设置
//#define TM1640MEDO_ADD  0x40   //宏定义 自动加一模式
#define TM1640MEDO_ADD  0x44   //宏定义 固定地址模式(推荐)

//显示亮度的设置
//#define TM1640MEDO_DISPLAY  0x88   //宏定义 亮度  最小
//#define TM1640MEDO_DISPLAY  0x89   //宏定义 亮度
#define TM1640MEDO_DISPLAY  0x8a   //宏定义 亮度
//#define TM1640MEDO_DISPLAY  0x8b   //宏定义 亮度
//#define TM1640MEDO_DISPLAY  0x8c   //宏定义 亮度(推荐)
//#define TM1640MEDO_DISPLAY  0x8d   //宏定义 亮度
//#define TM1640MEDO_DISPLAY  0x8f   //宏定义 亮度 最大

#define TM1640MEDO_DISPLAY_OFF  0x80   //宏定义 亮度 关
char date1[][16]={0x300x480x480x480x480x480x300x000x300x480x480x480x480x480x300x00//0
                  0x200x600x200x200x200x200x700x000x200x600x200x200x200x200x700x00//1
  0x300x480x080x100x200x400x780x000x300x480x080x100x200x400x780x00//2
  0x300x480x080x300x080x480x300x000x300x480x080x300x080x480x300x00//3
        0x100x300x300x500x500x780x100x000x000x000x020x000x000x000x000x00//4
        0x780x400x400x700x080x080x700x000x780x400x400x700x080x080x700x00//5
        0x300x480x400x700x480x480x300x000x300x480x400x700x480x480x300x00 //6
        0x780x480x080x100x200x200x200x000x780x480x080x100x200x200x200x00//7
        0x300x480x480x300x480x480x300x000x300x480x480x300x480x480x300x00 //8
        0x300x480x480x380x080x480x300x000x300x480x480x380x080x480x300x00 //9
  0x000x0C0x0C0x000x000x0C0x0C0x000x000x000x020x000x000x000x000x00 //冒号
  0x000x000x000x000x000x000x000x000x000x000x020x000x000x000x000x00 //空白
  0x000x100x060x080x080x080x060x000x000x000x000x000x000x000x000x00 //温度单位
};

void TM1640_start(){ //通信时序 启始(基础GPIO操作)(低层)
HAL_GPIO_WritePin(TM1640_GPIOPORTTM1640_DINGPIO_PIN_SET); //接口输出高电平1
delay_us(DEL);
HAL_GPIO_WritePin(TM1640_GPIOPORTTM1640_SCLKGPIO_PIN_SET); //接口输出高电平1
delay_us(DEL);
HAL_GPIO_WritePin(TM1640_GPIOPORTTM1640_DINGPIO_PIN_RESET); //接口输出0
delay_us(DEL);
HAL_GPIO_WritePin(TM1640_GPIOPORTTM1640_SCLKGPIO_PIN_RESET); //接口输出0
delay_us(DEL);
}
void TM1640_stop(){ //通信时序 结束(基础GPIO操作)(低层)
HAL_GPIO_WritePin(TM1640_GPIOPORTTM1640_SCLKGPIO_PIN_RESET); //接口输出高电平0
  delay_us(DEL);
HAL_GPIO_WritePin(TM1640_GPIOPORTTM1640_DINGPIO_PIN_RESET); //接口输出0
delay_us(DEL);
HAL_GPIO_WritePin(TM1640_GPIOPORTTM1640_SCLKGPIO_PIN_SET); //接口输出高电平1
delay_us(DEL);
HAL_GPIO_WritePin(TM1640_GPIOPORTTM1640_DINGPIO_PIN_SET); //接口输出高电平1
delay_us(DEL);
HAL_GPIO_WritePin(TM1640_GPIOPORTTM1640_SCLKGPIO_PIN_SET); //接口输出高电平1
}
void TM1640_write(u8 date){ //写数据(低层)
u8 i;
u8 aa;
aa=date;
HAL_GPIO_WritePin(TM1640_GPIOPORTTM1640_DINGPIO_PIN_RESET); //接口输出0
HAL_GPIO_WritePin(TM1640_GPIOPORTTM1640_SCLKGPIO_PIN_RESET); 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       6513  2019-01-19 15:45  dianzhen\TM1640.c

     文件        525  2018-11-16 18:31  dianzhen\TM1640.h

     目录          0  2018-12-11 16:35  dianzhen

----------- ---------  ---------- -----  ----

                 7038                    3


评论

共有 条评论