自動(dòng)升降旗系統(tǒng)
《自動(dòng)升降旗系統(tǒng)》由會(huì)員分享,可在線閱讀,更多相關(guān)《自動(dòng)升降旗系統(tǒng)(61頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、山東科技大學(xué) 摘 要 本設(shè)計(jì)是關(guān)于自動(dòng)控制升降旗系統(tǒng)的設(shè)計(jì)。本著實(shí)用、調(diào)整控制方便、功能完善等方面的原則,采用在線編程、功能強(qiáng)大的單片機(jī)——P89C51RC2HFA來控制步進(jìn)電機(jī),實(shí)現(xiàn)國(guó)旗的自動(dòng)升降等功能。在步進(jìn)電機(jī)的驅(qū)動(dòng)電路上直接選用了模塊化的控制器,大大減輕了CPU的負(fù)擔(dān),也完全符合快速設(shè)計(jì)的原則。本系統(tǒng)設(shè)計(jì)了實(shí)現(xiàn)精確定時(shí)的時(shí)鐘電路和用于掉電保護(hù)的存儲(chǔ)電路,同時(shí)還設(shè)計(jì)了功能齊全的鍵盤/顯示電路和使國(guó)旗飄揚(yáng)的鼓風(fēng)電路以及遙控電路。 該系統(tǒng)具有以下特點(diǎn):可按鍵、可遙控自動(dòng)控制升旗和降旗,并在任意指定位置自動(dòng)停止,升旗過程中能準(zhǔn)確與國(guó)歌樂曲同步;實(shí)現(xiàn)半旗狀態(tài)的功能;具有斷電保護(hù)功能;
2、升降速度可調(diào)功能;還具有無線遙控的作用等特點(diǎn)。需要設(shè)定的升、降過程以及半旗狀態(tài)是通過按鍵實(shí)現(xiàn),并能顯示上升或下降時(shí)間和旗幟所在高度。本系統(tǒng)的創(chuàng)新點(diǎn)包括:防止升降旗過程中出現(xiàn)冒頂系統(tǒng);國(guó)旗到達(dá)頂點(diǎn)時(shí),旗面保持迎風(fēng)飄揚(yáng)而不纏桿。在實(shí)現(xiàn)以上功能的過程中,升降旗時(shí)間在30~120秒內(nèi)可調(diào),通過改變步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)速度來改變旗幟上升或下降的速度,并通過LED顯示上升或下降時(shí)間和旗幟所在高度。旗幟達(dá)到頂端后,由鼓風(fēng)機(jī)提供風(fēng)源使旗幟始終處于飄揚(yáng)的狀態(tài)。 測(cè)試表明,該自動(dòng)控制升降旗系統(tǒng)達(dá)到了題目所有的任務(wù)要求,同時(shí)在發(fā)揮部分的設(shè)計(jì)要求之上,我們還提出了具有特色的創(chuàng)新點(diǎn)。在操作方便和誤差較小的基礎(chǔ)上,保證了系統(tǒng)
3、完整協(xié)調(diào)地工作。 關(guān)鍵字: 自動(dòng)控制;斷電保護(hù);無線遙控;冒頂 ABSTRACT The design isbased onthe practical and convenient adjustment control, and so functional improvement, with the off online programming, the powerful MCU --P89C51RC2HFA to stepper motor control,torealize the automaticraising/lowering of the national flag. S
4、tepper motor drive circuit is directly in the selection of a modular controller, thus reducing the burden on the CPU, but also with the rapid design principle. The system is designed to achieve precise timing and the clock circuit used for solving the memory circuit, but also designed a fully functi
5、onal keyboard / display circuit, so that the national flag flying and remote control circuit blast. The system has the following features:a flag raising and lowering can be controlled by button or remote control, and can automatically stop at any designated location, the national anthem and flag-r
6、aising process can accurately music synchronization; Function of achieving the half-mast state; Have power outages protective function; Adjustable rate movements function; The role also has wireless remote control features. Set the ascending, descending process of the state and half-mast through the
7、 button, and it canshow thetime and tallness inrise or lowering. The innovation of the system include: preventing flag rising emerged in the course of rising; Flag arrived at the apex, to keep the flag fluttering in the wind rather than wrapped around poles.In the process of achieving the above fu
8、nctions, 30-120 seconds for the flag rising is adjustable, by changing the rotational speed of the step motor, the flag raising speed can be changed, and the time & tallness will be showed on the LED. After the flag reached the top, the wind provided by the blower will make the flag in fluttering st
9、ate The test results show that the flag controlling system raising a topic all of the tasks and requirements, and some features are on top of the design requirements.We have initiated unique innovations. Based onless error andconvenientoperation, the systemis ensured to work integrated and coo
10、rdinate. Keyword: Automatic control; Wireless remote control; Power outages protective; Rising emerged 目 錄 摘要 —————————————————————— 1 ABSTRACT ——————————————————— 2 目錄 —————————————————————— 4 1.設(shè)計(jì)總體要求 ————————————————— 6 2.方案的比較與選擇 ———————————————
11、 7 2.1單片機(jī)的選擇 ————————————————— 7 2.2電機(jī)的選擇 —————————————————— 14 2.3系統(tǒng)工作電源的制作 —————————————— 16 2.4顯示的選擇 —————————————————— 18 3.系統(tǒng)設(shè)計(jì) ——————————————————— 20 3.1 系統(tǒng)框圖 —————————————————— 20 3.2系統(tǒng)硬件設(shè)計(jì) ————————————————— 21 3.3軟件設(shè)計(jì) ——————————————————— 29 4、系統(tǒng)原理與理論分析 —————————————
12、— 36 4.1單片機(jī)最小系統(tǒng)組成 —————————————— 36 4.2控制原理 ——————————————————— 36 5、操作說明 ——————————————————— 41 5.1數(shù)碼管顯示說明 ———————————————— 41 5.2按鍵操作說明 ————————————————— 42 5.3具體操作方法和實(shí)現(xiàn)的功能 ———————————— 43 6、系統(tǒng)調(diào)試與測(cè)試結(jié)果 —————————————— 46 6.1系統(tǒng)分塊調(diào)試 ————————————————— 46 6.2測(cè)試結(jié)果 —————————————
13、—————— 46 6.3誤差分析 ——————————————————— 49 7、特色與創(chuàng)新 —————————————————— 50 8、參考文獻(xiàn) ——————————————————— 51 9、致謝辭 ——————————————————— 52 附錄:部分芯片簡(jiǎn)介中英文對(duì)照 —————————— 53 1.設(shè)計(jì)總體要求 采用P89C51RC2HFA單片機(jī)、步進(jìn)電機(jī)、WT2560語音芯片、時(shí)鐘芯片X1226I、顯示電路、遙控電路、按鍵等基本的部分組成的控制國(guó)旗升降系統(tǒng)。采用由單片機(jī)控制的步進(jìn)電機(jī)帶動(dòng)國(guó)旗升降,實(shí)現(xiàn)對(duì)
14、國(guó)旗升降的自動(dòng)控制。采用接近開關(guān)FR12-4DN,防止旗幟在最高點(diǎn)或最低點(diǎn)誤動(dòng)作,從而實(shí)現(xiàn)了雙重保險(xiǎn)的作用。使用抱閘裝置保證步進(jìn)電機(jī)在不通電的時(shí)候靜止不動(dòng)。本系統(tǒng)應(yīng)實(shí)現(xiàn)以下特點(diǎn): (1)可手動(dòng)、可遙控。即可以通過按鍵來控制旗幟的勻速升降,也可以通過遙控器來實(shí)現(xiàn)遠(yuǎn)距離控制; (2)可以按照用戶的要求上升或下降到指定位置,并可在任意位置停止; (3)國(guó)旗在上升過程中能準(zhǔn)確與國(guó)歌樂曲同步; (4)能實(shí)現(xiàn)半旗的升降功能; (5)具有斷電保護(hù)功能; 在實(shí)現(xiàn)以上功能的過程中,升降旗時(shí)間在30~120秒內(nèi)可調(diào),通過改變步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)速度來改變旗幟上升或下降的速度,并通過LED顯示上升或下降時(shí)間和
15、旗幟所在高度。旗幟達(dá)到頂端后,由鼓風(fēng)機(jī)提供風(fēng)源使旗幟始終處于飄揚(yáng)的狀態(tài)。 2.方案的比較與選擇 2.1單片機(jī)的選擇 單片機(jī)(即CPU)是本系統(tǒng)的工作核心,它的選擇不僅關(guān)系到系統(tǒng)的工作效率,同時(shí)也為系統(tǒng)的工作提供可靠的保障,因此CPU的選擇是系統(tǒng)的關(guān)鍵所在。 方案一:采用AT89C51單片機(jī)實(shí)現(xiàn),單片機(jī)軟件編程自由度大,可用編程實(shí)現(xiàn)各種控制算法和邏輯控制。但是AT89C51需外接模數(shù)轉(zhuǎn)換器來滿足數(shù)據(jù)采樣,硬件電路相對(duì)復(fù)雜。另外,增強(qiáng)型單片機(jī)在線操作不易掌握,需要用仿真器來實(shí)現(xiàn)軟硬件調(diào)試,較為繁瑣。 方案二:采用P89C51RC2HFA單片機(jī)實(shí)現(xiàn),
16、該單片機(jī)內(nèi)部資源豐富,集成了內(nèi)部看門狗、雙數(shù)據(jù)指針、在線系統(tǒng)編程(串行下載目標(biāo)程序)等功能,軟硬件調(diào)試方便。 P89C51RC2HFA簡(jiǎn)介: P89C51RB2/RC2/RD2 具有16K/32K/64K 并行可編程的非易失性FLASH 程序存儲(chǔ)器并可實(shí)現(xiàn)對(duì)器件串行在系統(tǒng)編程ISP 和在應(yīng)用中編程(IAP) 在系統(tǒng)編程ISP In-System Programming 當(dāng)MCU 安裝在用戶板上時(shí)允許用戶下載新的代碼在應(yīng)用中編程IAP In-Application Programming MCU 可以在系統(tǒng)中獲取新代碼并對(duì)自己重新編程這種方法允許通過調(diào)制解調(diào)器連接進(jìn)行遠(yuǎn)程編程片內(nèi)ROM 中固
17、化的默認(rèn)的加載程序Boot Loader 允許ISP 通過UART 將程序代碼裝入Flash 存儲(chǔ)器而Flash 代碼中,而不需要加載程序?qū)τ贗AP 用戶程序擦除和重編程Flash Memory 的操作是通過使用片內(nèi)ROM 中的標(biāo)準(zhǔn)程序,該器件的1 個(gè)機(jī)器周期由6 個(gè)時(shí)鐘周期組成因此運(yùn)行速度是傳統(tǒng)80C51 的2 倍一個(gè)OTP 配置位可讓用戶選擇傳統(tǒng)的12 時(shí)鐘周期該系列單片機(jī)是80C51 微控制器的派生器件是采用先進(jìn)CMOS 工藝制造的8 位微控制器指令系統(tǒng)與80C51 完全相同,有4 組8 位I/O 口3 個(gè)16 位定時(shí)/計(jì)數(shù)器多個(gè)中斷源4 個(gè)中斷優(yōu)先級(jí)嵌套中斷結(jié)構(gòu)1 個(gè)增強(qiáng)型UART 片
18、內(nèi)振蕩器及時(shí)序電路,新增的特性使得89C51RB2/RC2/RD2 成為功能更強(qiáng)大的微控制器更好地支持應(yīng)用于脈寬調(diào)制高速I/O 遞增/遞減計(jì)數(shù)能力如電機(jī)控制等場(chǎng)合。 l 80C51 核心處理單元; l 具有ISP 和IAP 功能的片內(nèi)FLASH 程序存儲(chǔ)器; l 片內(nèi)Boot ROM 包含底層FLASH 編程子程序以實(shí)現(xiàn)通過UART 下載程序; l 可實(shí)現(xiàn)最終用戶應(yīng)用的編程IAP; l 與87C51 兼容的并行編程硬件接口; l 每個(gè)機(jī)器周期為6 個(gè)時(shí)鐘周期標(biāo)準(zhǔn); l 可選擇12 個(gè)時(shí)鐘周期的機(jī)器周期; l 采用6 時(shí)鐘周期時(shí)頻率可高達(dá)20MHz 相當(dāng)于40MHz 采用12 時(shí)
19、鐘周期時(shí)頻率可達(dá)33MHz; l 全靜態(tài)操作; l RAM 可擴(kuò)展到64K 字節(jié); l 4 個(gè)中斷優(yōu)先級(jí); l 7 個(gè)中斷源; l 4 個(gè)8 位I/O 口; l 全雙工增強(qiáng)型UART; 幀錯(cuò)誤檢測(cè); 自動(dòng)地址識(shí)別; l 電源控制模式 時(shí)鐘可停止和恢復(fù) 空閑模式 掉電模式 l 可編程時(shí)鐘輸出; l 異步端口復(fù)位; l 雙DHSR 寄存器; l 低EMI 禁止ALE; l 可編程計(jì)數(shù)器陣列PCA。 PWM捕獲/比較。 P89C51RC2HFA是一種低功耗、高性能CMOS8位微控制器,具有8K 在系統(tǒng)可編程Flash 存儲(chǔ)器。使用philips 公司高密
20、度非易失性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得P89C51RC2HFA眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。 圖 2.1 P89C51RC2HFA管腳圖 P89C51RC2HFA具有以下標(biāo)準(zhǔn)功能: 8k字節(jié)Flash,256字節(jié)RAM,32 位I/O 口線,看門狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,兩個(gè)16 位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,P89C51RC2HFA 可降至0Hz
21、靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。 8 位微控制器(見圖 2.1) (1)VCC : 電源 GND: 地 P0 口:P0口是一個(gè)8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動(dòng)8個(gè)TTL邏輯電平。對(duì)P0端口寫“1”時(shí),引腳用作高阻抗輸入。 當(dāng)訪問外部程序和數(shù)據(jù)存儲(chǔ)器時(shí),P0口也被作為低8位地址/數(shù)據(jù)復(fù)用。在這種模式下,P0具有內(nèi)部上拉電阻。在flash編程時(shí),P0口也用來接收指令字節(jié);在程序校驗(yàn)時(shí),輸
22、出指令字節(jié)。程序校驗(yàn)時(shí),需要外部上拉電阻。 P1 口:P1 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,p1 輸出緩沖器能驅(qū)動(dòng)4 個(gè)TTL 邏輯電平。對(duì)P1 端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。 此外,P1.0和P1.2分別作定時(shí)器/計(jì)數(shù)器2的外部計(jì)數(shù)輸入(P1.0/T2)和時(shí)器/計(jì)數(shù)器2的觸發(fā)輸入(P1.1/T2EX),具體如下表所示。 在flash編程和校驗(yàn)時(shí),P1口接收低8位地址字節(jié)。 (2)引腳號(hào)第二功能 P1.0 T2(定時(shí)器/計(jì)數(shù)器T2的外部計(jì)數(shù)輸入),時(shí)鐘輸出 P
23、1.1 T2EX(定時(shí)器/計(jì)數(shù)器T2的捕捉/重載觸發(fā)信號(hào)和方向控制) P1.5 MOSI(在系統(tǒng)編程用) P1.6 MISO(在系統(tǒng)編程用) P1.7 SCK(在系統(tǒng)編程用) P2 口:P2 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,P2 輸出緩沖器能驅(qū)動(dòng)4 個(gè)TTL 邏輯電平。對(duì)P2 端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。 在訪問外部程序存儲(chǔ)器或用16位地址讀取外部數(shù)據(jù)存儲(chǔ)器(例如執(zhí)行MOVX @DHSR)時(shí),P2 口送出高八位地址。在這種應(yīng)用中,P2 口使用很強(qiáng)的內(nèi)部上拉發(fā)送
24、1。在使用8位地址(如MOVX @RI)訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),P2口輸出P2鎖存器的內(nèi)容。 在flash編程和校驗(yàn)時(shí),P2口也接收高8位地址字節(jié)和一些控制信號(hào)。 P3 口:P3 口是一個(gè)具有內(nèi)部上拉電阻的8 位雙向I/O 口,p2 輸出緩沖器能驅(qū)動(dòng)4 個(gè)TTL 邏輯電平。對(duì)P3 端口寫“1”時(shí),內(nèi)部上拉電阻把端口拉高,此時(shí)可以作為輸入口使用。作為輸入使用時(shí),被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。 P3口亦作為P89C51RC2HFA特殊功能(第二功能)使用,如下表所示。 在flash編程和校驗(yàn)時(shí),P3口也接收一些控制信號(hào)。 引腳號(hào)第二功能 P3.0 RXD(串
25、行輸入) P3.1 TXD(串行輸出) P3.2 INT0(外部中斷0) P3.3 INT0(外部中斷0) P3.4 T0(定時(shí)器0外部輸入) P3.5 T1(定時(shí)器1外部輸入) P3.6 WR(外部數(shù)據(jù)存儲(chǔ)器寫選通) P3.7 RD(外部數(shù)據(jù)存儲(chǔ)器寫選通) RST: 復(fù)位輸入。晶振工作時(shí),RST腳持續(xù)2 個(gè)機(jī)器周期高電平將使單片機(jī)復(fù)位??撮T狗計(jì)時(shí)完成后,RST 腳輸出96 個(gè)晶振周期的高電平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能無效。DISRTO默認(rèn)狀態(tài)下,復(fù)位高電平有效。 ALE/PROG:地址鎖存控制信號(hào)(ALE)是訪問外部程序存儲(chǔ)器時(shí),鎖存低
26、8 位地址的輸出脈沖。在flash編程時(shí),此引腳(PROG)也用作編程輸入脈沖。在一般情況下,ALE 以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時(shí)器或時(shí)鐘使用。然而,特別強(qiáng)調(diào),在每次訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),ALE脈沖將會(huì)跳過。如果需要,通過將地址為8EH的SFR的第0位置“1”,ALE操作將無效。這一位置“1”,ALE 僅在執(zhí)行MOVX 或MOVC指令時(shí)有效。否則,ALE 將被微弱拉高。這個(gè)ALE 使能標(biāo)志位(地址為8EH的SFR的第0位)的設(shè)置對(duì)微控制器處于外部執(zhí)行模式下無效。 PSEN:外部程序存儲(chǔ)器選通信號(hào)(PSEN)是外部程序存儲(chǔ)器選通信號(hào)。 當(dāng)P89C51RC2HFA從外部
27、程序存儲(chǔ)器執(zhí)行外部代碼時(shí),PSEN在每個(gè)機(jī)器周期被激活兩次,而在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),PSEN將不被激活。 EA/VPP:訪問外部程序存儲(chǔ)器控制信號(hào)。為使能從0000H 到FFFFH的外部程序存儲(chǔ)器讀取指令,EA必須接GND。為了執(zhí)行內(nèi)部程序指令,EA應(yīng)該接VCC。在flash編程期間,EA也接收12伏VPP電壓。 XTAL1:振蕩器反相放大器和內(nèi)部時(shí)鐘發(fā)生電路的輸入端。 XTAL2:振蕩器反相放大器的輸出端。 (3)P89C51RC2HFA 特殊寄存器映象及復(fù)位值 特殊功能寄存器 并不是所有的地址都被定義了。片上沒有定義的地址是不能用的。讀這些地址,一般將得到一個(gè)隨機(jī)數(shù)據(jù);寫
28、入的數(shù)據(jù)將會(huì)無效。 用戶不應(yīng)該給這些未定義的地址寫入數(shù)據(jù)“1”。由于這些寄存器在將來可能被賦予新的功能,復(fù)位后,這些位都為“0”。 定時(shí)器2 寄存器:寄存器T2CON 和T2MOD 包含定時(shí)器2 的控制位和狀態(tài)位,寄存器對(duì)RCAP2H和RCAP2L是定時(shí)器2的捕捉/自動(dòng)重載寄存器。 中斷寄存器:各中斷允許位在IE寄存器中,六個(gè)中斷源的兩個(gè)優(yōu)先級(jí)也可在IE中設(shè)置。 (4)T2CON:定時(shí)器/計(jì)數(shù)器2控制寄存器 T2CON 地址為0C8H 復(fù)位值:0000 0000B位可尋址 TF2 EXF2 RLCLK TCLK EXEN2 TR2 7 6 5 4 3 2 1 0 符號(hào)功能
29、TF2 定時(shí)器2 溢出標(biāo)志位。必須軟件清“0”。RCLK=1 或TCLK=1 時(shí),TF2 不用置位。 EXF2 定時(shí)器2 外部標(biāo)志位。EXEN2=1 時(shí),T2EX 上的負(fù)跳變而出現(xiàn)捕捉或重載時(shí),EXF2 會(huì)被硬件置位。定時(shí)器2 打開,EXF2=1 時(shí),將引導(dǎo)CPU執(zhí)行定時(shí)器2 中斷程序。EXF2 必須如見清“0”。在向下/向上技術(shù)模式(DCEN=1)下EXF2不能引起中斷。 RCLK 串行口接收數(shù)據(jù)時(shí)鐘標(biāo)志位。若RCLK=1,串行口將使用定時(shí)器2 溢出脈沖作為串行口工作模式1 和3 的串口接收時(shí)鐘;RCLK=0,將使用定時(shí)器1計(jì)數(shù)溢出作為串口接收時(shí)鐘。 TCLK 串行
30、口發(fā)送數(shù)據(jù)時(shí)鐘標(biāo)志位。若TCLK=1,串行口將使用定時(shí)器2 溢出脈沖作為串行口工作模式1 和3 的串口發(fā)送時(shí)鐘;TCLK=0,將使用定時(shí)器1計(jì)數(shù)溢出作為串口發(fā)送時(shí)鐘。 EXEN2 定時(shí)器2外部允許標(biāo)志位。當(dāng)EXEN2=1時(shí),如果定時(shí)器2沒有用作串行時(shí)鐘,T2EX(P1.1)的負(fù)跳變見引起定時(shí)器2 捕捉和重載。若EXEN2=0,定時(shí)器2將視T2EX端的信號(hào)無效TR2 開始/停止控制定時(shí)器2。TR2=1,定時(shí)器2開始工作定時(shí)器2 定時(shí)/計(jì)數(shù)選擇標(biāo)志位。=0,定時(shí); =1,外部事件計(jì)數(shù)(下降沿觸發(fā))捕捉/重載選擇標(biāo)志位。當(dāng)EXEN2=1時(shí), =1,T2EX出現(xiàn)負(fù)脈沖,會(huì)引起捕捉操作;當(dāng)定時(shí)
31、器2溢出或EXEN2=1時(shí)T2EX出現(xiàn)負(fù)跳變,都會(huì)出現(xiàn)自動(dòng)重載操作。=0 將引起T2EX 的負(fù)脈沖。當(dāng)RCKL=1或TCKL=1時(shí),此標(biāo)志位無效,定時(shí)器2溢出時(shí),強(qiáng)制做自動(dòng)重載操作。雙數(shù)據(jù)指針寄存器:為了更有利于訪問內(nèi)部和外部數(shù)據(jù)存儲(chǔ)器,系統(tǒng)提供了兩路16位數(shù)據(jù)指針寄存器:位于SFR中82H~83H的DP0和位于84H~85。特殊寄存器AUXR1中DPS=0 選擇DP0;DPS=1 選擇DP1。用戶應(yīng)該在訪問數(shù)據(jù)指針寄存器前先初始化 (5)存儲(chǔ)器結(jié)構(gòu) MCS-51器件有單獨(dú)的程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器。外部程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器都可以64K尋址。 程序存儲(chǔ)器:如果EA引腳接地,程序
32、讀取只從外部存儲(chǔ)器開始。 對(duì)于P89C51RC2HFA 89S52,如果EA 接VCC,程序讀寫先從內(nèi)部存儲(chǔ)器(地址為0000H~1FFFH)開始,接著從外部尋址,尋址地址為:2000H~FFFFH。 數(shù)據(jù)存儲(chǔ)器:P89C51RC2HFA 有256 字節(jié)片內(nèi)數(shù)據(jù)存儲(chǔ)器。高128 字節(jié)與特殊功能寄存器重疊。也就是說高128字節(jié)與特殊功能寄存器有相同的地址,而物理上是分開的。 當(dāng)一條指令訪問高于7FH 的地址時(shí),尋址方式?jīng)Q定CPU 訪問高128 字節(jié)RAM 還是特殊功能寄存器空間。直接尋址方式訪問特殊功能寄存器(SFR)。例如,下面的直接尋址指令訪問0A0H(P2口)存儲(chǔ)單元MO
33、V 0A0H , #data使用間接尋址方式訪問高128 字節(jié)RAM。例如,下面的間接尋址方式中,R0 內(nèi)容為0A0H,訪問的是地址0A0H的寄存器,而不是P2口(它的地址也是0A0H)。MOV @R0 , #data堆棧操作也是簡(jiǎn)介尋址方式。因此,高128字節(jié)數(shù)據(jù)RAM也可用于堆??臻g。 2.2電機(jī)的選擇 電機(jī)在本系統(tǒng)中是國(guó)旗升降的主要控制部件,它為系統(tǒng)提供動(dòng)力支持。本文從以下幾個(gè)方面闡述本系統(tǒng)的方案。 方案一:采用直流電機(jī)控制升降旗運(yùn)動(dòng),直流電機(jī)力量大,能獲得較大的啟動(dòng)轉(zhuǎn)矩,相應(yīng)快,但控制復(fù)雜,不能自鎖。 方案二:采用步進(jìn)電機(jī)控制升降旗運(yùn)動(dòng),步進(jìn)電機(jī)是一種作為控制用的特
34、種電機(jī), 它的旋轉(zhuǎn)是以固定的角度(稱為“步距角”)一步一步運(yùn)行的, 其特點(diǎn)是沒有積累誤差(精度為100%), 所以廣泛應(yīng)用于各種開環(huán)控制。步進(jìn)電機(jī)的運(yùn)行要有一電子裝置進(jìn)行驅(qū)動(dòng), 這種裝置就是步進(jìn)電機(jī)驅(qū)動(dòng)器, 它是把控制系統(tǒng)發(fā)出的脈沖信號(hào)轉(zhuǎn)化為步進(jìn)電機(jī)的角位移, 或者說: 控制系統(tǒng)每發(fā)一個(gè)脈沖信號(hào), 通過驅(qū)動(dòng)器就使步進(jìn)電機(jī)旋轉(zhuǎn)一步距角。所以步進(jìn)電機(jī)的轉(zhuǎn)速與脈沖信號(hào)的頻率成正比。所以,控制步進(jìn)脈沖信號(hào)的頻率,可以對(duì)電機(jī)精確調(diào)速;控制步進(jìn)脈沖的個(gè)數(shù),可以對(duì)電機(jī)精確定位目的。 步進(jìn)電機(jī)不需要使用傳感器就能精確定位,而且通過給定的脈沖周期,能夠以任意速度轉(zhuǎn)動(dòng),定矩運(yùn)動(dòng)教精確。雖然步進(jìn)電機(jī)不能高速轉(zhuǎn)動(dòng),
35、但根據(jù)題目要求的時(shí)間和移動(dòng)距離,步進(jìn)電機(jī)完全能夠符合要求,是該種要求下廣泛使用的一種電機(jī)。 基于上述理論分析,我們選擇了方案二。 所選步進(jìn)電機(jī)的型號(hào)為17HS101,同時(shí)考慮降低CPU的負(fù)擔(dān),避免讓CPU來產(chǎn)生步進(jìn)電機(jī)的驅(qū)動(dòng)脈沖節(jié)拍以及驅(qū)動(dòng)步進(jìn)電機(jī)的功率驅(qū)動(dòng)電路,因此我們也直接購(gòu)置與步進(jìn)電機(jī)配對(duì)的驅(qū)動(dòng)器,該驅(qū)動(dòng)器型號(hào)為SH-2H042Mb,為兩相四線式,細(xì)分的步距角有0.045、0.09、0.18、0.36、0.9等5檔。 步進(jìn)電機(jī)的控制非常簡(jiǎn)單,從理論上說,只需給驅(qū)動(dòng)器脈沖信號(hào)即可,每給驅(qū)動(dòng)器一個(gè)CP脈沖,步進(jìn)電機(jī)就旋轉(zhuǎn)一個(gè)步距角(細(xì)分時(shí)為一個(gè)細(xì)分步距角),也就是說步進(jìn)電機(jī)時(shí)時(shí)跟隨CP
36、脈沖的變化。但是實(shí)際上,如果CP信號(hào)變化太快,步進(jìn)電機(jī)由于慣性將跟隨不上電信號(hào)的變化,這時(shí)就會(huì)產(chǎn)生堵轉(zhuǎn)和丟步現(xiàn)象。所以步進(jìn)電機(jī)在啟動(dòng)時(shí),必須有升速過程;在停止時(shí)必須有降速過程,一般來說升速和降速過程規(guī)律相同,以下以升速為例介紹。 升速過程由突跳頻率加升速曲線組成(降速過程反之)。突跳頻率是指步進(jìn)電機(jī)在靜止?fàn)顟B(tài)時(shí)突然施加的脈沖啟動(dòng)頻率,此頻率不可太大,否則也會(huì)產(chǎn)生堵轉(zhuǎn)和丟步。升降速曲線一般為指數(shù)曲線或經(jīng)過修調(diào)的指數(shù)曲線,當(dāng)然也可采用直線或正弦曲線等。用戶需根據(jù)自己的負(fù)載選擇合適的突跳頻率和升降速曲線,找到一條理想的曲線并不容易,一般需要多次‘試機(jī)’才行。指數(shù)曲線在實(shí)際軟件編程中比較麻煩,一
37、般事先算好時(shí)間常數(shù)存貯在計(jì)算機(jī)存貯器內(nèi),工作過程中直接選取。 步進(jìn)電機(jī)的升降速設(shè)計(jì)為控制軟件的主要工作量,其設(shè)計(jì)水平將直接影響電機(jī)運(yùn)行的平穩(wěn)性、升降速快慢、電機(jī)運(yùn)行聲音、最高速度、定位精度。一種特例是:步進(jìn)電機(jī)的運(yùn)行速度不超過突跳頻率,這時(shí)將不存在升降速問題。 2.3系統(tǒng)工作電源的制作 直流穩(wěn)壓電源的制作方案較多,而且可供選擇的余地也較大,我們本著簡(jiǎn)單、實(shí)用、安全、可靠的原則,著重從以下兩個(gè)方案中進(jìn)行了論證選擇: 方案一:采用開關(guān)電源,優(yōu)點(diǎn)是輸出功率大、體積小、效率低;缺點(diǎn)是輸出紋波系數(shù)較大、對(duì)電網(wǎng)易產(chǎn)生干擾。 方案二:采用傳統(tǒng)的線性穩(wěn)壓電源,優(yōu)點(diǎn)是輸出電壓可以隨意調(diào)節(jié)、輸出
38、紋波系數(shù)較?。蝗秉c(diǎn)是效率低、體積大、電路較為復(fù)雜,綜合成本較高。 綜合制作難易程度以及成本和本系統(tǒng)使用實(shí)際情況,我們選用了第一套方案。為了能滿足步進(jìn)電機(jī)驅(qū)動(dòng)器所需供電電壓為單24V/1.7A的要求,我們直接購(gòu)置了24V/6.5A輸出的開關(guān)電源作為步進(jìn)電機(jī)的電源。 開關(guān)電源就是用通過電路控制開關(guān)管進(jìn)行高速的道通與截止.將直流電轉(zhuǎn)化為高頻率的交流電提供給變壓器進(jìn)行變壓,從而產(chǎn)生所需要的一組或多組電壓!主要用于工業(yè)以及一些家用電器上,如電視機(jī),電腦等。 轉(zhuǎn)化為高頻交流電的原因是高頻交流在變壓器變壓電路中的效率要比50HZ高很多。所以開關(guān)變壓器可以做的很小,而且工作時(shí)不是很熱,成本很低,如果不
39、將50HZ變?yōu)楦哳l那開關(guān)電源就沒有意義。 開關(guān)電源的按工作原理包括以下部分: (1).交流電源輸入經(jīng)整流濾波成直流; (2).通過高頻PWM(脈沖寬度調(diào)制)信號(hào)控制開關(guān)管,將那個(gè)直流加到開關(guān)變壓器初級(jí)上; (3).開關(guān)變壓器次級(jí)感應(yīng)出高頻電壓,經(jīng)整流濾波供給負(fù)載; (4).輸出部分通過一定的電路反饋給控制電路,控制PWM占空比,以達(dá)到穩(wěn)定輸出的目的。 交流電源輸入時(shí)一般要經(jīng)過厄流圈一類東西,過濾掉電網(wǎng)上的干擾,同時(shí)也過濾電源對(duì)電網(wǎng)的干擾;在功率相同時(shí),開關(guān)頻率越高,開關(guān)變壓器的體積就越小,但對(duì)開關(guān)管的要求就越高;開關(guān)變壓器的次級(jí)可以有多個(gè)繞組或一個(gè)繞組有多個(gè)抽頭,以得到需要
40、的輸出; 一般還應(yīng)該增加一些保護(hù)電路,比如空載、短路等保護(hù),否則可能會(huì)燒毀開關(guān)電源。 (一)、主電路:從交流電網(wǎng)輸入、直流輸出的全過程,包括: (1)、輸入濾波器:其作用是將電網(wǎng)存在的雜波過濾,同時(shí)也阻礙本機(jī)產(chǎn)生的雜波反饋到公共電網(wǎng)。 (2)、整流與濾波:將電網(wǎng)交流電源直接整流為較平滑的直流電,以供下一級(jí)變換。 (3)、逆變:將整流后的直流電變?yōu)楦哳l交流電,這是高頻開關(guān)電源的核心部分,頻率越高,體積、重量與輸出功率之比越小。 (4)、輸出整流與濾波:根據(jù)負(fù)載需要,提供穩(wěn)定可靠的直流電源。 (二)、控制電路 :一方面從輸出端取樣,經(jīng)與設(shè)定標(biāo)準(zhǔn)進(jìn)行比較,然后去控制逆變器,改變
41、其頻率或脈寬,達(dá)到輸出穩(wěn)定,另一方面,根據(jù)測(cè)試電路提供的資料,經(jīng)保護(hù)電路鑒別,提供控制電路對(duì)整機(jī)進(jìn)行各種保護(hù)措施。 (三)、檢測(cè)電路 :除了提供保護(hù)電路中正在運(yùn)行中各種參數(shù)外,還提供各種顯示儀表資料。 (四)、輔助電源 :提供所有單一電路的不同要求電源。 2.4顯示的選擇 方案一:用LED數(shù)碼管顯示旗幟所在的高度和升降旗時(shí)間,本題中只需要8只LED數(shù)碼管進(jìn)行動(dòng)態(tài)顯示高度、時(shí)間以及運(yùn)動(dòng)狀態(tài),優(yōu)點(diǎn)是接口簡(jiǎn)單,易于控制,而且比較直觀,可視化較強(qiáng)。 方案二:用LED液晶顯示器顯示,優(yōu)點(diǎn)是能顯示更多的字符,有著良好的人機(jī)界面,缺點(diǎn)是控制比較復(fù)雜,性能價(jià)格比較高。 基于上述分析,所以我
42、們選擇方案一。 LED數(shù)碼管分共陽極與共陰極兩種,其工作特點(diǎn)是,當(dāng)筆段電極接低電平,公共陽極接高電平時(shí),相應(yīng)筆段可以發(fā)光。共陰極LED數(shù)碼管則與之相反,它是將發(fā)光二極管的陰極(負(fù)極)短接后作為公共陰極。當(dāng)驅(qū)動(dòng)信號(hào)為高電平、?端接低電平時(shí),才能發(fā)光。 LED的輸出光譜決定其發(fā)光顏色以及光輻射純度,也反映出半導(dǎo)體材料的特性。常見管芯材料有磷化鎵(GaP)、砷化鎵(GaAs)、磷砷化鎵(GaAsP)、氮化鎵(GaN)等,其中氮化鎵可發(fā)藍(lán)光。發(fā)光顏色不僅與管芯材料有關(guān),還與所摻雜質(zhì)有關(guān),因此用同一種管芯材料可以制成發(fā)出紅、橙、黃、綠等不同顏色的數(shù)碼管。其它顏色LED數(shù)碼管的光譜曲線形狀與之相似,僅
43、入,值不同。LED數(shù)碼管的產(chǎn)品中,以發(fā)紅光、綠光的居多、這兩種顏色也比較醒目。 LED數(shù)碼管等效于多只具有發(fā)光性能的PN結(jié)。當(dāng)PN結(jié)導(dǎo)通時(shí),依靠少數(shù)載流子的注人及隨后的復(fù)合而輻射發(fā)光,其伏安特性與普通二極管相似。在正向?qū)ㄖ?,正向電流近似于零,筆段不發(fā)光。當(dāng)電壓超過開啟電壓時(shí),電流就急劇上升,筆段發(fā)光。 3、系統(tǒng)設(shè)計(jì) 3.1系統(tǒng)框圖 根據(jù)題目要求和上述論證,本系統(tǒng)的系統(tǒng)框圖如圖3.1所示: 微控 制器 EEPROM 步進(jìn)電機(jī) 接近開關(guān) LED數(shù)碼顯示 電機(jī)驅(qū)動(dòng)器 無 線遙控 鍵 盤 負(fù)載 鼓風(fēng)機(jī) 定時(shí)
44、電路 圖3.1 系統(tǒng)結(jié)構(gòu)框圖 其中微控制器是單片機(jī)(P89C51RC2HFA),通過鍵盤輸入控制信號(hào),實(shí)現(xiàn)要求的運(yùn)動(dòng)控制,較好地實(shí)現(xiàn)了人機(jī)對(duì)話,并且可以通過LED數(shù)碼管實(shí)時(shí)地顯示運(yùn)動(dòng)狀態(tài),國(guó)旗當(dāng)前運(yùn)動(dòng)所處的高度以及到此高度所用的時(shí)間,升降國(guó)旗時(shí)間在30秒到120秒內(nèi)可調(diào)。同時(shí)也可以設(shè)置國(guó)旗上升的高度。 電機(jī)采用步進(jìn)電機(jī)與其配套的電機(jī)驅(qū)動(dòng)器。步進(jìn)電機(jī)可以根據(jù)算法,按指定的長(zhǎng)度計(jì)算步數(shù)較精確的正轉(zhuǎn)或反轉(zhuǎn)。在國(guó)旗上升與下降的過程中,為防止冒頂事故,用接近開關(guān)來控制升旗停止點(diǎn),通過接近開關(guān)的反饋信號(hào),傳給微控制器,控制電機(jī)的轉(zhuǎn)動(dòng),來防止冒頂事故發(fā)生
45、。 3.2系統(tǒng)硬件設(shè)計(jì) 3.2.1系統(tǒng)主控制電路:(見圖3.2) 圖3.2 系統(tǒng)主控制電路圖 3.2.2復(fù)位電路和步進(jìn)電機(jī)驅(qū)動(dòng): 我們采用P2.3、P2.4控制步進(jìn)電機(jī)。P2.3控制電機(jī)的步進(jìn)脈沖信號(hào),P2.4控制電機(jī)的正反轉(zhuǎn)。復(fù)位包括上電復(fù)位和按鍵復(fù)位。(見圖3.3) 圖3.3 復(fù)位電路和步進(jìn)電機(jī)驅(qū)動(dòng)電路 3.2.3按鍵與顯示電路: 考慮成本、熟悉程度、器件等眾多因素,我們選擇了最常用的74LS164作為顯示器的驅(qū)動(dòng)器件,用74LS165作為鍵盤輸入寄存器,我們?cè)O(shè)置的8個(gè)鍵通過并入串出接口芯片74LS165串行接入到單片機(jī)。(見圖3.4
46、) 圖3.4 按鍵與顯示電路 3.2.4語音電路: 采用微創(chuàng)公司生產(chǎn)的性能良好,使用方便的WT2560語音芯片(見圖3.5)來播放國(guó)歌。WT2560是微創(chuàng)系列單片語音錄放集成電路的一種。這是一種永久記憶型語音錄放電路,錄音時(shí)間為60s,可重復(fù)錄放10萬次。該芯片采用多電平直接模擬量存儲(chǔ)專利技術(shù),每個(gè)采樣值可直接存儲(chǔ)在片內(nèi)單個(gè)EEPOM單元中,因此能夠非常真實(shí)、自然地再現(xiàn)語音、音樂、音調(diào)和效果聲,從而避免了一般固體錄音電路因量化和壓縮造成的量化噪聲和“金屬聲”。該器件的采樣頻率為8.2kHz,同一系列的產(chǎn)品采樣頻率越低錄放時(shí)間越長(zhǎng),但通頻帶和音質(zhì)會(huì)有所降低。此外,WT2560還省去了
47、A/D和D/A轉(zhuǎn)換器。其集成度較高,內(nèi)部包括前置放大器、內(nèi)部時(shí)鐘、定時(shí)器、采樣時(shí)鐘、濾波器、自動(dòng)增益控制、邏輯控制、模擬收發(fā)器、解碼器和480k字節(jié)的EEPOM。WT2560內(nèi)部EEPOM存儲(chǔ)單元均勻分為600行,有600個(gè)地址單元,每個(gè)地址單元指向其中一行,每一個(gè)地址單元的地址分辨率為100ms。此外,WT2560還具備微控制器所需的控制接口。通過操縱地址和控制線可完成不同的任務(wù),以實(shí)現(xiàn)復(fù)雜的信息處理功能,如信息的組合、連接、設(shè)定固定的信息段和信息管理等。WT2560可不分段,也可按最小段長(zhǎng)為單位來任意組合分段。 圖3.5 WT2560/90/120硬封裝引腳圖 我們把國(guó)歌音樂錄制在
48、WT2560語音芯片中,然后用它的單次播放功能播放國(guó)歌。(見圖3.6) 圖3.6 語音錄放電路 3.2.5無線遙控電路 HS2262將A0~A5和A6/D5~A11/D0決定的地址和數(shù)據(jù)進(jìn)行編碼,當(dāng)TE為低電平時(shí),從DOUT輸出編碼信號(hào),編碼信號(hào)提供給RF或IR電路發(fā)射,由RF或IR接收電路接收后,經(jīng)HS2272解碼,實(shí)現(xiàn)遙控編碼和解碼。 一塊無線發(fā)射芯片HS2262和接收芯片HS2272設(shè)計(jì)的電路有4個(gè)輸入信號(hào),完全滿足設(shè)計(jì)要求的3按鍵遙控。 3.2.6定時(shí)電路的設(shè)計(jì) 我們?cè)谙到y(tǒng)的設(shè)計(jì)上,對(duì)題目的功能要求進(jìn)行了發(fā)揮,不僅顯示旗幟運(yùn)動(dòng)時(shí)位置而且顯示運(yùn)動(dòng)時(shí)間,使得系統(tǒng)更加直
49、觀。對(duì)于時(shí)間的控制,盡管CPU內(nèi)部能進(jìn)行定時(shí)控制,但為了提高精度和節(jié)省CPU的資源,我們專門設(shè)計(jì)了外部定時(shí)電路,選擇Intersil公司的實(shí)時(shí)時(shí)鐘芯片ISL12026,它是一款工業(yè)級(jí)內(nèi)含I2C總線接口功能的具有極低功耗的多功能時(shí)鐘/日歷芯片。ISL12026 的多種報(bào)警功能、定時(shí)器功能、時(shí)鐘輸出功能以及中斷輸出功能能完成各種復(fù)雜的定時(shí)服務(wù),甚至可為單片機(jī)提供看門狗功能。內(nèi)部時(shí)鐘電路、內(nèi)部振蕩電路、內(nèi)部低電壓檢測(cè)電路1.0V 以及兩線制I2C 總線通訊方式,不但使外圍電路及其簡(jiǎn)潔,而且也增加了芯片的可靠性。同時(shí)每次讀寫數(shù)據(jù)后,內(nèi)嵌的字地址寄存器會(huì)自動(dòng)產(chǎn)生增量。因而,ISL12026 是一款性價(jià)比
50、極高的時(shí)鐘芯片,它已被廣泛用于電表、水表、氣表、電話、傳真機(jī)、便攜式儀器以及電池供電的儀器儀表等產(chǎn)品領(lǐng)域。X1226具有時(shí)鐘和日歷的功能,時(shí)鐘依賴時(shí)、分、秒寄存器來跟蹤,日歷依賴日期、星期、月和年寄存器來跟蹤,日歷可正確顯示至2099年,并具有自動(dòng)閏年修正功能。擁有強(qiáng)大的雙報(bào)警功能,能夠被設(shè)置到任何時(shí)鐘/日歷值上,精確度可到1秒。可用軟件設(shè)置1Hz、4096Hz或32768Hz中任意一個(gè)頻率輸出。由于系統(tǒng)只對(duì)物體的運(yùn)動(dòng)計(jì)時(shí),我們只運(yùn)用32分頻脈沖輸出即可,該方波信號(hào)1/32 S向CPU申請(qǐng)一次中斷,CPU在中斷服務(wù)程序中,對(duì)運(yùn)動(dòng)的時(shí)間加1處理并顯示。ISL12026有16個(gè)8位寄存器,其中包括
51、:可自動(dòng)增量的地址寄存器、內(nèi)置32.768kHz的振蕩器(帶有一個(gè)內(nèi)部集成電容)、分頻器(用于給實(shí)時(shí)時(shí)鐘RTC提供源時(shí)鐘)、可編程時(shí)鐘輸出、定時(shí)器、報(bào)警器、掉電檢測(cè)器和400kHz的I2C總線接口。 -----X1226提供一個(gè)備份電源輸入腳VBACK,允許器件用電池或大容量電容進(jìn)行備份供電。采用電容供電時(shí),用一個(gè)硅或肖特基二極管連接到Vcc和充電電容的兩端,充電電容連接到Vback管腳,注意不能使用二極管對(duì)電池充電(特別是鋰離子電池)。切換到電池供電的條件是Vcc=Vback-0.1V,正常操作期間,供電電壓Vcc必須高于電池電壓,否則電池電量將逐步耗盡。振蕩器采用外接32.768kH的晶
52、體,產(chǎn)生的振蕩誤差可通過軟件對(duì)數(shù)字微調(diào)寄存器、模擬微調(diào)寄存器的數(shù)值進(jìn)行調(diào)節(jié)加以修正,避免了外接電阻和電容的離散性對(duì)精度的影響。4Kb的EEPROM可用于存儲(chǔ)戶數(shù)據(jù)。 所有16個(gè)寄存器設(shè)計(jì)成可尋址的8位并行寄存器,但不是所有位都有用。當(dāng)一個(gè)RTC寄存器被讀時(shí),所有計(jì)數(shù)器的內(nèi)容將被鎖存,因此,在傳送條件下,可以禁止對(duì)時(shí)鐘/日歷芯片的錯(cuò)讀。(見圖3.7) 圖3.7 ISL12026定時(shí)電路 圖3.7 AT24電路 3.2.7接近開關(guān)電路的設(shè)計(jì) 兩個(gè)接近開關(guān)在國(guó)旗到達(dá)頂部或者下降到底部時(shí)輸出較高的電壓,沒有時(shí)輸出一個(gè)較低的電壓,通過LM324進(jìn)行電壓比較,檢測(cè)到黑線時(shí),輸出為
53、“1”,否則為“0”。單片機(jī)的P0口接收到這些信號(hào)后,通過邏輯判斷來判斷電機(jī)的動(dòng)作,讓物體沿著預(yù)定軌道運(yùn)行。檢測(cè)接口硬件電路見圖3.8 圖3.8 接近開關(guān)電路 3.3軟件設(shè)計(jì) 整個(gè)系統(tǒng)主要任務(wù)是使國(guó)旗執(zhí)行升降旗、半旗、時(shí)間調(diào)整、高度調(diào)整四種運(yùn)動(dòng),這樣系統(tǒng)軟件設(shè)計(jì)就可以分塊完成。主程序部分,主要是查鍵盤,通過查鍵,檢測(cè)應(yīng)該做什么運(yùn)動(dòng),鍵值不同調(diào)用不同的子程序。子程序包括上、下運(yùn)動(dòng)、半旗、運(yùn)動(dòng)時(shí)間調(diào)整和高度調(diào)整等。 3.3.1主程序 主程序主要用于處理鍵盤和顯示程序,流程圖如圖3.9所示 3.3.2升旗子程序 主程序如在執(zhí)行過程中,掃描到升旗鍵被按下,將自動(dòng)調(diào)用升旗子程序,實(shí)
54、現(xiàn)升旗功能并在升旗過程中伴隨國(guó)歌響起,流程圖如圖3.10所示 3.3.3半旗狀態(tài)子程序 和升旗子程序類似,當(dāng)主程序掃描到半旗鍵被按下,將自動(dòng)調(diào)用半旗狀態(tài)子程序,實(shí)現(xiàn)半旗狀態(tài)功能并在上升過程中伴隨國(guó)歌響起,流程圖如圖3.11所示 3.3.4時(shí)間和高度調(diào)整子程序 在題目中要求升降旗的速度是可調(diào)整的,時(shí)間和高度調(diào)整的子程序分別如圖3.12和圖3.13所示。 附圖:流程圖部分 通電 初始化 掉電處理 鍵盤掃描 有鍵按下? 鍵處理 N Y 圖3.9 主程序流程圖 鍵處理
55、 Y YY yy Y YY yy N N N 按鍵處理 升旗? 半旗? 調(diào)節(jié)時(shí)間? 調(diào)節(jié)高度? 升旗子程序 半旗子程序 調(diào)時(shí)間子程序 調(diào)高度子程序 Y YY yy Y YY yy 圖3.10 按鍵處理子程序流程圖 圖3.11 升旗處理子程序流程圖 N Y 半旗 國(guó)歌響 國(guó)旗先上升到頂國(guó)歌響停 下降到三分之二處 下降鍵? 先上升到頂后下降到底 返回 圖3.12 半旗按鍵處理子程序流程圖 N Y 升旗 步進(jìn)電機(jī)
56、正轉(zhuǎn) 國(guó)歌響 國(guó)旗上升到頂 下降鍵? 國(guó)旗下降到底 返回 N N Y N Y Y N N N Y Y 調(diào)整時(shí)間鍵 加鍵? 減鍵? 時(shí)間鍵? 加1s 減1s 上升鍵? 旗上升 下降鍵? 時(shí)間鍵 旗下降 返回 確認(rèn) 取消 圖3.13 時(shí)間調(diào)整子程序流程圖 Y 旗下降 旗上升 圖3.14 設(shè)置高度子程序流程圖 Y N 下
57、降鍵? 旗下降 返回 Y N N Y N N Y N Y 調(diào)整高度鍵 加鍵? 減鍵? 加0.02cm 減0.02cm 高度鍵? 上升鍵? 旗上升 高度鍵? 確認(rèn) 取消 旗上升 旗下降 先上升60后下降180 掉電處理 讀2416 高度為120cm? 高度為180cm? 高度為0cm? 其他高度? 返回 N N N N Y Y Y 下降鍵? N Y Y 下降鍵? N 下降180 下降至0cm 圖3.
58、15 上電子程序流程圖 4、系統(tǒng)原理與理論分析 4.1單片機(jī)最小系統(tǒng)組成 單片機(jī)系統(tǒng)是整個(gè)自動(dòng)控制升降旗系統(tǒng)的核心部分,它主要用于鍵盤按鍵或遙控管理、步進(jìn)電機(jī)控制國(guó)旗的升降與國(guó)歌同步、升降旗時(shí)間調(diào)整。整個(gè)系統(tǒng)主要包括P89C51RC2HFA單片機(jī)、步進(jìn)電機(jī)、步進(jìn)電機(jī)驅(qū)動(dòng)器、鼓風(fēng)機(jī)、無線遙控、數(shù)碼管顯示譯碼芯片74LS164與74LS165等器件。 4.2控制原理 4.2.1步進(jìn)電機(jī)驅(qū)動(dòng)脈沖數(shù)的計(jì)算 實(shí)現(xiàn)本系統(tǒng)的控制,關(guān)鍵在于將國(guó)旗升降高度與控制電機(jī)的轉(zhuǎn)向及回轉(zhuǎn)角度對(duì)應(yīng)起來,二者緊密配合
59、,最終實(shí)現(xiàn)對(duì)國(guó)旗升降的運(yùn)動(dòng)控制??刂齐姍C(jī)的轉(zhuǎn)向就可以控制國(guó)旗上升和下降,為了準(zhǔn)確實(shí)現(xiàn)可變的時(shí)間和高度控制的勻速升降,需要精確計(jì)算在一定人眼不能識(shí)別的時(shí)間內(nèi)的步進(jìn)電機(jī)的脈沖數(shù)。 步進(jìn)電機(jī)我們選用的細(xì)分的步進(jìn)角0.9度的檔,步進(jìn)電機(jī)的定軸直徑為1.27324cm,則每步拉出的線長(zhǎng)為0.02㎝,完全符合精度的要求。 高度可調(diào)步長(zhǎng)為1㎝,可調(diào)時(shí)間間隔為1s。在程序設(shè)計(jì)中,我們運(yùn)用時(shí)間精度很高的ISL12026產(chǎn)生34Hz的中斷脈沖送給我們單片機(jī)的外部中斷1。 在整個(gè)上升或下降過程中,高度(high)為總高度,可通過公式: 步進(jìn)電機(jī)要轉(zhuǎn)動(dòng)的總步數(shù): 總步數(shù)=高度(high)/0.02; 分
60、次轉(zhuǎn)動(dòng)的次數(shù)為: 次數(shù)=總時(shí)間(time)*32; 每(1/32s)走的步數(shù): 步數(shù)=總步數(shù)/次數(shù); 除后余數(shù)的步數(shù)為: 余步數(shù)=總步數(shù)%次數(shù)。 這樣步進(jìn)電機(jī)在轉(zhuǎn)動(dòng)時(shí)需要沒1/32s走一次,系統(tǒng)不可避免地會(huì)出現(xiàn)余數(shù)的現(xiàn)象,這里我們采用插補(bǔ)補(bǔ)償?shù)姆椒▉斫鉀Q這個(gè)問題。處理思路為:我們分兩種情況考慮,當(dāng)余步數(shù)為0時(shí),每次按計(jì)算的步數(shù)運(yùn)轉(zhuǎn)一定的次數(shù)就能滿足要求;當(dāng)余步數(shù)不為0時(shí),先在循環(huán)程序中分余步數(shù)次運(yùn)轉(zhuǎn)步數(shù)的基礎(chǔ)上再加一次,然后再按正常的步數(shù)轉(zhuǎn)動(dòng)。開始運(yùn)動(dòng)時(shí)打開外部中斷,結(jié)束后等待中斷到來再進(jìn)入下一次循環(huán)。上升和下降的原理類似。 在步進(jìn)電機(jī)運(yùn)動(dòng)的過
61、程中,實(shí)時(shí)顯示運(yùn)動(dòng)時(shí)間和所在位置,并不斷保護(hù)現(xiàn)場(chǎng)數(shù)據(jù),存放于ISL12026中。 4.2.2國(guó)旗運(yùn)動(dòng)的控制 在主程序中,循環(huán)查鍵和無線遙控信號(hào)(隨后有詳細(xì)介紹)。系統(tǒng)的按鍵共有9個(gè),其中上升鍵、下降鍵、半旗鍵、調(diào)時(shí)間鍵、調(diào)高度鍵和暫停鍵為優(yōu)先掃描鍵,而增量鍵和減量鍵為配合使用鍵,復(fù)位鍵則為高級(jí)中斷鍵。 (1)“上升鍵”按下時(shí),對(duì)WT2560輸出播音控制信號(hào)播放國(guó)歌,國(guó)旗經(jīng)43s的時(shí)間勻速上升至旗桿頂端,國(guó)歌播放完畢。此時(shí)程序只掃描下降鍵,下降鍵按下有效時(shí),國(guó)旗經(jīng)43s的時(shí)間勻速下降至地端。 (2)“半旗鍵”按下時(shí),對(duì)WT2560輸出播音控制信號(hào)播放國(guó)歌,國(guó)旗經(jīng)43s的時(shí)間勻速?gòu)淖畹投松?/p>
62、升到最高端之后,國(guó)歌停奏,然后自動(dòng)經(jīng)14s的時(shí)間勻速下降到總高度的2/3高度處(120cm)停止;此時(shí)程序只掃描下降鍵,下降鍵按下時(shí),可以使國(guó)旗先從2/3高度處經(jīng)14s的時(shí)間勻速上升到最高端,再自動(dòng)從最高端經(jīng)43s的時(shí)間勻速下降到底之后自動(dòng)停止,此時(shí)國(guó)歌停奏。 (3)“調(diào)時(shí)間鍵”按下時(shí),此時(shí)第二優(yōu)先級(jí)的增量鍵、減量鍵、調(diào)時(shí)間鍵有效,時(shí)間可以通過加減鍵以1s步長(zhǎng)設(shè)置,范圍為30s-120s,加減鍵可單按,也可連加連減。如第二次按下調(diào)時(shí)間鍵時(shí),時(shí)間調(diào)整確認(rèn),此時(shí)上升鍵有效,當(dāng)按上升鍵時(shí),國(guó)旗以設(shè)定時(shí)間勻速上升,國(guó)歌不演奏,當(dāng)?shù)竭_(dá)頂端時(shí)等待下降鍵按下,下降鍵按下后以同樣的速度下降至底端,程序返回。
63、如果不是上升鍵按下,不演示時(shí)間調(diào)整的運(yùn)動(dòng)過程,而調(diào)時(shí)間鍵第三次按下時(shí),時(shí)間調(diào)整取消。返回掃描鍵程序。 (4)“設(shè)置高度鍵”按下時(shí),此時(shí)第二優(yōu)先級(jí)的增量鍵、減量鍵、調(diào)高度鍵有效,高度可單按鍵或連加連減,高度的調(diào)整范圍為1cm-180cm,如第二次按下調(diào)高度鍵時(shí),高度調(diào)整確認(rèn),此時(shí)上升鍵有效,如果此時(shí)按下上升鍵時(shí),此時(shí)國(guó)旗上升到達(dá)設(shè)定的位置,所用時(shí)間為(高度/4)s,此時(shí)國(guó)歌也不演奏。到達(dá)設(shè)定的位置后,等待上升鍵,上升鍵按下時(shí),國(guó)旗以同樣的速度下降至底端,程序返回。不是上升鍵按下而是調(diào)高度鍵第三次按下時(shí),高度設(shè)置取消,程序返回至查鍵程序。 (5)復(fù)位鍵”任何條件下都有效,當(dāng)按下時(shí),系統(tǒng)會(huì)恢復(fù)原
64、始狀態(tài)。此鍵主要用于程序跑飛的情況下。 上述的按鍵,不同的優(yōu)先級(jí)是它們具有不同的使能有效時(shí)段,這樣在操作過程中不會(huì)因?yàn)檎`操作而產(chǎn)生影響。 4.2.3掉電現(xiàn)場(chǎng)的保護(hù) 掉電現(xiàn)場(chǎng)的保護(hù)主要包括兩個(gè)方面:一是斷掉電后國(guó)旗位置不變,二是斷掉電之后重新合上電源,旗幟所在的高度數(shù)據(jù)顯示不變。前者的保護(hù)措施是通過使用電磁閥緊急滯動(dòng)來實(shí)現(xiàn),在正常情況下,電磁閥處于吸合狀態(tài);而在掉電情況下,它則丟失磁力彈出磁片阻止電機(jī)運(yùn)轉(zhuǎn),從而使國(guó)旗的位置保持原位。后者則是為了保障斷電后再次加電時(shí),國(guó)旗所在的高度和數(shù)據(jù)顯示不變。在每次中斷數(shù)據(jù)改變時(shí),把國(guó)旗所在的精確位置和狀態(tài)寫在ISL12026中。 在下次上電時(shí),首先讀
65、ISL12026的數(shù)據(jù),檢查國(guó)旗所在的位置。細(xì)分狀態(tài)如下: A.如果在0cm位置,不做處理。 B.如果在180cm位置,此時(shí)為升旗狀態(tài)上升的最高點(diǎn),查詢下降鍵,等待下降鍵按下。當(dāng)下降鍵按下時(shí),國(guó)旗經(jīng)過43s的時(shí)間勻速下降至0cm最低端處。 C.如果在120cm位置,此時(shí)為半旗狀態(tài)上升的停止點(diǎn),則查詢下降鍵,等待下降鍵按下。當(dāng)下降鍵按下時(shí),國(guó)旗經(jīng)過14s的時(shí)間先升至最高點(diǎn)180cm,后經(jīng)過43s的時(shí)間下降至0cm最低端處。 D.在其它任意位置,上電后,直接自動(dòng)下降至最低點(diǎn),所需時(shí)間為(高度/4)s,不需要鍵控制。 這整個(gè)過程中,ISL12026所存的位置數(shù)據(jù)一定要精確,確保不出現(xiàn)誤差積
66、累現(xiàn)象。 4.2.4無線遙控 無線遙控升、降旗及停止功能,設(shè)計(jì)在鍵盤掃描狀態(tài)中,同時(shí)掃描遙控輸入狀態(tài),無線遙控控制國(guó)旗的上升、下降和暫停。 我們選用的無線模塊控制范圍為200m,為了防止外部遙控器的干擾,我們對(duì)SC2272-L4和SC2262設(shè)置相同的地址,屏蔽其它相同類型控制器的干擾。 國(guó)旗運(yùn)動(dòng)時(shí)的停止功能,在32Hz中斷中查詢是否有暫停鍵包括無線遙控中的暫停按鍵按下,如有暫停按鍵按下,關(guān)外部中斷,等待停止鍵再次按下后繼續(xù)工作。 4.2.5端點(diǎn)保護(hù)控制 利用接近開關(guān)檢測(cè)端點(diǎn),當(dāng)國(guó)旗上升到頂端時(shí),接近開關(guān)輸出控制信號(hào),斷開電源,同時(shí)電磁閥動(dòng)作抱閘,實(shí)現(xiàn)雙保險(xiǎn)功能。 4.2.6創(chuàng)新功能 A.檢測(cè)端點(diǎn)功能。在頂端和最低端安裝接近開關(guān),為防止程序跑飛和干擾,程序檢測(cè)到頂端接近開關(guān)有信號(hào)時(shí),強(qiáng)制步進(jìn)電機(jī)制動(dòng)國(guó)旗不再上升;程序檢測(cè)到最低端接近開關(guān)有信號(hào)時(shí),強(qiáng)制步進(jìn)電機(jī)制動(dòng)國(guó)旗不再下降。 B.抱閘功能。用電磁閥制作一個(gè)停電或斷電自動(dòng)抱閘功能,根據(jù)電磁閥的原理,220交流電有電時(shí),線圈有磁,鐵心彈出頂住定滑輪制動(dòng),保證
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。