亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? lesson10.c

?? 基于8051的生產線記件系統
?? C
?? 第 1 頁 / 共 3 頁
字號:
					ET1 = 1;//使能T1
					TR1 = 1;//啟動T1
					EX0 = 1;//使能外部中斷0
					break;
				case 0xA3://顯示所有產量(記錄值)總和
					beep = 0;//提示鍵盤按下
					delay(50,100);
					beep = 1;
					uc_device_addr = 0xA0;//0xA0=1010 0000B, 1010is the device number,000 is the A2A1A0 hard wired, 0 write.
					for(j = 1;j < 7;j++)
					{
						uc_device_sub_addr = 0x00 + ((j) << 3);//EEPROM 首地址
						IRcvStr(uc_device_addr,uc_device_sub_addr,g_uc_data_receive,3);//以頁方式讀取//讀出的數據保存在數組g_uc_data_receive中
						temp += g_uc_data_receive[2];
					}
					g_uc_hr_cnt = 0xFF;//不顯示
					g_uc_min_cnt = temp >> 8;//顯示數據的高8位
					g_uc_sec_cnt = temp & 0x00FF;//顯示數據的低8位
					if((g_uc_sec_cnt&0x0F) > 9)//總和的結果應該以10進制的形式顯示給用戶
					{
						temp = (g_uc_sec_cnt&0xF0) + 1;
						g_uc_sec_cnt = (temp << 4) + ((g_uc_sec_cnt&0x0F) - 10);
					}
					display_led(g_uc_hr_cnt ,g_uc_min_cnt ,g_uc_sec_cnt);
					break;
				case 0xA4://模擬斷電保存//斷電時保存地址:0x40
					ET0 = 0;//禁止T0
					ET1 = 0;
					TR0 = 0;//停止T0
					TR1 = 0;
					EX0 = 0;//禁止外部中斷0

					beep = 0;//提示鍵盤按下
					delay(50,100);
					beep = 1;
					uc_device_addr = 0xA0;//0xA0=1010 0000B, 1010is the device number,000 is the A2A1A0 hard wired, 0 write.
					uc_device_sub_addr = 0x40;//斷電保存數據的EEPROM地址
					g_uc_data_send[0] = g_st_current_time.min;//斷電時間
					g_uc_data_send[1] = g_st_current_time.sec;
					g_uc_data_send[2] = g_uc_log_number;//斷電時刻的記錄
					ISendStr(uc_device_addr,uc_device_sub_addr,g_uc_data_send,3);//以頁方式讀取//讀出的數據保存在數組g_uc_data_receive中
					break;
				case 0xA5:
					ET0 = 0;//禁止T0
					ET1 = 0;
					TR0 = 0;//停止T0
					TR1 = 0;
					EX0 = 0;//禁止外部中斷0
					time1_serial_init();
					for(j = 0;j < 7;j++)
					{
						uc_device_addr = 0xA0;//0xA0=1010 0000B, 1010is the device number,000 is the A2A1A0 hard wired, 0 write.
						uc_device_sub_addr = 0x00 + ((g_uc_recv_serial_cnt) << 3);
						IRcvStr(uc_device_addr,uc_device_sub_addr,g_uc_data_receive,3);
						memcpy(uc_temp_receive[j],g_uc_data_receive,3);
					}
					TR1 = 1;//start the timer1, not enable T1 interrupt
					ES = 1;//enable serial interrupt
					g_uc_sec_cnt = 0xAA;
					g_uc_min_cnt = 0xAA;
					g_uc_hr_cnt = 0xA2;
					display_led(g_uc_hr_cnt,g_uc_min_cnt,g_uc_sec_cnt);//display "1",ready for receive the serial data
					while(g_uc_recv_serial_cnt < 7)//waiting for 11 times serial interrupt
					{
						_nop_();
					}
					g_uc_recv_serial_cnt = 0;
					ES = 0;//mask the serial interrupt
					EA = 0;//mask all interrupt
					g_uc_sec_cnt = 0xA3;
					g_uc_min_cnt = 0xAA;
					g_uc_hr_cnt = 0xAA;
					display_led(g_uc_hr_cnt,g_uc_min_cnt,g_uc_sec_cnt);//display "1",ready for receive the serial data

					beep = 0;//提示鍵盤按下
					delay(50,100);
					beep = 1;
					/*for(j = 1;j < 7;j++)//send data to IBM
					{
						//uc_device_addr = 0xA0;//0xA0=1010 0000B, 1010is the device number,000 is the A2A1A0 hard wired, 0 write.
						//uc_device_sub_addr = 0x00 + ((j) << 3);
						//IRcvStr(uc_device_addr,uc_device_sub_addr,g_uc_data_receive,3);
						//SBUF = g_uc_data_receive[0];
						SBUF = 0x30;
						while(TI == 0)
						{
							delay(3,255);
						}
						TI = 0;
						SBUF = 0x31;
						while(TI == 0)
						{
							delay(3,255);
						}
						TI = 0;
						SBUF = 0x32;
						while(TI == 0)
						{
							delay(3,255);
						}
						TI = 0;
						beep = 0;
						delay(50,100);
						beep = 1;
					}*/
					/*SBUF = 0x21;//發送回車,提示PC數據發送完畢
					while(TI == 0)
					{
						delay(3,255);
					}
					TI = 0;*/

					beep = 0;//提示鍵盤按下
					delay(50,100);
					beep = 1;
					break;
				case 0xB0://顯示當前記錄
					TR0 = 0;//暫停T0
					beep = 0;//提示鍵盤按下
					delay(50,100);
					beep = 1;
					g_uc_hr_cnt = 0xFF;
					g_uc_min_cnt = 0xFF;
					g_uc_sec_cnt = g_uc_log_number;
					display_led(g_uc_hr_cnt ,g_uc_min_cnt ,g_uc_sec_cnt);

					delay(255,255);
					delay(255,255);
					delay(255,255);
					g_st_current_time.sec += 2;//給時鐘進行時間補償2s		
					TR0 = 1;//重新啟動T0
					break;
				case 0xB1://第1段存放密碼,從第2段開始存放采集的記錄值
					uc_device_addr = 0xA0;//0xA0=1010 0000B, 1010is the device number,000 is the A2A1A0 hard wired, 0 write.
					uc_device_sub_addr = 0x00 + ((1) << 3);//EEPROM 首地址
					IRcvStr(uc_device_addr,uc_device_sub_addr,g_uc_data_receive,3);//以頁方式讀取//讀出的數據保存在數組g_uc_data_receive中
					g_uc_hr_cnt = g_uc_data_receive[0];
					g_uc_min_cnt = g_uc_data_receive[1];
					g_uc_sec_cnt = g_uc_data_receive[2];
					display_led(g_uc_hr_cnt ,g_uc_min_cnt ,g_uc_sec_cnt);
					beep = 0;//連續發聲
					delay(50,100);
					beep = 1;
					break;
				case 0xB2:
					uc_device_addr = 0xA0;//0xA0=1010 0000B, 1010is the device number,000 is the A2A1A0 hard wired, 0 write.
					uc_device_sub_addr = 0x00 + ((2) << 3);//EEPROM 首地址
					IRcvStr(uc_device_addr,uc_device_sub_addr,g_uc_data_receive,3);//以頁方式讀取//讀出的數據保存在數組g_uc_data_receive中
					g_uc_hr_cnt = g_uc_data_receive[0];
					g_uc_min_cnt = g_uc_data_receive[1];
					g_uc_sec_cnt = g_uc_data_receive[2];
					display_led(g_uc_hr_cnt ,g_uc_min_cnt ,g_uc_sec_cnt);
					beep = 0;//連續發聲
					delay(50,100);
					beep = 1;
					break;
				case 0xB3:
					uc_device_addr = 0xA0;//0xA0=1010 0000B, 1010is the device number,000 is the A2A1A0 hard wired, 0 write.
					uc_device_sub_addr = 0x00 + ((3) << 3);//EEPROM 首地址
					IRcvStr(uc_device_addr,uc_device_sub_addr,g_uc_data_receive,3);//以頁方式讀取//讀出的數據保存在數組g_uc_data_receive中
					g_uc_hr_cnt = g_uc_data_receive[0];
					g_uc_min_cnt = g_uc_data_receive[1];
					g_uc_sec_cnt = g_uc_data_receive[2];
					display_led(g_uc_hr_cnt ,g_uc_min_cnt ,g_uc_sec_cnt);
					beep = 0;//連續發聲
					delay(50,100);
					beep = 1;
					break;
				case 0xB4:
					uc_device_addr = 0xA0;//0xA0=1010 0000B, 1010is the device number,000 is the A2A1A0 hard wired, 0 write.
					uc_device_sub_addr = 0x00 + ((4) << 3);//EEPROM 首地址
					IRcvStr(uc_device_addr,uc_device_sub_addr,g_uc_data_receive,3);//以頁方式讀取//讀出的數據保存在數組g_uc_data_receive中
					g_uc_hr_cnt = g_uc_data_receive[0];
					g_uc_min_cnt = g_uc_data_receive[1];
					g_uc_sec_cnt = g_uc_data_receive[2];
					display_led(g_uc_hr_cnt ,g_uc_min_cnt ,g_uc_sec_cnt);
					beep = 0;//連續發聲
					delay(50,100);
					beep = 1;
					break;
				case 0xB5:
					uc_device_addr = 0xA0;//0xA0=1010 0000B, 1010is the device number,000 is the A2A1A0 hard wired, 0 write.
					uc_device_sub_addr = 0x00 + ((5) << 3);//EEPROM 首地址
					IRcvStr(uc_device_addr,uc_device_sub_addr,g_uc_data_receive,3);//以頁方式讀取//讀出的數據保存在數組g_uc_data_receive中
					g_uc_hr_cnt = g_uc_data_receive[0];
					g_uc_min_cnt = g_uc_data_receive[1];
					g_uc_sec_cnt = g_uc_data_receive[2];
					display_led(g_uc_hr_cnt ,g_uc_min_cnt ,g_uc_sec_cnt);
					beep = 0;//連續發聲
					delay(50,100);
					beep = 1;
					break;
				case 0xB6:
					uc_device_addr = 0xA0;//0xA0=1010 0000B, 1010is the device number,000 is the A2A1A0 hard wired, 0 write.
					uc_device_sub_addr = 0x00 + ((6) << 3);//EEPROM 首地址
					IRcvStr(uc_device_addr,uc_device_sub_addr,g_uc_data_receive,3);//以頁方式讀取//讀出的數據保存在數組g_uc_data_receive中
					g_uc_hr_cnt = g_uc_data_receive[0];
					g_uc_min_cnt = g_uc_data_receive[1];
					g_uc_sec_cnt = g_uc_data_receive[2];
					display_led(g_uc_hr_cnt ,g_uc_min_cnt ,g_uc_sec_cnt);
					beep = 0;//連續發聲
					delay(50,100);
					beep = 1;
					break;
				case 0xB7:
					uc_device_addr = 0xA0;//0xA0=1010 0000B, 1010is the device number,000 is the A2A1A0 hard wired, 0 write.
					uc_device_sub_addr = 0x00 + ((7) << 3);//EEPROM 首地址
					IRcvStr(uc_device_addr,uc_device_sub_addr,g_uc_data_receive,3);//以頁方式讀取//讀出的數據保存在數組g_uc_data_receive中
					g_uc_hr_cnt = g_uc_data_receive[0];
					g_uc_min_cnt = g_uc_data_receive[1];
					g_uc_sec_cnt = g_uc_data_receive[2];
					display_led(g_uc_hr_cnt ,g_uc_min_cnt ,g_uc_sec_cnt);
					beep = 0;//連續發聲
					delay(50,100);
					beep = 1;
					break;
				default:
					break;
			}
		}
	}	
	uc_keypad_response_flag = 0;//for single key press
}
/*************************************************/
/*name:keypad_response_single()
function:response to the key single number 
input:uc_key_number*/
/*************************************************/
void keypad_response_single(uchar key_number)
{
	data uchar k;	
	while(!(ACC == 0x87))//release the key//P1.7 for beep!
	{
		delay(2,255);
		P1 = 0x87;
		ACC = P1;
		ACC &= 0X87;
	}
	for(k=0;k<=11;k++)
	{
		if(key_number == g_uc_key_number_all[k])
		  break;
	}
	switch(k)
	{
		case 10:/*A*/
			break;
		case 11:/*B*/
			break;
		default:/*k = 0~9*/
				if(g_uc_disp_cnt < 7)//the maximal number is 6
				{
					g_uc_disp_cnt++;
					switch(g_uc_disp_cnt)
					{
						case 1:/*hr high*/
								g_uc_hr_cnt = k << 4;
								g_hr_disp = g_uc_hr_cnt;/*using OR can't mask the hr_low,so hr equal to 0*/						
							break;
						case 2:/*hr low*/
								g_uc_hr_cnt += k;
								g_hr_disp = g_uc_hr_cnt;
							break;
						case 3:/*min high*/
								g_uc_min_cnt = k << 4;
								g_min_disp = g_uc_min_cnt;
							break;
						case 4:/*min low*/
								g_uc_min_cnt += k;
								g_min_disp = g_uc_min_cnt;
							break;
						case 5:/*sec high*/
								g_uc_sec_cnt = k << 4;
								g_sec_disp = g_uc_sec_cnt;
							break;
						case 6:/*sec low*/
								g_uc_sec_cnt += k;
								g_sec_disp = g_uc_sec_cnt;
							break;
						default:		
							break;
					}
				}
			break;
	}
}
/*************************************************/
/*	name:display_led
	function:display the number*/
/*************************************************/
void display_led(uchar hr, uchar min,uchar sec)
{
	g_sec_disp = sec;//顯示sec
	g_min_disp = min;//顯示min
	g_hr_disp = hr;//顯示hr
}
/*************************************************/
/*	name:delay
	function: */
/*************************************************/
void delay(uchar m, uchar n)
{
	data uchar i, j;
	for(i=0;i<m;i++)
	{
		for(j=0;j<n;j++);
	}
}
/*************************************************/
/*time0_interrupt()時鐘計數,顯示*/
/*************************************************/
void time0_interrupt(void) interrupt 1 using 3
{
	TH0 =0x3C   ;//重新裝入初值15536
	TL0 =0xB0   ;//100ms=0.1s	
	g_uc_ms_cnt++;
	if(g_uc_ms_cnt==10)
	{
		g_uc_ms_cnt = 0;	
		g_st_current_time.sec ++;
		if((g_st_current_time.sec&0x0F)>9)	/*變量uc_sec_cnt為16進制數,顯示應該為10進制*/
		{
			g_st_current_time.sec += 6;	/*(uc_sec_cnt&0x0F)按位與運算*/
		}		/*若沒有if語句,則只能是到9以后,繼續數到F才進位*/		
		display_led(g_st_current_time.hr,g_st_current_time.min,g_st_current_time.sec);/*顯示時鐘,每秒刷新一次*/
		if((g_st_current_time.sec)>=0x60)
		{
			g_st_current_time.sec = 0;
			g_st_current_time.min ++;
			if((g_st_current_time.min&0x0F)>9)		/*變量uc_min_cnt為16進制數,顯示應該為10進制*/
			{
				g_st_current_time.min += 6;		/*(uc_min_cnt&0x0F)按位與運算*/
			}							/*若沒有if語句,則只能是到9以后,繼續數到F才進位*/	
			if((g_st_current_time.min)>=0x60)
			{
				g_st_current_time.min = 0;
				g_st_current_time.hr ++;
				if((g_st_current_time.hr&0x0F)>9)		/*變量uc_hr_cnt為16進制數,顯示應該為10進制*/
				{
					g_st_current_time.hr += 6;			/*(uc_hr_cnt&0x0F)按位與運算*/
				}							/*若沒有if語句,則只能是到9以后,繼續數到F才進位*/
				if((g_st_current_time.hr)>=0x24)
				{
					g_st_current_time.hr = 0;
				}
			}
		}
	}
}
/*************************************************/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91成人在线免费观看| 日韩一本二本av| 欧美午夜精品久久久| 91精品国产综合久久福利| 日韩一区二区在线看| 国产精品三级电影| 免费观看成人av| 国产mv日韩mv欧美| 欧美午夜不卡在线观看免费| 日韩欧美国产午夜精品| 久久综合色天天久久综合图片| 精品播放一区二区| 一区二区三区中文免费| 国内精品久久久久影院色| 国产99久久久国产精品免费看| 欧美最猛黑人xxxxx猛交| 久久综合狠狠综合久久综合88 | 日韩一区二区三区视频在线| 久久久精品欧美丰满| 亚洲自拍另类综合| proumb性欧美在线观看| 99久久免费精品| 精品久久久久久久久久久久包黑料 | 99麻豆久久久国产精品免费| 日韩欧美一区二区视频| 亚洲激情五月婷婷| 国产成人日日夜夜| 欧美成人一区二区三区| 亚洲精品五月天| 不卡一区中文字幕| 久久久精品中文字幕麻豆发布| 天天综合色天天| 国产成人在线视频网址| 精品国产123| 日本美女一区二区三区视频| 欧美日韩一区三区| 一区二区三区中文字幕电影| 国产精品主播直播| 精品人伦一区二区色婷婷| 天天操天天综合网| 欧美日韩国产一区| 夜夜嗨av一区二区三区四季av| 高清不卡在线观看av| 欧美国产亚洲另类动漫| 视频在线观看91| 欧美丝袜丝交足nylons| 亚洲一区视频在线| 色视频一区二区| 亚洲婷婷综合久久一本伊一区| 国产电影一区在线| 国产精品乱人伦中文| 成人小视频在线| 国产精品国产自产拍高清av王其| 国产成人午夜视频| 国产精品久久久久aaaa| 成人性生交大片| 亚洲视频免费在线| 在线视频欧美精品| 蜜桃视频在线观看一区二区| 欧美大肚乱孕交hd孕妇| 国产精品一色哟哟哟| 国产精品你懂的在线| 99久久国产综合精品色伊| 亚洲自拍欧美精品| 色哟哟一区二区在线观看| 一区二区三区电影在线播| 2019国产精品| 亚洲国产精华液网站w| 91小宝寻花一区二区三区| 欧美综合亚洲图片综合区| 亚洲精品久久久蜜桃| 色婷婷综合久久| 日欧美一区二区| 日韩欧美国产不卡| 成人一区二区三区| 亚洲成人免费在线| 26uuu亚洲婷婷狠狠天堂| 蜜桃av噜噜一区| 亚洲四区在线观看| 日韩你懂的在线播放| 国产99久久久国产精品免费看| 亚洲乱码日产精品bd| 欧美日韩在线电影| 国产精品 日产精品 欧美精品| 日韩一区有码在线| 欧美性生活一区| 青椒成人免费视频| 国产精品天天看| 欧美午夜电影网| 国产mv日韩mv欧美| 日韩国产欧美在线播放| 日韩你懂的电影在线观看| av一区二区久久| 麻豆91在线看| 国产精品美女久久久久久2018| 91国内精品野花午夜精品| 韩国女主播成人在线观看| 亚洲精品国产一区二区三区四区在线| 日韩一级片在线观看| av一二三不卡影片| 狠狠色丁香久久婷婷综| 亚洲综合一区二区| 欧美极品另类videosde| 精品福利一区二区三区| 91精品国产欧美一区二区18 | 国产综合久久久久影院| 久久久久久久久久看片| 日韩欧美一级在线播放| 色婷婷综合久久久中文字幕| 国产一区不卡精品| 日韩精品电影在线观看| 亚洲综合成人在线视频| 国产精品高清亚洲| 日本一区免费视频| 91精品国产综合久久小美女| 欧美日韩免费一区二区三区视频| av一二三不卡影片| 国产精品资源网站| 日本不卡不码高清免费观看| 97久久超碰国产精品电影| 中文字幕一区二区三区在线观看| 国产日韩欧美麻豆| 国产精品久久三| 日韩毛片精品高清免费| 亚洲一卡二卡三卡四卡无卡久久 | 五月天网站亚洲| 视频一区二区国产| 另类的小说在线视频另类成人小视频在线| 丝袜美腿亚洲一区二区图片| 视频在线观看一区二区三区| 免费不卡在线视频| 国产99精品视频| 色综合视频在线观看| 欧美日本一区二区在线观看| 91精品国产乱| 中文字幕av一区 二区| 亚洲欧美激情视频在线观看一区二区三区 | 欧美一区二区三区在线观看| 26uuu国产日韩综合| 国产精品嫩草影院av蜜臀| 一区二区三区精品在线观看| 日韩高清不卡在线| 国产成人免费视| 欧美日韩亚洲综合一区 | 欧美男同性恋视频网站| 久久先锋影音av鲁色资源网| 综合久久久久久| 奇米精品一区二区三区在线观看| 高清不卡一区二区| 欧美日韩高清不卡| 国产午夜精品福利| 亚洲午夜精品久久久久久久久| 久久狠狠亚洲综合| 91热门视频在线观看| 69久久99精品久久久久婷婷| 中文幕一区二区三区久久蜜桃| 亚洲一二三专区| 国产.精品.日韩.另类.中文.在线.播放| 色狠狠一区二区三区香蕉| 2021中文字幕一区亚洲| 性欧美疯狂xxxxbbbb| 国产精品一区二区无线| 51午夜精品国产| 亚洲欧美激情插| 福利91精品一区二区三区| 欧美日韩黄色影视| 中文字幕亚洲一区二区av在线| 日本不卡的三区四区五区| 色综合久久久久综合体| 久久先锋资源网| 美女一区二区久久| 欧美日韩高清一区二区三区| 国产精品嫩草影院com| 国产资源在线一区| 日韩一区二区免费电影| 亚洲18女电影在线观看| 欧美日韩国产高清一区| 亚洲欧美日韩一区二区| 大陆成人av片| 日本一区二区三区电影| 麻豆成人av在线| 日韩三级在线免费观看| 日韩综合小视频| 欧美久久一二三四区| 亚洲在线视频免费观看| 色婷婷亚洲精品| 亚洲欧美福利一区二区| 成人蜜臀av电影| 国产精品久久夜| 成人激情电影免费在线观看| 2021中文字幕一区亚洲| 精品一区二区三区在线播放视频| 91精品国产综合久久国产大片 | 裸体一区二区三区| 91精品久久久久久久99蜜桃 | 欧美一区二区视频在线观看2020 | 3atv在线一区二区三区| 天堂在线亚洲视频| 欧美精品九九99久久| 日韩黄色在线观看|