版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、完整程序#include#include intrins.h#define uchar unsigned char#define uint unsigned intunsigned char hour, min, sec, year, month, day; / 當前時間、日期unsigned char Tab_Num = 0xc0, 0xf9, 0xa4, 0xb0, 0x99,0x92, 0x82, 0xf8, 0x80, 0x90; / 0-9數(shù)字主要用于數(shù)碼管的顯示uchar show_status; / LED 顯示狀態(tài)標志/ 0:設(shè)置鬧鐘數(shù)據(jù)/ 1:顯示當前日期及星期/ 2:顯示當
2、前時間/ 3:設(shè)置當前日期/ 4:設(shè)置當前時間structunsigned char h_b; / 小時設(shè)置開始的時間unsigned char m_b; / 分鐘設(shè)置開始的時間unsigned char h_s; / 小時設(shè)置停止的時間unsigned char m_s; / 分鐘設(shè)置停止的時間alarm18; / 用于設(shè)置六路鬧鐘的十八個鬧鐘開始時間結(jié)構(gòu)體定義 /char sound; / 鬧鐘開啟標志高電平有效uchar cur_alarm_set; / 當前設(shè)置的鬧鐘項uchar alarm_k, alarm_g; / 鬧鐘開關(guān)時間設(shè)置標志 為1時有效bit new_alarm_inf
3、o; / 鬧鐘項內(nèi)容已修改標志unsigned char attr; / 八個數(shù)碼管的閃爍控制字節(jié),當為0時,對應(yīng)數(shù)碼管閃 /sbit out_alarm1 = P3 2; / 用于輸出各自對應(yīng)的鬧鐘sbit out_alarm2 = P3 3;sbit out_alarm3 = P3 4;sbit out_alarm4 = P3 5;sbit out_alarm5 = P3 6;sbit out_alarm6 = P3 7; / 六路鬧鐘位定義sbit DSSCLK = P0 5; / 時間引腳采用分時復(fù)用sbit clock_dat = P0 6;sbit clock_rst = P0 7
4、; / ds1302管腳定義sbit SDA_PIN = P0 4; / EEPROM24CO8串行數(shù)據(jù)線端口 sbit a0 = ACC 0;sbit a1 = ACC 1;sbit a2 = ACC 2;sbit a3 = ACC 3;sbit a4 = ACC 4;sbit a5 = ACC 5;sbit a6 = ACC 6;sbit a7 = ACC 7; / 為了編程方便定義的ds1302寄存器的位變量voiddelay(int num) / 延時函數(shù)while (num-);/* +ds1302操作的時序與讀寫*+*/voidclock_write(unsigned char d
5、d) / 寫入一個字節(jié),DS1302時序,這里不用循環(huán)移位寫入方法,而是直接用變量來產(chǎn)生寫入的時鐘ACC = dd;DSSCLK = 0;clock_dat = a0;DSSCLK = 1;DSSCLK = 0;clock_dat = a1;DSSCLK = 1;DSSCLK = 0;clock_dat = a2;DSSCLK = 1;DSSCLK = 0;clock_dat = a3;DSSCLK = 1;DSSCLK = 0;clock_dat = a4;DSSCLK = 1;DSSCLK = 0;clock_dat = a5;DSSCLK = 1; DSSCLK = 0; clock_d
6、at = a6; DSSCLK = 1; DSSCLK = 0; clock_dat = a7; DSSCLK = 1; unsigned charclock_read(void) DSSCLK = 1; DSSCLK = 0; a0 = clock_dat; DSSCLK = 1; DSSCLK = 0; a1 = clock_dat; DSSCLK = 1; DSSCLK = 0; a2 = clock_dat; DSSCLK = 1; DSSCLK = 0; a3 = clock_dat; DSSCLK = 1; DSSCLK = 0; a4 = clock_dat; DSSCLK =
7、1; DSSCLK = 0; a5 = clock_dat; DSSCLK = 1; DSSCLK = 0; a6 = clock_dat; DSSCLK = 1; DSSCLK = 0; a7 = clock_dat; return (ACC); unsigned charread_clock(unsigned char reg1) unsigned char dd = 0; / 讀出一個字節(jié),DS1302時序 / 從reg1寄存器讀數(shù)據(jù)DSSCLK = 0;clock_rst = 0;clock_rst = 1;clock_write(reg1); / 首先發(fā)送要讀的地址dd = cloc
8、k_read(); / 讀出該地址的數(shù)據(jù)clock_rst = 0;return (dd); / 將讀出的數(shù)據(jù)反回voidwrite_clock(unsigned char reg2, unsigned char date) / 向reg2寫入date數(shù)據(jù) /DSSCLK = 0;clock_rst = 0;clock_rst = 1;clock_write(reg2);clock_write(date);clock_rst = 0;/*24C08使用I2C操作函數(shù)*/voidI2cDelay() / EEPROM操作時需要的延時函數(shù)_nop_();_nop_();_nop_();_nop_(
9、);_nop_();_nop_();voidDelayX1ms(unsigned char count) / 延遲函數(shù),參數(shù)為毫秒數(shù)unsigned char i, j;for (i = 0; i count; i+)for (j = 0; j 240; j+);voidStart() / I2C啟動,24C08使用I2C方式SDA_PIN = 1;I2cDelay();DSSCLK = 1;I2cDelay(); / 時鐘線在高電平狀態(tài)下,數(shù)據(jù)線從高到低的跳變 /SDA_PIN = 0;I2cDelay(); / 保持時鐘線為低表示i2c在啟動狀態(tài)中 DSSCLK = 0;voidStop(
10、) / I2C停止I2cDelay();SDA_PIN = 0; / 時鐘線在高電平I2cDelay();DSSCLK = 1;I2cDelay();SDA_PIN = 1;I2cDelay();bitSendByte(unsigned char value) / 發(fā)送1字節(jié)數(shù)據(jù)給EEPROMunsigned char i;bit no_ack = 0; / 定義應(yīng)答信號for (i = 0; i 8; i+) / 發(fā)送8位數(shù)據(jù)I2cDelay();if (value & 0x80)SDA_PIN = 1;elseSDA_PIN = 0; / 將數(shù)據(jù)一位一位的送寫入先寫高位value = va
11、lue 1;I2cDelay();DSSCLK = 1;I2cDelay();I2cDelay();DSSCLK = 0; / 產(chǎn)生8個時鐘脈沖I2cDelay(); SDA_PIN = 1; / 確認脈沖周期,等待EEPROM的確認 I2cDelay(); DSSCLK = 1; / 第九個脈沖周期,產(chǎn)生應(yīng)答信號 I2cDelay();if (SDA_PIN = 1)no_ack = 1; / 表示無應(yīng)答,數(shù)據(jù)傳送不成功I2cDelay();DSSCLK = 0;return no_ack;voidmywrite(unsigned char address, unsigned char va
12、lue) / 向EEPROM寫1字節(jié) /Start();SendByte(0xa0); / 寫命令SendByte(address); / 寫地址SendByte(value); / 寫數(shù)據(jù)Stop();DelayX1ms(10);unsigned charReadByte() / 從EEPROM接收1字節(jié)unsigned char i, bval;bval = 0;for (i = 0; i 8; i+) / 接收8位數(shù)據(jù)I2cDelay();SDA_PIN = 1; / 從P1輸入數(shù)據(jù)時,先往P1輸入1 I2cDelay();DSSCLK = 1;I2cDelay();bval = bva
13、l 4; / 將該值右移四位e = e & 0x0f; / 將高4位全置0剩下秒的數(shù)據(jù)P2 = Tab_Nume; / 段選送秒個位P1 = 0xfb; / 位選選中秒個位delay(250);P1 = 0xff; / 關(guān)數(shù)碼管一小會P2 = Tab_Numd; / 秒十位P1 = 0xf7; / 段選送秒的十位delay(250);P1 = 0xff; / 關(guān)數(shù)碼管一小會d = read_clock(0x83); / 讀分鐘e = d;d = d 4;e = e & 0x0f;P2 = Tab_Nume; / 分個位P1 = 0xef;delay(250);P1 = 0xff; / 關(guān)數(shù)碼管
14、一小會P2 = Tab_Numd; / 分十位P1 = 0xdf;delay(250);P1 = 0xff; / 關(guān)數(shù)碼管一小會d = read_clock(0x85); / 讀小時e = d;d = d 4;e = e & 0x0f;P2 = Tab_Nume; / 小時各位P1 = 0xbf;delay(250);P1 = 0xff;P2 = Tab_Numd; / 小時十位P1 = 0x7f;delay(250);P1 = 0xff;else / 設(shè)置時間狀態(tài)if (attr = 0x01 | attr = 0x08) / 因為時間只用六位數(shù)碼管所以有兩人狀態(tài)相同/for (i = 0;
15、 i 4; e = e & 0x0f; P2 = Tab_Nume; / 小時各位P1 = 0xbf;delay(250);P1 = 0xff;P2 = Tab_Numd; / 小時十位P1 = 0x7f;delay(250);P1 = 0xff;delay(20000); / 先動態(tài)顯示然后判斷一產(chǎn)生閃爍效果 / 均為調(diào)整時間的小時位,此時這兩個數(shù)碼管閃爍 /if (attr = 0x02) / 數(shù)碼管的三四兩位閃爍for (i = 0; i 4;e = e & 0x0f;P2 = Tab_Nume; / 分個位P1 = 0xef;delay(250);P1 = 0xff; / 關(guān)數(shù)碼管一小
16、會P2 = Tab_Numd; / 分十位P1 = 0xdf;delay(250);P1 = 0xff; / 關(guān)數(shù)碼管一小會delay(20000); / 先動態(tài)顯示然后判斷一產(chǎn)生閃爍效果if (attr = 0x04) / 數(shù)碼管的三四兩位閃爍for (i = 0; i 4;e = e & 0x0f;P2 = Tab_Nume;P1 = 0xfb;delay(250);P1 = 0xff; / 關(guān)數(shù)碼管一小會P2 = Tab_Numd; / 秒十位P1 = 0xf7; / 段選送秒的十位delay(250);P1 = 0xff; / 關(guān)數(shù)碼管一小會delay(20000); / 先動態(tài)顯示然
17、后判斷一產(chǎn)生閃爍效果if (show_status = 1 | show_status = 3) / 表示此狀態(tài)為顯示8位的日期,年,月,日 /if (show_status = 1)d = read_clock(0x87); / 讀日期的日e = d; / 將函數(shù)返回的值賦給變量d = d 4; / 將該值右移四位e = e & 0x0f;P2 = Tab_Nume; / 段選送天的個位P1 = 0xfe; / 位選選中秒個位 delay(250); P1 = 0xff; / 關(guān)數(shù)碼管一小會 P2 = Tab_Numd; / 天的十位P1 = 0xfd;delay(250);P1 = 0xf
18、f; / 關(guān)數(shù)碼管一小會d = read_clock(0x89); / 讀月e = d;d = d 4;e = e & 0x0f;P2 = Tab_Nume; / 月的個位P1 = 0xfb;delay(250);P1 = 0xff; / 關(guān)數(shù)碼管一小會P2 = Tab_Numd;P1 = 0xf7;delay(250);P1 = 0xff; / 關(guān)數(shù)碼管一小會d = read_clock(0x8b); / 讀年e = d;d = d 4;e = e & 0x0f;P2 = Tab_Nume;P1 = 0xef; delay(250); P1 = 0xff; P2 = Tab_Numd;P1
19、= 0xdf;delay(250);P1 = 0xff;P2 = Tab_Num0; / 年的百位與千位從20開始P1 = 0xbf;delay(250);P1 = 0xff;P2 = Tab_Num2;P1 = 0x7f;delay(250);P1 = 0xff;elseif (attr = 0x01 | attr = 0x02) / 因為日期的前兩位數(shù)碼管顯示固定為“20” /for (i = 0; i 4; e = e & 0x0f; P2 = Tab_Nume;P1 = 0xef;delay(250);P1 = 0xff;P2 = Tab_Numd;P1 = 0xdf;delay(25
20、0);P1 = 0xff;delay(20000); / 這里直接從第三四個數(shù)碼管開始閃爍 if (attr = 0x03)for (i = 0; i 4;e = e & 0x0f;P2 = Tab_Nume; / 月的個位P1 = 0xfb;delay(250);P1 = 0xff; / 關(guān)數(shù)碼管一小會delay(20000); / 日期的五六位開始閃爍if (attr = 0x04)for (i = 0; i 4; / 將該值右移四位e = e & 0x0f;P2 = Tab_Nume; / 段選送天的個位P1 = 0xfe; / 位選選中秒個位 P2 = Tab_Numd; P1 = 0
21、xf7; delay(250); P1 = 0xff; / 關(guān)數(shù)碼管一小會delay(250);P1 = 0xff; / 關(guān)數(shù)碼管一小會P2 = Tab_Numd; / 天的十位P1 = 0xfd;delay(250);P1 = 0xff; / 關(guān)數(shù)碼管一小會delay(20000); / 使其閃爍關(guān)數(shù)碼管一小會 / 日期顯示的最后兩人數(shù)碼管開始閃爍if (show_status = 0) / 表示當前狀態(tài)為設(shè)置鬧鐘if (alarm_k = 1 & alarm_g = 0) / 當前顯示的是設(shè)鬧鐘的開始時間 /sshi = (alarmcur_alarm_set.h_b) / 10;sge
22、= (alarmcur_alarm_set.h_b) % 10;fshi = (alarmcur_alarm_set.m_b) / 10;fge = (alarmcur_alarm_set.m_b) % 10; / 首先分離出當前設(shè)置鬧鐘的時的分的個位與十位便于顯示/lu_s = cur_alarm_set / 10;lu_g = cur_alarm_set % 10; / 用于顯示當前正在設(shè)置的鬧鐘的路數(shù) /if (attr = 0x01) / 在鬧鐘設(shè)置時只有四位數(shù)碼管會產(chǎn)生閃爍當閃爍標志為此時/ 鬧鐘的小時兩位閃爍for (i = 0; i 20; i+)P2 = Tab_Numsshi
23、;P1 = 0x7f;delay(250);P1 = 0xff;P2 = Tab_Numsge;P1 = 0xbf;delay(250);P1 = 0xff;P2 = Tab_Numlu_s;P1 = 0x7f;delay(250);數(shù)友管的路數(shù) P1 = 0xfd; P2 = Tab_Numlu_g; P1 = 0xfe; delay(250); P1 = 0xff; / 在鬧鐘設(shè)置時用數(shù)碼管的最后兩位顯示當前所設(shè)置的/ / 動態(tài)顯示delay(20000); / 數(shù)碼管關(guān)一會,產(chǎn)生閃爍的效果if (attr = 0x02) / 當閃爍標志為此值時鬧鐘的分鐘開始閃 for (i = 0; i
24、 20; i+)P2 = Tab_Numfshi;P1 = 0xdb;delay(250);P1 = 0xff;P2 = Tab_Numfge;P1 = 0xef;delay(250); P1 = 0xff; P2 = Tab_Numlu_s; P1 = 0x7f;delay(250);P1 = 0xfd;數(shù)友管的路數(shù) P2 = Tab_Numlu_g; P1 = 0xfe; delay(250); P1 = 0xff; / 在鬧鐘設(shè)置時用數(shù)碼管的最后兩位顯示當前所設(shè)置的/delay(20000);if (alarm_k = 0 & alarm_g = 1) / 當前顯示的是設(shè)鬧鐘的結(jié)束時間
25、/sshi = (alarmcur_alarm_set.h_s) / 10;sge = (alarmcur_alarm_set.h_s) % 10;fshi = (alarmcur_alarm_set.m_s) / 10;fge = (alarmcur_alarm_set.m_s) % 10; / 首先分離出當前設(shè)置鬧鐘的時的分的個位與十位便于顯示/lu_s = cur_alarm_set / 10;lu_g = cur_alarm_set % 10; / 用于顯示當前正在設(shè)置的鬧鐘的路數(shù) /if (attr = 0x01) / 在鬧鐘設(shè)置時只有四位數(shù)碼管會產(chǎn)生閃爍當閃爍標志為此時/ 鬧鐘的小
26、時兩位閃爍for (i = 0; i 20; i+)P2 = Tab_Numsshi;P1 = 0x7f;delay(250);P1 = 0xff;P2 = Tab_Numsge;P1 = 0xbf;delay(250);P1 = 0xff;P2 = Tab_Numlu_s;P1 = 0x7f;delay(250);P1 = 0xfd;數(shù)友管的路數(shù) P2 = Tab_Numlu_g; P1 = 0xfe; delay(250); P1 = 0xff; / 在鬧鐘設(shè)置時用數(shù)碼管的最后兩位顯示當前所設(shè)置的/ / 動態(tài)顯示delay(20000); / 數(shù)碼管關(guān)一會,產(chǎn)生閃爍的效果if (attr
27、= 0x02 | attr = 0x04) / 當閃爍標志為此值時鬧鐘的分鐘開始閃 /for (i = 0; i 31)day = 1;write_clock(0x86, day); / 將校正寫回到寄存器/return;if (keytmp = 4) / 第三個按鈕switch (attr) / 8個數(shù)碼管的閃爍控制字節(jié)來判斷按該鍵前的狀態(tài)/case 0xff:if (show_status = 1 | show_status = 2) / 如果無閃爍狀態(tài)/show_status = 0;cur_alarm_set = 0;attr = 0x01;alarm_k = 0;alarm_g =
28、1; / 直接進入設(shè)置十八路鬧鐘的關(guān)時間break;case 0x01: / 數(shù)碼管的前兩位已在閃爍if (show_status = 0) / 當前為鬧鐘設(shè)置狀態(tài)if (alarm_k = 1 & alarm_g = 0)alarmcur_alarm_set.h_b = (alarmcur_alarm_set.h_b -1); / 當前開鬧鐘時減一/if (alarmcur_alarm_set.h_b = 0)alarmcur_alarm_set.h_b = 24;new_alarm_info = 1; / 表示鬧鐘項已修改/if (alarm_k = 0 & alarm_g = 1)ala
29、rmcur_alarm_set.h_s = (alarmcur_alarm_set.h_s -1); / 當前關(guān)鬧鐘時減一/if (alarmcur_alarm_set.h_s = 0)alarmcur_alarm_set.h_s = 24;new_alarm_info = 1; / 表示鬧鐘項已修改/else if (show_status = 4) / 當前顯示狀態(tài)為時間較正/hour = read_clock(0x85); / 讀小時hour = (hour - 1); / 當前時間的時減一if (hour = 0)hour = 24;write_clock(0x84, hour); /
30、 將校正寫回到寄存器/break;case 0x02: / 數(shù)碼管三四位閃爍if (show_status = 0) / 將當前鬧鐘的分加一if (alarm_k = 1 & alarm_g = 0)alarmcur_alarm_set.m_b = (alarmcur_alarm_set.m_b -1); / 當前開鬧鐘的分減/if (alarmcur_alarm_set.m_b)alarmcur_alarm_set.m_b = 60;new_alarm_info = 1;if (alarm_k = 0 & alarm_g = 1)alarmcur_alarm_set.m_s = (alarm
31、cur_alarm_set.m_s -1); / 當前關(guān)鬧鐘的分減一/if (alarmcur_alarm_set.m_s)alarmcur_alarm_set.m_s = 60;new_alarm_info = 1; / 表示鬧鐘項已修改 /else if (show_status = 3)year = read_clock(0x8d); / 讀年year = year - 1; / 當前日期的年減 一if (year = 0)year = 99;write_clock(0x8c, year); / 將校正寫回到寄存器 /else if (show_status = 4)min = read
32、_clock(0x83); / 讀分min = (min - 1); / 當前時間的 分減一if (min = 0)min = 60;write_clock(0x82, min); / 將校正寫回到寄存器 /break;case 0x03: / 數(shù)碼的五六位正閃爍if (show_status = 3)month = read_clock(0x89); / 讀月;month = month - 1; /if (month = 0)month = 12;write_clock(0x88, month); / 將校正的年寫回到寄存器 /else if (show_status = 4)sec =
33、read_clock(0x81); / 讀出當前的秒sec = (sec - 1);if (sec = 0)sec = 60;write_clock(0x82, sec); / 將校正寫回到寄存器 /break;case 0x04: / 第七八個數(shù)碼管閃爍只用于設(shè)置日期 if (show_status = 3) / 當前狀態(tài)為日期設(shè)置 day = read_clock(0x87); / 讀日day = day - 1; / 天加一if (day = 0)day = 31;write_clock(0x86, day); / 將校正寫回到寄存器 /return;if (keytmp = 8) /
34、第四個按鈕,僅當數(shù)碼管打開時有效 /switch (attr)case 0xff:if (show_status = 1) / 如果當前顯示日期show_status = 3; / 切換到調(diào)準日期狀態(tài) else if (show_status = 2) / 如果當前顯示時間 /show_status = 4; / 切換到調(diào)準時間狀態(tài) attr = 0x01;break; / 第一、二個數(shù)碼管閃爍case 0x01:attr = 0x02;break; / 第三、四個數(shù)碼管閃爍case 0x02:attr = 0x03;break; / 第五、六個數(shù)碼管閃爍case 0x03:attr = 0x
35、04;break; / 第七八個數(shù)碼管閃爍case 0x04:if (show_status = 0)if (attr = 0x03)cur_alarm_set += 1; / 轉(zhuǎn)到下一路鬧鐘進行設(shè)置 /if (cur_alarm_set = 18)cur_alarm_set = 0;attr = 0x01; / 第一、二個數(shù)碼管閃爍/*鬧鐘被觸發(fā)相應(yīng)操作子程序*/voidalarm_act()char temp;hour = read_clock(0x85); / 讀時min = read_clock(0x83); / 讀分for (temp = 0; temp = 18; temp+) /
36、 首先判斷十八路路鬧鐘是否有被/ 觸發(fā)的if (alarmtemp.h_b = hour & alarmtemp.m_b = min) / 比較是否有鬧鐘被觸發(fā)/sound = 1;if (temp = 0 | temp = 1 | temp = 2)out_alarm1 = 0; / 啟動第一路鬧鐘if (temp = 3 | temp = 4 | temp = 5)out_alarm2 = 0; / 啟動第二路鬧鐘if (temp = 6 | temp = 7 | temp = 8)out_alarm3 = 0;if (temp = 9 | temp = 10 | temp = 11)out_alarm4 = 0;if (temp = 12 | temp = 13 | temp = 14)out_alarm5 = 0;if (temp = 15 | temp = 16 | temp
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《上杭歷史文化旅游》課件
- 《統(tǒng)計初步復(fù)習》課件
- 藥學(xué)三基試題及答案
- 2024年生物制藥專利許可協(xié)議
- 2024年高端會所室內(nèi)設(shè)計合同范本二零二四2篇
- 2024年行政合同管理制度與流程執(zhí)行與監(jiān)督合同3篇
- 2024年行政單位合同業(yè)務(wù)流程重組與效率提升合同3篇
- 2024年跨區(qū)域物流配送合同(含配送路線規(guī)劃)
- 2024毛紗原料進出口貿(mào)易環(huán)境保護責任合同3篇
- 2024年電動窗簾生產(chǎn)設(shè)備租賃與購買合同
- 部編人教版 六年級下冊道德與法治課堂作業(yè)(含答案)
- 幼兒園大班數(shù)學(xué):《長頸鹿的水果店》 課件
- 獨生子女證明(模板)
- 侵入性器械、操作相關(guān)感染防控制度
- 更換電表申請書3篇
- 2019年北京外國語大學(xué)博士生英語入學(xué)考試試題
- 肝膽外科出科考試試卷
- 塔吊運行作業(yè)方案
- 重慶中考數(shù)學(xué)最新26題練習及答案
- 江蘇衛(wèi)視跨年演唱會電視轉(zhuǎn)播技術(shù)方案-209年精選文檔
- 水電工程施工機械臺時費定額(2004年版)
評論
0/150
提交評論