版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、一、 設(shè)計(jì)題目及要求:【課題 6】數(shù)字鬧鐘1. 通過 8253 定時器作產(chǎn)生秒脈沖定時中斷。 在中斷服務(wù)時的進(jìn)位 (24 小時制) 。2. 在七段數(shù)碼管上顯示當(dāng)前的時分秒(例如,12 點(diǎn) 1860 分403. 按“C”可設(shè)置時鐘的時間當(dāng)前值(對準(zhǔn)時間) 。4. 按“D”鍵設(shè)置鬧鈴時間。5. 按“E”鍵表示時鐘開始運(yùn)行。實(shí)現(xiàn)秒、 分、 小秒顯示為 121040) 。6. 程序運(yùn)行時,首先按“D”鍵設(shè)置鬧鈴時間,然后按“C”鍵設(shè)置時鐘的時間,再按“E” 讓時鐘開始運(yùn)行。當(dāng)前時間運(yùn)行到鬧鈴時間時,6個數(shù)碼管全部閃爍顯示“8”。二、 設(shè)計(jì)思想:1.功能概述開始設(shè)置鬧鐘時間刪除開始運(yùn)行鬧鐘暫停圖 1 功
2、能概述圖本程序主程序模塊、初始化模塊、中斷服務(wù)子程序模塊、時間計(jì)數(shù)模塊、比較模塊、顯示模塊、鍵盤掃描模塊、按鍵處理模塊等部分。(1) 裝載并連續(xù)運(yùn)行程序后,實(shí)驗(yàn)箱右下方的 LED 顯示管顯示 000000 并開始計(jì)數(shù)。運(yùn)行到鬧鐘時間輸出888888設(shè)置當(dāng)前時間暫停運(yùn)行秒表鬧鐘模式秒表模式(2) 按 D 鍵設(shè)置鬧鐘時間,為 24 小時制,第一位只能設(shè)置為 0 或 1 或 2,當(dāng)?shù)谝晃粸? 時,第二位最多可設(shè)置為 3,第三位第四位和第五位第六位最多可設(shè)置為 59。(3) 按 C 鍵設(shè)置當(dāng)前時間,設(shè)置邏輯同(2)。(4) 在設(shè)置時間時按 A 鍵,可回退一位修改已設(shè)置值,連續(xù)按 A 鍵可對已輸入值全部
3、進(jìn)行刪除修改。(5) 設(shè)置完鬧鐘時間和當(dāng)前時間后,按 E 鍵時鐘開始運(yùn)行,當(dāng)時鐘運(yùn)行到設(shè)置的鬧鐘時間時 LED 顯示管顯示“888888”。(6) 按 F 鍵運(yùn)行秒表模式,時鐘從“000000”開始,按 B 鍵結(jié)束。(7) 在時鐘運(yùn)行過程中,按 B 鍵可使時鐘暫停,按 E 鍵可使時鐘繼續(xù)運(yùn)行。2. 總體思想中斷源產(chǎn)生中斷8088CPU圖 2 部件圖8253 連接 8259,每秒產(chǎn)生一個電平變化,8259 設(shè)置為邊沿觸發(fā),接收到波形變化后向8088CPU 提出中斷請求,CPU 執(zhí)行中斷服務(wù)子程序完成時鐘秒數(shù)的增加并顯示當(dāng)前時間。LED 數(shù)碼管3實(shí)驗(yàn)連線本實(shí)驗(yàn)連線主要分為三個部分,138 譯碼器,
4、8253 譯碼器以及 8259 譯碼器具體連線如下:138 譯碼器:A,B,C,D,分別連接 8259 的 A2,A3,A4,GS;y0 連接 8259 的 CS 片選信號;y1 連接 8253 的 CS 片選信號;8253 連線:分頻信號 T7 接 8253 的 CLK0; 8253 的 OUT0 接 8259 的 IRQ7;8253 的 gate 信號接+5V;8259 連線:LED數(shù)碼管825382598259 的數(shù)據(jù)線接入數(shù)據(jù)總線;實(shí)驗(yàn)連線圖如下: D0GSA4A3數(shù)據(jù)總線8259A2D7y0CSAB138譯碼器CGy1CSCLK0D0分頻單元T7OUT08259的irq7gate08
5、253數(shù)據(jù)總線+5V電源D7圖 3 實(shí)驗(yàn)連線圖4主程序設(shè)計(jì)在主,我們首先進(jìn)行 8253的初始化,接著是中斷程序地址的裝載,具體將 IRQ7 的偏移地址放入 003CH,將 IRQ7 的斷地址放入 003EH,然后對 8259進(jìn)行初始化。在所有初始化完成之后,我們調(diào)用 update_ledbuff 顯示 0 時 0 分 0 秒,整個主程序在顯示子程序和鍵盤子處理程序之間不斷循環(huán),通過 T7 的分頻,計(jì)數(shù)器送 38400 實(shí)現(xiàn)8253 每一秒給 8259 一個刺激,當(dāng) 8259 接受到刺激后會給 CPU 一個中斷請求,CPU 會轉(zhuǎn)去執(zhí)行中斷子程序,而中斷子程序設(shè)置成時間計(jì)數(shù)加,調(diào)用 update_
6、ledbuff 將時間存入顯示緩沖區(qū)以及 compare 時間比較子程序即完成表的整體設(shè)計(jì)。5LED 顯示子程序設(shè)計(jì)本顯示子程序顯示部分用了 6 個共陽極 LED 作為顯示管,首先將顯示緩沖區(qū)首地址送入bx,然后通過段碼設(shè)置使其指向第一位數(shù)碼管。每送一次段碼就送一次位碼,段碼指的字形碼,就是數(shù)碼管上顯示的字形。位碼指的多個數(shù)碼管顯示的時候,你要讓那個數(shù)碼管顯示, 設(shè)定對應(yīng)的公共端的值,選擇對應(yīng)的數(shù)碼管點(diǎn)亮。這個就是位碼,即位置碼。每送一次位碼后,將位碼右移 1 位作為下次的位碼,從而可以實(shí)現(xiàn)從左到右使 6 個 LED 依次顯示出相應(yīng)的數(shù)字。雖然 CPU 每隔一定時間便執(zhí)行顯示程序,但由于這個時
7、間段不太長,人眼完全可以在6 個 LED 上同時見到數(shù)字顯示。6鍵盤掃描子程序設(shè)計(jì)程序需要用鍵盤對時間的初始值進(jìn)行設(shè)置,因此對鍵盤掃描的子程序需要滿足的功能如下:是否是 C 鍵,若不是就返回至主程序,若是 C 鍵就開始對時間初始值進(jìn)行設(shè)置,同時因注意到第一個值不可以超過 2,第一個數(shù)是 2 時第二數(shù)不能超過 4,余下的同理要滿足時間數(shù)值的取值范圍呢,若不是合法輸入不予反應(yīng)繼續(xù)等待輸入。當(dāng)遇到輸入數(shù)值錯誤時可以按下 D 鍵進(jìn)行刪除一位重新設(shè)置;當(dāng) 6 位初始值全部設(shè)置后,表將自動開始走表。7按鍵處理子程序設(shè)計(jì)按鍵處理子程序主要處理獲得按鍵之后的,根據(jù)按鍵完成相應(yīng)的功能。首先按鍵,是否是 F 鍵、
8、B 鍵、D 鍵、C 鍵中的一個,若不是則返回主程序。按 F 鍵進(jìn)入秒表模式,將 time 的值置為 000000,開始運(yùn)行秒表,若檢查到 B 鍵按下則關(guān)閉中斷,秒表暫停,按 E 鍵秒表繼續(xù)。按 D 鍵設(shè)置鬧鐘時間,將指針指向 alarmtime 緩存區(qū),調(diào)用 update_ledbuff 將按下的數(shù)字放入 LedBuf 緩存區(qū)中,使其顯示在 LED 顯示管上, 并將設(shè)置的時間存入 alarmtime 中。按 C 鍵設(shè)置當(dāng)前時間,將指針指向 time 緩存區(qū)中,其他與 D 鍵的處理相同。在設(shè)置時間時按 A 鍵,可回退一位修改已設(shè)置值,連續(xù)按 A 鍵可對已輸入值全部進(jìn)行刪除修改。設(shè)置完時間后按 E
9、 鍵開始運(yùn)行時鐘,在時鐘運(yùn)行過程中按 B 鍵可暫停,按 E 鍵可繼續(xù)運(yùn)行。8時間增加子程序設(shè)計(jì)在時間增加子程序里,我們必須對秒、分和時的單元內(nèi)的數(shù)值進(jìn)行,當(dāng)秒加到 60時,分必須加 1 、秒清零;當(dāng)分加到 60 時,時加 1、分清零。當(dāng)時加到 24 時,直接清零,時間又從 0 時 0 分 0 秒開始。從秒開始我們一位一位向前,但需要注意的是在對時進(jìn)行時當(dāng) Time0等于 2 時Time1必須小于 4,當(dāng) Time0小于 2 時Time1只需小于 10即可。然后我們再把運(yùn)算出的最終結(jié)果存到 LedBuf 顯示緩沖區(qū)里,以便顯示模塊即時地顯示出來。9時間比較子程序設(shè)計(jì)compare 子程序用于比較
10、當(dāng)前時間和鬧鐘時間,如果相同則輸出 888888。在中斷服務(wù)子調(diào)用 compare 子程序,即每過 1s8259 接收一次中斷之后時間加 1s 變化后就比較當(dāng)前時間和鬧鐘設(shè)置的時間,先從第六位開始比較,如果相同則繼續(xù)比較第五位,如果不同則子程序返回,如果第五位相同則繼續(xù)比較第四位,不同則返回,以此類推,如果六位都相同就輸出 888888。108253程序設(shè)計(jì):在系統(tǒng)中定時/計(jì)數(shù)8253 主要與 CPU 及中斷擴(kuò)展8259 之間著連接產(chǎn)生一。8253 主要擔(dān)負(fù)著時間的功能,通過對分頻單元提供的頻率信號進(jìn)行秒時間為周期的脈沖信號,因此 8253 的設(shè)置應(yīng)為:口寫入:00110100b;計(jì)算器 0選
11、擇先低后高兩字節(jié)讀或?qū)?方式 2 二進(jìn)制計(jì)數(shù);計(jì)數(shù)器 0 寫入:38400;時間系數(shù)通過計(jì)算可以產(chǎn)生 1 秒的脈沖信號;11中斷設(shè)計(jì)中斷設(shè)計(jì)采用 8259:在該系統(tǒng)中,8259 主要擔(dān)負(fù)著處理 8253 的一秒時間的脈沖信號,通過 8253 的每秒的刺激下向 CPU 發(fā)送中斷請求,進(jìn)而 CPU 處理擔(dān)負(fù)時間計(jì)算的中斷子程序,即可完成每秒鐘時間自加 1 秒的功能,因此 8259 的初始化設(shè)置為: ICW1:00010011;邊沿觸發(fā),單片方式,寫入 ICW4ICW2:00001000;08H12在器設(shè)置器設(shè)置功能里,實(shí)現(xiàn)秒表功能,按 F 鍵開始從 0,要實(shí)現(xiàn)此功能需要對秒、秒清零;當(dāng)分加到 60
12、 時, 器程序。分和時的單元內(nèi)的數(shù)值進(jìn)行,當(dāng)秒加到 60 時,分必須加 1時加 1、分清零。按 B 鍵可以暫停,再按 E 鍵繼續(xù)運(yùn)行13地址設(shè)計(jì)地址模塊用于存放中斷地址,首先取中斷向量的地址,然后取中斷矢量地址,因?yàn)橹袛嗍噶康刂返姆秶?0000H003FH,存放中斷矢量地址需要四個連續(xù)的地址空間,我們選取003CH 存放 IRQ7 的偏移地址,003EH 存放 IRR7 的段地址。三、功能流程圖:1.主程序流程圖2.LED 顯示子程序流程圖3.按鍵處理子程序流程圖4.時間比較子程序流程圖四、結(jié)果討論:我們在課題要求的基礎(chǔ)上,添加了如下的功能,時數(shù)字鬧鐘更為完善。a.添加暫停功能:按鍵 B 暫
13、停時鐘,再按 E 時間繼續(xù)走。b.添加秒表功能:按鍵 F 時使晶體管顯示六個零,并開始c.添加修改時間功能:按 A 鍵可以修改當(dāng)前時鐘的值。五、實(shí)驗(yàn)感想在進(jìn)行課程設(shè)計(jì)的過程中,我遇到了很多問題,通過解決這些問題,我才知道很多不起眼的細(xì)節(jié)都會導(dǎo)致整個程序的出錯。在第剛接觸到這門課題時,我并不知道如何使用 8253和 8259來程序的執(zhí)行。通過初步的思考,到了一種利用編程代碼來實(shí)現(xiàn)一秒延時的思路,并將程序的運(yùn)行誤差在了一秒之內(nèi),但這樣做并不滿足題目要求,在接下來的一周里,通過詳細(xì)了解 8253 和 8259秒。的工作原理,使用分頻使時間在 1調(diào)試的時候因?yàn)橛龅綆讉€實(shí)驗(yàn)箱都是有問題的,本來以為是程序
14、出現(xiàn)了問題,來回檢查程序,直到最后又換了個實(shí)驗(yàn)箱才知道程序是正確的,實(shí)驗(yàn)箱是實(shí)驗(yàn)的基礎(chǔ),我們做實(shí)驗(yàn)時都應(yīng)該細(xì)心愛護(hù),弄壞了,給和他人都帶來了不便。附錄:實(shí)驗(yàn)代碼:(完整的源程序)CODESEGMENTASSUME CS:CODE,DS:CODE,ES:CODE ORG 3400HStart:JMP programLedMap: ;八段管顯示碼db 0c0h,0f9h,0a4h,0b0h,099h,092h,082h,0f8h;0,1,2,3,4,5,6,7db 080h,090h,088h,083h,0c6h,0a1h,086h,08eh;8,9,A,B,C,D,E,F;db 0bfhdb0f
15、7h;下劃線KeyTable: ;鍵碼定義dbdb07h,04h,08h,05h,09h,06h,0ah,0bh01h,00h,02h,0fh,03h,0eh,0ch,0dhOUTSEG OUTBITIN_KEYequ equequ0ffdch 0ffddh 0ffdeh6 dup(?);段;位口 某一位顯示的具體的值口/鍵掃口 顯示哪一位;鍵盤讀;顯示緩沖LedBufdbtime DB 0,0,0,0,0,0;存放當(dāng)前時間alarmtime DB 0,0,0,0,0,0;INTNumequ20;存放鬧鐘時間flag db ?;標(biāo)志,在設(shè)置鬧鐘時間當(dāng)前設(shè)置鬧鐘時間或當(dāng)前時間,0 表示正在設(shè)置當(dāng)
16、前時間,1 表示正Port_8259_0 Port_8259_1 Port_8253_00 Port_8253_01 Port_8253_10Port_8253_11EQU 0FFE0H ;1110_0000 EQU 0FFE1HEQU 0FFE4H ;0_01 EQU 0FFE5HEQU 0FFE6HEQU 0FFE7Hprogram:call initCLK0 CLIMOV AX,OFFSET int8259;取中斷地址MOV BX,003CH;取中斷矢量地址MOV BX,AX MOV BX,003EH MOV AX,0000H MOV BX,AX STIcall init8259call
17、 update_ledbuff mainLoop:calldisplaycall handle_key;將 IRQ7 的偏移地址放入 003CH;將 IRQ7 的斷地址放入 003EHjmpmainLoopinitCLK0:movort_8253_11mov al,00110100bout dx,al;方式 2,通道 0,先低后高,二進(jìn)制計(jì)數(shù)movort_8253_00;clk0mov ax,38400 out dx,almov al,ah out dx,alretinit8259:MOV AL,13HMOVort_8259_0OUT DX,ALMOV AL,08HMOVort_8259_1O
18、UT DX,AL MOV AL,09H OUT DX,AL MOV AL,7FH OUT DX,ALRET;IRQ7int8259:cli push axpush bxpush cxMOV AL,20H;0010MOVort_8259_0OUT DX,ALcall timeInccall update_ledbuff call comparepop pop pop stiiretcx bxaxtimeInc:push bx push cxmovbx,offset timeadd inc cmpjbbx,5byte ptr bx;取 time5byte ptr bx,10next5movbyte
19、 ptr bx,0;該位清零dec inc inc deccmpjbbx ;下一位加 1 byte ptr bxbx bxbyte ptr bx,6next4next5:mov dec incincbyte ptr bx,0 bxbyte ptr bxbxnext4:deccmp jbbxbyte ptr bx,10 next3mov dec incincbyte ptr bx,0 bxbyte ptr bxbxnext3:decbxcmpbyte ptr bx,6jbnext2movbyte ptr bx,0dec incincbxbyte ptr bx bxnext2:decdec cmp
20、 jnzbxbxbyte ptr bx,2 cmp10cmp4:inc cmpjbbxbyte ptr bx,4 next1mov dec movjmpbyte ptr bx,0 bxbyte ptr bx,0over_timeInccmp10:inc cmpjbbxbyte ptr bx,10 next1mov dec incincbyte ptr bx,0 bxbyte ptr bxbxnext1:deccmp jb movbxbyte ptr bx,3 over_timeInc byte ptr bx,0over_timeInc:pop pop retcxbx;比較當(dāng)前時間與鬧鐘時間co
21、mpare:push ax push bx push dxmov bx,offset timeadd mov mov add cmpjebx,5;取 time5dh,byte ptrbxbx,offset alarmtimebx,5;取 alarmtime5dh,byte ptrbxcnext1popdx popbxpopax ret;比較倒數(shù)第二位是否相等cnext1:mov add mov mov add cmpjebx,offset timebx,4;取 time4dh,byte ptrbxbx,offset alarmtimebx,4;取 alarmtime4dh,byte ptrbx
22、cnext2popdx popbxpopax ret;比較倒數(shù)第三位是否相等cnext2:mov add mov mov add cmpjebx,offset timebx,3;取 time3dh,byte ptrbxbx,offset alarmtimebx,3;取 alarmtime3dh,byte ptrbxcnext3popdx popbxpopax ret;比較第三位是否相等cnext3:mov add mov mov add cmpjebx,offset timebx,2;取 time2dh,byte ptrbxbx,offset alarmtimebx,2;取 alarmtime
23、2dh,byte ptrbxcnext4popdxpopbxpopax ret;比較第二位是否相等cnext4:mov add mov mov mov add cmpjebx,offset timebx,1;取 time1dh,byte ptrbx ax,bxbx,offset alarmtimebx,1;取 alarmtime1dh,byte ptrbx cnext5popdxpopbxpopax ret;比較第一位是否相等cnext5:movbx,offset timemov mov mov cmpjedh,byte ptrbx ax,bxbx,offset alarmtime dh,by
24、te ptrbxcompare_successpopdx popbxpopax retcompare_success:cli;匹配,輸出 888888mov bx, offset alarmtime mov cl,6mov flag,1;loop_c:movbyte ptr bx,8 incbxloop loop_ccall update_ledbuffpop pop popretdx bxaxdisplay:push ax push bx push cx push dxmov bx,offset LEDBufmovcl,6;共 6 個八段管;從左邊開始顯示movah,00100000bDLo
25、op:movmov outdx,OUTBITal,0dx,al;關(guān)所有八段管mov movoutal,bx dx,OUTSEGdx,almov movoutdx,OUTBITal,ahdx,al;顯示一位八段管push ax movah,1call Delaypopaxshr inc decjnzah,1 bx clDLoopmov mov out pop pop pop popretdx,OUTBITal,0dx,al;關(guān)所有八段管dxcx bxaxupdate_ledbuff:push ax push bx push cxpush dxmovcl,6uloop:cmpflag,0;je m
26、ov jmp mov mov dec movxlatL1bx,offset alarmtime L2bx,offset time al,clalah,0;取出timecl-1L1:L2:mov movxlatbx,offset LEDMAP ah,0;查找對應(yīng)字形碼mov mov add decmovbx,offset LedBuf ch,0bx,cx bxbx,al;放入 LedBufcl-1dec jnz pop pop pop popretcl uloop dxcx bxaxDelay:;push mov loop pop ret;push mov程序cxcx,256$ cxDelay1
27、:程序cxcx,50l:calldisplayloop pop rethandle_key:call cmp jelcx_key al,0fhnextFcmp al,0bh jne nextA clijmp againnextA:cmp je cmp jnejmpal,0dh nextD al,0ch nextRnextCnextF:mov cl,6mov bx, offset timeloop_f:movbyte ptr bx,0 incbxloop loop_fjmp againnextD:climov bx, offset alarmtime mov cl,6mov flag,1;loo
28、p_da:movbyte ptr bx,16 incbxloop loop_dacall update_ledbuffmov bx, offset alarmtimejmp t1;nextR:retnextC:climov bx, offset time mov flag,0;mov cl,6loop_ca:movbyte ptr bx,16 incbxloop loop_cacall update_ledbuffmov bx, offset timet1:call Displaycall cmpja_key al,2t1t1_over:movbx,alcall update_ledbuff
29、call Delay1call Displayt2:call_keyCMP AL,0AH JNE T22movbyte ptr bx,16 call update_ledbuff call Delay1JMP T1T22:cmp ja cmp jejmpal,9 t2byte ptr bx,2 cmp_k_4t2_overcmp_k_4:cmp ja jmpt2_over:incal,3 t2t2_overbxmovbx,alcall update_ledbuff call Delay1t3:call Displaycall_keyCMP AL,0AHJNE T33movbyte ptr bx,16 DEC BXcall update_ledbuff call Delay1JMP T2T33:cmpjaal,5t3t3_over:incbxmovbyte ptrbx,al call update_ledbuffcall Delay1t4:call Displaycall_keyCMP AL,0AHJNE T44movbyte ptr bx,16 DEC BXcall update_ledbuff call Delay1JMP T3T4
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個人房屋租賃擔(dān)保合同模板4篇
- 2024蘋果加工副產(chǎn)品深加工技術(shù)研發(fā)合同3篇
- 2025年度彩色激光打印機(jī)租賃及升級服務(wù)合同模板3篇
- 雪人的創(chuàng)意課程設(shè)計(jì)
- 年度雕刻雕銑設(shè)備控制系統(tǒng)競爭策略分析報告
- 2025年獼猴桃種植技術(shù)培訓(xùn)土地租賃與農(nóng)民增收合同4篇
- 2025年度個人二手房交易合同模板環(huán)保裝修服務(wù)版3篇
- 2025年離婚風(fēng)險防范:協(xié)議離婚與訴訟離婚適用條件合同3篇
- 二零二五年度苗木出口業(yè)務(wù)代理銷售合同4篇
- 二零二五版智能門窗控制系統(tǒng)集成與安裝服務(wù)合同4篇
- 常見老年慢性病防治與護(hù)理課件整理
- 履約情況證明(共6篇)
- 云南省迪慶藏族自治州各縣區(qū)鄉(xiāng)鎮(zhèn)行政村村莊村名居民村民委員會明細(xì)
- 設(shè)備機(jī)房出入登記表
- 六年級語文-文言文閱讀訓(xùn)練題50篇-含答案
- 醫(yī)用冰箱溫度登記表
- 零售學(xué)(第二版)第01章零售導(dǎo)論
- 大學(xué)植物生理學(xué)經(jīng)典05植物光合作用
- 口袋妖怪白金光圖文攻略2周目
- 光伏發(fā)電站集中監(jiān)控系統(tǒng)通信及數(shù)據(jù)標(biāo)準(zhǔn)
- 三年級下冊生字組詞(帶拼音)
評論
0/150
提交評論