freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于物聯(lián)網(wǎng)的窗簾控制系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)(編輯修改稿)

2025-07-24 20:44 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 的數(shù)據(jù)進(jìn)行處理就可以了。 步進(jìn)電機(jī)驅(qū)動(dòng)電路設(shè)計(jì) 步進(jìn)電機(jī)驅(qū)動(dòng)電路是由步進(jìn)電機(jī)和ULN2003A驅(qū)動(dòng)芯片組成。 圖 ULN2003A驅(qū)動(dòng)芯片電路圖步進(jìn)電機(jī)為一種數(shù)字伺服執(zhí)行元件,具有結(jié)構(gòu)簡(jiǎn)單、運(yùn)行可靠、控制方便、控制性能好等優(yōu)點(diǎn),廣泛應(yīng)用在數(shù)控機(jī)床、機(jī)器人、自動(dòng)化儀表等領(lǐng)域[11]。為了實(shí)現(xiàn)步進(jìn)電機(jī)的簡(jiǎn)易運(yùn)動(dòng)控制,一般以單片機(jī)作為控制系統(tǒng)的微處理器,通過(guò)步進(jìn)電機(jī)專用驅(qū)動(dòng)芯片實(shí)現(xiàn)步進(jìn)電機(jī)的速度和位置定位控制。單片機(jī)在本次試驗(yàn)中對(duì)步進(jìn)電機(jī)而達(dá)到對(duì)轉(zhuǎn)角方位控制的方法。本次測(cè)控系統(tǒng)是以單片機(jī)位控制中心的,如下將介紹步進(jìn)電機(jī)控制系統(tǒng)。步進(jìn)電機(jī)控制系統(tǒng)主要由脈沖分配器,功率驅(qū)動(dòng)電路,步進(jìn)電機(jī)幾部分構(gòu)成的。步進(jìn)電機(jī)控制系統(tǒng)的方框圖以及其控制系統(tǒng)的電路圖如下圖所示。 脈沖控制器 功率驅(qū)動(dòng)電路 步進(jìn)電機(jī)負(fù)載脈沖信號(hào)單片機(jī)輸出步進(jìn)脈沖后,再由脈沖分配電路按事先確定的順序控制各相的通斷。本設(shè)計(jì)由軟件完成脈沖分配工作,不僅使線路簡(jiǎn)化,成本下降,而且可根據(jù)應(yīng)用系統(tǒng)的需要,靈活地改變步進(jìn)電機(jī)的控制方案。軟件控制脈沖將在軟件設(shè)計(jì)部分說(shuō)明。步進(jìn)電機(jī)功率驅(qū)動(dòng)電路工作在較大脈沖電流狀態(tài),采用光電耦合器將單片機(jī)與步機(jī)電機(jī)隔離可以避免單片機(jī)與步進(jìn)電機(jī)功率回路的共地干擾,防止強(qiáng)功率的干擾信號(hào)反串進(jìn)主控系統(tǒng)[12]。此外,萬(wàn)一驅(qū)動(dòng)電路發(fā)生故障,也不致讓功放中較高的電壓串入單片機(jī)而使其損壞。電壓驅(qū)動(dòng)是步進(jìn)電機(jī)控制中最為簡(jiǎn)單的一種驅(qū)動(dòng)電路,它在本質(zhì)上是一個(gè)單間的反相器。它最大的特點(diǎn)是結(jié)構(gòu)簡(jiǎn)單,工作效率低。而且它的外接電阻要消耗相當(dāng)一部分能量,這樣會(huì)影響電路的穩(wěn)定性。 開(kāi)關(guān)電路設(shè)計(jì) 。 開(kāi)關(guān)電路圖設(shè)計(jì) 如圖是三個(gè)開(kāi)關(guān)按鍵,、為開(kāi)關(guān)3。復(fù)位開(kāi)關(guān)4連接在單片機(jī)的復(fù)位端口RST端。開(kāi)關(guān)在單片機(jī)應(yīng)用系統(tǒng)中能實(shí)現(xiàn)向單片機(jī)輸入數(shù)據(jù),傳送命令等功能,是人工干預(yù)單片機(jī)的主要手段。本設(shè)計(jì)中采用的4個(gè)按鍵開(kāi)關(guān)。其中S4是復(fù)位鍵,在程序出錯(cuò)或者有失誤操作的時(shí)候可按下復(fù)位鍵來(lái)恢復(fù)其初始工作狀態(tài)。其中S1為打開(kāi)按鍵,有三種可調(diào)模式:模式1:設(shè)定光強(qiáng)閾值,模式2:設(shè)定溫度閾值,模式0開(kāi)始正常工作模式。S2設(shè)定溫度/光強(qiáng)閾值增加鍵。S3為設(shè)定溫度/光強(qiáng)值減少鍵。獲取按鍵開(kāi)關(guān)信息的方法有2種,我們經(jīng)常用到的是掃描法。在掃描法中,用來(lái)檢測(cè)按鍵開(kāi)關(guān)狀態(tài)。按鍵的觸點(diǎn)閉合和斷開(kāi)時(shí)均會(huì)產(chǎn)生抖動(dòng),這時(shí)觸點(diǎn)的邏輯電平是不穩(wěn)定的,如果不妥善處理,將會(huì)引起按鍵命令的錯(cuò)誤執(zhí)行或重復(fù)執(zhí)行。一般消除抖動(dòng)采用軟件方法來(lái)解決,將在軟件部分介紹這點(diǎn)。 顯示電路設(shè)計(jì)顯示電路是由LCD1602芯片組成。圖 LCD1602顯示屏顯示屏采用LCD1602字符型液晶,1602液晶也叫1602字符型液晶,它是一種專門用來(lái)顯示字母、數(shù)字、符號(hào)等的點(diǎn)陣型液晶模塊。它有若干個(gè)5X7 或者5X11等點(diǎn)陣字符位組成[14],每個(gè)點(diǎn)陣字符位都可以顯示一個(gè)字符。每位之間有一個(gè)電距的間隔,每行之間也有間隔起到了字符間距和行間距的作用,液晶屏在使用前需要進(jìn)行清屏等初始化操作。LCD1602采用標(biāo)準(zhǔn)的16位接口,其管腳圖說(shuō)明[15]如下:(1)第1腳:VSS為電源地。(2)第2腳:VDD接5V電源正極。(3)第3腳:V0為液晶顯示器對(duì)比比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地時(shí)電源對(duì)比度最高。對(duì)比度過(guò)高時(shí),可使用一個(gè)10K的電位器進(jìn)行調(diào)整。(4)第4腳:RS為寄存器選擇,高電平1時(shí)選擇數(shù)據(jù)寄存器、低電平0時(shí)選擇指令寄存器。(5)第5腳:RW為讀寫信號(hào)線,高電平1時(shí)進(jìn)行讀操作,第電平0時(shí)進(jìn)行寫操作。(6)第6 腳:E(或E N)端為使能端。(7)第7~14腳:D0~D7位8位雙數(shù)據(jù)端。(8)第15~16腳:空腳或背燈電源。15腳背光正極,16腳背光負(fù)極。 系統(tǒng)整體原理圖 系統(tǒng)主要由以上單片機(jī)最小系統(tǒng)、溫度采集電路、光強(qiáng)采集電路、步進(jìn)電機(jī)驅(qū)動(dòng)電路、開(kāi)關(guān)電路和顯示電路六個(gè)部分電路組成,整體電路原理圖見(jiàn)附錄E。4. 系統(tǒng)軟件設(shè)計(jì) 軟件設(shè)計(jì)思路單片機(jī)智能窗簾設(shè)計(jì)是由顯示模塊、開(kāi)關(guān)按鍵模塊、溫度采集模塊、光強(qiáng)采集模塊、電機(jī)驅(qū)動(dòng)模塊。設(shè)計(jì)思路主要是溫度采集模塊、光強(qiáng)采集模塊控制步進(jìn)電機(jī)的正轉(zhuǎn)與反轉(zhuǎn);同時(shí)按鍵可以設(shè)置溫度,光強(qiáng)度來(lái)控制窗簾,在LCD1602上顯示溫度,光強(qiáng)度值,電機(jī)跑的數(shù)值。當(dāng)實(shí)時(shí)光度比設(shè)置的光度小情況下:當(dāng)實(shí)時(shí)的溫度大于設(shè)置的溫度時(shí),窗簾打開(kāi),綠燈亮,電機(jī)正轉(zhuǎn)。當(dāng)實(shí)時(shí)的溫度小于設(shè)置的溫度時(shí),窗簾關(guān)閉,紅燈亮,電機(jī)反轉(zhuǎn)。在實(shí)時(shí)光度比設(shè)置的光度大情況下:窗簾肯定是窗簾關(guān)閉,指示燈紅燈亮。 程序的設(shè)計(jì)主要分為主程序和開(kāi)關(guān)掃描子程序、LCD顯示子程序、溫控子程序、光控子程序等。根據(jù)硬件設(shè)計(jì)的功能要求,源程序主要分為以下幾個(gè)部分:(1)開(kāi)關(guān)掃描子程序開(kāi)關(guān)掃描程序包括對(duì)開(kāi)關(guān)按鍵的掃描,先判斷是否有鍵按下,當(dāng)有鍵按下時(shí),先判斷哪種模式,在確定之后,用延時(shí)來(lái)消除按鍵抖動(dòng)。這時(shí)觸點(diǎn)的邏輯電平是不穩(wěn)定的,如不妥善處理,將會(huì)引起開(kāi)關(guān)命令的錯(cuò)誤執(zhí)行或者重復(fù)執(zhí)行。當(dāng)無(wú)開(kāi)關(guān)按下時(shí),則循環(huán)執(zhí)行開(kāi)關(guān)掃描、保持開(kāi)關(guān)掃描。(2)LCD顯示子程序LCD顯示子程序主要負(fù)責(zé)將鍵盤上的數(shù)字鍵和功能鍵的傳輸經(jīng)MCU處理后入送入LCD,使其顯示不同的字符串提示用戶處于何種狀態(tài),該如何繼續(xù)操作,使用戶知道自己當(dāng)前所進(jìn)行的操作。 (3) 溫控子程序 DS18B20首先進(jìn)行的是當(dāng)前實(shí)時(shí)溫度的掃描監(jiān)測(cè),采集的溫度模擬量通過(guò)A/D轉(zhuǎn)換,變成數(shù)字溫度顯示。然后與設(shè)定溫度相比較,決定窗簾的打開(kāi)與關(guān)閉。當(dāng)設(shè)定溫度超過(guò)上限時(shí),數(shù)值從0開(kāi)始依次增加。(4) 光控子程序光控是由光敏電阻來(lái)對(duì)光強(qiáng)進(jìn)行監(jiān)測(cè)與采集的,由于采集的光強(qiáng)值很小,用光控制子程序?qū)⑵滢D(zhuǎn)換成與100有關(guān)的數(shù)值,然后進(jìn)行讀取與顯示。(5)ULN2003A驅(qū)動(dòng)子程序 由于STC89C52RC型單片不具備硬件SPI總線功能,因此要通過(guò)I/O口的時(shí)序變化模擬SPI總線協(xié)議與NRF24L01進(jìn)行通信,該部分程序是底層驅(qū)動(dòng)程序,直接對(duì)寄存器等進(jìn)行操作,可根據(jù)MCU指令發(fā)送132字節(jié)數(shù)據(jù)。(6)主程序 對(duì)各個(gè)功能子程序進(jìn)行調(diào)用,統(tǒng)一協(xié)調(diào)安排單片機(jī)工作。 軟件設(shè)計(jì)流程圖 主程序流程圖 系統(tǒng)電路主流程圖,實(shí)時(shí)溫度、光強(qiáng)與設(shè)定閾值相比較,判定是否達(dá)到打開(kāi)/關(guān)閉窗簾門限,然后執(zhí)行開(kāi)/關(guān)命令。最后實(shí)現(xiàn)打開(kāi)/關(guān)閉窗簾。源程序見(jiàn)附錄C。 在上面所示的流程圖中,清楚的展現(xiàn)了窗簾控制系統(tǒng)執(zhí)行過(guò)程中具體設(shè)計(jì)操作的軟件流程的過(guò)程,整體設(shè)計(jì)分為數(shù)據(jù)監(jiān)測(cè)、采集及控制設(shè)計(jì)兩部分。具體流程各個(gè)功能如何工作、各個(gè)部分如何進(jìn)行選擇實(shí)現(xiàn),流程一目了然,可操作性強(qiáng)。源程序見(jiàn)附錄C。 軟件調(diào)試 KEIL軟件的組成介紹 KEIL IDE Vision3集成開(kāi)發(fā)環(huán)境主要由以下部分組成:(1)Vision3 IDE。Vision3 IDE主要包括:一個(gè)功能豐富并含有交互式錯(cuò)誤提示的編輯器選項(xiàng)設(shè)置生成工具,一個(gè)工程管理器,以及在線幫助功能。Vision3可以自動(dòng)完成編譯匯編鏈接程序的操作,使用vision3創(chuàng)建源文件并組成應(yīng)用工程加以管理。(2) BL51鏈接器定位器。L51鏈接器使用由編譯器匯編器和從庫(kù)中提取出來(lái)的目標(biāo)模塊生成的目標(biāo)模塊創(chuàng)建一個(gè)絕對(duì)地址目標(biāo)模塊[16],絕對(duì)地址目標(biāo)文件或模塊包括不可重定位的代碼和數(shù)據(jù)所有的代碼和數(shù)據(jù)都被固定在具體的存儲(chǔ)器單元中。(3) LIB51庫(kù)管理器。B51庫(kù)管理器可以從由編譯器和匯編器創(chuàng)建的目標(biāo)文件中建立目標(biāo)庫(kù),這些庫(kù)是按規(guī)定的格式排列的目標(biāo)模塊,可以在被鏈接器所使用且當(dāng)鏈接器處理一個(gè)庫(kù)時(shí)僅僅使用了庫(kù)中程序[17],使用的目標(biāo)模塊而不是全部加以引用。(4) C51編譯器和A51匯編器。Vision3 IDE創(chuàng)建的源文件可以被A51匯編器或C51編譯器處理生成可重定位的object文件。KEIL C51編譯器遵照ANSIC語(yǔ)言標(biāo)準(zhǔn)支持C語(yǔ)言的所有標(biāo)準(zhǔn)特性,另外還添加了幾個(gè)可以直接支持80C51結(jié)構(gòu)的特性。KEILA51宏匯編器支持80C51及其派生系列的所有相關(guān)指令集。 KEIL開(kāi)發(fā)和調(diào)試系統(tǒng)軟件流程(1) 啟動(dòng)181。 Vision3,首先進(jìn)入KEIL軟件的集成開(kāi)發(fā)環(huán)境,選擇“Project→New Project...”菜單,在彈出的“Creat New Project”對(duì)話框中為新的工程選擇或者創(chuàng)建一個(gè)目錄,并輸入工程文件的名稱,自動(dòng)生成一個(gè)工程文件(.uv2)。然后單擊“保存”按鈕。 選擇目標(biāo)芯片窗口 ,選擇目標(biāo)CPU,因?yàn)镵eil C51支持的CPU很多,選擇 STC89C52芯片,單擊“確定”按鈕,要求選擇是否將標(biāo)準(zhǔn)STC89C52啟動(dòng)文件加入工程中,單擊“是”按鈕,表示將文件加入工程中。 回到主窗口,這時(shí),在工程窗口的文件頁(yè)中,出現(xiàn)了“Target1”,其前面有“+”號(hào)。單擊“+”號(hào)展開(kāi),可以看到下一層的“Source Group1”,再單擊“Source Group1”前面的“+”。、適合大多數(shù)STC89C51派生系列的啟動(dòng)文件代碼。啟動(dòng)代碼是目標(biāo)芯片啟動(dòng)在main()函數(shù)之前首先執(zhí)行的代碼,用于清除片內(nèi)數(shù)據(jù)存儲(chǔ)器、初始化硬件、再入堆棧指針。 選擇“File→New...”在工程管理器的右側(cè)打開(kāi)一個(gè)新的文件輸入窗口,在此窗口里面輸入源程序,注意區(qū)分大小寫及每行程序后面的分號(hào)[18],切勿漏輸或錯(cuò)輸程序。在輸入結(jié)束之后,選擇“File→Save”,給此文件取名并且保存。取名字時(shí)須加上相應(yīng)的擴(kuò)展名,本次設(shè)計(jì)采用C語(yǔ)言編寫的程序,故以“.c”為擴(kuò)展名,這里將其命名為“”,如果用匯編語(yǔ)言編寫程序,則以“.asm”為該擴(kuò)展名。保存完畢后可以將文件關(guān)閉。 單擊“file→ new”新建一個(gè)文本。在下面空白區(qū)別寫入或復(fù)制一個(gè)完整的C程序: 程序編寫界面接著把剛才編寫好的源程序加入工程,單擊“Source Group1”使其顯示,然后,單擊鼠標(biāo)右鍵,出現(xiàn)一個(gè)快捷下拉的菜單,選中其中的“Add file Group “Source Group1”,接著出現(xiàn)一個(gè)對(duì)話框,要求尋找源文件。,將文件加入項(xiàng)目。注意,在文件加入項(xiàng)目后,該對(duì)話框并不會(huì)消失,等待繼續(xù)加入其他文件。此時(shí)單擊“Close”即可返回主窗口,返回后,單擊“Source Group1”前的加號(hào),雙擊該文件名,即打開(kāi)該源程序。(2)工程的設(shè)置工程建立好以后,還要對(duì)工程進(jìn)行進(jìn)一步的設(shè)置,以滿足特定的要求。首先雙擊Project窗口的“Target1”,然后單擊鼠標(biāo)右鍵,從彈出的快捷菜單中選擇“Project→Option for target“target1””,即出現(xiàn)工程設(shè)置對(duì)話框,這個(gè)對(duì)話框共有10個(gè)頁(yè)面,包括目標(biāo)頁(yè)、驅(qū)動(dòng)頁(yè)、列表頁(yè)、輸出頁(yè)、C51頁(yè)、A51頁(yè)、BL51Misc頁(yè)、BL51Locate頁(yè)、調(diào)試頁(yè)和效用頁(yè),大部分設(shè)置項(xiàng)選取默認(rèn)值就可以。到此,設(shè)置完成。 工程設(shè)置對(duì)話框(3)編譯和連接將工程設(shè)置完成后,然后進(jìn)行編譯和連接。選擇相應(yīng)菜單選項(xiàng)“Project→Build target”,連接當(dāng)前工程,當(dāng)前的文件若已經(jīng)被修改,將需要編譯該文件,然后再進(jìn)行連接從而產(chǎn)生的目標(biāo)代碼;若選擇“Rebuild All target files”則會(huì)對(duì)當(dāng)前工程中的所有相關(guān)文件進(jìn)行重新編譯后再進(jìn)行連接,從而確保最終文件產(chǎn)生最新的目標(biāo)代碼;而“Translate...”項(xiàng)則僅會(huì)對(duì)當(dāng)前相關(guān)文件進(jìn)行編譯,而不會(huì)連接。在Output欄選中CreateHEXFile,使編譯器輸出單片機(jī)需要的HEX文件: HEX文件界面以上的操作也可以通過(guò)工具欄按鈕直接進(jìn)行,從左到右分別是:編譯、編譯連接、全部重建、停止編譯、下載到Flash Memory和對(duì)工程進(jìn)行設(shè)置。 編譯連接工具欄編譯過(guò)程中的信息將會(huì)出現(xiàn)在輸出窗口中的Build頁(yè)中。如果源程序中存在語(yǔ)法錯(cuò)誤時(shí),會(huì)有錯(cuò)誤報(bào)告出現(xiàn),雙擊該行,可以定位到出錯(cuò)的位置,對(duì)源程序中存在錯(cuò)誤修改之后再次編譯,直到錯(cuò)誤提示為0為止。同時(shí)在該窗口中可以看到該源程序的代碼量、內(nèi)部RAM的使用量、外部RAM的使用量等一些信息。除此之外,編譯和連接還將產(chǎn)生一些其他相關(guān)的文件,包括可重定位列表文件(.lst)、可重定位目標(biāo)文件(.obj)、絕對(duì)地址列表文件(.m52)、絕對(duì)地址目標(biāo)文件(無(wú)后綴名)、連接輸入文件(.inp)等,這些都可以被用于Keil C52的仿真與調(diào)試,到了這一步后即可開(kāi)始進(jìn)行調(diào)試。按Ctrl+F5組合鍵或者使用菜單“Debug→Start/Stop Debug Session”即可進(jìn)入調(diào)試狀態(tài)。運(yùn)行和調(diào)試的工具欄,Debug菜單上的大部分命令可以在此找到對(duì)應(yīng)的快捷按鈕,一般從左到右依次是復(fù)位、運(yùn)行、暫停、單步、過(guò)程單步、執(zhí)行完當(dāng)前子程序、運(yùn)行到當(dāng)前行、下一狀態(tài)、打開(kāi)跟蹤、觀察跟蹤、反匯編窗口、觀察窗口、代碼作用范圍分析、1串行窗口、內(nèi)存窗口、性能分析、工具按鈕命令。 調(diào)試工具欄,在途中可以清楚看到源程序調(diào)試零錯(cuò)誤,零警告,表示源程序調(diào)試成功。 程序的下載使用臺(tái)灣晶宏公司的STC0ISP軟件進(jìn)行串口下載,STCISP是一款單片機(jī)下載編程燒錄軟件[19],是針對(duì)STC系列單片機(jī)而設(shè)計(jì)的,可下載STC89系列、12C系列和15F等系列的STC單片機(jī),使用簡(jiǎn)便,現(xiàn)已被廣泛使用。,在下圖中可以清楚了解到單片機(jī)型號(hào)、引腳數(shù)、串口號(hào)、最低波特率、清除代碼緩沖區(qū)、清除EEPROM和相關(guān)硬件選項(xiàng)等信息,在右邊界面下方可以看到操作成功的字樣,表示程序下載成功。 5.
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1