历史上的今天
今天是:2025年02月06日(星期四)
2020年02月06日 | TM1637四位数码管模块驱动(TM1637.h头文件)51单片机C语言
2020-02-06 来源:51hei
TM1637四位数码管模块是一个带时钟点的4位共阳数码管(0.36英寸)的显示模块,驱动芯片为TM1637,驱动方式为IIC,因此只需2根信号线即可使单片机控制4位8段数码管(数码管8级灰度可调)。
控制接口:共4个引脚(GND、VCC、DIO、CLK),GND为地,VCC为供电电源,DIO为数据输入输出脚,CLK为时钟信号脚。
TM1637.h单片机源程序如下:
sbit CLK= P3^4; //定义模拟IIC总线的时钟线
sbit DIO = P3^5; //定义模拟IIC总线的数据线
code unsigned char tab[] =
{
0x3F,/*0*/
0x06,/*1*/
0x5B,/*2*/
0x4F,/*3*/
0x66,/*4*/
0x6D,/*5*/
0x7D,/*6*/
0x07,/*7*/
0x7F,/*8*/
0x6F,/*9*/
0x77,/*10 A*/
0x7C,/*11 b*/
0x58,/*12 c*/
0x5E,/*13 d*/
0x79,/*14 E*/
0x71,/*15 F*/
0x76,/*16 H*/
0x38,/*17 L*/
0x54,/*18 n*/
0x73,/*19 P*/
0x3E,/*20 U*/
0x00,/*21 黑屏*/
};
void Delay_us(unsigned int i)
{
for(;i>0;i--)
_nop_();;
}
//IIC开始
void TM1637_start(void)
{
CLK=1;
DIO=1;
Delay_us(2);
DIO=0;
}
//IIC应答
void TM1637_ack(void)
{
uchar i;
CLK=0;
Delay_us(5);
//DIO=1;
while(DIO==1&&(i<250))i++;
CLK=1;
Delay_us(2);
CLK=0;
}
//IIC停止
void TM1637_stop(void)
{
CLK=0;
Delay_us(2);
DIO=0;
Delay_us(2);
CLK=1;
Delay_us(2);
DIO=1;
Delay_us(2);
}
//写数据函数
void TM1637_Write(unsigned char DATA)
{
unsigned char i;
for(i=0;i<8;i++)
{
CLK=0;
if(DATA & 0x01)
DIO=1;
else DIO=0;
Delay_us(3);
DATA=DATA>>1;
CLK=1;
Delay_us(3);
}
//TM1637_ack();
}
//按顺序显示
void TM1637_display(uchar a,uchar b,uchar c,uchar d,uchar h)
{
TM1637_start();
TM1637_Write(0x40);//写数据+自动地址加1+普通模式
TM1637_ack();
TM1637_stop();
TM1637_start();
TM1637_Write(0xc0);//设置显示首地址即第一个LED
TM1637_ack();
TM1637_Write(tab[a]);
TM1637_ack();
TM1637_Write(tab[b]|h<<7);//h为1时显示时钟中间的两点
TM1637_ack();
TM1637_Write(tab[c]);
TM1637_ack();
TM1637_Write(tab[d]);
TM1637_ack();
TM1637_stop();
TM1637_start();
TM1637_Write(0x89);//开显示,2/16亮度
TM1637_ack();
TM1637_stop();
}
史海拾趣
|
http://download.eeworld.net/source/2310249(软件地址)这个软件安装好了以后,不单单是现在表面所看到的!图片地址(http://home.51.com/wutuanfeng/photo/item/100133258.html)在这些文件夹里面还是一样的效果背景图也是变化万千的!文件夹的 ...… 查看全部问答> |
|
应用程序调用 wince5.0的 nandflash驱动 错误 使用 CreateFile 但始终都不成功,应用中代码如下 hFunction = CreateFile( TEXT(\"DSK1:\"), GENERIC_ ...… 查看全部问答> |
|
我现在下载的是keil uv3,安装成功后,能够输入程序,但是编译不起来,在编译的时候会出现提示框:uVision3-Path undefined,\'tOOLS.INI\' does contain a tool path ,you have selecteed a device where no toolchain has been install ...… 查看全部问答> |
|
各位有玩过传真芯片没 传真通讯过程中发送端要发送TCF,是1.5s的“0”串 是1.5s的0x00么 另外 接收端怎样确定正确接收TCF 是判断接收的是不是1.5s的0x00么 各位指点下 谢谢… 查看全部问答> |
|
单片机初学者问题,高人指点,急,在线等。谢谢了!!!!!!!!!!! 本人初学者,下载了平凡的单片机的电子书。本人初学,望高手指点,不要笑话。谢谢了。 问题如下: #include “reg51.h” sbit P1_0=P1^0; void main() { P1_1=0; } 这个是让接在p1.0脚上的led发光。既然都给p1_1赋了0,就是让p1.0脚发光 ...… 查看全部问答> |
|
iar ewarm 6.10.1破解版资源由iar ewarm 6.10.1 官方原版文件加注册机组合而成, 安装原本文件之后运行注册机注册一下… 查看全部问答> |




