- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
TM1637驱动数码管
TM1637是一种带键盘扫描接口的LED(发光二极管显示器)驱动控制专用电路,内部集成有MCU数字接口,数据锁存器,LED高压驱动,键盘扫描等电路。
采用功率CMOS工艺,显示模式(8段×6位),支持共阳数码管输出,键扫描(8×2bit),增强型抗干扰按键识别电路,辉度调节电路(占空比8级可调),两线串行接口(CLK,DIO),振荡方式:内置RC振荡(450Khz+-5%),内置上电复位电路,内置自动消隐电路。
引脚功能:
当传输数据时,当SCL高电平时,DIO由高变低则代表开始信号,当SCL高电平时,DIO由低变高则代表停止信号,只有当SCL低电平时DIO上的数据才可以发生改变,在SCL高电平时DIO上的数据要保持不变,此时数据发送出去,当正确传输8位数据后TM1637会第九个时钟在DIO管脚上给出一个ACK信号,把DIO拉低。传输时序类似于I2C通信。传输数据是低位在前高位在后。
传输过程:
下面仅是数码管驱动程序:(注有待改进)
驱动的下面这种数码管,普通也行,只是看不到1s的闪烁效果。
/*******************************
**** Describe: TM1673控制芯片,可以设置时间的倒计时(定时不准,可以自己校准),四个数码管0xc0,0xc1,0xc2,0xc3
**** Time: 2015.05.14
**** Author: zys
********************************/
#include reg52.h
#includeintrins.h
sbit CLK = P0^0; //时钟信号
sbit DIO = P0^1; //数据/地址数据
//共阴极数码管
unsigned char code SEGData[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//1-9
unsigned char code SEGDataDp[]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef}; //有小数点只用于地址0xc1
unsigned char dpFlag = 0; //控制第二个数码管的dp的显示
void TM1637_start( void );
void TM1637_stop( void );
void TM1637_write1Bit(unsigned char mBit);
void TM1637_write1Byte(unsigned char mByte);
void TM1637_writeCammand(unsigned char mData);
void TM1637_writeData(unsigned char addr, unsigned char mData);
void time_set(char hour, char min);
void time_judge( void );
void time_display( void );
void timer0_init( void );
void delay_140us( void );
void delay_1ms(unsigned int i);
unsigned int countTime = 0;
unsigned char time, sec;
struct {
char shi;
char ge;
}Hour;
struct {
char shi;
char ge;
}Min;
/***********************************************************
*****
***** 主函数
*****
***********************************************************/
void main( void )
{
timer0_init();
time_set(5, 0); //设置5小时倒计时
while(1)
{
time_display(); //显示时间
if(countTime = 10)
{
dpFlag = 0;
}
else
if(countTime = 20)
{
dpFlag = 1;
}
else
{
countTime = 0;
time_judge();
}
}
}
/*****************************************************
您可能关注的文档
最近下载
- 儿科学(第四版)课件 第13章第二节 葡萄糖-6-磷酸脱氢酶缺乏症.ppt VIP
- 2024年消防产品项目营销策划方案.pptx
- 地图的发展史的历程.ppt
- 2014花灯调完整版.doc
- GB∕T18972-2017旅游资源分类、调查与评价(高清版).pdf
- 【语文】第15课《青春之光》教案 2024-2025学年统编版语文七年级下册.docx VIP
- 浅析布鲁赫《g小调小提琴协奏曲第一乐章》演奏法要点.docx
- BS EN 12390-3-2019 硬化混凝土试验.第3部分:试验试样的抗压强度.pdf
- 外围及地下车库等公共设施的清洁、保洁工作方案.docx VIP
- 2024年最新离婚协议书下载6篇.docx
文档评论(0)