📄 lcd_segment.h
字号:
/*******************************************************************************************
** Copyright (c) 2005,上海琪普
** All rights reserved.
**
------------------------文件信息------------------------------------------------------------
** 文件名 : lcd_segments.h
** 创建人 : 潘浩
** 创建日期: 2005-10-6
** 描述 : 通用模块, 根据WISDOM定制LCD的引脚结构, 预定义数字和字母的段码
**
--------------------------------------------------------------------------------------------
------------------------当前版本信息--------------------------------------------------------
** 当前版本: v1.0
** 修改者 : 潘浩
** 修改日期: 2005-10-6
**
--------------------------------------------------------------------------------------------
** 当前版本: v1.1
** 修改者 : 潘浩
** 修改日期: 2006-1-19
** 修改内容: 增加了编译开关, 使之能快速在Wisdom's LCD和标准LCD之间切换
** 当在 config.h 文件中声明 LCD_WISDOM 宏时, 使用Wisdom' LCD
** 当声明 LCD_STD 时, 使用标准LCD, 默认为标准LCD
**
--------------------------------------------------------------------------------------------
*******************************************************************************************/
#ifndef __LCD_SEGMENT_H
#define __LCD_SEGMENT_H
/*******************************************************************************************/
#include "config.h"
// 七段数码管各段宏定义
#ifdef LCD_WISDOM
#define SEG_a 0x08
#define SEG_b 0x80
#define SEG_c 0x20
#define SEG_d 0x01
#define SEG_e 0x02
#define SEG_f 0x04
#define SEG_g 0x40
#define SEG_h 0x10
#else // if LCD_STD
#define SEG_a 0x01
#define SEG_b 0x02
#define SEG_c 0x10
#define SEG_d 0x04
#define SEG_e 0x80
#define SEG_f 0x20
#define SEG_g 0x08
#define SEG_h 0x40
#endif
// 定义全空和全满的段码结构
#define CHAR_SPACE 0
#define CHAR_NULL 0
#define CHAR_ALL (SEG_a|SEG_b|SEG_c|SEG_d|SEG_e|SEG_f|SEG_g|SEG_h)
// 定义数字0~9~F的段码结构 ( 标准结构,和计算器上保持一致 )
#define CHAR_0 (SEG_a|SEG_b|SEG_c|SEG_d|SEG_e|SEG_f)
#define CHAR_1 (SEG_b|SEG_c)
#define CHAR_2 (SEG_a|SEG_b|SEG_d|SEG_e|SEG_g)
#define CHAR_3 (SEG_a|SEG_b|SEG_c|SEG_d|SEG_g)
#define CHAR_4 (SEG_b|SEG_c|SEG_f|SEG_g)
#define CHAR_5 (SEG_a|SEG_c|SEG_d|SEG_f|SEG_g)
#define CHAR_6 (SEG_a|SEG_c|SEG_d|SEG_e|SEG_f|SEG_g)
#define CHAR_7 (SEG_a|SEG_b|SEG_c)
#define CHAR_8 (SEG_a|SEG_b|SEG_c|SEG_d|SEG_e|SEG_f|SEG_g)
#define CHAR_9 (SEG_a|SEG_b|SEG_c|SEG_d|SEG_f|SEG_g)
#define CHAR_A (SEG_a|SEG_b|SEG_c|SEG_e|SEG_f|SEG_g)
#define CHAR_B (SEG_c|SEG_d|SEG_e|SEG_f|SEG_g)
#define CHAR_C (SEG_a|SEG_d|SEG_e|SEG_f)
#define CHAR_D (SEG_b|SEG_c|SEG_d|SEG_e|SEG_g)
#define CHAR_E (SEG_a|SEG_d|SEG_e|SEG_f|SEG_g)
#define CHAR_F (SEG_a|SEG_e|SEG_f|SEG_g)
// 定义英文字母a~z的段码结构 ( 非标准结构,不区分大小写,显示大多数英文字母都严重失真,慎用 )
#define CHAR_a (SEG_a|SEG_b|SEG_c|SEG_d|SEG_e|SEG_g)
#define CHAR_b (SEG_c|SEG_d|SEG_e|SEG_f|SEG_g)
#define CHAR_c (SEG_a|SEG_f|SEG_e|SEG_d)
#define CHAR_d (SEG_b|SEG_c|SEG_d|SEG_e|SEG_g)
#define CHAR_e (SEG_a|SEG_d|SEG_e|SEG_f|SEG_g)
#define CHAR_f (SEG_a|SEG_e|SEG_f|SEG_g)
#define CHAR_g (SEG_a|SEG_b|SEG_c|SEG_d|SEG_f|SEG_g)
#define CHAR_h (SEG_c|SEG_e|SEG_f|SEG_g)
#define CHAR_i (SEG_b|SEG_c)
#define CHAR_j (SEG_b|SEG_c|SEG_d)
#define CHAR_k (SEG_e|SEG_f|SEG_g)
#define CHAR_l (SEG_d|SEG_e|SEG_f)
#define CHAR_m (SEG_c|SEG_e|SEG_g)
#define CHAR_n (SEG_a|SEG_b|SEG_c|SEG_e|SEG_f)
#define CHAR_o (SEG_a|SEG_b|SEG_c|SEG_d|SEG_e|SEG_f)
#define CHAR_p (SEG_a|SEG_b|SEG_e|SEG_f|SEG_g)
#define CHAR_q (SEG_a|SEG_b|SEG_c|SEG_f|SEG_g)
#define CHAR_r (SEG_e|SEG_g)
#define CHAR_s (SEG_a|SEG_c|SEG_d|SEG_f|SEG_g)
#define CHAR_t (SEG_d|SEG_e|SEG_f|SEG_g)
#define CHAR_u (SEG_b|SEG_c|SEG_d|SEG_e|SEG_f)
#define CHAR_v (SEG_b|SEG_c|SEG_d|SEG_e|SEG_f)
#define CHAR_w (SEG_c|SEG_d|SEG_e)
#define CHAR_x (SEG_b|SEG_c|SEG_e|SEG_f|SEG_g)
#define CHAR_y (SEG_b|SEG_c|SEG_f|SEG_g)
#define CHAR_z (SEG_a|SEG_b|SEG_d|SEG_e|SEG_g)
// 负号和等于两个特殊字符的段码结构
#define CHAR_MINUS (SEG_g)
#define CHAR_EQUALS (SEG_d|SEG_g)
/*******************************************************************************************/
#endif // __LCD_SEGMENT_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -