⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dispfinal.lst

📁 视频字符叠加系统、采用89系列单片机开发
💻 LST
📖 第 1 页 / 共 5 页
字号:
 931   2      			while(osd_busy);
 932   2      			left_shift(address_buf[i]);
 933   2      		   	}
 934   1      		osd1_cs=1;
 935   1      		osd2_cs=1;
 936   1      		if(receive_buf[1]>=12) 	real_clock.date_lines=receive_buf[1]-12;
 937   1      		else					real_clock.date_lines=receive_buf[1];
 938   1      		real_clock.date_words=receive_buf[2];
 939   1      		if(receive_buf[3]>=12) 	real_clock.time_lines=receive_buf[3]-12;
 940   1      		else					real_clock.time_lines=receive_buf[3];
 941   1      		real_clock.time_words=receive_buf[4];
 942   1      		}
 943          //--------------------------------------------------------------------
 944          void close_time(void)
 945          		{
 946   1      		unsigned char i,t;
 947   1      		for(t=0;t<10;t++)
 948   1      		address_buf[t]=0xef;
 949   1      		t=receive_buf[0]&0x03;
 950   1      		if(t==1)
 951   1      			{
 952   2      			if(close1) 
 953   2      				{
 954   3      				close1=0;
 955   3      				oneday=1;
 956   3      				}
 957   2      			else
 958   2      				{
 959   3      				close1=1;
 960   3      				osd1_cs=0;
 961   3      				while(osd_busy);
 962   3      					left_shift(((real_clock.date_lines>>3)&0x01)|char_position);
 963   3      				while(osd_busy);
 964   3      					left_shift((real_clock.date_lines<<5)|real_clock.date_words);
 965   3      				while(osd_busy);
 966   3      					left_shift(char_attribute);
 967   3      				for(i=0;i<10;i++)
 968   3      					{
 969   4      					while(osd_busy);
 970   4      						left_shift(address_buf[i]);
 971   4      				   	}
 972   3      				osd1_cs=1;
 973   3      				osd1_cs=0;
 974   3      				while(osd_busy);
 975   3      					left_shift(((real_clock.time_lines>>3)&0x01)|char_position);
 976   3      				while(osd_busy);
 977   3      					left_shift((real_clock.time_lines<<5)|real_clock.time_words);
 978   3      				while(osd_busy);
 979   3      					left_shift(char_attribute);
 980   3      				for(i=0;i<8;i++)
 981   3      					{
 982   4      					while(osd_busy);
 983   4      						left_shift(address_buf[i]);
 984   4      				   	}
 985   3      				osd1_cs=1;
C51 COMPILER V6.12  DISPFINAL                                                              09/08/2004 09:49:09 PAGE 17  

 986   3      		  		}
 987   2      			}
 988   1      		if(t==2)
 989   1      			{
 990   2      			if(close2)
 991   2      		 		{
 992   3      				close2=0;
 993   3      				oneday=1;
 994   3      				}
 995   2      			else
 996   2      				{
 997   3      				close2=1;
 998   3      				osd2_cs=0;
 999   3      				while(osd_busy);
1000   3      					left_shift(((real_clock.date_lines>>3)&0x01)|char_position);
1001   3      				while(osd_busy);
1002   3      					left_shift((real_clock.date_lines<<5)|real_clock.date_words);
1003   3      				while(osd_busy);
1004   3      					left_shift(char_attribute);
1005   3      				for(i=0;i<10;i++)
1006   3      					{
1007   4      					while(osd_busy);
1008   4      						left_shift(address_buf[i]);
1009   4      				   	}
1010   3      				osd2_cs=1;
1011   3      				osd2_cs=0;
1012   3      				while(osd_busy);
1013   3      					left_shift(((real_clock.time_lines>>3)&0x01)|char_position);
1014   3      				while(osd_busy);
1015   3      					left_shift((real_clock.time_lines<<5)|real_clock.time_words);
1016   3      				while(osd_busy);
1017   3      					left_shift(char_attribute);
1018   3      				for(i=0;i<8;i++)
1019   3      					{
1020   4      					while(osd_busy);
1021   4      						left_shift(address_buf[i]);
1022   4      				   	}
1023   3      				osd2_cs=1;
1024   3      		  		}
1025   2      		  	}
1026   1      		if(t==0x00)
1027   1      			{
1028   2      			if(close1) 
1029   2      				{
1030   3      				close1=0;
1031   3      				oneday=1;
1032   3      				}
1033   2      			else
1034   2      				{
1035   3      				close1=1;
1036   3      				osd1_cs=0;
1037   3      				while(osd_busy);
1038   3      					left_shift(((real_clock.date_lines>>3)&0x01)|char_position);
1039   3      				while(osd_busy);
1040   3      					left_shift((real_clock.date_lines<<5)|real_clock.date_words);
1041   3      				while(osd_busy);
1042   3      					left_shift(char_attribute);
1043   3      				for(i=0;i<10;i++)
1044   3      					{
1045   4      					while(osd_busy);
1046   4      						left_shift(address_buf[i]);
1047   4      				   	}
C51 COMPILER V6.12  DISPFINAL                                                              09/08/2004 09:49:09 PAGE 18  

1048   3      				osd1_cs=1;
1049   3      				osd1_cs=0;
1050   3      				while(osd_busy);
1051   3      					left_shift(((real_clock.time_lines>>3)&0x01)|char_position);
1052   3      				while(osd_busy);
1053   3      					left_shift((real_clock.time_lines<<5)|real_clock.time_words);
1054   3      				while(osd_busy);
1055   3      					left_shift(char_attribute);
1056   3      				for(i=0;i<8;i++)
1057   3      					{
1058   4      					while(osd_busy);
1059   4      						left_shift(address_buf[i]);
1060   4      				   	}
1061   3      				osd1_cs=1;
1062   3      		  		}
1063   2      			if(close2) 
1064   2      				{
1065   3      				close2=0;
1066   3      				oneday=1;
1067   3      				}
1068   2      			else
1069   2      				{
1070   3      				close2=1;
1071   3      				osd2_cs=0;
1072   3      				while(osd_busy);
1073   3      					left_shift(((real_clock.date_lines>>3)&0x01)|char_position);
1074   3      				while(osd_busy);
1075   3      					left_shift((real_clock.date_lines<<5)|real_clock.date_words);
1076   3      				while(osd_busy);
1077   3      					left_shift(char_attribute);
1078   3      				for(i=0;i<10;i++)
1079   3      					{
1080   4      					while(osd_busy);
1081   4      						left_shift(address_buf[i]);
1082   4      				   	}
1083   3      				osd2_cs=1;
1084   3      				osd2_cs=0;
1085   3      				while(osd_busy);
1086   3      					left_shift(((real_clock.time_lines>>3)&0x01)|char_position);
1087   3      				while(osd_busy);
1088   3      					left_shift((real_clock.time_lines<<5)|real_clock.time_words);
1089   3      				while(osd_busy);
1090   3      					left_shift(char_attribute);
1091   3      				for(i=0;i<8;i++)
1092   3      					{
1093   4      					while(osd_busy);
1094   4      						left_shift(address_buf[i]);
1095   4      				   	}
1096   3      				osd2_cs=1;
1097   3      		  		}
1098   2      			}
1099   1      	  	}
1100          //--------------------------------------------------------------------
1101          void close_date(void)
1102          		{
1103   1      		unsigned char i,t;
1104   1      		for(t=0;t<10;t++)
1105   1      		address_buf[t]=0xef;
1106   1      		t=receive_buf[0]&0x03;
1107   1      		if(t==1)
1108   1      			{
1109   2      			if(closedate1) 
C51 COMPILER V6.12  DISPFINAL                                                              09/08/2004 09:49:09 PAGE 19  

1110   2      				{
1111   3      				closedate1=0;
1112   3      				oneday=1;
1113   3      				}
1114   2      			else
1115   2      				{
1116   3      				closedate1=1;
1117   3      				osd1_cs=0;
1118   3      				while(osd_busy);
1119   3      					left_shift(((real_clock.date_lines>>3)&0x01)|char_position);
1120   3      				while(osd_busy);
1121   3      					left_shift((real_clock.date_lines<<5)|real_clock.date_words);
1122   3      				while(osd_busy);
1123   3      					left_shift(char_attribute);
1124   3      				for(i=0;i<10;i++)
1125   3      					{
1126   4      					while(osd_busy);
1127   4      					left_shift(address_buf[i]);
1128   4      				   	}
1129   3      				osd1_cs=1;
1130   3      		  		}
1131   2      			}
1132   1      		if(t==2)
1133   1      			{
1134   2      			if(closedate2) 
1135   2      				{
1136   3      				closedate2=0;
1137   3      				oneday=1;
1138   3      				}
1139   2      			else
1140   2      				{
1141   3      				closedate2=1;
1142   3      				osd2_cs=0;
1143   3      				while(osd_busy);
1144   3      					left_shift(((real_clock.date_lines>>3)&0x01)|char_position);
1145   3      				while(osd_busy);
1146   3      					left_shift((real_clock.date_lines<<5)|real_clock.date_words);
1147   3      				while(osd_busy);
1148   3      					left_shift(char_attribute);
1149   3      				for(i=0;i<10;i++)
1150   3      					{
1151   4      					while(osd_busy);
1152   4      						left_shift(address_buf[i]);
1153   4      				   	}
1154   3      				osd2_cs=1;
1155   3      		  		}
1156   2      			}
1157   1      		if(t==0x00)
1158   1      			{
1159   2      			if(closedate1) 
1160   2      				{
1161   3      				closedate1=0;
1162   3      				oneday=1;
1163   3      				}
1164   2      			else
1165   2      				{
1166   3      				closedate1=1;
1167   3      				osd1_cs=0;
1168   3      				while(osd_busy);
1169   3      					left_shift(((real_clock.date_lines>>3)&0x01)|char_position);
1170   3      				while(osd_busy);
1171   3      					left_shift((real_clock.date_lines<<5)|real_clock.date_words);
C51 COMPILER V6.12  DISPFINAL                                                              09/08/2004 09:49:09 PAGE 20  

1172   3      				while(osd_busy);
1173   3      					left_shift(char_attribute);
1174   3      				for(i=0;i<10;i++)
1175   3      					{
1176   4      					while(osd_busy);
1177   4      					left_shift(address_buf[i]);
1178   4      				   	}
1179   3      				osd1_cs=1;
1180   3      				}
1181   2      			if(closedate2) 
1182   2      				{
1183   3      				closedate2=0;
1184   3      				oneday=1;
1185   3      				}
1186   2      			else
1187   2      				{
1188   3      				closedate2=1;
1189   3      				osd2_cs=0;
1190   3      				while(osd_busy);
1191   3      					left_shift(((real_clock.date_lines>>3)&0x01)|char_position);
1192   3      				while(osd_busy);
1193   3      					left_shift((real_clock.date_lines<<5)|real_clock.date_words);
1194   3      				while(osd_busy);
1195   3      					left_shift(char_attribute);
1196   3      				for(i=0;i<10;i++)
1197   3      					{
1198   4      					while(osd_busy);
1199   4      						left_shift(address_buf[i]);
1200   4      				   	}
1201   3      				osd2_cs=1;
1202   3      		  		}
1203   2      			}
1204   1      	  	}
1205          
1206          //---------------------------------------------------------------------
1207          void background_set(void)
1208          		{
1209   1      		unsigned char i;
1210   1      		i=receive_buf[0]&0x03;
1211   1      		if(i==0) 
1212   1       	    	{
1213   2      			osd1_cs=0;
1214   2      			if(black1) 	left_shift(no_background);
1215   2      			else      	left_shift(background_fring);
1216   2      			while(osd_busy);
1217   2      			osd1_cs=1;
1218   2      			black1=!black1;
1219   2      			osd2_cs=0;
1220   2      			if(black2) 	left_shift(no_background);
1221   2      			else      	left_shift(background_fring);
1222   2      			while(osd_busy);
1223   2      			osd2_cs=1;
1224   2      			black2=!black2;
1225   2      			}
1226   1      	  	else
1227   1      			{
1228   2      			if(i==1)
1229   2      				{
1230   3      				osd1_cs=0;
1231   3      				if(black1) 	left_shift(no_background);
1232   3      				else      	left_shift(background_fring);
1233   3      				while(osd_busy);
C51 COMPILER V6.12  DISPFINAL                                                              09/08/2004 09:49:09 PAGE 21  

1234   3      				osd1_cs=1;
1235   3      				black1=!black1;
1236   3      				}	
1237   2      			else	  
1238   2      				{
1239   3      				osd2_cs=0;
1240   3      				if(black2) 	left_shift(no_background);
1241   3      				else      	left_shift(background_fring);
1242   3      				while(osd_busy);
1243   3      				osd2_cs=1;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -