void LCD_Display(void) { LCDSEG8 = 0x0F; LCDSEG9 = 0x0F; LCDSEG10 = 0x05; LCDSEG11 = 0x0B; LCDSEG12 = 0x01; LCDSEG13 = 0x0F; LCDSEG14 = 0x02; LCDSEG15 = 0x07; } 如果我告诉你LCDSEG8和LCDSEG9分别对应显示数字8; LCDSEG10和LCDSEG11分别对应显示数字2; LCDSEG12和LCDSEG13分别对应显示数字3; LCDSEG14和LCDSEG15分别对应显示数字4,那么我的问题来了,如果我要显示5555你知道要怎么显示吗
时间: 2023-10-24 20:04:38 浏览: 28
如果要显示数字5555,可以按照以下方法设置LCDSEG8~LCDSEG15的值:
LCDSEG8 = 0x05;
LCDSEG9 = 0x05;
LCDSEG10 = 0x05;
LCDSEG11 = 0x05;
LCDSEG12 = 0x0F;
LCDSEG13 = 0x0F;
LCDSEG14 = 0x0F;
LCDSEG15 = 0x0F;
这样LCD屏幕上就会显示数字5555。
相关问题
void LCD_Display(void) { LCDSEG8 = 0x0F; LCDSEG9 = 0x0F; LCDSEG10 = 0x05; LCDSEG11 = 0x0B; LCDSEG12 = 0x01; LCDSEG13 = 0x0F; LCDSEG14 = 0x02; LCDSEG15 = 0x07; }这段代码的lcd显示方法你能看懂吗
可以,这段代码是在控制LCD显示屏上的数码管段码,将8个段码分别对应显示数字“09:15”,其中LCDSEG8~LCDSEG15分别对应LCD显示屏上的8个数码管段。
具体的解释如下:
- LCDSEG8和LCDSEG9分别对应显示数字0和9;
- LCDSEG10和LCDSEG11分别对应显示数字1和5;
- LCDSEG12和LCDSEG13分别对应显示数字0和9;
- LCDSEG14和LCDSEG15分别对应显示数字2和7。
因此,这段代码是用来在LCD显示屏上显示时间的。
void LCD_Display_min(uint16_t min)//LCD显示屏显示分钟 { int min_u; int min_t; min_u=min/10; min_t=min%10; switch(min_t) { case 0: LCDSEG14 = 0x07; LCDSEG15 = 0x0D; break; case 1: LCDSEG14= 0x00; LCDSEG15 = 0x05; break; case 2: LCDSEG14 = 0x05; LCDSEG15 = 0x0B; break; case 3: LCDSEG14 = 0x01; LCDSEG15 = 0x0F; break; case 4: LCDSEG14 = 0x02; LCDSEG15 = 0x07; break; case 5: LCDSEG14 = 0x03; LCDSEG15 = 0x0E; break; case 6: LCDSEG14 = 0x07; LCDSEG15 = 0x0E; break; case 7: LCDSEG14 = 0x01; LCDSEG15 = 0x05; break; case 8: LCDSEG14 = 0x07; LCDSEG15 = 0x0F; break; case 9: LCDSEG14 = 0x03; LCDSEG15 = 0x0F; break; } switch(min_u) { case 0: LCDSEG12 = 0x07; LCDSEG13 = 0x0D; break; case 1: LCDSEG12 = 0x00; LCDSEG13 = 0x05; break; case 2: LCDSEG12 = 0x05; LCDSEG13 = 0x0B; break; case 3: LCDSEG12 = 0x01; LCDSEG13 = 0x0F; break; case 4: LCDSEG12 = 0x02; LCDSEG13 = 0x07; break; case 5: LCDSEG12 = 0x03; LCDSEG13 = 0x0E; break; case 6: LCDSEG12 = 0x07; LCDSEG13 = 0x0E; break; }这段代码优化一下
这段代码可以进行优化,可以使用一个数组来存储每个数字对应的LCD段码,然后通过计算得到每个数字的位数,再取出对应的LCD段码进行显示。
优化后的代码如下:
```
const uint8_t digits[10][2] = {
{0x07, 0x0D}, // 0
{0x00, 0x05}, // 1
{0x05, 0x0B}, // 2
{0x01, 0x0F}, // 3
{0x02, 0x07}, // 4
{0x03, 0x0E}, // 5
{0x07, 0x0E}, // 6
{0x01, 0x05}, // 7
{0x07, 0x0F}, // 8
{0x03, 0x0F} // 9
};
void LCD_Display_min(uint16_t min) {
int min_u = min / 10;
int min_t = min % 10;
LCDSEG12 = digits[min_u][0];
LCDSEG13 = digits[min_u][1];
LCDSEG14 = digits[min_t][0];
LCDSEG15 = digits[min_t][1];
}
```
这样的话,代码更加简洁,并且易于维护。
阅读全文