📄 funclcd.lst
字号:
978 1 Msingle_font_pattern (space1,2,40,0);
979 1 Msingle_font_pattern (English_Offset[(DATE[0]>>4)&0x0F],2,48,0);
980 1 Msingle_font_pattern (English_Offset[DATE[0]&0x0F],2,56,0);
981 1 Msingle_font_pattern (English_Offset[10],2,64,0);
982 1 Msingle_font_pattern (English_Offset[(DATE[1]>>4)&0x0F],2,72,0);
983 1 Msingle_font_pattern (English_Offset[DATE[1]&0x0F],2,80,0);
984 1 Msingle_font_pattern (English_Offset[10],2,88,0);
985 1 Msingle_font_pattern (English_Offset[(DATE[2]>>4)&0x0F],2,96,0);
C51 COMPILER V7.50 FUNCLCD 06/10/2006 08:26:02 PAGE 17
986 1 Msingle_font_pattern (English_Offset[(DATE[2]&0x0F)],2,104,0);
987 1
988 1 Display_Line(4,0,5,0,Student);
989 1 Display_Line(6,0,6,0,Teacher);
990 1
991 1 Delay_Ret(T0_6S);
992 1
993 1 while(1)
994 1 {
995 2 if(ret_Flag)break;
996 2 kk=KeyScan();
997 2
998 2 if(kk==NOKEY_PRESS)continue;
999 2
1000 2 NoDelay_Ret();
1001 2 Light_On();
1002 2
1003 2 if(kk==BACK)
1004 2 {
1005 3 ClearRAM(0,8);
1006 3 return;
1007 3 }
1008 2 else
1009 2 {
1010 3 Status_Beep();
1011 3 }
1012 2 }
1013 1 }
1014
1015 //===========================================================================================
1016 // 子菜单处理事件
1017 //===========================================================================================
1018 //系统设置菜单处理,菜单序号:0
1019 //Function: Simple_Lanague,TaiWan_Lanague,English_Lanague
1020 //Description: Display System infomation
1021 //Parameters: NO.
1022 //Call: HzDisplay,Msingle_font_pattern,Display_Pic
1023 //Returns: NO.
1024 //=================================================
1025 //背光设置
1026 void LcdLightProc(void)
1027 {
1028 1 bool First_bool = FALSE;
1029 1 uint8 inum = 0;
1030 1 uint8 tempv = 0;
1031 1 uint8 tcol = 72;
1032 1 uint8 KeyTempValue;
1033 1
1034 1 Display_Line(2,0,8,0,ShowTip[3]);
1035 1
1036 1 Delay_Ret(T0_6S);
1037 1
1038 1 while(1)
1039 1 {
1040 2
1041 2 Msingle_font_pattern(English_Offset[Light_DelayTime/10], 4, tcol, 1);
1042 2 Msingle_font_pattern(English_Offset[Light_DelayTime%10], 4, tcol+8, 1);
1043 2
1044 2 if(ret_Flag)
1045 2 {
1046 3 ClearRAM(0,8);
1047 3 break;
C51 COMPILER V7.50 FUNCLCD 06/10/2006 08:26:02 PAGE 18
1048 3 }
1049 2
1050 2 KeyTempValue=KeyScan();
1051 2
1052 2 if(KeyTempValue==NOKEY_PRESS)
1053 2 continue;
1054 2
1055 2 NoDelay_Ret();
1056 2 Light_On();
1057 2
1058 2 if(KeyTempValue==PAGEUP)
1059 2 {
1060 3 Light_DelayTime++;
1061 3 if(Light_DelayTime>60)Light_DelayTime=0x00;
1062 3 }
1063 2 else if(KeyTempValue==PAGEDOWN)
1064 2 {
1065 3 if(Light_DelayTime==0x00)Light_DelayTime=60;
1066 3 Light_DelayTime--;
1067 3 }
1068 2 else if(KeyTempValue==ENTER)
1069 2 {
1070 3
1071 3 if (Light_DelayTime==T0_NOUSE)
1072 3 {
1073 4 LightOnOff = FALSE;
1074 4 Light_DT = 0x00;
1075 4 }
1076 3 else
1077 3 {
1078 4 LightOnOff = TRUE;
1079 4 Light_DT = (uint16)((Light_DelayTime*100));
1080 4 Light_DT = Light_DT/TIME_VMS;
1081 4 }
1082 3 //保存数据
1083 3 W_ByteToDS1302_RAM(Light_RAMAddr,Light_DelayTime);
1084 3 }
1085 2 else if(KeyTempValue==BACK)
1086 2 {
1087 3 ClearRAM(0,8);
1088 3 return;
1089 3 }
1090 2 else
1091 2 { //按键无效
1092 3 Status_Beep();
1093 3 }
1094 2 }
1095 1 }
1096
1097
1098 //===========================================================================================
1099 //按键音设置
1100 void BeepProc(void)
1101 {
1102 1 uint8 keyTempValue;
1103 1 uint8 Key_Flag=0x01;
1104 1
1105 1 HzDisplay(kai,0,32,1);
1106 1 HzDisplay(guan,2,32, 0);
1107 1 Delay_Ret(T0_6S);
1108 1
1109 1 while(1)
C51 COMPILER V7.50 FUNCLCD 06/10/2006 08:26:02 PAGE 19
1110 1 {
1111 2 if(ret_Flag)
1112 2 {
1113 3 ClearRAM(0,8);
1114 3 break;
1115 3 }
1116 2 keyTempValue=KeyScan();
1117 2
1118 2 if(keyTempValue==NOKEY_PRESS)
1119 2 continue;
1120 2 NoDelay_Ret();
1121 2 Light_On();
1122 2
1123 2 if(keyTempValue==PAGEUP)
1124 2 {
1125 3 Key_Flag=BEEP_OPEN;
1126 3 HzDisplay(kai,0,32,1);
1127 3 HzDisplay(guan,2,32, 0);
1128 3 }
1129 2 else if(keyTempValue==PAGEDOWN)
1130 2 {
1131 3 Key_Flag=BEEP_CLOSE;
1132 3 HzDisplay(kai,0,32,0);
1133 3 HzDisplay(guan,2,32, 1);
1134 3 }
1135 2 else if(keyTempValue==ENTER)
1136 2 {
1137 3 //保存
1138 3 W_ByteToDS1302_RAM(Beep_RAMAddr,Key_Flag); //按键音关
1139 3 if(Key_Flag==BEEP_OPEN)
1140 3 BeepOnOff=TRUE;
1141 3 else
1142 3 BeepOnOff=FALSE;
1143 3 }
1144 2 else if(keyTempValue==BACK)
1145 2 {
1146 3 //返回上一级菜单
1147 3 ClearRAM(0,8);
1148 3 return;
1149 3 }
1150 2 else
1151 2 {
1152 3 //按键无效
1153 3 Status_Beep();
1154 3 }
1155 2 }
1156 1 }
1157
1158
1159 //删除打铃点
1160 void DelTimer()
1161 {
1162 1 uint8 kv,temp=0,TimerCount;
1163 1 Display_Line(0,16,6,0,ShowTip[8]);
1164 1 Display_Line(4,32,3,0,ShowTip[5]);
1165 1 TimerCount=EepromRead(Timers);
1166 1 Delay_Ret(T0_6S);
1167 1
1168 1 while(1)
1169 1 {
1170 2 if(ret_Flag)
1171 2 {
C51 COMPILER V7.50 FUNCLCD 06/10/2006 08:26:02 PAGE 20
1172 3 ClearRAM(0,8);
1173 3 break;
1174 3 }
1175 2 Msingle_font_pattern (English_Offset[temp/10],4,88,1);
1176 2 Msingle_font_pattern (English_Offset[temp%10],4,96,1);
1177 2 kv=KeyScan();
1178 2 if(kv==NOKEY_PRESS)continue;
1179 2 NoDelay_Ret();
1180 2 Light_On();
1181 2 switch(kv)
1182 2 {
1183 3 case MOVE:
1184 3 break;
1185 3 case ESC:
1186 3 ClearRAM(0,8);
1187 3 return;
1188 3 case ENTER://要加提示,目前未加
1189 3 if(temp==37)
1190 3 {//清除所有设定点数
1191 4 for(temp=0x10;temp<160;temp++)
1192 4 {
1193 5 EepromWrite(temp,0x00);
1194 5 TimerArray[temp].BitEnable=0x11;
1195 5 }
1196 4 temp=0x00;
1197 4 }
1198 3 else
1199 3 {//清除指定点数
1200 4 TimerArray[temp].BitEnable=0x11;
1201 4 }
1202 3 break;
1203 3 default:
1204 3 if(kv==PAGEUP)temp++;
1205 3 else if(kv==PAGEDOWN&&temp>0)temp--;
1206 3 if(temp>TimerCount)temp=0;
1207 3 else if(temp<=0)temp=37;
1208 3 break;
1209 3 }
1210 2 }
1211 1 }
1212
1213 //查看打铃点设置
1214 void ViewTimer()
1215 {
1216 1 uint8 kv,temp=0,temp0=0,tempp=0,hh,mm,TimerCount,tt;
1217 1 bit n_flag=1,m_flag=0,h_flag=0,Change_Flag=0;
1218 1
1219 1 Display_Line(0,0,6,0,Sh
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -