标题:
STM32驱动TM1640芯片数码管显示程序
[打印本页]
作者:
保持微笑
时间:
2021-11-11 11:02
标题:
STM32驱动TM1640芯片数码管显示程序
#include <stm32f10x.h>
#include "sys.h"
#include "delay.h"
#define clk PAout(11)
#define din PAout(12)
#define led1 PBout(0)
#define led2 PBout(1)
void tm1640_start()//起始指令
{
clk=1;
din=1;
delay_us(1);
din=0;
delay_us(1);
clk=0;
}
void tm1640_end()
{
clk=1;
din=0;
delay_us(1);
din=1;
delay_us(1);
}
void tm1640_writebyte(u8 q)
{
u8 w;
for(w=0;w<8;w++)
{
clk=0;
delay_us(1);
if(q&0x01)
{
din=1;
delay_us(1);
}
else
{
din=0;
delay_us(1);
}
q=q>>1;
clk=1;
delay_us(1);
}
clk=0;
din=0;
}
void tm1640_data(u8 q,u8 w)
{
const u8 buff[21]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0x00};//数字0~9及0~9加点显示段码表
tm1640_start();
tm1640_writebyte(0xc0+q);
tm1640_writebyte(buff[w]);
tm1640_end();
}
void TM1640_io_init()//初始化IO引脚
{
GPIO_InitTypeDef GPIO_InitTypeDef_led;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
GPIO_InitTypeDef_led.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_InitTypeDef_led.GPIO_Pin=GPIO_Pin_11|GPIO_Pin_12;
GPIO_InitTypeDef_led.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOA,&GPIO_InitTypeDef_led);
GPIO_InitTypeDef_led.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_InitTypeDef_led.GPIO_Pin=GPIO_Pin_0|GPIO_Pin_1;
GPIO_InitTypeDef_led.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOB,&GPIO_InitTypeDef_led);
clk=1;
din=1;
tm1640_start();
tm1640_writebyte(0x44);
tm1640_end();
tm1640_start();
tm1640_writebyte(0x88);
tm1640_end();
}
int main(void)
{
u8 q;
delay_init();
TM1640_io_init();
tm1640_start();
tm1640_end();
while(1)
{
led1=0;
led2=1;
delay_ms(100);
led1=1;
led2=0;
delay_ms(100);
for(q=0;q<8;q++)
{
tm1640_data(q,q);
}
}
}
复制代码
51hei.png
(35.81 KB, 下载次数: 86)
下载附件
2021-11-13 03:54 上传
Keil代码下载:
1-使用TM1640驱动LED.7z
(179.61 KB, 下载次数: 54)
2021-11-13 03:55 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
heicad
时间:
2021-11-13 04:19
原理图能分享一下吗?
作者:
保持微笑
时间:
2021-11-13 08:21
heicad 发表于 2021-11-13 04:19
原理图能分享一下吗?
洋桃STM32开发板模块
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1