標題:
TM1616驅(qū)動LED(數(shù)碼管)STM32源程序
[打印本頁]
作者:
WR111222
時間:
2019-8-9 16:19
標題:
TM1616驅(qū)動LED(數(shù)碼管)STM32源程序
PIN腳已經(jīng)開放出來,自己定義
我是驅(qū)動LED燈,驅(qū)動數(shù)碼管自己修改tab[]數(shù)組
單片機源程序如下:
#include "tm1620.h"
#include "stdio.h"
#include "stdlib.h"
#include "delay.h"
u8 tab[]={0x3f,0x1f,0x0f,0x07,0x03,0x01,0x00,0x30};
void TM1620port_init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);//?????
GPIO_InitStructure.GPIO_Pin =TM1620_CLK|TM1620_DIN|TM1620_STB;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
}
void TM1620_Write(u8 data)
{
u8 i;
for(i=0;i<8;i++)
{
TM1620_CLK_L; //2us 復(fù)位CLK口
if(data & 0x01) //將低位數(shù)據(jù)傳入
TM1620_DIN_H;
else
TM1620_DIN_L;
data >>=1; //右移一位
TM1620_CLK_H; // 捕獲上升沿
}
}
void Write_Cmd(u8 cmd)
{
TM1620_STB_L;
TM1620_Write(cmd);
TM1620_STB_H;
}
void Write_Data(u8 add,u8 data)
{
Write_Cmd(0x44);
TM1620_STB_L;
TM1620_Write(0xc0|add);
TM1620_Write(data);
TM1620_STB_H;
}
void TM1616_init(void)
{
u8 i;
TM1620port_init();
delay_ms(10);
Write_Cmd(0x8f); //亮度 (0x88-0x8f)8級亮度可調(diào)
Write_Cmd(0x40);
TM1620_STB_L;
TM1620_Write(0xc0);
for(i=0;i<16;i++)
TM1620_Write(0x00);
TM1620_STB_H;
}
復(fù)制代碼
#include "stm32f10x.h"
#include "stdio.h"
#include "tm1620.h"
#include "delay.h"
extern u8 tab[];
int main(void)
{
u8 i;
TM1616_init();
Write_Cmd(0x88);
while(1)
{
for(i=0;i<10;i++)
{
Write_Data(0x00,tab[i]);
Write_Data(0x02,tab[i]);
delay_ms(500);
}
}
}
復(fù)制代碼
所有資料51hei提供下載:
tm1616數(shù)碼管程序.7z
(181.33 KB, 下載次數(shù): 108)
2019-8-9 18:05 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1