




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
摘要現(xiàn)在社會科技快速發(fā)展,單片機作為熱門的微處理器應(yīng)用十分廣泛,智能化產(chǎn)品已經(jīng)成了每家每戶的必需品,而所有智能產(chǎn)品中都不可能缺少了單片機的身影。在我們?nèi)粘5墓ぷ骱蛯W(xué)習(xí)中,很多人因為寫字看書以及辦公姿勢不正確,長時間疲勞的工作和學(xué)習(xí)導(dǎo)致近視眼及頸椎病。所以,本文介紹了一種基于單片機的智能防近視系統(tǒng)。本設(shè)計主要使用STC89C52單片機作為主控制芯片,系統(tǒng)利用超聲波測距原理來感應(yīng)人與桌面的距離,通過光敏電阻檢測周圍環(huán)境內(nèi)光強度的變化。當(dāng)光線強度較弱時,系統(tǒng)語音模塊會進行語音提示開燈;當(dāng)人距離桌面太近時,會語音提示保持正確姿勢。同時系統(tǒng)還具有定時功能,達到預(yù)訂時間后會語音提醒使用者應(yīng)該進行休息,防止長時間疲勞工作和學(xué)習(xí)。報警距離和定時時間都可以通過按鍵來設(shè)置,方便不同使用者的使用情況。系統(tǒng)使用LCD1602顯示器對環(huán)境內(nèi)的光照強度以及人距離桌面的距離等信息進行顯示。同時系統(tǒng)還具有藍牙通信模塊,可以和智能手機的藍牙進行配對,將LCD1602顯示器的內(nèi)容到手機屏幕上進行顯示。此設(shè)計采用模塊化結(jié)構(gòu),設(shè)計思路清晰,控制準確,可靠性高。關(guān)鍵詞:單片機;超聲測距;LCD顯示;藍牙通信1引言1.1課題研究的目的與意義近年來,國內(nèi)經(jīng)濟呈現(xiàn)高速發(fā)展的趨勢,伴隨著智能系統(tǒng)控制技術(shù)逐漸普遍起來。智能控制技術(shù)也進入了普通百姓的生活中,基于智能控制技術(shù),出現(xiàn)了很多智能化控制的應(yīng)用場景[1]。 目前國內(nèi)近視人群越來越多以及近視人群年齡段越來越小,其中多數(shù)都是由于平時不良的讀書寫字習(xí)慣,姿勢不正確或者長時間疲勞學(xué)習(xí)不運動導(dǎo)致?;谶@種現(xiàn)象,本文介紹了一種基于單片機的智能防近視系統(tǒng),系統(tǒng)可以對人與桌面的距離及學(xué)習(xí)時間進行實時的監(jiān)控,并能在距離過近或?qū)W習(xí)時間過長時進行語音提示,可以有效的督促使用者保持良好的坐姿以及適當(dāng)?shù)膶W(xué)習(xí)時間。1.2研究的內(nèi)容和意義隨著人們生活水平的逐漸提升,對健康高質(zhì)量的生活也有追求。因此,現(xiàn)在對健康有幫助的智能化產(chǎn)品越來越熱門。例如,現(xiàn)在很多智能手環(huán)都具有定時提醒的功能,可以提醒使用者按時飲水或者按時進行鍛煉,監(jiān)控心率。本文介紹的是一款智能防近視系統(tǒng),不僅可以在坐姿不正確,距離近的時候進行提示,同時也具有定時器功能,防止疲勞[2]。同時還具有通信模塊,通過藍牙模塊和手機進行通信,可以將系統(tǒng)屏幕顯示的內(nèi)容同步到手機的屏幕進行顯示,方便家長對孩子的學(xué)習(xí)坐姿和學(xué)習(xí)時長進行觀察,非常具有實用價值,可以對孩子進行健康的檢測與預(yù)防。1.3發(fā)展狀況及發(fā)展前景隨著電子產(chǎn)品的普及,我國近視眼的人群逐年增多,同時也有很多學(xué)生和上班族出現(xiàn)了頸椎病[3]。因此很多智能產(chǎn)品也都開始有了健康相關(guān)的功能,比如智能手機或者手環(huán)可以記錄每天走路的步數(shù),檢測睡眠質(zhì)量和心率等。相信在未來,隨著控制器的體積越來越小,傳感器的精度越來越高,各種智能產(chǎn)品也會設(shè)計的更加智能,更加方便[4]。2系統(tǒng)方案和硬件選擇2.1設(shè)計方案模塊 本設(shè)計是用STC89C52芯片作為主控部分,這個方案使用的是模塊化的思路設(shè)計。方案中包括超聲測距模塊,語音模塊,藍牙模塊,光線檢測模塊,LCD顯示模塊,及電源模塊[5]。各模塊均與單片機的I/O口進行通信,設(shè)計的系統(tǒng)總框圖如2-1圖所示。圖2-1單片機模塊系統(tǒng)分別對各個模塊的功能做簡單的介紹:超聲測距模塊:HC-SR04超聲波模塊進行距離的測量,并將采集的值傳給單片機處理。語音模塊:使用WT588D語音模塊進行語音提示。藍牙模塊:實現(xiàn)單片機和手機的通信,將數(shù)據(jù)從單片機傳到手機進行顯示。光線檢測模塊:使用光敏電阻對周圍環(huán)境的光強進行監(jiān)測,并將采集的值傳給單片機處理。LCD顯示模塊:對距離及光線強度等信息進行顯示。2.2單片機的選擇方案一:采用STC89C52單片機 STC89C52單片機是一款常用的微處理器,穩(wěn)定性可靠性比較強。具有供電電壓低,性能高的特點,是一款8位處理器。89C52系列單片機一共有40個引腳,其中包括4組8位并行I/O口,分別記做P0-P3;有一個可以雙向通信的串行端口,還擁有可以隨時中斷程序的中斷源,共5個,兩個中斷優(yōu)先級以及位數(shù)達到16位的定時器。一個4K的程序存儲器,和一個128B的數(shù)據(jù)存儲器是STC89C52單片機存儲部分的核心,同時STC89C52還帶有4KB的FLASH存儲空間,F(xiàn)LASH中存的東西可隨時擦除修改,這個特點讓程序的修改和調(diào)試非常方便[6]。STC89C52微控制器的使用效率非常高,因為芯片中將閃存也封裝在里面,同時還含有中斷控制,定時器等部件。它與工業(yè)標準的MCS51指令集也相互兼容,與8051等其他型號單片機兼容,結(jié)構(gòu)簡單,靈活性高,價格低廉。方案二:使用AVR單片機 AVR單片機是8位的,它是一款高速單片機。AVR微處理器內(nèi)部擁有高質(zhì)量的FLASH。由于始終頻率較高,所以,執(zhí)行指令的速度很快,執(zhí)行每條指令給程序帶來的延時很小。但是AVR單片機內(nèi)部沒有類似累加器的功能,需要反復(fù)使用內(nèi)部的寄存器。方案三:采用MSP430單片機 MSP430單片機是16位的,由TI公司生產(chǎn)的一款單片機,擁有很好的低功耗性能。根據(jù)功能和內(nèi)存大小等具體配置的差異,分為不同系列。從最開始的11x系列,發(fā)展到后來的33x系列和F13系列、F14系列等等。由于是16位處理器,因此處理能力很強,同時運算速度也是很快。此外,其片內(nèi)資源也比較豐富,包括看門狗,定時器,以及一些常見的硬件通信接口等等。同時也有固定的編譯軟件,方便開發(fā)者進行開發(fā)。 幾種方案相比,MSP430單片機和AVR單片機性能雖好,但是本設(shè)計中對資源的硬性需求很少,使用它兩相對浪費,而且價格也相對比較貴。而STC89C52單片機的資源就完全可以滿足本設(shè)計的需求,且價格也相對比較便宜,在兼顧到性價比的前提下采用方案一使用STC89C52更符合本設(shè)計需求。2.3顯示電路的選擇方案一:采用LED數(shù)碼管動態(tài)掃描顯示因為LED數(shù)碼管是采用八段來組成的,所以可顯示的值相對比較單一,例如數(shù)字或者簡單的字母,對一些字符顯示實現(xiàn)起來很困難或者不顯示。同時與單片機連接時需要用到很多I/O口,并且由于單片機的I/O口電流驅(qū)動能力很微弱,需要外接三極管進行驅(qū)動,占用電路板空間比較大,而且會增加成本。如果使用多位數(shù)碼管時情況則更加復(fù)雜。方案二:采用LCD1602液晶顯示屏LCD1602液晶顯示屏尺寸相對大一些,可展示內(nèi)容更豐富??娠@示數(shù)字和字母以及各種符號和字符,顯示的內(nèi)容相對比較豐富多彩。LCD1602液晶顯示器中的每一個字符都是通過相同的點陣結(jié)構(gòu)組成的,也是根據(jù)顯示的內(nèi)容不同,來點亮不同的點陣位置。LCD1602的軟件控制指令也比較簡單。他既可以用并行數(shù)據(jù)傳輸也可以采用串行數(shù)據(jù)傳輸。通過兩種方案的對比,其實兩種方案都可以,但第二種可以顯示更多內(nèi)容,所以,設(shè)計選擇使用方案二,使用LCD1602屏幕進行距離及光強的顯示。2.4光敏模塊的選擇方案一:使用光敏電阻光敏電阻是一款能將可見光信號轉(zhuǎn)變成電信號輸出的光電元件,且價格比較便宜。具響應(yīng)速度很快,在光強變化的時候能快速反應(yīng)跟上變化。光敏的體積一般都很小,比較小的直徑僅有3毫米。雖然體積小,但可提供最大工作電壓卻很大,在120或240V交流電路中光敏電阻仍然可以正常工作。光敏電阻具有環(huán)氧樹脂封裝、響應(yīng)時間很短、占用電路板空間小、可靠性高等特點。方案二:使用光電二極管光電二極管是一種具有特殊功能的二極管,可將光信號轉(zhuǎn)化成電信號。其內(nèi)部構(gòu)造和普通的二極管沒什么區(qū)別,都是由一個PN結(jié)構(gòu)成。為了能更好的接受光信號,不同的是內(nèi)部PN結(jié)面積比普通二極管的PN結(jié)大很多。光電二級管的特性是,在光照條件不同的時候,其電流也是不一樣的。通過對比方案一的功能和性價比會更合適此次設(shè)計。2.5語音模塊的選擇方案一:WT588D語音芯片WT588D這款語音芯片是具有單片機內(nèi)核的,功能很多,音質(zhì)很好,應(yīng)用的范圍很廣,性能也是非常的穩(wěn)定,相對于其他語音芯片優(yōu)勢很大。首先WT588D可以使用MP3模式對其進行控制,除此之外還可以使用按鍵模式或者按鍵組合模式,以及使用并口模式進行控制;還有三種模式的串口模式控制,分別是:一線串口控制模式、三線串口控制模式以及三線串口控制I/O口擴展輸出模式,具有這么多控制模式可以很方便大家的應(yīng)用,在很多場景進行控制都沒有問題[7]。WT588D語音芯片的最大優(yōu)勢為音質(zhì)效果,在同級別語音芯片中效果最好,可以播放的音頻范圍很寬廣,播放聲音的效果也很好。WT588D芯片可以通過原廠研發(fā)的軟件對其要播放的語音進行設(shè)置。他能夠控制的語音地址位非常多,最多能達220個,可加載很多,組合語音的最大值是128。并且他的內(nèi)部還有SPI-FLASH存儲器,不需外接FLASH,因此,能省下很多的電路板空間。同時其內(nèi)部的SPI-FLASH存儲器都是可以任意修改的,通過修改其內(nèi)容,同時WT588D芯片可以對SPI-FLASH內(nèi)容進行在線下載,這個功能是非常具有優(yōu)勢的。方案二:LD3320語音芯片LD3320是語音識別芯片,可以識別非特定語音。僅僅使用一個芯片就實現(xiàn)語音識別的功能。LD3320芯片上具有A/D和D/A接口,其精度都比較高。同時其內(nèi)部具有Flash和RAM,因此均不需要外接,能有效節(jié)省電路板空間[8]。不僅可以實現(xiàn)語音識別的功能,同時還可以實現(xiàn)人和機器進行對話互動的功能。如果使用LD3320的話,應(yīng)用非常的廣泛,可以完全滿足語音識別功能的需求,并且具有很大的靈活性。綜合上兩種方案,雖都可以滿足語音播報的要求,但方案一價格較低,性價比較高。所以,采用方案一WT588D芯片進行語音播報。2.6本章小結(jié)本章介紹了系統(tǒng)設(shè)計的整體思路,包括系統(tǒng)設(shè)計框圖以及主控制單片機的選擇,系統(tǒng)顯示方式的選擇,語音提示模塊的選擇以及光敏模塊的選擇,為下文的硬件具體設(shè)計做鋪墊。3硬件電路設(shè)計3.1單片機外圍電路STC89C52是一款高性能8位微控制器,其功耗較低。使用的是MCS-51的內(nèi)核,這款內(nèi)核非常經(jīng)典,有很多微處理器都使用了這一款內(nèi)核。從硬件功能上來看,它使用的是一個8位的CPU。隨著成本的降低,它在越來越多的智能化場景中被應(yīng)用了起來。STC89C52的具體硬件配置如下:一共具有40個引腳,其中32位I/O口線,3個16位定時器,這三個定時器也可以當(dāng)做計數(shù)器來使用。同時內(nèi)部具有看門狗電路,可以確保單片機的穩(wěn)定性,還可以通過外部的按鍵對單片機進行復(fù)位。最高主頻35M[9],在8位的CPU中,其不僅內(nèi)部有8k字節(jié)Flash,還有RAM資源可供開發(fā)者使用。另外STC89C52還支持2種低功耗方式,可通過軟件進行選擇。第一種是通過讓CPU停止工作的方式來降低功耗;第二種是方式是直接切斷電源,使所有資源均停止工作。由于單片機的外圍電路相對固定,可以被開發(fā)者們成為最小系統(tǒng),其含有STC89C52單片機,晶振電路,復(fù)位電路和存儲電路等。3.1.1STC89C52的管腳說明STC89C52有兩種封裝模式可以選擇,一種是貼片的PLCC封裝,另一種是直插的PDIP。這里采用直插式的封裝,相對于PLCC封裝便于焊接。為了防止焊接時高溫對單片機造成損壞,可以在單片機下面先焊接一個座子,然后將單片機插入卡緊即可,也方便單片機的更換,方便每次換單片機不需要重新焊接。STC89C52一共具有40只引腳,其中有32個可控制引腳,引腳可分為4組,每組8個,可記為P0-P3。這些引腳的配置非常靈活,可以分別單獨控制,也可以同時控制。在控制的時候也很簡單,明確定義是輸出引腳還是輸入引腳后,再根據(jù)指令執(zhí)行輸入或輸出。STC89C52的管腳圖如圖3-1所示。圖3-1STC89C52管腳圖P0口是雙向的8位三態(tài)I/O口,它的一個最重要的特點是其內(nèi)部不具有上拉電阻,為高阻狀態(tài),如果使用P0口時要外接上拉電阻才能正常輸出,一般直接在P0口上加一個4.7K的排阻。P1口是準雙向的I/O口內(nèi)部帶上拉電阻,所以不需要外接上拉電阻。當(dāng)輸入時必須先進行寫1操作,因為其作為輸出使用時沒有高阻狀態(tài)。P1.0和P1.1這兩個I/O口比較特殊,分別具有額外的附加功能。其中P1.0可以作為T2定時器/計數(shù)器的外部輸入,而P1.1則作為T2的外部控制端。P2口與P1口相似,不過P2口只有準雙向的輸入輸出功能。P3口的是最復(fù)雜的,單片機很多豐富的功能都要靠P3口的資源來實現(xiàn)。其所有的I/O口都具有特殊的功能。一些中斷功能,計時器功能都是由這些接口來實現(xiàn)的。3.1.2復(fù)位電路復(fù)位電路是每個單片機最小系統(tǒng)必須具備的部分,其可以使單片機從一些異常狀態(tài)中恢復(fù)到初始狀態(tài),并繼續(xù)工作。單片機的復(fù)位功能在平時使用的還是比較多的,比如單片機開機異常,程序突然中斷以及出現(xiàn)未知的狀況,再或者死機等情況,一般可以通過復(fù)位單片機來解決。復(fù)位后,PC程序計數(shù)器的內(nèi)容為0000H。片內(nèi)RAM中內(nèi)容不變。本設(shè)計采用的是手動開關(guān)復(fù)位,如圖3-2所示。除了此種復(fù)位方式之外,還可以使用自動復(fù)位的方式。使用手動復(fù)位的優(yōu)點,就在于控制起來非常的方便,需要對單片機進行復(fù)位的時候只需手動按一下復(fù)位按鍵即可。圖3-2手動開關(guān)復(fù)位電路3.1.3晶振電路晶振電路同樣是單片機最小系統(tǒng)中不可缺少的部分,我們也常常稱其為晶體振蕩器。單片機內(nèi)部使用的時鐘信號都是來源于外部晶振。晶體振蕩器的功能是為系統(tǒng)提供所需的時鐘信號。本系統(tǒng)所使用晶振頻率為11.0592MHZ,外圍電路圖如下圖3-3所示。單片機片內(nèi)也有振蕩器,經(jīng)方向放大之后和片外連接,其中19腳和20腳分別是片內(nèi)振蕩器反相放大器的輸入端和輸出端。采用內(nèi)部振蕩器時,XTAL1和XTAL2通過一個微調(diào)頻率的小電容接到外部石英晶體的兩端;采用外部振蕩器時,XTAL2引腳懸空[10]。圖3-3晶振外圍電路3.2超聲測距模塊介紹3.2.1超聲測距模塊介紹 HC-SR04超聲波測距模塊,不用實物體接觸就可實現(xiàn)測距功能。測量的范圍可大可小,距離在5米以內(nèi)都可以進行準確的測量。模塊上包括了超聲波發(fā)射器、接收器與控制電路。模塊直接與單片機相連接就可以進行相互通信,使用起來非常的方便。3.2.2超聲測距電路 本設(shè)計中采用的是超聲波測距模塊,模塊與單片機的接口電路圖如圖3-4所示,VCC為5V供電,GND連接系統(tǒng)的GND,TRIG觸發(fā)控制信號輸入連接到單片機的第7腳,ECHO回響信號輸出連接到單片機第8腳。圖3-4模塊與單片機的接口電路圖3.3光敏模塊電路3.3.1光敏模塊的應(yīng)用光敏電阻內(nèi)部一般是化學(xué)物質(zhì)硫化鎘。這種物質(zhì)的物理特性,由于光波長不同,其電阻的值也會跟著產(chǎn)生變化。有的電阻是正系數(shù)變化,有的則是負系數(shù)變化。光敏電阻的電極一般采用硫狀圖案,結(jié)構(gòu)見下圖3-5所示:圖3-5光敏電阻結(jié)構(gòu)圖由于電阻沒法實時測量,因此,光敏電阻通過兩端電壓變化,得到光敏電阻阻值的變化狀態(tài)。然后利用STC89C52單片機對阻值的變化進行分析,最后判斷是光線的強弱程度。3.3.2光敏模塊和AD模塊電路 光敏模塊和AD模塊電路如圖3-6所示,通過光敏電阻GR1兩端電壓的變化,間接得到光敏電阻的阻值變化情況。使用它和R6進行分壓,根據(jù)歐姆定律,電壓和電阻是成正比的,因此得到電阻和光強的關(guān)系。通過ADC0832芯片,將模擬信號轉(zhuǎn)化成數(shù)字信號,再通過STC89C52單片機對數(shù)字信號進行分析,最后判斷光線的強弱程度。圖3-6光敏模塊和AD模塊電路ADC0832的工作狀態(tài)由使能引腳CS來進行控制,CS引腳是低電平有效的,當(dāng)CS為低電平時,器件才被使能。當(dāng)CS為高電平的時候,器件的模數(shù)轉(zhuǎn)換功能被禁止,且CS的電平在AD轉(zhuǎn)換的過程中不能突變,AD轉(zhuǎn)換一刻起一直到轉(zhuǎn)換結(jié)束,CS引腳應(yīng)一直保持低電平不能變化。CLK引腳為器件的時鐘引腳,在本設(shè)計中,CLK引腳和單片機的P1.4引腳相連接,通過單片機給ADC0832芯片提供時鐘。ADC0832有CH0和CH1兩個通道可用。在本設(shè)計中我們使用的是CH0通道,DO/DI端則使用DI端輸入通道功能選擇的數(shù)據(jù)信號。ADC0832轉(zhuǎn)換時序圖如圖3-7所示,根據(jù)時序圖分析其具體工作過程:DI引腳應(yīng)該在第一個時鐘下降沿到來之前保持高電平,作為轉(zhuǎn)換開始信號的標志。在第2、3個時鐘下降沿到來的時候可以作為系統(tǒng)通道的選擇,可以根據(jù)這兩位的值來選擇是使用通道0,還是使用通道1,或者通道0和通道1同時使用。從第3個時鐘的下降開始,DO/DI引腳則作為數(shù)據(jù)輸出的引腳。從第4個脈沖下降沿開始由DO端輸出轉(zhuǎn)換完的數(shù)據(jù)的最高位,之后每經(jīng)過一個下降沿依次輸出一位數(shù)據(jù),直到8位數(shù)據(jù)都輸出完為止。當(dāng)都輸出完之后將CS置為高電平作為轉(zhuǎn)換結(jié)束標志。圖3-7ADC0832轉(zhuǎn)換時序圖3.4藍牙模塊介紹 本設(shè)計藍牙功能是實現(xiàn)是通過HC-05藍牙模塊,它是一款主機和從機在一起的集成了藍牙功能的PCBA的板子。其工作的頻段是常用的2.4GHz,此款藍牙模塊使用的板載的PCB天線。 它和單片機之間使用串口進行數(shù)據(jù)的傳輸,藍牙模塊的電路圖如圖3-8所示,其4腳和5腳分別接到單片機的P30和P31引腳上進行數(shù)據(jù)傳輸。在藍牙模塊和單片機通信過程中,兩端設(shè)置的波特率一致后就能保證正常的通信了。圖3-8藍牙模塊電路圖3.5語音模塊介紹語音報警電路圖如圖3-9所示,語音報警模塊采用的主芯片是WT588D,使用5V電源對其供電,D8為忙碌指示燈,接到WT588D芯片的BUSY引腳,當(dāng)BUSY引腳為低電平時,D2點亮,其中R10是阻值為470歐姆的電阻,用在這里起到限流的作用;芯片的RESET復(fù)位引腳接到單片機的P24引腳上,可以通過單片機輸出的高低電平實現(xiàn)對WT588D復(fù)位引腳的控制;P01、P02和P03引腳分別接到單片機的P21、P22和P23引腳,通過單片機控制器輸出對應(yīng)的語音報警消息;PWM+和PWM-為語音輸出信號,通過外接喇叭來播放對應(yīng)的報警語音。圖3-9語音報警電路圖3.6LCD顯示模塊介紹3.6.1LCD1602的介紹LCD1602與單片機可使用8位并行連接或4位并行連接兩種方式,這里我們使用的是8位并行連接的方式。它是一種可以顯示字母、數(shù)字和符號等的點陣型液晶模塊,所以,被一些人稱作LCD1602字符型液晶,因為只能顯示字符,不能顯示漢字。它名稱中02是指分兩行進行顯示,16是指每行可以最多顯示16個字符,每個字符都是由若干點陣組成的,顯示的每個字符之前會有間隔,所以LCD1602不適合做圖像顯示。LCD1602液晶實物圖如圖3-10所示。圖3-10LCD1602液晶實物圖3.6.2LCD1602電路圖LCD1602具體電路圖如圖3-11所示。在使用時候?qū)CD1602的八位數(shù)據(jù)位D0-D7連接到51單片機的P0上。LCD1602屏幕的清晰度是可以通過外部調(diào)節(jié)的,改變VL引腳的電壓值就可以改變LCD1602屏幕的清晰度,故此處外接滑動變阻器R2的作用就是調(diào)整LCD1602屏幕的清晰度。D0-D7引腳可以和單片機進行并行的雙向通信。其中EN是使能引腳,起到對數(shù)據(jù)顯示的開關(guān)的作用,可以通過改變其電平變化來控制顯示屏是否進行顯示。RW和RS兩個引腳是標志位,通過其不同的組合,可以看出LCD屏幕的狀態(tài)。RW和RS引腳都只有高電平和低電平兩種狀態(tài)可以切換,因此對其狀態(tài)排列組合如下,共有四種情況,每種情況對應(yīng)著不能的狀態(tài):RS=0、RW=0——表示向LCM寫入指令RS=0、RW=1——表示讀取Busy標志RS=1、RW=0——表示向LCM寫入數(shù)據(jù)RS=1、RW=1——表示從LCM讀取數(shù)據(jù)[12]圖3-11LCD1602電路圖3.7本章小結(jié)本章詳細介紹了該設(shè)計的硬件電路部分,包括單片機的最小系統(tǒng),以及LCD顯示電路、超聲測距電路、光敏模塊電路、語音模塊電路及藍牙模塊電路,分別介紹了其工作原理及和單片機的連接方式,為后面介紹軟件部分做了充足的鋪墊。4軟件設(shè)計4.1軟件開發(fā)環(huán)境KeiluVision4程序開發(fā)軟件是美國KeilSoftware公司研制推出的一款能夠用于程序編寫的集成開發(fā)環(huán)境。KeiluVision4可以完全兼容其他版本,并運行其他版本的程序。其程序編譯環(huán)境和之前的版本沒有太大差別,但在功能和性能方面新版本都在原先的基礎(chǔ)上做出了很多改進和升級[13]。KeiluVision4支持C語言程序設(shè)計與編寫,當(dāng)語法錯誤出現(xiàn)的時候,可以自動提示用戶。STC89C52等大部分產(chǎn)品,均可在使用Keil4進行程序設(shè)計。同時,提供的仿真功能,使用戶能通過J-LINK或者ST-LINK連接,進行對程序的上位機調(diào)試。Keil4軟件的部分特點:(1)可以自動生成完善的啟動代碼,并提供圖形化的窗口,看起來非常直觀,也容易修改。無論對初學(xué)者還是有經(jīng)驗的老手,都能夠減少編譯程序的時間,讓項目更快的進展;(2)KEIL的設(shè)備模擬器功能也是異常的強大,對片內(nèi)資源及外部連接的外設(shè)都可以進行仿真;(3)KEIL編譯器,占用的內(nèi)存更少,功能更全面;(4)不需要其他額外的設(shè)備,只需要ULINK2仿真器就可以實現(xiàn)程序的下載與仿真,同時用戶還能根據(jù)自己需求對FLASH進行編寫及反復(fù)的修改;Keil的優(yōu)點:(1)開發(fā)效率高,設(shè)計周期短。(2)集成C環(huán)境是單片機等微型芯片的首選開發(fā)環(huán)境。(3)操作簡單,使用方便,內(nèi)部包含非常多的常用芯片,便于編程和調(diào)試[14]。本系統(tǒng)的設(shè)計選用Keil4進行程序的編寫和調(diào)試,當(dāng)程序可以穩(wěn)定運行之后,將生成一個.hex文件。通過軟件mcuisp下載到STC89C52之中,進行實物現(xiàn)場調(diào)試。根據(jù)實物的實際運行情況,找出問題,并對相應(yīng)的程序參數(shù)進行調(diào)整,直到達到理想的效果。4.2程序軟件流程框圖程序軟件總流程框圖如圖4-1所示,系統(tǒng)開機上電后,首先進行系統(tǒng)初始化,LCD1602顯示屏的初始化,然后將超聲測距模塊傳進來的數(shù)字量在LCD1602顯示屏上顯示出來,并判斷其值是否小于預(yù)設(shè)的報警閾值,若小于則通過語音模塊,使用語音進行提醒。圖4-1程序總流程軟件框圖4.2.1報警子程序流程框圖系統(tǒng)報警子程序流程框圖如圖4-2所示,首先進行判斷,判斷所測量的值是否超出了預(yù)設(shè)的值,如果超出了預(yù)設(shè)的值,則觸發(fā)語音報警進行提示。圖4-2語音報警子程序流程框圖4.2.2按鍵子程序流程框圖系統(tǒng)按鍵子程序流程框圖如圖4-3所示,系統(tǒng)可以通過按鍵子程序?qū)φZ音提示的閾值進行設(shè)置,可根據(jù)具體的需要操作按鍵來調(diào)整報警的閾值,非常方便,且具有一定的通用性。圖4-3按鍵子程序流程框圖5實驗結(jié)果展示本設(shè)計實物圖如圖5-1所示,經(jīng)過測試系統(tǒng)可以實現(xiàn)當(dāng)光線強度較弱時,通過語音提示開燈;當(dāng)人距離桌面太近時,會語音提示保持正確姿勢。同時實現(xiàn)了定時功能,達到預(yù)訂時間后會語音提醒需要休息。報警距離和定時時間都可以通過按鍵來設(shè)置。系統(tǒng)使用LCD1602顯示器對環(huán)境內(nèi)的光照強度以及人與桌面的距離等信息進行顯示。同時可以和智能手機的藍牙進行配對,將LCD1602顯示器的內(nèi)容到手機屏幕上進行顯示。系統(tǒng)反應(yīng)速度很快,測量準確,可靠性高。同時在本次設(shè)計的硬件完成階段,也遇到了一些困難,對實物進行焊接之后,發(fā)現(xiàn)通電后LCD顯示屏顯示有時候會亂碼,經(jīng)過仔細查找硬件焊接點,發(fā)現(xiàn)由于自己焊接技術(shù)不是很好,有個別焊點出現(xiàn)了虛焊的情況,經(jīng)過重新焊接后,問題得到解決。將單片機燒入程序后測試,功能完全符合,測試效果準確。6總結(jié)近些年來,隨著人們生活水平的越來越好,人們對身體健康也越來越重視。目前國內(nèi)患近視眼的人群越來越多,年齡段也越來越早,大多數(shù)都是有一些不好的讀書寫字姿勢。基于這種現(xiàn)象,本文設(shè)計一種基于單片機的智能防近視系統(tǒng),可以對人與桌面的距離及學(xué)習(xí)時間進行監(jiān)控,可以在距離過近或?qū)W習(xí)時間過長的時候進行提示,可以有效的督促使用者保持良好的坐姿以及適當(dāng)?shù)膶W(xué)習(xí)時間。本系統(tǒng)具有實時性,可靠性等優(yōu)勢,具有一定的實用價值。本次設(shè)計完成了對基于單片機的智能防近視系統(tǒng)的設(shè)計與研究,實現(xiàn)預(yù)期的所有功能。整套系統(tǒng)的硬件部分和軟件部分都設(shè)計合理。硬件部分器件通過多個器件比較,使用STC89C52單片機作為主控,通過光敏電阻對環(huán)境的光線強度進行監(jiān)測,并配合超聲模塊來進行測距,對寫字姿勢進行有效監(jiān)測,使用LCD1602顯示器對周圍光線強度以及人與桌面的距離等信息進行顯示。軟件部分采用C語言進行編程,用keil作為開發(fā)環(huán)境,通過藍牙模塊實現(xiàn)單片機和手機之間進行合理有效的通信,結(jié)構(gòu)清晰,單片機和手機之間相互配合,有很高的可靠性和穩(wěn)定性,系統(tǒng)操作起來也方便。通過這次畢業(yè)設(shè)計的制作,真正的考驗了學(xué)生的綜合能力,擴展了知識面和學(xué)習(xí)能力。本文雖然達到了預(yù)想的設(shè)計效果,但是由于成本的限制,沒有選擇顯示效果更好的其他屏幕進行顯示,也沒有使用自己繪制的PCB板進行設(shè)計,而是選擇了可變性更高使用更靈活方便的面包板進行。參考文獻[1]羅忠輝,黃世慶.提高超聲測距精度的方法[J].機械設(shè)計與制造,2005(1):108-109[2]隋美麗,任小龍.基于超聲波的距離控制系統(tǒng)的設(shè)計與實現(xiàn)[J].汽車實用技術(shù),2019(06):81-83.[3]李倩.基于單片機的超聲波測距系統(tǒng)設(shè)計與實現(xiàn)[J].無線互聯(lián)科技,2018,15(24):36-38.[4]周晴.基于單片機的超聲波測距儀系統(tǒng)設(shè)計[J].電腦知識與技術(shù),2018,14(35):216-217.[5]趙德安.單片機與嵌入式系統(tǒng)原理及應(yīng)用[M].機械工業(yè)出版社,2016.[6]吳險峰.51單片機項目教程(C語言版)[M].人民郵電出版社,2016.[7]李月喬.模擬電子技術(shù)基礎(chǔ)[M].中國電力出版社,2015.[8]李震梅.數(shù)字電子技術(shù)基礎(chǔ)[M].高等教育出版社,2017.[9]劉偉靜,劉增強.模擬電子技術(shù)[M].清華大學(xué)出版社,2018.[10]王建平.基于聲信號的分類器設(shè)計及實現(xiàn)[J].電聲技術(shù),2014(10):53-55+79.[11]塔米·諾爾加德.嵌入式系統(tǒng):硬件、軟件及軟硬件協(xié)同[M].北京:機械工業(yè)出版社2018.02[12]譚浩強.C程序設(shè)計(第四版)[M].北京:清華大學(xué)出版社,2010.[13]N.P.Aleshin,G.A.Bigus,andM.A.Lyutov.DiagnosticsofSpacecraftLaunchingFacilitiesUsingAcousticTestingTechniques[J].RussianJournalofNondestructiveTesting,2002,38(3):153-161.[14]G.M.KrekovandL.G.Shamanaeva.AcousticDiagnosticsofLaserSparksintheAtmosphere[J]RussianPhysicsJournal,2000,43(1):975-976.附錄附錄一原理圖附錄二程序源碼#include<reg52.h>#defineucharunsignedchar//無符號字符型宏定義 變量范圍0~255#defineuintunsignedint //無符號整型宏定義 變量范圍0~65535#include<intrins.h>#include"eepom52.h"sbitSCL=P1^4; //SCL定義,連接ADC0832SCL腳sbitDO=P1^3; //DO定義,連接ADC0832DO腳sbitCS=P1^5; //CS定義,連接ADC0832CS腳//這三個引腳參考資料sbitrs=P1^0; //1602數(shù)據(jù)/命令選擇引腳H:數(shù)據(jù) L:命令sbitrw=P1^1; //1602讀寫引腳 H:數(shù)據(jù)寄存器 L:指令寄存器sbite=P1^2; //1602使能引腳下降沿觸發(fā)sbitc_send=P1^6; //超聲波發(fā)射sbitc_recive=P1^7; //超聲波接收ucharflag_hc_value;//超聲波中間變量longdistance; //距離uintset_d; //距離bitflag_csb_juli;//超聲波超出量程uintflag_time0;//用來保存定時器0的時候的bitflag_300ms=1;ucharguangxian;//光線的顯示變量ucharset_gx; //設(shè)置光線的強弱的變量ucharvalue;ucharflag_alarm;//報警變量staticintmiao=0,fen=45;//學(xué)習(xí)時間 ucharxuexi_start;//開始學(xué)習(xí)標志位ucharmenu_1;ucharRx_buf[4],Rxnum=0;/***********************語音模塊控制IO口的定義************************/sbitVRST=P2^0; sbitVSDA=P2^2;sbitVCS=P2^3;sbitVSCL=P2^4;unsignedcharyujing[3];/***********************1ms延時函數(shù)*****************************/voiddelay_1ms(unsignedintq){ unsignedinti,j; for(i=0;i<q;i++) for(j=0;j<120;j++);}voiddelay_us(unsignedintus){ while(us--) { _nop_(); }}/***********************三線發(fā)碼子程序************************/voidSend_threelines(unsignedcharaddr){unsignedchari; VRST=0; delay_1ms(5); VRST=1; delay_1ms(20);/*復(fù)位拉高20ms*/ VCS=0; delay_1ms(5);/*片選拉低5ms*/for(i=0;i<8;i++) { VSCL=0; if(addr&0x01) { VSDA=1; } else VSDA=0; addr>>=1; delay_us(150);/*150us*/ VSCL=1; delay_us(150);/*150us*/ } VCS=1;}voidInitUART(void) //這是串口的基本配置,配置他的波特率是9600.這些參數(shù)都是標準的。{TMOD=0x20;SCON=0x50;TH1=0xFD;TL1=TH1;PCON=0x00;EA=1;ES=1;TR1=1;}/**UART發(fā)送一字節(jié)*/voidUART_send_byte(chardat){ SBUF=dat; while(TI==0); TI=0;}/**UART發(fā)送字符串*/voidUART_send_string(unsignedchar*buf){ while(*buf!='\0') { UART_send_byte(*buf++); }}/******************把設(shè)置溫度數(shù)據(jù)保存到單片機內(nèi)部eepom中******************/voidwrite_eepom_12(){ SectorErase(0x2000); byte_write(0x2000,set_d%256); byte_write(0x2001,set_d/256); byte_write(0x2002,set_gx); byte_write(0x2057,value); }/******************把數(shù)據(jù)從單片機內(nèi)部eepom中讀出來*****************/voidread_eepom12(){ set_d=byte_read(0x2001); set_d=set_d*256+byte_read(0x2000); set_gx=byte_read(0x2002); value=byte_read(0x2057);}/**************開機自檢eepom初始化*****************/voidinit_eepom(){ read_eepom12(); //先讀 if(value!=2) //新的單片機初始單片機內(nèi)問EEPOM { set_d=15; value=2; set_gx=4; write_eepom_12(); } }/*********************************************************************名稱:delay()*功能:延時,延時時間大概為5US。*輸入:無*輸出:無***********************************************************************/voiddelay_uint(uintq){ while(q--);}/*********************************************************************名稱:bitBusy(void)*功能:這個是一個讀狀態(tài)函數(shù),讀出函數(shù)是否處在忙狀態(tài)*輸入:輸入的命令值*輸出:無***********************************************************************/bitbusy(void){ bitbusy_flag=0; rs=0; rw=1; e=1; delay_uint(3); busy_flag=(bit)(P0&0x80); e=0; returnbusy_flag;}/*********************************************************************名稱:write_com(ucharcom)*功能:1602命令函數(shù)*輸入:輸入的命令值*輸出:無***********************************************************************/voidwrite_com(ucharcom){ while(busy()); e=0; rs=0; rw=0; P0=com; delay_uint(3); e=1; delay_uint(25); e=0;}/*********************************************************************名稱:write_data(uchardat)*功能:1602寫數(shù)據(jù)函數(shù)*輸入:需要寫入1602的數(shù)據(jù)*輸出:無***********************************************************************/voidwrite_data(uchardat){ while(busy()); e=0; rs=1; rw=0; P0=dat; delay_uint(3); e=1; delay_uint(25); e=0; }/***********************lcd1602上顯示兩位十進制數(shù)************************/voidwrite_sfm2(ucharhang,ucharadd,uchardate){ if(hang==1) write_com(0x80+add); else write_com(0x80+0x40+add); write_data(0x30+date/10%10); write_data(0x30+date%10); }/***********************lcd1602上顯示超聲波距離************************/voidwrite_sfm_csb(ucharhang,ucharadd,uintdate){ if(hang==1) write_com(0x80+add); else write_com(0x80+0x40+add); write_data(0x30+date/100%10); write_data('.'); write_data(0x30+date/10%10); write_data(0x30+date%10); }/*********************************************************************名稱:init_1602()*功能:1602初始化,請參考1602的資料*輸入:無*輸出:無***********************************************************************/voidinit_1602(){ write_com(0x38); //設(shè)置16*2顯示,5*7點陣,8位數(shù)據(jù)接口 write_com(0x0c); //開顯示,不顯示光標 write_com(0x06); //地址加1,當(dāng)寫入數(shù)據(jù)的時候光標右移}/*********************************************************************名稱:write_string(ucharhang,ucharlie,uchar*p)*功能:改變液晶中某位的值,如果要讓第一行,第五個字符開始顯示"abcdef",調(diào)用該函數(shù)如下 write_string(1,5,"abcdef;")*輸入:行,列,需要輸入1602的數(shù)據(jù)*輸出:無***********************************************************************/voidwrite_string(ucharhang,ucharadd,uchar*p){ if(hang==1) write_com(0x80+add); else write_com(0x80+0x40+add); while(1) { if(*p=='\0')break; write_data(*p); p++; } }ucharkey_can;/********************獨立按鍵程序*****************/voidkey(){ staticucharkey_new; key_can=20; if((P3&0xf0)!=0xf0) { delay_uint(50); if(((P3&0xf0)!=0xf0)&&(key_new==1)) { key_new=0; switch(P3&0xf0) { case0xe0:key_can=1;break; //左邊第1個 case0xd0:key_can=2;break; //左邊第2個 case0xb0:key_can=3;break; //左邊第3個 case0x70:key_can=4;break; //左邊第4個 }// write_sfm2(2,0,key_can); } } else key_new=1; }/***********讀數(shù)模轉(zhuǎn)換數(shù)據(jù)********************************************************/ //請先了解ADC0832模數(shù)轉(zhuǎn)換的串行協(xié)議,再來讀本函數(shù),主要是對應(yīng)時序圖來理解,本函數(shù)是模擬0832的串行協(xié)議進行的 //100通道 //111通道unsignedcharad0832read(bitSGL,bitODD){ unsignedchari=0,value=0,value1=0; SCL=0; DO=1; CS=0; //開始 SCL=1; //第一個上升沿 SCL=0; DO=SGL; SCL=1; //第二個上升沿 SCL=0; DO=ODD; SCL=1; //第三個上升沿 SCL=0; //第三個下降沿 DO=1; for(i=0;i<8;i++) { SCL=1; SCL=0;//開始從第四個下降沿接收數(shù)據(jù) value<<=1; if(DO) value++; } for(i=0;i<8;i++) { //接收校驗數(shù)據(jù) value1>>=1; if(DO) value1+=0x80; SCL=1; SCL=0; } CS=1; SCL=1; if(value==value1) //與校驗數(shù)據(jù)比較,正確就返回數(shù)據(jù),否則返回0 returnvalue; return0;}/*********************小延時函數(shù)*****************************/voiddelay(){ _nop_(); //執(zhí)行一條_nop_()指令就是1us _nop_(); _nop_(); _nop_(); _nop_(); _nop_(); _nop_();}/*********************超聲波測距程序*****************************/voidsend_wave(){ c_send=1; //10us的高電平觸發(fā) delay(); c_send=0; TH0=0; //給定時器0清零 TL0=0; TR0=0; //關(guān)定時器0定時 flag_hc_value=0; while(!c_recive); //當(dāng)c_recive為零時等待 TR0=1; while(c_recive) //當(dāng)c_recive為1計數(shù)并等待 { flag_time0=TH0*256+TL0; if((flag_hc_value>1)||(flag_time0>65000))//當(dāng)超聲波超過測量范圍時,顯示3個888 { TR0=0; flag_csb_juli=2; distance=888; flag_hc_value=0; return; } else { flag_csb_juli=1; } } if(flag_csb_juli==1) { TR0=0; //關(guān)定時器0定時 distance=TH0; //讀出定時器0的時間 distance=distance*256+TL0; distance+=(flag_hc_value*65536);//算出超聲波測距的時間 得到單位是ms distance*=0.017;//0.017=340M/2=170M=0.017M算出來是米 if(distance>350) //距離=速度*時間 { distance=888; //如果大于3.8m就超出超聲波的量程 } }}/*********************定時器0、定時器1初始化******************/voidtime_init() { TMOD&=0xf0; TMOD|=0x01; //設(shè)T0為方式1, TH0=0; TL0=0; ET0=1;//允許T0中斷}/*********************定時器2初始化******************/voidtime2_init() { RCAP2H=(0xFFFF-50000)/256;//重裝載計數(shù)器賦初值 RCAP2L=(0xFFFF-50000)%256; ET2=1;//開定時器2中斷 TR2=1;//開啟定時器,并設(shè)置為自動重裝載模式}}/*******************按鍵執(zhí)行函數(shù)******************/voidkey_with(){ if(menu_1==0) { if(key_can==1) { miao=0;fen=45; xuexi_start=1;//開始學(xué)習(xí) } if(key_can==2) { xuexi_start=0;//暫停學(xué)習(xí) } if(key_can==3) { xuexi_start=1;//繼續(xù)學(xué)習(xí) } } if(key_can==4) { menu_1++; if(menu_1==1) { write_string(1,0,"1.xsb:m"); write_string(2,0,"2.gm:%"); write_sfm_csb(1,6,set_d); write_sfm2(2,5,set_gx); //設(shè)置光線的參數(shù) write_com(0x80+0);//將光標移動到秒個位 write_com(0x0f);//顯示光標并且閃爍 } if(menu_1==2) { write_com(0x80+0x40+0);//將光標移動到秒個位 write_com(0x0f);//顯示光標并且閃爍 } if(menu_1>=3) { menu_1=0; write_string(1,0,"csb: mgm:%"); write_string(2,0,"Time:"); write_com(0x0c);//關(guān)閉顯示 } } if(menu_1==1)//設(shè)置超聲波參數(shù) { if(key_can==3)// { set_d++; //加超聲波距離報警數(shù)據(jù) write_sfm_csb(1,6,set_d); if(set_d>=100) set_d=100; write_com(0x80);//將光標移動到秒個位 write_com(0x0f);//顯示光標并且閃爍 } if(key_can==2)// { set_d--; //減超聲波距離報警數(shù)據(jù) if(set_d<=10) set_d=10; write_sfm_csb(1,6,set_d); write_com(0x80);//將光標移動到秒個位 write_com(0x0f);//顯示光標并且閃爍 } write_eepom_12(); //保存數(shù)據(jù) } if(menu_1==2) { if(key_can==3)// { set_gx++; //加超聲波距離報警數(shù)據(jù) write_sfm2(2,5,set_gx); if(set_gx>=100) set_gx=100; write_com(0x80+0x40);//將光標移動到秒個位 write_com(0x0f);//顯示光標并且閃爍 } if(key_can==2)// { set_gx--; //減超聲波距離報警數(shù)據(jù) if(set_gx<=1) set_gx=1; write_sfm2(2,5,set_gx); write_com(0x80+0x40);//將光標移動到秒個位 write_com(0x0f);//顯示光標并且閃爍 } write_eepom_12(); //保存數(shù)據(jù) } key_can=20;}/*********************報警函數(shù)***************************/voidclock_beep(){ staticucharvalue1,value2,value3; if(xuexi_start==1) { if(set_gx>=guangxian) //距離光線報警 { value2++; if(value2>=2) //循環(huán)2次都是報警增強抗干擾 { flag_alarm=2; Send_threelines(0x00);delay_1ms(2880); } }else value2=0; if(distance<=set_d) //距離報警 { value1++; if(value1>=2) //循環(huán)2次都是報警增強抗干擾 { flag_alarm=1; Send_threelines(0x01);delay_1ms(2880); } }else
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 跑出健康跑出美麗-如何正確使用跑步機進行健身
- 財務(wù)管理軟件的核心功能解析
- 趣味科學(xué)課實踐未來職業(yè)與科技趨勢
- 2025通遼霍林郭勒政務(wù)服務(wù)中心面向社會招聘綜合受理窗口工作人員筆試參考題庫附帶答案詳解
- 小學(xué)數(shù)學(xué)數(shù)學(xué)故事探險故事古堡探秘9大放光明
- 江蘇省2025版高考物理三輪復(fù)習(xí)熱點7電場中力和能的性質(zhì)練習(xí)含解析
- 初中語文智慧美文品味牽掛
- 江蘇專用2024高考生物二輪復(fù)習(xí)第一部分22個??键c專攻專題三遺傳主攻點之四練習(xí)
- 高效完成財務(wù)分析報告的五大步驟
- 2025廣東中山長虹電器有限公司招聘品牌管理部副部長等筆試考點考試題庫答案
- 2024年益陽醫(yī)學(xué)高等??茖W(xué)校單招職業(yè)技能測試題庫及答案解析
- 《新能源發(fā)電技術(shù)第2版》 課件全套 朱永強 第1-10章 能源概述- 分布式發(fā)電與能源互補
- 【音樂】繽紛舞曲-青年友誼圓舞曲課件 2023-2024學(xué)年人音版初中音樂七年級上冊
- DB-T29-260-2019天津市建筑物移動通信基礎(chǔ)設(shè)施建設(shè)標準
- 水利工程施工方案(完整版)
- DB11-T 1200-2023 超長大體積混凝土結(jié)構(gòu)跳倉法技術(shù)規(guī)程
- 2024年內(nèi)蒙古化工職業(yè)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- 城市智慧交通管理系統(tǒng)
- 青少年人工智能技術(shù)水平測試一級04
- 心肌病中醫(yī)護理查房課件
- 前列腺炎的護理課件
評論
0/150
提交評論