📄 display.c
字号:
/** \file display.c * Functions for high level display. */#include "display.h"#include "lcd.h"#include "board.h"#include "string.h"volatile xdata char displayPosition;xdata char displayTitle[16];xdata char displayText[DS_TEXTLENGTH+1];xdata char displayLength;xdata char displayStyle;xdata char displayValue; /** Reset display and print initial values */char InitDisplay(char style, char *title, char *text, int value){ LcdReset(); //Init display title array for(displayPosition=0; displayPosition<8; displayPosition++){ displayTitle[displayPosition]=' '; } displayTitle[8]=0; //ending zero strcpy(displayTitle, title); displayLength = strlen(text); //Init display text array //Clear display text array to spaces for(displayPosition=0; displayPosition<DS_TEXTLENGTH; displayPosition++){ displayText[displayPosition]=' '; } displayText[DS_TEXTLENGTH] = 0; //ending zero strcpy(displayText, text); displayPosition = 0; displayStyle = style; displayValue = value; LcdPutString(displayTitle); LcdLocateLine2(); LcdPutString(displayText); UpdateDisplay(); return 0;}/** Paint display */void UpdateDisplay(){ signed char temp; LcdLocateHome(); LcdPutChar(displayTitle[0]); LcdPutChar(displayTitle[1]); LcdPutChar(displayTitle[2]); LcdPutChar(displayTitle[3]); LcdPutChar(displayTitle[4]); LcdPutChar(displayTitle[5]); LcdPutChar(displayTitle[6]); LcdPutChar(displayTitle[7]); LcdLocateLine2(); if (displayStyle == DS_STATIC){ for (temp=0; temp<8; temp++){ LcdPutChar(displayText[temp]); } } if (displayStyle == DS_TEXT){ for (temp=displayPosition; temp<displayPosition + 8; temp++){ if (temp<0){ LcdPutChar(' '); }else{ if (displayText[temp]){ LcdPutChar(displayText[temp]); }else{ LcdPutChar(' '); } } } } if (displayStyle == DS_NUMERIC){ LcdPutUInt(displayValue); LcdPutConstantString(" "); } if (displayStyle == DS_NO_YES){ LcdPutConstantString(" No<>Yes"); } if (displayStyle == DS_ARROWS){ LcdPutConstantString(" <- ->"); } if (displayStyle == DS_PERCENTAGE){ unsigned char majorp, minorp; if (displayValue>100){ displayValue=100; } majorp = (displayValue-4) / 12; minorp = ((displayValue-4) % 12) >> 1; for (temp=0; temp<8; temp++){ if (majorp>temp){ LcdPutChar(4); }else{ if (majorp<temp){ LcdPutChar(' '); }else{ switch(minorp){ case 0: LcdPutChar(' '); break; case 1: LcdPutChar(0); break; case 2: LcdPutChar(1); break; case 3: LcdPutChar(2); break; case 4: LcdPutChar(3); break; case 5: LcdPutChar(4); break; }//switch } } } //LcdPutUInt(displayValue); //LcdPutConstantString("% "); } if (displayStyle==DS_RAWTEXT){ LcdPutChar(displayTitle[8]); LcdPutChar(displayTitle[9]); LcdPutChar(displayTitle[10]); LcdPutChar(displayTitle[11]); LcdPutChar(displayTitle[12]); LcdPutChar(displayTitle[13]); LcdPutChar(displayTitle[14]); LcdPutChar(displayTitle[15]); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -