• 大小: 207KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-16
  • 语言: C/C++
  • 标签:

资源简介

四位七脚数码管C语言驱动,可以节省很多管脚

资源截图

代码片段和文件信息

/*--------------------------------------------------------------------------*/
/***@file  led_7c7s.c
    @brief  7*7数据管显示屏蔽驱动
    @details
    @author wjq
    @date
    @note
*/
/*----------------------------------------------------------------------------*/
/**********************************************************************************************************************
   --------------------------------------------
   |  K1  K3   ----  ----    ----  ----   K6  |
   |           |   | |   | . |   | |   |      |
   |           ----  ----    ----  ----       |
   |           |   | |   | . |   | |   |      |
   |  K2  K4   ----  ----    ----  ----   K7  |
   --------------------------------------------

    7线LED屏阵列如下,其中ABC...为LED屏的段,0,1,2.... 表示对应的连接IO

参考下图表,当需要点亮某个段时,左边的拉高,右边的拉低点亮相应位置,
如要点亮1A段,则将0号IO拉高,1号IO拉低 ,如果我们要显示一个数据,则要依次扫描7个IO

        0   1   2   3   4   5   6
    0   X   1A  1B  1E  K4  K1  -
    1   1F  X   2A  2B  2E  2D  -
    2   1G  2F  X   K5  3B  K2  K7
    3   1C  2G  3F  X   3C  4E  -
    4   1D  2C  3G  3A  X   4C  4G
    5   3D  K3  3E  4D  4F  X   4B
    6   K6  K8  4A  X   -   -   X
************************************************************************************************************************/
#include “include.h“ 
#include “task_music.h“
#include “user_fm.h“
#include “task_clock.h“
#include “task.h“


u8 __idata batchargecout;
#if LED_7P7S_EN
//定义COM口是否是同一排P口的。比如都是P2口
#define SAME_COM_P  0

#if SAME_COM_P
#define LED_COM       P2 
#define LED_COM_DIR   P2DIR
#else
#define LED_COM_0_ON  P2 |= BIT(2);
#define LED_COM_1_ON  P2 |= BIT(3);
#define LED_COM_2_ON  P2 |= BIT(4);
#define LED_COM_3_ON  P2 |= BIT(5);
#define LED_COM_4_ON  P2 |= BIT(6);
#define LED_COM_5_ON  P3 |= BIT(0);
#define LED_COM_6_ON  P3 |= BIT(1);

#define LED_COM_0_OFF  P2 &= ~BIT(2);
#define LED_COM_1_OFF  P2 &= ~BIT(3); 
#define LED_COM_2_OFF  P2 &= ~BIT(4); 
#define LED_COM_3_OFF  P2 &= ~BIT(5); 
#define LED_COM_4_OFF  P2 &= ~BIT(6); 
#define LED_COM_5_OFF  P3 &= ~BIT(0); 
#define LED_COM_6_OFF  P3 &= ~BIT(1);

#define COM_DIR0_IN    P2DIR |= BIT(2);
#define COM_DIR1_IN    P2DIR |= BIT(3);
#define COM_DIR2_IN    P2DIR |= BIT(4);
#define COM_DIR3_IN    P2DIR |= BIT(5);
#define COM_DIR4_IN    P2DIR |= BIT(6);
#define COM_DIR5_IN    P3DIR |= BIT(0);
#define COM_DIR6_IN    P3DIR |= BIT(1);

#define COM_DIR0_OUT    P2DIR &= ~BIT(2);
#define COM_DIR1_OUT    P2DIR &= ~BIT(3);
#define COM_DIR2_OUT    P2DIR &= ~BIT(4);
#define COM_DIR3_OUT    P2DIR &= ~BIT(5);
#define COM_DIR4_OUT    P2DIR &= ~BIT(6);
#define COM_DIR5_OUT    P3DIR &= ~BIT(0);
#define COM_DIR6_OUT    P3DIR &= ~BIT(1);

#define ALL_COM_DIRIN  {P2DIR |= 0x7c;P3DIR |= 0x03;}
#define ALL_COM_OFF    {P2 &= ~0x7c;   P3 &= ~0x03;}

u8 LED_COM;
u8 LED_COM_DIR;

#endif
 
extern u8 __idata bVoiceOn;

static u8 __idata syslastbatval= 0xff;
u8  __idata curMenu;
u8 __idata LED_5com7seg_dispBuf[5];
u8 p_di

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2014-07-19 10:13  7脚LED扫描demo\
     文件       27236  2013-03-26 19:51  7脚LED扫描demo\led_7p7seg.c
     文件        4341  2013-03-25 10:55  7脚LED扫描demo\led_7p7seg.h
     文件      289792  2013-08-27 09:44  7脚LED扫描demo\SD-54T61SRB-15_七脚_.doc

评论

共有 条评论

相关资源