• 大小: 4KB
    文件类型: .c
    金币: 1
    下载: 0 次
    发布日期: 2021-05-14
  • 语言: 其他
  • 标签: TM1639  

资源简介

数码管驱动芯片TM1639驱动8个共阴数码管显示按键数值,采用地址自动增加模式显示数据

资源截图

代码片段和文件信息

 /*****************************************************************************
 *版权信息:深圳天微电子有限公司
 *文 件 名:TM1639-V1.0
 *当前版本:V1.0
 *MCU 型号:STC12C5608AD
 *开发环境:Keil uVision4
 *晶震频率:11.0592MHZ       
 *完成日期:2013-07-30
 *程序功能:1.数码管驱动:驱动8段8位LED共阴数码管显示0~7
            2.按键功能  : 包含按键读程序驱动函数,按键后数码管第一位分别显示1、2、3、4
 *免责声明:1.此程序为TM1639驱动LED数码管演示程序,仅作参考之用。
            2.如有直接使用本例程程序造成经济损失的,本公司不承担任何责任             
********************************************************************************/

#include  //MCU头文件
#include “intrins.h“ //包含nop指令头文件

#define nop _nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); //宏定义

/********************定义控制端口**********************/
sbit DIO=P3^2; //定义DIO
sbit CLK=P3^3; //定义CLK
sbit STB=P3^4; //定义STB

/********************定义数据*************************/
unsigned char Key[4]={0};    //为存储按键值定义的数组
unsigned char code CODE[16]={0x3F0x060x5B0x4F0x660x6D0x7D0x070x7F0x6F0x770x7C0x390x5E0x790x71};     //共阴数码管0~F字型码,以实际电路接法为准
    
/***************延时函数**************/
void delay_nms(unsigned int n)
{
  unsigned int i;
  while(n--) 
    for(i=0;i<550;i++);
}

/***************发送8bit数据,从低位开始**************/
void send_8bit(unsigned char dat)
{
  unsigned char i;
  for(i=0;i<8;i++)
  {  
    CLK=0;
    if(dat&0x01) 
  DIO=1;
else 
  DIO=0;
 _nop_();
 _nop_();
 _nop_();
 CLK=1;
 dat>>=1;
  }
    CLK=0;
DIO=0;
}

/******************发送控制命令***********************/
void send_command(unsigned char word)
{
 STB=1;
 nop;
 STB=0;
 send_8bit(word);
}

/****************读取按键值并存储*****

评论

共有 条评论