版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
PAGE10核準(zhǔn)通過,歸檔資料。未經(jīng)允許,請勿外傳!單片機(jī)控制的舞臺視景的設(shè)計(jì)摘要二十世紀(jì)跨越了三個(gè)“電”的時(shí)代,即電氣時(shí)代、電子時(shí)代和現(xiàn)已進(jìn)入的電腦時(shí)代。不過,這種電腦,通常是指個(gè)人計(jì)算機(jī),簡稱PC機(jī)。它由主機(jī)、鍵盤、顯示器等組成。還有一類計(jì)算機(jī),大多數(shù)人卻不怎么熟悉。這種計(jì)算機(jī)就是把智能賦予各種機(jī)械的單片機(jī)(亦稱微控制器)。顧名思義,這種計(jì)算機(jī)的最小系統(tǒng)只用了一片集成電路,即可進(jìn)行簡單運(yùn)算和控制。它的出現(xiàn)是近代計(jì)算機(jī)技術(shù)發(fā)展史上的一個(gè)重要里程碑,因?yàn)樗w積小,通常都藏在被控機(jī)械的“肚子”里。它在這個(gè)裝置中,起著有如人類頭腦的作用,它出了毛病,整個(gè)裝置就癱瘓了。單片機(jī)具有體積小、功能強(qiáng)、應(yīng)用面廣等優(yōu)點(diǎn),目前正以前所未見的速度取代著傳統(tǒng)電子線路構(gòu)成的經(jīng)典系統(tǒng),蠶食著傳統(tǒng)數(shù)字電路與模擬電路固有的領(lǐng)地。它的體積小、質(zhì)量輕、價(jià)格便宜、為學(xué)習(xí)、應(yīng)用和開發(fā)提供了便利條件。本研究針對舞臺視景的控制方法,尤其是舞臺燈光的智能控制方面的發(fā)展現(xiàn)狀,分析了舞臺燈光智能控制的原理和實(shí)現(xiàn)方法,提出了基于單片機(jī)的舞臺燈光智能控制系統(tǒng)的設(shè)計(jì)思路,并在此基礎(chǔ)上開發(fā)了智能控制系統(tǒng)的硬件裝置和相應(yīng)軟件。關(guān)鍵詞:單片機(jī);舞臺;燈光;吊桿目錄摘要 I目錄 II1緒論 11.1單片機(jī)的基礎(chǔ)知識 11.2單片機(jī)的發(fā)展趨勢 11.2.1微型單片化 11.2.2低功耗CMOS化 21.2.3主流與多品種共存 22.舞臺視景中吊桿的設(shè)計(jì) 32.1舞臺吊桿控制系統(tǒng)的組成及工作原理 32.2舞臺吊桿控制器的硬件設(shè)計(jì) 42.2.1舞臺吊桿控制器的硬件組成及工作原理 42.2.2單片機(jī)控制系統(tǒng) 52.3舞臺吊桿控制器的軟件設(shè)計(jì) 62.3.1通信協(xié)議設(shè)計(jì) 62.4可靠性設(shè)計(jì) 72.4.1電機(jī)慣性引起誤差的補(bǔ)償方法 72.4.2系統(tǒng)的抗干擾設(shè)計(jì) 83.舞臺視景燈光的設(shè)計(jì) 103.1舞臺整體視覺 103.2舞臺燈光用具 113.3劇場電路及網(wǎng)絡(luò)控制系統(tǒng) 123.4舞臺燈光用具的配置示意 133.5舞臺空間布光要素 143.6演示空間設(shè)計(jì)構(gòu)想圖 153.7舞臺燈光的色彩對比 163.8燈光設(shè)計(jì)中的常用公式 173.9舞臺布光方式 184燈光顯示模式設(shè)計(jì) 194.1顯示燈的排列: 194.2顯示模式: 194.3程序流程圖 204.3.1主程序流程圖 204.3.2中斷服務(wù)程序流程圖 214.4程序設(shè)計(jì) 215.燈光閃爍控制裝置的調(diào)試 245.1系統(tǒng)調(diào)試 245.1.1檢查硬件連接 245.1.2檢查軟件系統(tǒng) 245.2測試結(jié)果 24結(jié)論 25參考文獻(xiàn) 26致謝 27附錄 281緒論1.1單片機(jī)的基礎(chǔ)知識單片機(jī)又稱單片微控制器,它不是完成某一個(gè)邏輯功能的芯片,而是把一個(gè)計(jì)算機(jī)系統(tǒng)集成到一個(gè)芯片上。概括的講,一塊芯片就成了一臺計(jì)算機(jī)。MCS-51單片機(jī)是美國INTEL公司于1980年推出的產(chǎn)品,與MCS-48單片機(jī)相比,它的結(jié)構(gòu)更先進(jìn),功能更強(qiáng),在原來的基礎(chǔ)上增加了更多的電路單元和指令,指令數(shù)達(dá)111條,MCS-51單片機(jī)可以算是相當(dāng)成功的產(chǎn)品,一直到現(xiàn)在,MCS-51系列或其兼容的單片機(jī)仍是應(yīng)用的主流產(chǎn)品,各高校及專業(yè)學(xué)校的培訓(xùn)教材仍與MSC-51單片機(jī)作為代表進(jìn)行理論基礎(chǔ)學(xué)習(xí)。MCS-51系列單片機(jī)主要包括8031、8051和8751等通用產(chǎn)品。DP-51S單片機(jī)仿真實(shí)驗(yàn)儀是由廣州致遠(yuǎn)電子有限公司設(shè)計(jì)的DP系列單片機(jī)仿真實(shí)驗(yàn)儀之一,是一種功能強(qiáng)大的單片機(jī)應(yīng)用技術(shù)學(xué)習(xí)、調(diào)試。1.2單片機(jī)的發(fā)展趨勢單片機(jī)現(xiàn)在可以說是百花齊放,百家爭鳴的時(shí)期,世界上各大芯片制造公司都推出了自己的單片機(jī),從8位、16位到32位,數(shù)不勝數(shù),應(yīng)有盡有,有與主流C51系列兼容的,也有不兼容的,但它們各具特色,互成互補(bǔ),為單片機(jī)的應(yīng)用提供了廣闊的天地。縱觀單片機(jī)的發(fā)展過程,可以預(yù)示單片機(jī)的發(fā)展趨勢,大致有:1.2.1微型單片化現(xiàn)在常規(guī)的單片機(jī)普遍都是將中央處理器(CPU)、隨機(jī)存取數(shù)據(jù)存儲(RAM)、只讀程序存儲器(ROM)、并行和串行通信接口,中斷系統(tǒng)、定時(shí)電路、時(shí)鐘電路集成在一塊單一的芯片上,增強(qiáng)型的單片機(jī)集成了如A/D轉(zhuǎn)換器、PMW(脈寬調(diào)制電路)、WDT(看門狗)、有些單片機(jī)將LCD(液晶)驅(qū)動(dòng)電路都集成在單一的芯片上,這樣單片機(jī)包含的單元電路就更多,功能就越強(qiáng)大。甚至單片機(jī)廠商還可以根據(jù)用戶的要求量身定做,制造出具有自己特色的單片機(jī)芯片。此外,現(xiàn)在的產(chǎn)品普遍要求體積小、重量輕,這就要求單片機(jī)除了功能強(qiáng)和功耗低外,還要求其體積要小?,F(xiàn)在的許多單片機(jī)都具有多種封裝形式,其中SMD(表面封裝)越來越受歡迎,使得由單片機(jī)構(gòu)成的系統(tǒng)正朝微型化方向發(fā)展。1.2.2低功耗CMOS化MCS-51系列的8031推出時(shí)的功耗達(dá)630mW,而現(xiàn)在的單片機(jī)普遍都在100mW左右,隨著對單片機(jī)功耗要求越來越低,現(xiàn)在的各個(gè)單片機(jī)制造商基本都采用了CMOS(互補(bǔ)金屬氧化物半導(dǎo)體工藝)。像80C51就采用了HMOS(即高密度金屬氧化物半導(dǎo)體工藝)和CHMOS(互補(bǔ)高密度金屬氧化物半導(dǎo)體工藝)。CMOS雖然功耗低,但由于其物理特征決定其工作速度不夠高,而CHMOS則具備了高速和低功耗的特點(diǎn),這些特征,更適合于要求低功耗像電池供電的應(yīng)用場合。所以這種工藝將是今后一段時(shí)期單片機(jī)發(fā)展的主要途徑。1.2.3主流與多品種共存現(xiàn)在雖然單片機(jī)的品種繁多,各具特色,但仍以80C51為核心的單片機(jī)占主流,兼容其結(jié)構(gòu)和指令系統(tǒng)的有PHILIPS公司的產(chǎn)品,ATMEL公司的產(chǎn)品和中國臺灣的Winbond系列單片機(jī)。所以80C51占據(jù)了半壁江山。而Microchip公司的PIC精簡指令集合(RISC)也有著強(qiáng)勁的發(fā)展勢頭,中國臺灣的HOLTEX公司近年的單片機(jī)產(chǎn)量與日俱增,與其底價(jià)質(zhì)優(yōu)的優(yōu)勢,占據(jù)一定的市場份額。此外還有MOTOROLA公司的產(chǎn)品,日本幾大公司的專用單片機(jī)。在一定的時(shí)期內(nèi),這種情形將得以延續(xù),將不存在某個(gè)單片機(jī)一統(tǒng)天下的壟斷局面,走的是依存互補(bǔ)、相輔相成、共同發(fā)展的道路。九十年代以后,單片機(jī)在結(jié)構(gòu)上采用雙CPU或內(nèi)部流水線,CPU位數(shù)有8位、16位、32位,時(shí)鐘頻率高達(dá)20MHZ,片內(nèi)帶有PWM輸出、監(jiān)視定時(shí)器WDT、可編程計(jì)數(shù)器陣列PCA、DMA傳輸、調(diào)制解調(diào)器等。芯片向高度集成化、低功耗方向的發(fā)展,使得單片機(jī)在大量數(shù)據(jù)的實(shí)時(shí)處理、高級通信系統(tǒng)、數(shù)字信號處理、復(fù)雜工業(yè)過程控制、高級機(jī)器人以及局域網(wǎng)等方面得到大量應(yīng)用。這類單片機(jī)有NEC公司的MPD7800,MITSUBISHI公司的M337700,REVKWELL公司的R6500。2.舞臺視景中吊桿的設(shè)計(jì)在舞臺機(jī)械設(shè)備中,吊桿起著重要的傷腦筋。在大型的影劇院,一場演出往往需要調(diào)動(dòng)大量的舞臺背景,有時(shí)要控制多達(dá)64路的吊桿同時(shí)動(dòng)作。操作人員要在現(xiàn)場不斷變換舞臺背景,控制室人員要不斷地和現(xiàn)場人員進(jìn)行協(xié)調(diào),這給舞臺控制帶來了很大不便。對吊桿的集中控制、實(shí)時(shí)響應(yīng)來自多路的請求及吊桿位置的精確定位是設(shè)計(jì)中要解決的三個(gè)關(guān)鍵問題。目前的舞臺控制系統(tǒng)大都通過采用光電編碼盤產(chǎn)生脈沖信號的方式來獲取吊桿的移動(dòng)距離,并直接用單片機(jī)進(jìn)行計(jì)數(shù)和控制。這種方法在響應(yīng)多路請求時(shí),往往會因?yàn)閱纹瑱C(jī)任務(wù)繁重而造成計(jì)數(shù)脈沖丟失,引起測量誤差。綜上所述,本文提出了用CYGNAL單片機(jī)和FPGA設(shè)計(jì)舞臺吊桿控制器的方法。2.1舞臺吊桿控制系統(tǒng)的組成及工作原理舞臺吊桿控制系統(tǒng)主要由遠(yuǎn)程控制端(PC機(jī))、舞臺吊桿控制器、現(xiàn)場設(shè)備、LCD顯示器等組成,如圖1所示。系統(tǒng)采用分布式結(jié)構(gòu)。遠(yuǎn)程控制端作為管理機(jī),負(fù)責(zé)管理和協(xié)調(diào)現(xiàn)場設(shè)備,通過局域網(wǎng)使用UDP/IP協(xié)議發(fā)送控制指令并采集現(xiàn)場數(shù)據(jù);舞臺吊桿控制器作為終端,接收遠(yuǎn)程控制端送來的指令,并根據(jù)接收到的控制命令控制現(xiàn)場設(shè)備動(dòng)作,采集到現(xiàn)場數(shù)據(jù)后把數(shù)據(jù)以UDP格式打包送給遠(yuǎn)程控制端,以便遠(yuǎn)程控制端實(shí)時(shí)進(jìn)行現(xiàn)場監(jiān)控。同時(shí)為使現(xiàn)場能夠觀察到單個(gè)設(shè)備的運(yùn)行情況。還把這些數(shù)據(jù)通過串口送給現(xiàn)場LCD顯示器。2.2舞臺吊桿控制器的硬件設(shè)計(jì)在整個(gè)控制系統(tǒng)中,舞臺吊桿控制器是設(shè)計(jì)的關(guān)鍵,它的功能有兩個(gè):其一,接收與發(fā)送UDP數(shù)據(jù)包,解析數(shù)據(jù)包并轉(zhuǎn)化成FPGA控制器能夠識別的格式。其二,接收FPGA控制器送來的現(xiàn)場信息。2.2.1舞臺吊桿控制器的硬件組成及工作原理舞臺吊桿控制器主要由C8051F020單片機(jī)、FPGA控制器、LCD顯示器、E2PROM存儲器、RTL8019網(wǎng)卡芯片和JTAG程序下載及調(diào)度接口等組成。其硬件組成框圖如圖2所示。工作原理如下:C8051F020單片機(jī)通過RTL8019網(wǎng)卡芯片接收遠(yuǎn)程控制端送來的UDP格式的控制命令數(shù)據(jù)包,從該控制命令數(shù)據(jù)包解析出控制指令,傳輸給FPGA控制器。FPGA控制器根據(jù)控制指令控制現(xiàn)場設(shè)備動(dòng)作,并且把相關(guān)的現(xiàn)場數(shù)據(jù)返回給單片機(jī)。單片機(jī)把這些現(xiàn)場數(shù)據(jù)存入E2PROM中作為備份數(shù)據(jù),同時(shí)送給LCD顯示器,并打成UDP數(shù)據(jù)包通過網(wǎng)卡芯片發(fā)送給遠(yuǎn)程控制端。下面主要介紹單片機(jī)控制系統(tǒng)和FPGA控制器的設(shè)計(jì)。2.2.2單片機(jī)控制系統(tǒng)單片機(jī)控制系統(tǒng)主要由C8051F020單片機(jī)組成,主要完成數(shù)據(jù)的接收與處理。C8051F020的特點(diǎn)是運(yùn)算速度快、集成度高、引腳可配置、工作穩(wěn)定和可靠性高。它完全能夠滿足舞臺吊桿控制器對存儲器容量、多種總線接口、處理速度和浮點(diǎn)運(yùn)算等方面的要求。C8051F020單片機(jī)有UART0和UART1兩個(gè)串口,其中,串口UART0與LCD顯示器連接,用于把舞臺吊桿運(yùn)行時(shí)的位置數(shù)據(jù)送給LCD顯示器。單片機(jī)利用它的SMBUS接口連接帶有I2C總線接口的E2PROM(FM24C64鐵片存儲器),把現(xiàn)場數(shù)據(jù)存入存儲器,以備在掉電后得新上電時(shí)能夠讀出吊桿的當(dāng)前位置,連續(xù)控制吊桿的運(yùn)動(dòng);同時(shí)利用它的普通I/O口與網(wǎng)卡芯片RTL8019和FPGA控制器相連,實(shí)現(xiàn)數(shù)據(jù)的收發(fā)。2.2.3FPGA控制器的設(shè)計(jì)FPGA控制器是利用EDA方法實(shí)現(xiàn)的,主要用于對霍爾傳感器過來的脈沖進(jìn)行計(jì)數(shù)并控制電機(jī)。由于吊桿運(yùn)動(dòng)過程中產(chǎn)生的脈沖頻率高,F(xiàn)PGA控制器計(jì)數(shù)量大,所以本設(shè)計(jì)選擇了高容量、高性能的可編程邏輯器件,即ALTERA公司的FLEX10K系列FPGA。(1)FPGA控制器的模塊劃分根據(jù)系統(tǒng)功能要墳,F(xiàn)PGA控制器的頂層模塊被劃分為以下四個(gè)模塊:兩個(gè)5-32譯碼器、八路與門模塊、八路16位可逆并行計(jì)數(shù)模塊、電機(jī)控制模塊,如圖3所示。兩個(gè)5-32譯碼器模塊的功能是提供與單片機(jī)的接口,實(shí)現(xiàn)可編程接口邏輯。八路計(jì)數(shù)模塊(COUNTER8_FILE_LAST模塊)包括八個(gè)單路計(jì)數(shù)模塊、數(shù)據(jù)轉(zhuǎn)換模塊等,其功能是對霍爾傳感器過來的八路脈沖信號進(jìn)行可逆計(jì)數(shù)并完成16位數(shù)據(jù)與8位數(shù)據(jù)之間的轉(zhuǎn)換。由于C8051F020單片機(jī)的數(shù)據(jù)長度是8位,而計(jì)數(shù)模塊完成的是16位墳數(shù),所以必須進(jìn)行數(shù)據(jù)位數(shù)的轉(zhuǎn)換。(2)FPGA模塊的功能仿真FPGA控制器是用ALTERA公司的FLEX10K10芯片,在MAX+PLUSII軟件中進(jìn)行設(shè)計(jì)綜合的。根據(jù)上述的模塊劃分,在MAX+PLUSII中的仿真波形圖如圖4所示。2.3舞臺吊桿控制器的軟件設(shè)計(jì)舞臺吊桿控制器的軟件主要包括:主程序、UDP數(shù)據(jù)的傳輸與解析程序、串口數(shù)據(jù)的發(fā)送程序、數(shù)據(jù)存儲程序等。2.3.1通信協(xié)議設(shè)計(jì)在舞臺吊桿控制系統(tǒng)中,遠(yuǎn)程控制端通過局域網(wǎng)采用UDP/IP協(xié)議給舞臺吊桿控制器發(fā)送命令并接收來自控制器的數(shù)據(jù)包。UDP/IP數(shù)據(jù)包的格式如下:
在使用該協(xié)議時(shí),命令信息和狀態(tài)數(shù)據(jù)都在UDPDATA數(shù)據(jù)區(qū)。為了完成控制目的,必須對這塊數(shù)據(jù)區(qū)的數(shù)據(jù)制定協(xié)議,協(xié)議格式如表1所示。表1協(xié)議格式2.3.2主程序設(shè)計(jì)主程序主要完成單片機(jī)和各個(gè)功能模塊的初始化、對各個(gè)功能模塊的調(diào)用以及對FPGA控制器的控制。由于篇幅關(guān)系,只給出主程序的流程圖,如圖5所示。2.4可靠性設(shè)計(jì)2.4.1電機(jī)慣性引起誤差的補(bǔ)償方法在電機(jī)拖動(dòng)系統(tǒng)中,要考慮電機(jī)的慣性問題以便及時(shí)進(jìn)行誤差補(bǔ)償。目前系統(tǒng)中,大都利用一次或二次函數(shù)來近似電機(jī)的慣性量。而本系統(tǒng)則采用在遠(yuǎn)程控制端人工輸入補(bǔ)償系數(shù)Q的方法來實(shí)現(xiàn)誤差補(bǔ)償。這里的補(bǔ)償系數(shù)Q的測量可在排演時(shí)進(jìn)行。系統(tǒng)工作時(shí),遠(yuǎn)程控制端需設(shè)定路標(biāo)要運(yùn)行到的位置,即計(jì)數(shù)終值和誤差補(bǔ)償系數(shù)。當(dāng)接收到補(bǔ)償系數(shù)測量命令時(shí),控制系統(tǒng)將開始測量補(bǔ)償系數(shù)Q。這里假設(shè)輸入終止位置值為S1,實(shí)際終止位置值為S2,那么Q=(S2-S1)/S1×100%(由于慣性的緣大處著眼,S2>S1)。接著控制系統(tǒng)把這個(gè)誤差補(bǔ)償系數(shù)Q送回給遠(yuǎn)程控制器,并且存入存儲器中。在吊桿實(shí)際運(yùn)動(dòng)時(shí),控制系統(tǒng)都會對輸入值進(jìn)行誤差補(bǔ)償,即:實(shí)際運(yùn)行終止值S=輸入值S1-輸入值S1×Q。用此方法得到的電機(jī)慣性量非常精確。2.4.2系統(tǒng)的抗干擾設(shè)計(jì)為了保證舞臺吊桿控制器能夠長期可靠地運(yùn)行,系統(tǒng)在硬件和軟件兩方面采取了有效的抗干擾措施。其中硬件方面主要采取了3.3V電源和5V電源隔離(它們與電磁隔離)、“看門狗”等方法。通過電源隔能夠有效防止電源電平不穩(wěn)和其它電器對控制器的干擾,保證了系統(tǒng)的穩(wěn)定性;通過“看門狗”能保證程序的正常運(yùn)行,保證了系統(tǒng)的可靠性。軟件方面采取了軟件陷阱等方法。行前研制的大規(guī)模舞臺控制系統(tǒng)使用8044單片機(jī)完成數(shù)據(jù)處理及計(jì)數(shù)功能,通過BitBusU總線完成通信功能。由于單片機(jī)的任務(wù)非常繁重,在實(shí)際應(yīng)用中經(jīng)常出現(xiàn)脈沖丟失以及系統(tǒng)相應(yīng)速度慢的問題。而本設(shè)計(jì)采用了EDA技術(shù),將舞臺吊桿控制器用CYGNAL單片機(jī)和FPGA實(shí)現(xiàn),并且UDP/IP協(xié)議實(shí)現(xiàn)局域網(wǎng)內(nèi)的通信,解決了上述問題。舞臺控制系統(tǒng)現(xiàn)場應(yīng)用表明,該吊桿控制器性能完全達(dá)到了要求。某某??飘厴I(yè)論文(設(shè)計(jì))單片機(jī)控制的舞臺視景的設(shè)計(jì)PAGE393.舞臺視景燈光的設(shè)計(jì)3.1舞臺整體視覺3.2舞臺燈光用具3.3劇場電路及網(wǎng)絡(luò)控制系統(tǒng)3.4舞臺燈光用具的配置示意3.5舞臺空間布光要素3.6演示空間設(shè)計(jì)構(gòu)想圖3.7舞臺燈光的色彩對比3.8燈光設(shè)計(jì)中的常用公式3.9舞臺布光方式4燈光顯示模式設(shè)計(jì)4.1顯示燈的排列:L1L1L2L3L15L14L13L12L11L10L9L8L7L6L5L4L164.2顯示模式:模式號顯示狀態(tài)參數(shù)08L1~L6全亮P1=FFH,P0=FFH07L1~L8亮,L9~L16不亮P1=FFH,P0=00H06L1~L8不亮,L9~L16亮P1=00H,P0=FFH05L1~L16奇數(shù)亮,偶數(shù)不亮P1=AAH,P0=AAH04L1~L16偶數(shù)亮,奇數(shù)不亮P1=55H,P0=55H03L1、L2、L5、L6、L9、L10、L13、L14亮P1=CCH,P0=CCH02L3、L4、L7、L8、L11、L12、L15、L16亮P1=33H,P0=33H01L1~L4、L9~L12亮P1=F0H,P0=F0H以上是對電燈顯示模式分析出來的表格,每個(gè)不同的模式號對應(yīng)不同的顯示狀態(tài),對應(yīng)的參數(shù)也不同。本裝置在使用中,是用到定時(shí)器來控制不同的閃爍方式的。當(dāng)一個(gè)完整的閃爍結(jié)束后,即可轉(zhuǎn)入新的閃爍方式。4.3程序流程圖4.3.1主程序流程圖4.3.2中斷服務(wù)程序流程圖4.4程序設(shè)計(jì)以下是燈光閃爍控制裝置的完整源程序:***************************************主程序***************************************MAIN:MOVSP,#SPMOV30H,#08HMOVP1,#FFHMOVP0,FFHCLRTR0TO:MOVTMOD,#01HMOVTH0,#3CHMOVTL0,#0B0HSETBTR0
T1:MOV30H,#50M8:CJNE30H,#00H,M8CJNE31H,08H,M7MOVP1,FFHMOVP0,FFHDEC31HSJMPT1M7:CJNE31H,07H,M6MOVP1,FFHMOVP0,00HDEC31HSJMPT1M6:CJNE31H,06H,M5MOVP1,00HMOVP0,FFHDEC31HSJMPT1M5:CJNE31H,05H,M4MOVP1,F0HMOVP0,F0HDEC31HSJMPT1M4:CJNE31H,04H,M3MOVP1,AAHMOVP0,AAHDEC31HSJMPT1M3:CJNE31H,03H,M2MOVP1,CCHMOVP0,CCHDEC31HSJMPT1M2:CJNE31H,02H,M1MOVP1,55HMOVP0,55HDEC31HLJMPT1M1:CJNE31H,01HMOVP1,33HMOVP0,33HMOV31H,08HLJMPT1***************************************中斷服務(wù)程序***************************************INT1:PUSH30HPUSH31HCLRTR0MOVTMOD,#01HMOVTH0,#3CHMOVTL0,#0B0HDEC30HPOP31HPOP30HSETBTR0RETI
5.燈光閃爍控制裝置的調(diào)試5.1系統(tǒng)調(diào)試5.1.1檢查硬件連接包括各元器件的正確使用,例如:地線、電源線的接口。檢查電路板,各線路是否正確連接,各元器件是否安全焊上,是否牢固等等。5.1.2檢查軟件系統(tǒng)1、根據(jù)系統(tǒng)的原理結(jié)構(gòu)檢查各流程圖是否正確,再根據(jù)流程圖來檢查程序是否也正確。2、分別寫出各指令的正確含義,包括中斷定時(shí)延時(shí)時(shí)間和初始化時(shí)方式字和控制口地址。3、將所有程序組織起來,在軟件環(huán)境下運(yùn)行,檢查程序是否正確。通過對硬件和軟件系統(tǒng)的認(rèn)真檢查,反復(fù)測試,結(jié)果系統(tǒng)檢測成功,可以進(jìn)一步運(yùn)行調(diào)試。4、運(yùn)行調(diào)試:在電腦輸入程序后,各硬件連接正確無誤時(shí),接上電源,輸入命令開始運(yùn)行調(diào)試。5.2測試結(jié)果本系統(tǒng)基本上能符合設(shè)計(jì)者的要求,因條件所限還未有實(shí)際的運(yùn)行。結(jié)論通過這次畢業(yè)設(shè)計(jì)使我明白了自己原來知識還比較欠缺。自己要學(xué)習(xí)的東西還太多,以前老是覺得自己什么東西都會,什么東西都懂,有點(diǎn)眼高手低。通過這次畢業(yè)設(shè)計(jì),我才明白學(xué)習(xí)是一個(gè)長期積累的過程,在以后的工作、生活中都應(yīng)該不斷的學(xué)習(xí),努力提高自己知識和綜合素質(zhì)。在本次課程設(shè)計(jì)中首先是硬件方案的確定,接下來是對系統(tǒng)整體電路中各子模塊電路的設(shè)計(jì),其中繪圖、確定參數(shù)等過程都使我得到了很大的提高。參考文獻(xiàn)[1]孫雪梅,范久臣.實(shí)時(shí)時(shí)鐘芯片在單片機(jī)系統(tǒng)中的應(yīng)用.沈陽教育學(xué)院學(xué)報(bào),2005.2.7[2]CharlesPetzold.Windows程序設(shè)計(jì)[M].北京:北京大學(xué)出版社,2000.[3]NicolaiM.Josuttis.VisualC++標(biāo)準(zhǔn)程序庫[M].湖北:華中科技大學(xué)出版社,2002.4.[4]張志良編著.《單片機(jī)原理與控制技術(shù)》.第2版.機(jī)械工業(yè)出版社[5]周立功編著.《單片機(jī)基礎(chǔ)實(shí)驗(yàn)指導(dǎo)書》.第1版.廣州周立功單片機(jī)發(fā)展有限公司出版社致謝本課題研究是在某某高老師悉心指導(dǎo)下完成的,傾注著老師的心血和汗水。某老師實(shí)事求是的科學(xué)作風(fēng),敏銳深刻的洞察力,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神,不斷開拓的工作熱情,為科技事業(yè)忘我工作的精神,無不使筆者受益匪淺,對筆者今后的成長產(chǎn)生深遠(yuǎn)影響。謹(jǐn)此向伍老師致以最崇高的敬意和最衷心的感謝!最后,衷心感謝所有關(guān)心、幫助和支持過我的老師、同學(xué)和朋友們。還有,一直在幕后默默理解、支持和幫助我的家人和親戚朋友們。附錄燈光控制程序代碼:usingSystem;namespaceLightControl
{
///<summary>
///LigthControl的摘要說明。
///全開全關(guān)程序流程:
///1.先判斷是否有com
///2.更新數(shù)據(jù)庫中t_Light表中的狀態(tài)信息
///3.判斷控制器的個(gè)數(shù)
///4.循環(huán)設(shè)置每個(gè)控制器的狀態(tài),調(diào)用setcom
///單獨(dú)開關(guān)燈流程:
///1.先判斷是否有com
///2.更新數(shù)據(jù)庫中t_Light表中的狀態(tài)信息
///3.根據(jù)燈編號計(jì)算控制器所對應(yīng)的燈編號范圍
///4.根據(jù)數(shù)據(jù)庫中的狀態(tài)形成新的控制字
///5.發(fā)送控制字
///6.控制字舉例:AABB010000000000000000EEEE24
///(AABB)開始位(01)控制器地址(00000000)控制字(00000000)輔助字(EEEE)校驗(yàn)位(24)結(jié)束位
///</summary>
publicclassLightControl
{
publicLightControl()
{
//
//TODO:在此處添加構(gòu)造函數(shù)邏輯
//
}
///<summary>
///生成控制字
///</summary>
///<paramname="aData"></param>
///<paramname="be"></param>
///<paramname="aSize"></param>
///<returns></returns>
privatestaticintCRC_16(byte[]aData,intbe,intaSize)
{
intreg_crc=0x0000;
inti=0,j=0;
for(i=0;i<aSize;i++)
{
//異或結(jié)果reg_crc當(dāng)前八位的控制字
reg_crc^=aData[i+be];
for(j=0;j<8;j++)
{
//判斷最低為是否為零
if((reg_crc&0x01)==1)
{
//如果為零,右移1位,再異或設(shè)定的十六進(jìn)制數(shù),徹底屏蔽最低位的1
reg_crc=(reg_crc>>1)^0xa001;
}
//如果不為零,右移1位
elsereg_crc=reg_crc>>1;
}
};
returnreg_crc;
}
///<summary>
///轉(zhuǎn)換16進(jìn)制形式的全控制字
///</summary>
///<paramname="pathcount"></param>
///<paramname="setcom">靜態(tài)控制字符串01010101模式,d1-d8</param>
///<returns></returns>
privatestaticbyte[]Num16(intpathcount,string[]setcom)
{
inti;
pathcount=8;
byte[]newsetcom=newbyte[pathcount+6];
newsetcom[0]=0xAA;
newsetcom[1]=0xBB;
newsetcom[2]=0x01;
for(i=3;i<pathcount+3;i++)
{
newsetcom[i]=(byte)Convert.ToInt32("0x"+Convert.ToString(Convert.ToInt32(setcom[i-3],2),16),16);
}
newsetcom[i]=0xEE;
newsetcom[i+1]=0xEE;
newsetcom[i+2]=0x24;
returnnewsetcom;
}
///<summary>
///生成控制器編號
///</summary>
///<paramname="LNum">燈的編號</param>
///<returns></returns>
privatestaticintCreateControlNum(stringLNum)
{
//控制器地址(利用燈光編號計(jì)算控制器地址,控制器編號從一開始1-32為第一個(gè)地址)
if((Convert.ToInt32(LNum)%32)==0)
{
returnConvert.ToInt32(LNum)/32;
}
else
{
returnConvert.ToInt32(LNum)/32+1;
}
}
///<summary>
///生成控制字中的d的編號,即第幾個(gè)八位模塊,輸入的燈屬于哪個(gè)8位模塊中
///</summary>
///<paramname="LNum">燈的編號,從1開始</param>
///<returns></returns>
privatestaticintCreateBitNum(stringLNum)
{
intnum,num1;
num=Convert.ToInt32(LNum);
num1=num-num/32*32;
//if余數(shù)為0,則為32、64等,應(yīng)返回第4個(gè)模塊
if(num1==0)
{
return4;
}
else
{
if((num1%8)==0)
{
returnnum1/8;
}
else
{
returnnum1/8+1;
}
}
}
///<summary>
///從數(shù)據(jù)庫中得到當(dāng)前控制器的d1-d8,2進(jìn)制形式的控制字
///</summary>
///<paramname="key4">4個(gè)元素的string數(shù)組,每個(gè)元素為8個(gè)二進(jìn)制形式的string,如a[0][0]為'000111011',從數(shù)據(jù)庫中得到的目前燈的狀態(tài)</param>
///<returns></returns>
publicstaticstring[]createSetCom(string[][]key4)
{
string[]setcom;
//設(shè)置燈控的狀態(tài)
setcom=newstring[8];
for(inti=0;i<4;i++)
{
//生成前四個(gè)模塊字
for(intj=0;j<8;j++)
{
setcom[i]=key4[i][j]+setcom[i];//控制字的是以8位為一個(gè)單元,與實(shí)際的順序相反,數(shù)據(jù)庫中(00111011)而控制字為(11011100)
}
}
//生成后四個(gè)輔助字,先默認(rèn)為零
for(inti=4;i<8;i++)
{
setcom[i]+="00000000";
}
returnsetcom;
}
///<summary>
///根據(jù)數(shù)據(jù)庫中的數(shù)據(jù)生成控制字
///</summary>
///<paramname="LNum">燈的編號</param></param>
///<paramname="setcom">改變了的控制字,從數(shù)據(jù)庫中得到,8個(gè)下標(biāo),d1-d8</param>
///<returns>形成的新控制字</returns>
publicstaticbyte[]ControlKey(stringLNum,string[]setcom)
{
intj=0;
byte[]Contrlchar=newbyte[14];
Contrlchar=Num16(8,setcom);//十六進(jìn)制的控制字
//控制器地址(利用燈光編號計(jì)算控制器地址,并轉(zhuǎn)化為16進(jìn)制形式,控制器編號從一開始1-32為第一個(gè)模塊)
Contrlchar[2]=(byte)CreateControlNum(LNum);
for(j=3;j<7;j++)
{
//
d5d6d7d8
通道輔助字:
//
d5:
當(dāng)通道1控制字d1=0x24時(shí),需將d1改為0xEE,此位為d5=1,否則為d5=0
//
d6:
當(dāng)通道2控制字d2=0x24時(shí),需將d2改為0xEE,此位為d6=1,否則為d6=0
//
d7:
當(dāng)通道3控制字d3=0x24時(shí),需將d3改為0xEE,此位為d7=1,否則為d7=0
//
d8:
當(dāng)通道4控制字d4=0x24時(shí),需將d4改為0xEE,此位為d8=1,否則為d8=0
//重新生成控制字
if(Contrlchar[j]==0x24)
{
Contrlchar[j]=0xEE;
Contrlchar[j+4]=0x01;
}
else
{
Contrlchar[j+4]=0x00;
}
}
Contrlchar[11]=0xEE;
Contrlchar[12]=0xEE;
Contrlchar[13]=0x24;
Contrlchar[11]=(byte)((CRC_16(Contrlchar,2,9)&0xFF00)>>8);
if(Contrlchar[11]==0x24)
{
Contrlchar[11]=0xEE;
}
Contrlchar[12]=(byte)(CRC_16(Contrlchar,2,9)&0x00FF);
if(Contrlchar[12]==0x24)
{
Contrlchar[12]=0xEE;
}
returnContrlchar;
}
///<summary>
///全部開關(guān)燈,燈控程序最多是用于32路的控制,共8個(gè)模塊,d0為控制器地址,前d1-d4,4個(gè)控制開關(guān),后d5-d8,4個(gè)為輔助字
///</summary>
///<paramname="pathcount">最多的模塊數(shù)(目前為8)</param>
///<paramname="addr">控制器地址</param>
///<paramname="initstuta">控制字符16進(jìn)制</param>
///<returns>byte類型數(shù)組</returns>
publicstaticbyte[]OnOffAll(intaddr,stringinitstuta)
{
inti,pathcount;
//模塊數(shù)限定為8個(gè),為固定值
pathcount=8;
byte[]bsend=newbyte[path
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年欽州幼兒師范高等??茖W(xué)校單招職業(yè)傾向性考試題庫及答案詳解1套
- 2026年吉林職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性測試題庫及參考答案詳解1套
- 2026年江海職業(yè)技術(shù)學(xué)院單招職業(yè)技能考試題庫及參考答案詳解一套
- 2026年河北軌道運(yùn)輸職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性考試題庫及答案詳解一套
- 2026年天津海運(yùn)職業(yè)學(xué)院單招職業(yè)適應(yīng)性考試題庫及答案詳解一套
- 無人機(jī)實(shí)戰(zhàn)訓(xùn)練計(jì)劃
- 2026年上海海事大學(xué)單招職業(yè)傾向性考試題庫含答案詳解
- 2026年湖北體育職業(yè)學(xué)院單招職業(yè)技能測試題庫帶答案詳解
- 2026年成都藝術(shù)職業(yè)大學(xué)單招職業(yè)技能考試題庫含答案詳解
- 2026年廣東農(nóng)工商職業(yè)技術(shù)學(xué)院單招職業(yè)技能考試題庫及答案詳解1套
- 2025下半年貴州遵義市市直事業(yè)單位選調(diào)56人備考筆試試題及答案解析
- 2025中原農(nóng)業(yè)保險(xiǎn)股份有限公司招聘67人備考題庫附答案
- 河南省信陽市高中聯(lián)盟2025-2026學(xué)年高三上學(xué)期12月聯(lián)考語文試卷(含答案)
- 2025年陜西公務(wù)員《行政職業(yè)能力測驗(yàn)》試題及答案
- 2025年無人機(jī)操控員執(zhí)照理論考試題庫及答案(2月份更新)
- 方案經(jīng)理年終總結(jié)
- ktv年關(guān)應(yīng)急預(yù)案
- 【新教材】2025-2026學(xué)年西師大版(2024)三年級數(shù)學(xué)上冊全冊教案(教學(xué)設(shè)計(jì))
- 甘肅醫(yī)學(xué)院《藥物化學(xué)》2024-2025學(xué)年期末試卷(A卷)
- 安全通道防護(hù)棚施工方案
- (正式版)DB54∕T 0430-2025 《河湖健康評價(jià)規(guī)范》
評論
0/150
提交評論