资源简介
四位七脚数码管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
- 上一篇:航空售票订票系统++数据库课程设计
- 下一篇:C++获取网络时间
评论
共有 条评论