标题:
TM1638模块源单片机程序
[打印本页]
作者:
165351
时间:
2019-7-30 22:15
标题:
TM1638模块源单片机程序
TM1638 驱动数码管显示模块
单片机源程序如下:
#include "TM1638.h"
int LED_Buff[8];
void TM1638_writeByte(unsigned char Num) //写入数据函数
{
int i;
for (i = 0; i < 8; i++)
{
CLK = 0;
if(Num & (0x01))
DIO = 1;
else
DIO = 0;
CLK = 1;
Num >>= 1;
}
}
void TM1638_write_CMD(unsigned char cmd) //发送控制命令函数
{
STB = 1;
STB = 0;
TM1638_writeByte(cmd);
}
//用于LED显示亮度,开关控制
void TM1638_Disp_Ctl(unsigned char DispCtl)
{
STB = 0;
DispCtl |= 0x80;
TM1638_writeByte(DispCtl);
STB = 1;
}
//把buffer里的数据送到TM1638的显示寄存器里面
void TM1638_Refresh()
{
int i;
STB = 0;
TM1638_writeByte(0x40); //设置数据命令
STB = 1;
STB = 0;
TM1638_writeByte(0xC0); //设置显示地址
for(i=0;i<8;i++)
{
switch(LED_Buff[i])
{
case 0 : TM1638_WriteData(0x00,0x00);break;
case 1 : TM1638_WriteData(0x06,0x00);break;
case 2 : TM1638_WriteData(0x5b,0x00);break;
case 3 : TM1638_WriteData(0x4f,0x00);break;
case 4 : TM1638_WriteData(0x66,0x00);break;
case 5 : TM1638_WriteData(0x6d,0x00);break;
case 6 : TM1638_WriteData(0x7d,0x00);break;
case 7 : TM1638_WriteData(0x07,0x00);break;
case 8 : TM1638_WriteData(0x7f,0x00);break;
case 9 : TM1638_WriteData(0x5f,0x00);break;
}
// TM1638_writeByte(LED_Buff[i]);
}
STB = 1;
//TM1638_Disp_Ctl( TM1638_DSP_LIGHT07 | TM1638_DSP_ON );
}
void LED_disp(unsigned int num)
{
// unsigned int num = A / 1000;
// unsigned int B = A - num*1000;
// LED_Buff[7] = B % 10;
// LED_Buff[6] = B / 10 % 10;
// LED_Buff[5] = B / 100 % 10;
LED_Buff[4] = num % 10;
LED_Buff[3] = num / 10 % 10;
LED_Buff[2] = num / 100 % 10;
LED_Buff[1] = num / 1000 % 10;
LED_Buff[0] = num / 10000 % 10;
TM1638_Refresh();
}
void TM1638_WriteData(unsigned char num1,unsigned char num2)
{
TM1638_writeByte(num1);
TM1638_writeByte(num2);
}
复制代码
所有资料51hei提供下载:
TM1638.zip
(80.49 KB, 下载次数: 66)
2019-7-30 22:14 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
admin
时间:
2019-7-30 23:29
本帖需要重新编辑补全电路原理图,源码,详细说明与图片即可获得100+黑币(帖子下方有编辑按钮)
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1