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

正文內(nèi)容

【畢業(yè)論文】基于單片機(jī)的照明控制系統(tǒng)-資料下載頁

2025-06-06 18:45本頁面
  

【正文】 序設(shè)計(jì)照明定時(shí)控制系統(tǒng)是利用從機(jī)即單片機(jī)AT89C2051和時(shí)鐘芯片DS1302進(jìn)行數(shù)據(jù)通信,讀取和寫入實(shí)時(shí)數(shù)據(jù),主機(jī)采用串口通信方式對(duì)從機(jī)進(jìn)行定時(shí)時(shí)間的設(shè)置,從機(jī)然后根據(jù)設(shè)定的時(shí)間進(jìn)行照明燈的啟??刂?。DS1302的控制字節(jié)的最高有效位(位7)必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入到DS1302中;位6如果為0,則表示存取日歷時(shí)鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);位5~位1指示操作單元的地址;最低有效位(位0)如為0表示要進(jìn)行寫操作,為1表示進(jìn)行讀操作,控制字節(jié)總是從最低位開始輸出。DA1302的控制字如表41所示。 在DS1302芯片中,通過把RST輸入驅(qū)動(dòng)置高電平來啟動(dòng)所有的數(shù)據(jù)傳送。RST輸入有兩種功能:首先,RST接通控制邏輯,允許地址/命令序列送入移位寄存器;其次,RST提供了終止單字節(jié)或多字節(jié)數(shù)據(jù)的傳送手段。當(dāng)RST為高電平時(shí),所有的數(shù)據(jù)傳送被初始化,允許對(duì)DS1302進(jìn)行操作。如果在傳送過程中置RST為低電平,則會(huì)終止此次數(shù)據(jù)傳送,并且I/O引腳變?yōu)楦咦钁B(tài)。在控制指令字輸入后的下一個(gè)SCLK時(shí)鐘的上升沿時(shí)數(shù)據(jù)被寫入DS1302,數(shù)據(jù)輸入從低位即位0開始。同樣,在緊跟8位的控制指令字后的下一個(gè)SCLK脈沖的下降沿讀出DS1302的數(shù)據(jù),讀出數(shù)據(jù)時(shí)從低位0位至高位7。 全部定時(shí)控制程序設(shè)計(jì)在全部定時(shí)控制系統(tǒng)中是通過主控制器向所有的分控制器發(fā)送廣播地址,分控制器在收到廣播地址后,使自己處于接收數(shù)據(jù)狀態(tài),然后主控制器向網(wǎng)絡(luò)中發(fā)送時(shí)間數(shù)據(jù)信息,分控制器在收到時(shí)間數(shù)據(jù)后寫入DS1302芯片,等到設(shè)定時(shí)間到達(dá)后,單片機(jī)發(fā)出命令關(guān)閉照明燈。 全部定時(shí)控制從機(jī)程序流程圖 單獨(dú)定時(shí)控制程序設(shè)計(jì) 主控制器使用鍵盤輸入被呼叫分控制器的地址,并通過網(wǎng)絡(luò)向所有分控制器傳送,在分控制器將該地址與本機(jī)地址進(jìn)行比較后,判斷是否是呼叫自己,如果是呼叫本機(jī),就將本機(jī)地址傳送給主控制器,進(jìn)一步接收傳送的數(shù)據(jù),然后分控制器就將數(shù)據(jù)寫入DS1302芯片,等到設(shè)定的時(shí)間到達(dá)時(shí)就執(zhí)行關(guān)閉照明燈的命令。 單獨(dú)定時(shí)控制從機(jī)控制程序流程圖 RS485通信程序設(shè)計(jì)由于RS485總線是異步半雙工的通信總線,在某一個(gè)時(shí)刻總線只可能呈現(xiàn)一種狀態(tài),所以這種方式一般適用于主機(jī)對(duì)從機(jī)的查詢方式通信。在通信中,主機(jī)與各個(gè)從機(jī)進(jìn)行通信,必須能對(duì)各個(gè)從機(jī)進(jìn)行識(shí)別,這一識(shí)別功能是利用串口控制寄存器SCON的SM2位實(shí)現(xiàn)的。當(dāng)串口以方式3工作時(shí),發(fā)送和接收的每一幀信息都是11位,其中第9位數(shù)據(jù)位是可編程的,通過對(duì)SCON寄存器的TB8位置1或置0,以區(qū)別發(fā)送的是地址幀還是數(shù)據(jù)幀(規(guī)定地址幀的第9位為1,數(shù)據(jù)幀的第9位為0)。若從機(jī)的控制位SM2被設(shè)為1,則當(dāng)接收的是地址幀時(shí),數(shù)據(jù)裝入SBUF,并置RI=1,向CPU發(fā)出中斷申請(qǐng),若接收的是數(shù)據(jù)幀,則不產(chǎn)生中斷,信息被拋棄。若SM2被設(shè)為0,則無論是地址幀還是數(shù)據(jù)幀都將產(chǎn)生RI=1中斷標(biāo)志,數(shù)據(jù)裝入SBUF。利用這一功能,可以按照如下步驟進(jìn)行數(shù)據(jù)通信:(1) 將所有SM2位置1,使其處于只接收地址幀的狀態(tài)。(2) 主機(jī)發(fā)送一幀地址信息,其中前8位數(shù)據(jù)位表示通信的從機(jī)地址,第9位為1,表示當(dāng)前幀為地址幀。(3) 從機(jī)接收到地址幀后,如果是廣播地址幀,則所有從機(jī)都將其SM2位置0,準(zhǔn)備接收主機(jī)發(fā)送的數(shù)據(jù)或命令;如果不是廣播地址幀,則將本機(jī)地址與幀中地址進(jìn)行比較。如果地址相同,則將其SM2位置0,并發(fā)送本機(jī)地址幀,然后準(zhǔn)備接收數(shù)據(jù)。如果地址不同,則丟棄當(dāng)前數(shù)據(jù),SM2位不變。(4) 主機(jī)發(fā)送數(shù)據(jù)幀,相應(yīng)的從機(jī)接收,其他從機(jī)則不受影響。(5) 當(dāng)主機(jī)需要與其他從機(jī)通信時(shí),可以再次發(fā)出地址幀尋呼從機(jī),重復(fù)這一過程。主機(jī)在發(fā)送數(shù)據(jù)時(shí),按照表42的數(shù)據(jù)格式進(jìn)行傳輸。在程序中,第9位發(fā)送數(shù)據(jù)位SCON中的TB8位,第9位接收數(shù)據(jù)位為SCON的RB8位,因此,發(fā)送數(shù)據(jù)前,可以通過對(duì)TB8位置1或0來確定要發(fā)送的是地址幀還是數(shù)據(jù)幀。而接收數(shù)據(jù)時(shí),對(duì)地址幀的判斷則是通過讀取RB8位來獲得的,RB8=1,當(dāng)前幀為地址幀,RB8=0,當(dāng)前幀為數(shù)據(jù)幀。單片機(jī)的串口工作在方式3下,其波特率由定時(shí)器1(T1)的溢出率決定,計(jì)算公式為: 定時(shí)器T1的溢出率的計(jì)算公式為:則波特率的公式變?yōu)椋海琓1工作在模式3下,波特率=9600b/s。 主機(jī)部分通信程序設(shè)計(jì) 系統(tǒng)中的主機(jī)通信程序分為4個(gè)部分,分別為預(yù)定義及全局變量部分、程序初始化部分、數(shù)據(jù)通信流程和發(fā)送數(shù)據(jù)部分。主機(jī)的數(shù)據(jù)通信的基本流程如下:(1) 主機(jī)首先向所有從機(jī)發(fā)送地址幀對(duì)要通信的從機(jī)進(jìn)行呼叫,發(fā)送地址幀時(shí)需將TB8位置1。(2) 發(fā)送地址幀后,如果發(fā)送的是廣播地址幀,則不需要從機(jī)應(yīng)答,待延遲一段時(shí)間后,調(diào)用發(fā)送函數(shù)發(fā)送數(shù)據(jù);如果發(fā)送的是非廣播地址幀,主機(jī)則要接收應(yīng)答,若應(yīng)答信號(hào)中的地址與前面發(fā)送的地址并不相同,主機(jī)將重新發(fā)送地址幀呼叫,否則調(diào)用發(fā)送函數(shù)發(fā)送數(shù)據(jù)。(3) 發(fā)送完數(shù)據(jù)后,主機(jī)等待從機(jī)的校驗(yàn)信號(hào),如果接收到0X0F數(shù)據(jù),表示發(fā)送成功,通信結(jié)束,否則主機(jī)將重新發(fā)送數(shù)據(jù),直至發(fā)送成功。 主機(jī)數(shù)據(jù)通信流程圖 從機(jī)部分通信程序設(shè)計(jì)從機(jī)通信程序也被分為預(yù)定義及全局變量部分、程序初始化部分、數(shù)據(jù)通信流程和接收數(shù)據(jù)部分4個(gè)部分。從機(jī)部分的數(shù)據(jù)通信過程受主機(jī)控制,其基本的流程如下:(1) 初始化完成后,從機(jī)設(shè)置SM2位為1,串口只接收第9位數(shù)據(jù)位為1的地址幀,數(shù)據(jù)幀將被直接拋棄。(2) 如果串口有數(shù)據(jù)接收(收到地址幀),則從機(jī)會(huì)將該幀中的地址信息先與廣播地址進(jìn)行比較,如果是廣播地址,則做好接收數(shù)據(jù)的準(zhǔn)備,如果是其它地址,則與本機(jī)地址比較,如果相同,則發(fā)送應(yīng)答信息,應(yīng)答信息內(nèi)容應(yīng)為本機(jī)地址,否則丟棄當(dāng)前數(shù)據(jù),從機(jī)繼續(xù)處于等待呼叫狀態(tài)。(3)程序調(diào)用接收函數(shù)接收主機(jī)發(fā)送的數(shù)據(jù)部分并作出應(yīng)答,接收到的數(shù)據(jù)保存至Buf指向的緩沖區(qū)中。如果接收函數(shù)返回0xff,表示數(shù)據(jù)校驗(yàn)失敗,程序等待主機(jī)重新發(fā)送數(shù)據(jù)。如果函數(shù)返回值為0xfe,表示從機(jī)在數(shù)據(jù)接收過程中發(fā)現(xiàn)主機(jī)發(fā)送地址幀,程序?qū)⒎艞壆?dāng)前接收過程,將SM2位重新置1,開始下一通信過程。如果函數(shù)返回0,表示數(shù)據(jù)被成功接收,向主機(jī)發(fā)送成功信號(hào),隨后,程序?qū)M2位置1,重新開始下一個(gè)數(shù)據(jù)通信流程。 從機(jī)數(shù)據(jù)通信流程圖6 無線數(shù)傳通信程序設(shè)計(jì)這里所設(shè)計(jì)的無線數(shù)據(jù)傳輸系統(tǒng)是采用主從式通信方式,主控制器設(shè)為主站,所有分控制器設(shè)為從站,所有從站都編一個(gè)唯一的地址。通信的協(xié)調(diào)完全由主站控制,主站先發(fā)送地址幀,所有從站都接收,如果是接收的是廣播地址碼,則所有從站都做好接收主機(jī)發(fā)送數(shù)據(jù)或命令的準(zhǔn)備,然后主機(jī)發(fā)送數(shù)據(jù)或命令;如果接收的是其它地址碼,則從站將接收到的地址幀與本地地址碼相比較,若不同則將數(shù)據(jù)全部丟掉,不做任何響應(yīng);若地址碼相同,則證明是呼叫本站,從站將自己的地址碼發(fā)送回去,主站收到自己剛發(fā)出去的地址碼后,接著發(fā)送數(shù)據(jù)或命令。這些工作都需要通信協(xié)議來完成,可保證在任何一個(gè)瞬間,通信網(wǎng)中只有一個(gè)模塊處于發(fā)送狀態(tài),避免相互干擾。 SRWF1模塊在使用之前要進(jìn)行無線信道、接口類型、接口速率、接口參數(shù)等的設(shè)定,在設(shè)置完成后便可以進(jìn)行數(shù)據(jù)傳輸,當(dāng)模塊收到單片機(jī)發(fā)來的第一個(gè)數(shù)據(jù)后自動(dòng)進(jìn)行無線網(wǎng)絡(luò)連接、數(shù)據(jù)同步等工作,因此第一個(gè)數(shù)據(jù)將在5個(gè)字節(jié)時(shí)間延遲后從接收方串口輸出。如要傳送1個(gè)數(shù)據(jù)幀,此時(shí)間延遲將逐漸減少。當(dāng)最后一個(gè)數(shù)據(jù)被發(fā)送后,模塊將處于等待狀態(tài)直到模塊所設(shè)置的接收等待時(shí)間延遲之后,模塊將自動(dòng)通知所有接收設(shè)備斷開無線網(wǎng)絡(luò)連接、轉(zhuǎn)入空閑狀態(tài)。當(dāng)發(fā)送方最后一個(gè)數(shù)據(jù)被發(fā)送后需延遲68個(gè)字節(jié)才能接收空中其他模塊的數(shù)據(jù)。其他模塊在此時(shí)間內(nèi)也不能向空中發(fā)射數(shù)據(jù),即使有用戶數(shù)據(jù)輸入也是被緩沖在模塊中,而沒有發(fā)送到無線鏈路中,以避免引起數(shù)據(jù)通訊混亂。無線數(shù)傳的通信協(xié)議與流程基本上與RS485通信程序相同。4.7 本章小結(jié) 本章主要闡述了照明控制系統(tǒng)的軟件設(shè)計(jì),該系統(tǒng)的軟件程序主要由照明啟停控制程序、照明亮度控制程序、照明定時(shí)控制程序、人機(jī)交互程序、串行通信程序等組成。而照明啟??刂啤⒘炼瓤刂埔约岸〞r(shí)控制程序又分為全部控制和單獨(dú)控制兩部分,人機(jī)交互程序由鍵盤掃描程序與LED顯示程序組成,而串行通信程序由RS485通信程序和無線數(shù)傳程序組成。在這里分別對(duì)每個(gè)子程序的工作流程、工作原理以及過程都做了詳細(xì)的論述。第五章 實(shí)驗(yàn)及總結(jié)本文研究了基于AT89C51與AT89C2051單片機(jī)的智能照明控制系統(tǒng)的設(shè)計(jì)原理與實(shí)現(xiàn)方法,包括硬件設(shè)計(jì)與軟件設(shè)計(jì)。首先根據(jù)設(shè)計(jì)要求用Protel DXP軟件繪制出原理圖,然后依據(jù)原理圖選擇元器件,在實(shí)驗(yàn)板上布置元器件并連接線路,對(duì)硬件電路進(jìn)行測(cè)試,檢查串行口是否選錯(cuò),測(cè)量電源是否正常,復(fù)位電平是否正確,單片機(jī)是否起振等等。接著就要按照功能要求編制程序,這里采用Keil C編程工具,需先根據(jù)要求劃分模塊,優(yōu)化結(jié)構(gòu);再根據(jù)各模塊特點(diǎn)確定何為主程序,何為子程序,何為中斷服務(wù)程序,相互間如何調(diào)用;再根據(jù)各模塊性質(zhì)和功能將各模塊細(xì)化,設(shè)計(jì)出程序流程圖;最后才根據(jù)各模塊流程圖編制具體程序。調(diào)試時(shí)應(yīng)先調(diào)主程序,實(shí)現(xiàn)最基本最主要的功能,在此基礎(chǔ)上再將各模塊功能往主程序上堆砌,直至各模塊聯(lián)調(diào)、統(tǒng)調(diào),實(shí)現(xiàn)全部功能。在實(shí)驗(yàn)過程中,首先通過主控制器上的鍵盤輸入地址號(hào),地址號(hào)是由數(shù)字組成的,在輸入完畢后,然后按下確認(rèn)鍵,信號(hào)經(jīng)過網(wǎng)絡(luò)傳輸后,分控制器將收到的地址進(jìn)行比較確認(rèn)后,然后執(zhí)行下一步的程序。經(jīng)過實(shí)驗(yàn)的驗(yàn)證,在輸入廣播地址后,所有的分控制器都正確地執(zhí)行了后續(xù)的命令,實(shí)現(xiàn)了燈泡的啟停、亮度調(diào)節(jié)、定時(shí)關(guān)閉功能;在輸入某個(gè)分機(jī)地址后,該分機(jī)也正常地執(zhí)行了相應(yīng)的命令,同樣達(dá)到了所要求的功能。由于系統(tǒng)采用的是RS485通信與無線數(shù)傳通信方式,如果使用在現(xiàn)場(chǎng)環(huán)境中必然存在干擾的問題,所以抗干擾與可靠性設(shè)計(jì)就顯得尤為重要。雖然系統(tǒng)已經(jīng)考慮了可靠性設(shè)計(jì)問題,如看門狗技術(shù)、復(fù)位電路、光電耦合等在電路設(shè)計(jì)中的應(yīng)用,但這也只是針對(duì)部分問題做了解決,一些詳細(xì)的設(shè)計(jì)還有待于解決。該系統(tǒng)還只是試驗(yàn)室的調(diào)試系統(tǒng),離真正的現(xiàn)場(chǎng)應(yīng)用還有一定的距離。軟件部分的編制也是力求簡(jiǎn)單實(shí)用,即本著實(shí)用、有效、方便的原則進(jìn)行編制。但一個(gè)較好的和較完善的應(yīng)用軟件不是在短時(shí)間內(nèi)就可以完成的,它需要不斷的完善和發(fā)展,需要我們做大量的工作和時(shí)間的檢驗(yàn)。現(xiàn)在的系統(tǒng)還沒有達(dá)到真正的智能化,還需要增加很多新的功能和先進(jìn)的科學(xué)技術(shù),才能達(dá)到真正意義上的智能化控制。致 謝 本文是在 教授的精心指導(dǎo)下完成的,在這幾個(gè)月的工作和學(xué)習(xí)期間,我深深地感到從老師那里學(xué)到的不僅僅是知識(shí)和技術(shù),更重要的是他嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,實(shí)事求是的工作作風(fēng)和高風(fēng)亮節(jié)的做人品質(zhì)。在此,我向 老師致以最衷心的感謝!參考文獻(xiàn)[1] 王幸之、鐘愛琴等. AT89 系列單片機(jī)原理與接口技術(shù). 北京:北京航空航天大學(xué)出版社. 2005[2] 孫涵芳、徐愛卿. 單片機(jī)原理及應(yīng)用. 北京:北京航空航天大學(xué)出版社. 1996[3] 陽憲惠. 現(xiàn)場(chǎng)總線技術(shù)及其應(yīng)用. 北京:清華大學(xué)出版社. 1999[4] 求是科技. 8051 系列單片機(jī) C 程序設(shè)計(jì)完全手冊(cè). 北京:人民郵電出版社. 2006[5] 房小翠、王金鳳. 單片機(jī)使用系統(tǒng)設(shè)計(jì)技術(shù). 北京:國(guó)防工業(yè)出版社. 1999[6] 李華. MCS51系列單片機(jī)實(shí)用接口技術(shù). 北京:北京航空航天大學(xué)出版社. 2003[7] 吳金戎、沈慶陽等. 8051 單片機(jī)實(shí)踐與應(yīng)用. 北京:清華大學(xué)出版社. 2002[8] 陳新忠. 基于 RS485 總線的單片機(jī)多機(jī)通信軟件設(shè)計(jì). 現(xiàn)代電子技術(shù). 2002.(3) P8~10[9] 樊宇、程全. 基于 RS485 總線實(shí)現(xiàn)的遠(yuǎn)距離多機(jī)主從式通信技術(shù). 工業(yè)控制計(jì)算機(jī). 2006. 19(7) P71~73[10] SRWF1型微功率無線數(shù)傳模塊使用說明書. 上海桑銳電子科技有限公司. 2004[11] 孫雪梅、范久臣. 實(shí)時(shí)時(shí)鐘芯片在單片機(jī)系統(tǒng)中的應(yīng)用. 沈陽教育學(xué)院學(xué)報(bào). 2005. 7(2) P132~134附 錄Ⅰ. 串行通信程序 (1) 主機(jī)部分 include include define __MAX_LEN_ 64 // 數(shù)據(jù)最大長(zhǎng)度define _MHZ_ 11 // 設(shè)置單片機(jī)使用的晶振頻率()/* 以下為程序協(xié)議中使用的握手信號(hào) */define __SUCC_ 0x0f // 數(shù)據(jù)傳送成功define __ERR_ 0xf0 // 數(shù)據(jù)傳送錯(cuò)誤void init_serial()。 // 串口初始化void send_data(unsigned char *buf)。 // 發(fā)送數(shù)據(jù)void delay10ms(unsigned int count)。 // 延時(shí)子程序(10ms)void main(){ char buf[__MAX_LEN_]。 unsigned char i = 0。 unsigned char tmp。 unsigned char addr。 // 該字節(jié)用于保存要通信的從機(jī)地址 /* 為緩沖區(qū)賦初值 */ P0 = 0xff。 while(P1 != 0) // 每隔100ms從P0口讀取,若讀取到0則表明數(shù)據(jù)采集結(jié)束 { *(buf+i) = P0。 delay10ms(10)。 // 延時(shí)100m
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1