📄 disp_fk.c.bak
字号:
/*
*********************************************************************************************************
*
* Filename : DISP_HT.C
* Programmer : Haven
*********************************************************************************************************
*/
#define FK_DISP_GLOBALS
#include "..\includes\INCLUDES.H"
#if FK_DISP_EN
/*
*********************************************************************************************************
* HEXADECIMAL to SEVEN-SEGMENT conversion table
* a
* ------
* F | | b
* | g |
* Note: The segments are mapped as follows: ------
* e | | c
* a b c d e f g | d |
* -- -- -- -- -- -- -- -- ------
* B7 B6 B5 B4 B3 B2 B1 B0
*********************************************************************************************************
*/
const INT8U DispHexToSegTbl[16] = { /* HEXADECIMAL to SEVEN-SEGMENT conversion table */
0x06, /* '0' */
0x9f, /* '1' */
0x25, /* '2' */
0x0d, /* '3' */
0x9c, /* '4' */
0x4c, /* '5' */
0x44, /* '6' */
0x1f, /* '7' */
0x04, /* '8' */
0x0c, /* '9' */
0x11, /* 'A' */
0x3E, /* 'B', Actually displayed as 'b' */
0x9C, /* 'C' */
0x7A, /* 'D', Actually displayed as 'd' */
0x9E, /* 'E' */
0x8E /* 'F' */
};
INT8U DispSegTbl[DISP_N_DIG];
void DispInit (void)
{
DispClrScr();
}
void DispClrScr (void)
{
INT8U i;
for (i = 0; i < DISP_N_DIG; i++) {
OS_ENTER_CRITICAL();
DispSegTbl[i] = 0x00;
OS_EXIT_CRITICAL();
}
}
void DispSetScr (void)
{
INT8U i;
for (i = 0; i < DISP_N_DIG; i++) {
OS_ENTER_CRITICAL();
DispSegTbl[i] = 0xFF;
OS_EXIT_CRITICAL();
}
}
void DispStatClr (INT8U dig, INT8U bbit)
{
OS_ENTER_CRITICAL();
DispSegTbl[dig] &= ~(1 << bbit);
OS_EXIT_CRITICAL();
}
void DispStatSet (INT8U dig, INT8U bbit)
{
OS_ENTER_CRITICAL();
DispSegTbl[dig] |= (1 << bbit);
OS_EXIT_CRITICAL();
}
void DispDigital (INT8U startdig, INT8U *s,INT8U enddig)
{
INT8U stat;
while ( startdig < enddig) {
OS_ENTER_CRITICAL();
stat = DispSegTbl[startdig] & 0x01;
DispSegTbl[startdig++] = DispHexToSegTbl[*s++] | stat; //保留小数点
OS_EXIT_CRITICAL();
}
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -