资源简介
针对研究数码管显示的初学者,本资源包含了TM1640-16位8段数码管的驱动程序代码,有助于初步学习如何驱动数码管显示
代码片段和文件信息
#include “TM1640.h“
unsigned char Display_Num[5] = {0x6f 0x7f 0x27 0x7d 0x6d}; //共阴数码管显示的数字
//初始化TM1640函数
void TM1640_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1 | GPIO_Pin_2;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA &GPIO_InitStructure);
}
/**************************************************
函数 :命令传输开始标志
参数 :无
返回值: 无
*************************************************/
void TM1640_Start(void)
{
TM1640_DIN_HIGH;
delay_us(2); //延时函数自己添加
TM1640_CLK_HIGH;
delay_us(2);
TM1640_DIN_LOW;
delay_us(2);
TM1640_CLK_LOW;
delay_us(2);
}
/**************************************************
函数 :命令传输结束标志
参数 :无
返回值: 无
*************************************************/
void TM1640_End(void)
{
TM1640_CLK_LOW;
delay_us(2);
TM1640_DIN_LOW;
delay_us(2);
TM1640_CLK_HIGH;
delay_us(2);
TM1640_DIN_HIGH;
delay_us(2);
}
/**************************************************
函数 :写字节函数
参数 :
dat --- 需要写入的字节
返回值: 无
*************************************************/
void TM1640_Write_Byte(unsigned char dat)
{
uint8_t i;
for (i = 0; i < 8; i++)
{
TM1640_CLK_LOW; //CLK的时钟信号为低电平时,DIN上的信号才能改变
if (dat & 0x01) //低位先写
{
TM1640_DIN_HIGH;
}
else
{
TM1640_DIN_LOW;
}
delay_us(2);
TM1640_CLK_HIGH;
delay_us(2);
dat >>= 1;
}
}
/************************************************
函数名 : TM1640_Display
参数 : 无
返回值 : 无
功能 : 数码管显示函数,显示存放在Display_Num中的数据
*************************************************/
void TM1640_Display(void)
{
int i;
//设置数据
TM1640_Start();
TM1640_Write_Byte(DATA_COMMAND_Z); //这里是通过地址自动+1方法
TM1640_End();
//设置地址
TM1640_Start();
TM1640_Write_Byte(ADDR_START); //开始地址是0xco,对应DIG1然后地址会自动增加
for(i = 0;i < 5; i++) //5个的数码管
{
TM1640_Write_Byte(Display_Num[i]); //数码管显示的数据{9 8 7 6 5}
}
TM1640_End();
//控制显示
TM1640_Start();
TM1640_Write_Byte(DISP_OPEN); //控制显示
TM1640_End();
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2421 2015-12-18 13:13 TM1640\TM1640.c
文件 955 2015-12-18 13:12 TM1640\TM1640.h
文件 661938 2015-12-17 15:22 TM1640\TM1640_V1.2.pdf
目录 0 2015-12-18 13:13 TM1640\
评论
共有 条评论