自動升降旗系統(tǒng)
山東科技大學摘 要本設(shè)計是關(guān)于自動控制升降旗系統(tǒng)的設(shè)計。本著實用、調(diào)整控制方便、功能完善等方面的原則,采用在線編程、功能強大的單片機P89C51RC2HFA來控制步進電機,實現(xiàn)國旗的自動升降等功能。在步進電機的驅(qū)動電路上直接選用了模塊化的控制器,大大減輕了CPU的負擔,也完全符合快速設(shè)計的原則。本系統(tǒng)設(shè)計了實現(xiàn)精確定時的時鐘電路和用于掉電保護的存儲電路,同時還設(shè)計了功能齊全的鍵盤/顯示電路和使國旗飄揚的鼓風電路以及遙控電路。該系統(tǒng)具有以下特點:可按鍵、可遙控自動控制升旗和降旗,并在任意指定位置自動停止,升旗過程中能準確與國歌樂曲同步;實現(xiàn)半旗狀態(tài)的功能;具有斷電保護功能;升降速度可調(diào)功能;還具有無線遙控的作用等特點。需要設(shè)定的升、降過程以及半旗狀態(tài)是通過按鍵實現(xiàn),并能顯示上升或下降時間和旗幟所在高度。本系統(tǒng)的創(chuàng)新點包括:防止升降旗過程中出現(xiàn)冒頂系統(tǒng);國旗到達頂點時,旗面保持迎風飄揚而不纏桿。在實現(xiàn)以上功能的過程中,升降旗時間在30120秒內(nèi)可調(diào),通過改變步進電機的轉(zhuǎn)動速度來改變旗幟上升或下降的速度,并通過LED顯示上升或下降時間和旗幟所在高度。旗幟達到頂端后,由鼓風機提供風源使旗幟始終處于飄揚的狀態(tài)。測試表明,該自動控制升降旗系統(tǒng)達到了題目所有的任務(wù)要求,同時在發(fā)揮部分的設(shè)計要求之上,我們還提出了具有特色的創(chuàng)新點。在操作方便和誤差較小的基礎(chǔ)上,保證了系統(tǒng)完整協(xié)調(diào)地工作。關(guān)鍵字: 自動控制;斷電保護;無線遙控;冒頂ABSTRACTThe 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. Stepper 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 functional 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-raising 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 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 functions, 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 state 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 coordinate. Keyword: Automatic control; Wireless remote control; Power outages protective; Rising emerged目 錄摘要 1ABSTRACT 2目錄 41.設(shè)計總體要求 62.方案的比較與選擇 72.1單片機的選擇 72.2電機的選擇 142.3系統(tǒng)工作電源的制作 162.4顯示的選擇 183.系統(tǒng)設(shè)計 203.1 系統(tǒng)框圖 203.2系統(tǒng)硬件設(shè)計 213.3軟件設(shè)計 294、系統(tǒng)原理與理論分析 364.1單片機最小系統(tǒng)組成 364.2控制原理 365、操作說明 415.1數(shù)碼管顯示說明 415.2按鍵操作說明 425.3具體操作方法和實現(xiàn)的功能 436、系統(tǒng)調(diào)試與測試結(jié)果 46 6.1系統(tǒng)分塊調(diào)試 466.2測試結(jié)果 466.3誤差分析 497、特色與創(chuàng)新 508、參考文獻 519、致謝辭 52附錄:部分芯片簡介中英文對照 531.設(shè)計總體要求采用P89C51RC2HFA單片機、步進電機、WT2560語音芯片、時鐘芯片X1226I、顯示電路、遙控電路、按鍵等基本的部分組成的控制國旗升降系統(tǒng)。采用由單片機控制的步進電機帶動國旗升降,實現(xiàn)對國旗升降的自動控制。采用接近開關(guān)FR12-4DN,防止旗幟在最高點或最低點誤動作,從而實現(xiàn)了雙重保險的作用。使用抱閘裝置保證步進電機在不通電的時候靜止不動。本系統(tǒng)應(yīng)實現(xiàn)以下特點:(1)可手動、可遙控。即可以通過按鍵來控制旗幟的勻速升降,也可以通過遙控器來實現(xiàn)遠距離控制;(2)可以按照用戶的要求上升或下降到指定位置,并可在任意位置停止;(3)國旗在上升過程中能準確與國歌樂曲同步;(4)能實現(xiàn)半旗的升降功能;(5)具有斷電保護功能;在實現(xiàn)以上功能的過程中,升降旗時間在30120秒內(nèi)可調(diào),通過改變步進電機的轉(zhuǎn)動速度來改變旗幟上升或下降的速度,并通過LED顯示上升或下降時間和旗幟所在高度。旗幟達到頂端后,由鼓風機提供風源使旗幟始終處于飄揚的狀態(tài)。2.方案的比較與選擇2.1單片機的選擇單片機(即CPU)是本系統(tǒng)的工作核心,它的選擇不僅關(guān)系到系統(tǒng)的工作效率,同時也為系統(tǒng)的工作提供可靠的保障,因此CPU的選擇是系統(tǒng)的關(guān)鍵所在。方案一:采用AT89C51單片機實現(xiàn),單片機軟件編程自由度大,可用編程實現(xiàn)各種控制算法和邏輯控制。但是AT89C51需外接模數(shù)轉(zhuǎn)換器來滿足數(shù)據(jù)采樣,硬件電路相對復雜。另外,增強型單片機在線操作不易掌握,需要用仿真器來實現(xiàn)軟硬件調(diào)試,較為繁瑣。方案二:采用P89C51RC2HFA單片機實現(xiàn),該單片機內(nèi)部資源豐富,集成了內(nèi)部看門狗、雙數(shù)據(jù)指針、在線系統(tǒng)編程(串行下載目標程序)等功能,軟硬件調(diào)試方便。P89C51RC2HFA簡介:P89C51RB2/RC2/RD2 具有16K/32K/64K 并行可編程的非易失性FLASH 程序存儲器并可實現(xiàn)對器件串行在系統(tǒng)編程ISP 和在應(yīng)用中編程(IAP) 在系統(tǒng)編程ISP In-System Programming 當MCU 安裝在用戶板上時允許用戶下載新的代碼在應(yīng)用中編程IAP In-Application Programming MCU 可以在系統(tǒng)中獲取新代碼并對自己重新編程這種方法允許通過調(diào)制解調(diào)器連接進行遠程編程片內(nèi)ROM 中固化的默認的加載程序Boot Loader 允許ISP 通過UART 將程序代碼裝入Flash 存儲器而Flash 代碼中,而不需要加載程序?qū)τ贗AP 用戶程序擦除和重編程Flash Memory 的操作是通過使用片內(nèi)ROM 中的標準程序,該器件的1 個機器周期由6 個時鐘周期組成因此運行速度是傳統(tǒng)80C51 的2 倍一個OTP 配置位可讓用戶選擇傳統(tǒng)的12 時鐘周期該系列單片機是80C51 微控制器的派生器件是采用先進CMOS 工藝制造的8 位微控制器指令系統(tǒng)與80C51 完全相同,有4 組8 位I/O 口3 個16 位定時/計數(shù)器多個中斷源4 個中斷優(yōu)先級嵌套中斷結(jié)構(gòu)1 個增強型UART 片內(nèi)振蕩器及時序電路,新增的特性使得89C51RB2/RC2/RD2 成為功能更強大的微控制器更好地支持應(yīng)用于脈寬調(diào)制高速I/O 遞增/遞減計數(shù)能力如電機控制等場合。l 80C51 核心處理單元;l 具有ISP 和IAP 功能的片內(nèi)FLASH 程序存儲器;l 片內(nèi)Boot ROM 包含底層FLASH 編程子程序以實現(xiàn)通過UART 下載程序;l 可實現(xiàn)最終用戶應(yīng)用的編程IAP;l 與87C51 兼容的并行編程硬件接口;l 每個機器周期為6 個時鐘周期標準;l 可選擇12 個時鐘周期的機器周期;l 采用6 時鐘周期時頻率可高達20MHz 相當于40MHz 采用12 時鐘周期時頻率可達33MHz;l 全靜態(tài)操作;l RAM 可擴展到64K 字節(jié);l 4 個中斷優(yōu)先級;l 7 個中斷源;l 4 個8 位I/O 口;l 全雙工增強型UART;幀錯誤檢測;自動地址識別;l 電源控制模式時鐘可停止和恢復空閑模式掉電模式l 可編程時鐘輸出;l 異步端口復位;l 雙DHSR 寄存器;l 低EMI 禁止ALE;l 可編程計數(shù)器陣列PCA。PWM捕獲/比較。 P89C51RC2HFA是一種低功耗、高性能CMOS8位微控制器,具有8K 在系統(tǒng)可編程Flash 存儲器。使用philips 公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51 產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得P89C51RC2HFA眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。圖 2.1 P89C51RC2HFA管腳圖 P89C51RC2HFA具有以下標準功能: 8k字節(jié)Flash,256字節(jié)RAM,32 位I/O 口線,看門狗定時器,2 個數(shù)據(jù)指針,兩個16 位定時器/計數(shù)器,一個6向量2級中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時鐘電路。另外,P89C51RC2HFA 可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。空閑模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機一切工作停止,直到下一個中斷或硬件復位為止。 8 位微控制器(見圖 2.1)(1)VCC : 電源GND: 地P0 口:P0口是一個8位漏極開路的雙向I/O口。作為輸出口,每位能驅(qū)動8個TTL邏輯電平。對P0端口寫“1”時,引腳用作高阻抗輸入。當訪問外部程序和數(shù)據(jù)存儲器時,P0口也被作為低8位地址/數(shù)據(jù)復用。在這種模式下,P0具有內(nèi)部上拉電阻。在flash編程時,P0口也用來接收指令字節(jié);在程序校驗時,輸出指令字節(jié)。程序校驗時,需要外部上拉電阻。P1 口:P1 口是一個具有內(nèi)部上拉電阻的8 位雙向I/O 口,p1 輸出緩沖器能驅(qū)動4 個TTL 邏輯電平。對P1 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。此外,P1.0和P1.2分別作定時器/計數(shù)器2的外部計數(shù)輸入(P1.0/T2)和時器/計數(shù)器2的觸發(fā)輸入(P1.1/T2EX),具體如下表所示。在flash編程和校驗時,P1口接收低8位地址字節(jié)。(2)引腳號第二功能P1.0 T2(定時器/計數(shù)器T2的外部計數(shù)輸入),時鐘輸出P1.1 T2EX(定時器/計數(shù)器T2的捕捉/重載觸發(fā)信號和方向控制)P1.5 MOSI(在系統(tǒng)編程用)P1.6 MISO(在系統(tǒng)編程用)P1.7 SCK(在系統(tǒng)編程用)P2 口:P2 口是一個具有內(nèi)部上拉電阻的8 位雙向I/O 口,P2 輸出緩沖器能驅(qū)動4 個TTL 邏輯電平。對P2 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。在訪問外部程序存儲器或用16位地址讀取外部數(shù)據(jù)存儲器(例如執(zhí)行MOVX DHSR)時,P2 口送出高八位地址。在這種應(yīng)用中,P2 口使用很強的內(nèi)部上拉發(fā)送1。在使用8位地址(如MOVX RI)訪問外部數(shù)據(jù)存儲器時,P2口輸出P2鎖存器的內(nèi)容。在flash編程和校驗時,P2口也接收高8位地址字節(jié)和一些控制信號。P3 口:P3 口是一個具有內(nèi)部上拉電阻的8 位雙向I/O 口,p2 輸出緩沖器能驅(qū)動4 個TTL 邏輯電平。對P3 端口寫“1”時,內(nèi)部上拉電阻把端口拉高,此時可以作為輸入口使用。作為輸入使用時,被外部拉低的引腳由于內(nèi)部電阻的原因,將輸出電流(IIL)。P3口亦作為P89C51RC2HFA特殊功能(第二功能)使用,如下表所示。在flash編程和校驗時,P3口也接收一些控制信號。 引腳號第二功能P3.0 RXD(串行輸入)P3.1 TXD(串行輸出)P3.2 INT0(外部中斷0)P3.3 INT0(外部中斷0)P3.4 T0(定時器0外部輸入)P3.5 T1(定時器1外部輸入)P3.6 WR(外部數(shù)據(jù)存儲器寫選通)P3.7 RD(外部數(shù)據(jù)存儲器寫選通)RST: 復位輸入。晶振工作時,RST腳持續(xù)2 個機器周期高電平將使單片機復位。看門狗計時完成后,RST 腳輸出96 個晶振周期的高電平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能無效。DISRTO默認狀態(tài)下,復位高電平有效。ALE/PROG:地址鎖存控制信號(ALE)是訪問外部程序存儲器時,鎖存低8 位地址的輸出脈沖。在flash編程時,此引腳(PROG)也用作編程輸入脈沖。在一般情況下,ALE 以晶振六分之一的固定頻率輸出脈沖,可用來作為外部定時器或時鐘使用。然而,特別強調(diào),在每次訪問外部數(shù)據(jù)存儲器時,ALE脈沖將會跳過。如果需要,通過將地址為8EH的SFR的第0位置“1”,ALE操作將無效。這一位置“1”,ALE 僅在執(zhí)行MOVX 或MOVC指令時有效。否則,ALE 將被微弱拉高。這個ALE 使能標志位(地址為8EH的SFR的第0位)的設(shè)置對微控制器處于外部執(zhí)行模式下無效。PSEN:外部程序存儲器選通信號(PSEN)是外部程序存儲器選通信號。當P89C51RC2HFA從外部程序存儲器執(zhí)行外部代碼時,PSEN在每個機器周期被激活兩次,而在訪問外部數(shù)據(jù)存儲器時,PSEN將不被激活。EA/VPP:訪問外部程序存儲器控制信號。為使能從0000H 到FFFFH的外部程序存儲器讀取指令,EA必須接GND。為了執(zhí)行內(nèi)部程序指令,EA應(yīng)該接VCC。在flash編程期間,EA也接收12伏VPP電壓。XTAL1:振蕩器反相放大器和內(nèi)部時鐘發(fā)生電路的輸入端。XTAL2:振蕩器反相放大器的輸出端。 (3)P89C51RC2HFA 特殊寄存器映象及復位值特殊功能寄存器 并不是所有的地址都被定義了。片上沒有定義的地址是不能用的。讀這些地址,一般將得到一個隨機數(shù)據(jù);寫入的數(shù)據(jù)將會無效。用戶不應(yīng)該給這些未定義的地址寫入數(shù)據(jù)“1”。由于這些寄存器在將來可能被賦予新的功能,復位后,這些位都為“0”。定時器2 寄存器:寄存器T2CON 和T2MOD 包含定時器2 的控制位和狀態(tài)位,寄存器對RCAP2H和RCAP2L是定時器2的捕捉/自動重載寄存器。中斷寄存器:各中斷允許位在IE寄存器中,六個中斷源的兩個優(yōu)先級也可在IE中設(shè)置。 (4)T2CON:定時器/計數(shù)器2控制寄存器T2CON 地址為0C8H 復位值:0000 0000B位可尋址TF2 EXF2 RLCLK TCLK EXEN2 TR27 6 5 4 3 2 1 0符號功能TF2 定時器2 溢出標志位。必須軟件清“0”。RCLK=1 或TCLK=1 時,TF2不用置位。EXF2 定時器2 外部標志位。EXEN2=1 時,T2EX 上的負跳變而出現(xiàn)捕捉或重載時,EXF2 會被硬件置位。定時器2 打開,EXF2=1 時,將引導CPU執(zhí)行定時器2 中斷程序。EXF2 必須如見清“0”。在向下/向上技術(shù)模式(DCEN=1)下EXF2不能引起中斷。RCLK 串行口接收數(shù)據(jù)時鐘標志位。若RCLK=1,串行口將使用定時器2 溢出脈沖作為串行口工作模式1 和3 的串口接收時鐘;RCLK0,將使用定時器1計數(shù)溢出作為串口接收時鐘。TCLK 串行口發(fā)送數(shù)據(jù)時鐘標志位。若TCLK=1,串行口將使用定時器2 溢出脈沖作為串行口工作模式1 和3 的串口發(fā)送時鐘;TCLK0,將使用定時器1計數(shù)溢出作為串口發(fā)送時鐘。EXEN2 定時器2外部允許標志位。當EXEN2=1時,如果定時器2沒有用作串行時鐘,T2EX(P1.1)的負跳變見引起定時器2 捕捉和重載。若EXEN20,定時器2將視T2EX端的信號無效TR2 開始/停止控制定時器2。TR2=1,定時器2開始工作定時器2 定時/計數(shù)選擇標志位。0,定時; 1,外部事件計數(shù)(下降沿觸發(fā))捕捉/重載選擇標志位。當EXEN2=1時, 1,T2EX出現(xiàn)負脈沖,會引起捕捉操作;當定時器2溢出或EXEN2=1時T2EX出現(xiàn)負跳變,都會出現(xiàn)自動重載操作。0 將引起T2EX 的負脈沖。當RCKL=1或TCKL1時,此標志位無效,定時器2溢出時,強制做自動重載操作。雙數(shù)據(jù)指針寄存器:為了更有利于訪問內(nèi)部和外部數(shù)據(jù)存儲器,系統(tǒng)提供了兩路16位數(shù)據(jù)指針寄存器:位于SFR中82H83H的DP0和位于84H85。特殊寄存器AUXR1中DPS0 選擇DP0;DPS=1 選擇DP1。用戶應(yīng)該在訪問數(shù)據(jù)指針寄存器前先初始化 (5)存儲器結(jié)構(gòu) MCS-51器件有單獨的程序存儲器和數(shù)據(jù)存儲器。外部程序存儲器和數(shù)據(jù)存儲器都可以64K尋址。 程序存儲器:如果EA引腳接地,程序讀取只從外部存儲器開始。 對于P89C51RC2HFA 89S52,如果EA 接VCC,程序讀寫先從內(nèi)部存儲器(地址為0000H1FFFH)開始,接著從外部尋址,尋址地址為:2000HFFFFH。 數(shù)據(jù)存儲器:P89C51RC2HFA 有256 字節(jié)片內(nèi)數(shù)據(jù)存儲器。高128 字節(jié)與特殊功能寄存器重疊。也就是說高128字節(jié)與特殊功能寄存器有相同的地址,而物理上是分開的。 當一條指令訪問高于7FH 的地址時,尋址方式?jīng)Q定CPU 訪問高128 字節(jié)RAM 還是特殊功能寄存器空間。直接尋址方式訪問特殊功能寄存器(SFR)。例如,下面的直接尋址指令訪問0A0H(P2口)存儲單元MOV 0A0H , #data使用間接尋址方式訪問高128 字節(jié)RAM。例如,下面的間接尋址方式中,R0 內(nèi)容為0A0H,訪問的是地址0A0H的寄存器,而不是P2口(它的地址也是0A0H)。MOV R0 , #data堆棧操作也是簡介尋址方式。因此,高128字節(jié)數(shù)據(jù)RAM也可用于堆??臻g。2.2電機的選擇電機在本系統(tǒng)中是國旗升降的主要控制部件,它為系統(tǒng)提供動力支持。本文從以下幾個方面闡述本系統(tǒng)的方案。方案一:采用直流電機控制升降旗運動,直流電機力量大,能獲得較大的啟動轉(zhuǎn)矩,相應(yīng)快,但控制復雜,不能自鎖。方案二:采用步進電機控制升降旗運動,步進電機是一種作為控制用的特種電機, 它的旋轉(zhuǎn)是以固定的角度(稱為“步距角”)一步一步運行的, 其特點是沒有積累誤差(精度為100%), 所以廣泛應(yīng)用于各種開環(huán)控制。步進電機的運行要有一電子裝置進行驅(qū)動, 這種裝置就是步進電機驅(qū)動器, 它是把控制系統(tǒng)發(fā)出的脈沖信號轉(zhuǎn)化為步進電機的角位移, 或者說: 控制系統(tǒng)每發(fā)一個脈沖信號, 通過驅(qū)動器就使步進電機旋轉(zhuǎn)一步距角。所以步進電機的轉(zhuǎn)速與脈沖信號的頻率成正比。所以,控制步進脈沖信號的頻率,可以對電機精確調(diào)速;控制步進脈沖的個數(shù),可以對電機精確定位目的。步進電機不需要使用傳感器就能精確定位,而且通過給定的脈沖周期,能夠以任意速度轉(zhuǎn)動,定矩運動教精確。雖然步進電機不能高速轉(zhuǎn)動,但根據(jù)題目要求的時間和移動距離,步進電機完全能夠符合要求,是該種要求下廣泛使用的一種電機?;谏鲜隼碚摲治觯覀冞x擇了方案二。所選步進電機的型號為17HS101,同時考慮降低CPU的負擔,避免讓CPU來產(chǎn)生步進電機的驅(qū)動脈沖節(jié)拍以及驅(qū)動步進電機的功率驅(qū)動電路,因此我們也直接購置與步進電機配對的驅(qū)動器,該驅(qū)動器型號為SH-2H042Mb,為兩相四線式,細分的步距角有0.045、0.09、0.18、0.36、0.9等5檔。步進電機的控制非常簡單,從理論上說,只需給驅(qū)動器脈沖信號即可,每給驅(qū)動器一個CP脈沖,步進電機就旋轉(zhuǎn)一個步距角(細分時為一個細分步距角),也就是說步進電機時時跟隨CP脈沖的變化。但是實際上,如果CP信號變化太快,步進電機由于慣性將跟隨不上電信號的變化,這時就會產(chǎn)生堵轉(zhuǎn)和丟步現(xiàn)象。所以步進電機在啟動時,必須有升速過程;在停止時必須有降速過程,一般來說升速和降速過程規(guī)律相同,以下以升速為例介紹。升速過程由突跳頻率加升速曲線組成(降速過程反之)。突跳頻率是指步進電機在靜止狀態(tài)時突然施加的脈沖啟動頻率,此頻率不可太大,否則也會產(chǎn)生堵轉(zhuǎn)和丟步。升降速曲線一般為指數(shù)曲線或經(jīng)過修調(diào)的指數(shù)曲線,當然也可采用直線或正弦曲線等。用戶需根據(jù)自己的負載選擇合適的突跳頻率和升降速曲線,找到一條理想的曲線并不容易,一般需要多次試機才行。指數(shù)曲線在實際軟件編程中比較麻煩,一般事先算好時間常數(shù)存貯在計算機存貯器內(nèi),工作過程中直接選取。步進電機的升降速設(shè)計為控制軟件的主要工作量,其設(shè)計水平將直接影響電機運行的平穩(wěn)性、升降速快慢、電機運行聲音、最高速度、定位精度。一種特例是:步進電機的運行速度不超過突跳頻率,這時將不存在升降速問題。2.3系統(tǒng)工作電源的制作直流穩(wěn)壓電源的制作方案較多,而且可供選擇的余地也較大,我們本著簡單、實用、安全、可靠的原則,著重從以下兩個方案中進行了論證選擇:方案一:采用開關(guān)電源,優(yōu)點是輸出功率大、體積小、效率低;缺點是輸出紋波系數(shù)較大、對電網(wǎng)易產(chǎn)生干擾。方案二:采用傳統(tǒng)的線性穩(wěn)壓電源,優(yōu)點是輸出電壓可以隨意調(diào)節(jié)、輸出紋波系數(shù)較?。蝗秉c是效率低、體積大、電路較為復雜,綜合成本較高。綜合制作難易程度以及成本和本系統(tǒng)使用實際情況,我們選用了第一套方案。為了能滿足步進電機驅(qū)動器所需供電電壓為單24V/1.7A的要求,我們直接購置了24V/6.5A輸出的開關(guān)電源作為步進電機的電源。開關(guān)電源就是用通過電路控制開關(guān)管進行高速的道通與截止將直流電轉(zhuǎn)化為高頻率的交流電提供給變壓器進行變壓,從而產(chǎn)生所需要的一組或多組電壓!主要用于工業(yè)以及一些家用電器上,如電視機,電腦等。 轉(zhuǎn)化為高頻交流電的原因是高頻交流在變壓器變壓電路中的效率要比50HZ高很多。所以開關(guān)變壓器可以做的很小,而且工作時不是很熱,成本很低,如果不將50HZ變?yōu)楦哳l那開關(guān)電源就沒有意義。開關(guān)電源的按工作原理包括以下部分: (1).交流電源輸入經(jīng)整流濾波成直流; (2).通過高頻PWM(脈沖寬度調(diào)制)信號控制開關(guān)管,將那個直流加到開關(guān)變壓器初級上; (3).開關(guān)變壓器次級感應(yīng)出高頻電壓,經(jīng)整流濾波供給負載; (4).輸出部分通過一定的電路反饋給控制電路,控制PWM占空比,以達到穩(wěn)定輸出的目的。交流電源輸入時一般要經(jīng)過厄流圈一類東西,過濾掉電網(wǎng)上的干擾,同時也過濾電源對電網(wǎng)的干擾;在功率相同時,開關(guān)頻率越高,開關(guān)變壓器的體積就越小,但對開關(guān)管的要求就越高;開關(guān)變壓器的次級可以有多個繞組或一個繞組有多個抽頭,以得到需要的輸出; 一般還應(yīng)該增加一些保護電路,比如空載、短路等保護,否則可能會燒毀開關(guān)電源。(一)、主電路:從交流電網(wǎng)輸入、直流輸出的全過程,包括: (1)、輸入濾波器:其作用是將電網(wǎng)存在的雜波過濾,同時也阻礙本機產(chǎn)生的雜波反饋到公共電網(wǎng)。 (2)、整流與濾波:將電網(wǎng)交流電源直接整流為較平滑的直流電,以供下一級變換。 (3)、逆變:將整流后的直流電變?yōu)楦哳l交流電,這是高頻開關(guān)電源的核心部分,頻率越高,體積、重量與輸出功率之比越小。 (4)、輸出整流與濾波:根據(jù)負載需要,提供穩(wěn)定可靠的直流電源。 (二)、控制電路 :一方面從輸出端取樣,經(jīng)與設(shè)定標準進行比較,然后去控制逆變器,改變其頻率或脈寬,達到輸出穩(wěn)定,另一方面,根據(jù)測試電路提供的資料,經(jīng)保護電路鑒別,提供控制電路對整機進行各種保護措施。 (三)、檢測電路 :除了提供保護電路中正在運行中各種參數(shù)外,還提供各種顯示儀表資料。 (四)、輔助電源 :提供所有單一電路的不同要求電源。2.4顯示的選擇方案一:用LED數(shù)碼管顯示旗幟所在的高度和升降旗時間,本題中只需要8只LED數(shù)碼管進行動態(tài)顯示高度、時間以及運動狀態(tài),優(yōu)點是接口簡單,易于控制,而且比較直觀,可視化較強。方案二:用LED液晶顯示器顯示,優(yōu)點是能顯示更多的字符,有著良好的人機界面,缺點是控制比較復雜,性能價格比較高。基于上述分析,所以我們選擇方案一。LED數(shù)碼管分共陽極與共陰極兩種,其工作特點是,當筆段電極接低電平,公共陽極接高電平時,相應(yīng)筆段可以發(fā)光。共陰極LED數(shù)碼管則與之相反,它是將發(fā)光二極管的陰極(負極)短接后作為公共陰極。當驅(qū)動信號為高電平、端接低電平時,才能發(fā)光。LED的輸出光譜決定其發(fā)光顏色以及光輻射純度,也反映出半導體材料的特性。常見管芯材料有磷化鎵(GaP)、砷化鎵(GaAs)、磷砷化鎵(GaAsP)、氮化鎵(GaN)等,其中氮化鎵可發(fā)藍光。發(fā)光顏色不僅與管芯材料有關(guān),還與所摻雜質(zhì)有關(guān),因此用同一種管芯材料可以制成發(fā)出紅、橙、黃、綠等不同顏色的數(shù)碼管。其它顏色LED數(shù)碼管的光譜曲線形狀與之相似,僅入,值不同。LED數(shù)碼管的產(chǎn)品中,以發(fā)紅光、綠光的居多、這兩種顏色也比較醒目。LED數(shù)碼管等效于多只具有發(fā)光性能的PN結(jié)。當PN結(jié)導通時,依靠少數(shù)載流子的注人及隨后的復合而輻射發(fā)光,其伏安特性與普通二極管相似。在正向?qū)ㄖ?,正向電流近似于零,筆段不發(fā)光。當電壓超過開啟電壓時,電流就急劇上升,筆段發(fā)光。3、系統(tǒng)設(shè)計3.1系統(tǒng)框圖根據(jù)題目要求和上述論證,本系統(tǒng)的系統(tǒng)框圖如圖3.1所示:微控制器EEPROM步進電機接近開關(guān)LED數(shù)碼顯示電機驅(qū)動器無線遙控鍵盤負載鼓風機定時電路圖3.1 系統(tǒng)結(jié)構(gòu)框圖 其中微控制器是單片機(P89C51RC2HFA),通過鍵盤輸入控制信號,實現(xiàn)要求的運動控制,較好地實現(xiàn)了人機對話,并且可以通過LED數(shù)碼管實時地顯示運動狀態(tài),國旗當前運動所處的高度以及到此高度所用的時間,升降國旗時間在30秒到120秒內(nèi)可調(diào)。同時也可以設(shè)置國旗上升的高度。 電機采用步進電機與其配套的電機驅(qū)動器。步進電機可以根據(jù)算法,按指定的長度計算步數(shù)較精確的正轉(zhuǎn)或反轉(zhuǎn)。在國旗上升與下降的過程中,為防止冒頂事故,用接近開關(guān)來控制升旗停止點,通過接近開關(guān)的反饋信號,傳給微控制器,控制電機的轉(zhuǎn)動,來防止冒頂事故發(fā)生。3.2系統(tǒng)硬件設(shè)計3.2.1系統(tǒng)主控制電路:(見圖3.2)圖3.2 系統(tǒng)主控制電路圖3.2.2復位電路和步進電機驅(qū)動:我們采用P2.3、P2.4控制步進電機。P2.3控制電機的步進脈沖信號,P2.4控制電機的正反轉(zhuǎn)。復位包括上電復位和按鍵復位。(見圖3.3) 圖3.3 復位電路和步進電機驅(qū)動電路3.2.3按鍵與顯示電路:考慮成本、熟悉程度、器件等眾多因素,我們選擇了最常用的74LS164作為顯示器的驅(qū)動器件,用74LS165作為鍵盤輸入寄存器,我們設(shè)置的8個鍵通過并入串出接口芯片74LS165串行接入到單片機。(見圖3.4)圖3.4 按鍵與顯示電路3.2.4語音電路:采用微創(chuàng)公司生產(chǎn)的性能良好,使用方便的WT2560語音芯片(見圖3.5)來播放國歌。WT2560是微創(chuàng)系列單片語音錄放集成電路的一種。這是一種永久記憶型語音錄放電路,錄音時間為60,可重復錄放10萬次。該芯片采用多電平直接模擬量存儲專利技術(shù),每個采樣值可直接存儲在片內(nèi)單個EEPOM單元中,因此能夠非常真實、自然地再現(xiàn)語音、音樂、音調(diào)和效果聲,從而避免了一般固體錄音電路因量化和壓縮造成的量化噪聲和“金屬聲”。該器件的采樣頻率為8.2kHz,同一系列的產(chǎn)品采樣頻率越低錄放時間越長,但通頻帶和音質(zhì)會有所降低。此外,WT2560還省去了A/D和D/A轉(zhuǎn)換器。其集成度較高,內(nèi)部包括前置放大器、內(nèi)部時鐘、定時器、采樣時鐘、濾波器、自動增益控制、邏輯控制、模擬收發(fā)器、解碼器和480k字節(jié)的EEPOM。WT2560內(nèi)部EEPOM存儲單元均勻分為600行,有600個地址單元,每個地址單元指向其中一行,每一個地址單元的地址分辨率為100。此外,WT2560還具備微控制器所需的控制接口。通過操縱地址和控制線可完成不同的任務(wù),以實現(xiàn)復雜的信息處理功能,如信息的組合、連接、設(shè)定固定的信息段和信息管理等。WT2560可不分段,也可按最小段長為單位來任意組合分段。圖3.5 WT256090120硬封裝引腳圖我們把國歌音樂錄制在WT2560語音芯片中,然后用它的單次播放功能播放國歌。(見圖3.6)圖3.6 語音錄放電路3.2.5無線遙控電路HS2262將A0A5和A6/D5A11/D0決定的地址和數(shù)據(jù)進行編碼,當TE為低電平時,從DOUT輸出編碼信號,編碼信號提供給RF或IR電路發(fā)射,由RF或IR接收電路接收后,經(jīng)HS2272解碼,實現(xiàn)遙控編碼和解碼。一塊無線發(fā)射芯片HS2262和接收芯片HS2272設(shè)計的電路有4個輸入信號,完全滿足設(shè)計要求的3按鍵遙控。3.2.6定時電路的設(shè)計我們在系統(tǒng)的設(shè)計上,對題目的功能要求進行了發(fā)揮,不僅顯示旗幟運動時位置而且顯示運動時間,使得系統(tǒng)更加直觀。對于時間的控制,盡管CPU內(nèi)部能進行定時控制,但為了提高精度和節(jié)省CPU的資源,我們專門設(shè)計了外部定時電路,選擇Intersil公司的實時時鐘芯片ISL12026,它是一款工業(yè)級內(nèi)含I2C總線接口功能的具有極低功耗的多功能時鐘/日歷芯片。ISL12026 的多種報警功能、定時器功能、時鐘輸出功能以及中斷輸出功能能完成各種復雜的定時服務(wù),甚至可為單片機提供看門狗功能。內(nèi)部時鐘電路、內(nèi)部振蕩電路、內(nèi)部低電壓檢測電路1.0V 以及兩線制I2C 總線通訊方式,不但使外圍電路及其簡潔,而且也增加了芯片的可靠性。同時每次讀寫數(shù)據(jù)后,內(nèi)嵌的字地址寄存器會自動產(chǎn)生增量。因而,ISL12026 是一款性價比極高的時鐘芯片,它已被廣泛用于電表、水表、氣表、電話、傳真機、便攜式儀器以及電池供電的儀器儀表等產(chǎn)品領(lǐng)域。X1226具有時鐘和日歷的功能,時鐘依賴時、分、秒寄存器來跟蹤,日歷依賴日期、星期、月和年寄存器來跟蹤,日歷可正確顯示至2099年,并具有自動閏年修正功能。擁有強大的雙報警功能,能夠被設(shè)置到任何時鐘/日歷值上,精確度可到1秒??捎密浖O(shè)置1Hz、4096Hz或32768Hz中任意一個頻率輸出。由于系統(tǒng)只對物體的運動計時,我們只運用32分頻脈沖輸出即可,該方波信號1/32 S向CPU申請一次中斷,CPU在中斷服務(wù)程序中,對運動的時間加1處理并顯示。ISL12026有16個8位寄存器,其中包括:可自動增量的地址寄存器、內(nèi)置32.768kHz的振蕩器(帶有一個內(nèi)部集成電容)、分頻器(用于給實時時鐘RTC提供源時鐘)、可編程時鐘輸出、定時器、報警器、掉電檢測器和400kHz的I2C總線接口。-X1226提供一個備份電源輸入腳VBACK,允許器件用電池或大容量電容進行備份供電。采用電容供電時,用一個硅或肖特基二極管連接到Vcc和充電電容的兩端,充電電容連接到Vback管腳,注意不能使用二極管對電池充電(特別是鋰離子電池)。切換到電池供電的條件是Vcc=Vback-0.1V,正常操作期間,供電電壓Vcc必須高于電池電壓,否則電池電量將逐步耗盡。振蕩器采用外接32.768kH的晶體,產(chǎn)生的振蕩誤差可通過軟件對數(shù)字微調(diào)寄存器、模擬微調(diào)寄存器的數(shù)值進行調(diào)節(jié)加以修正,避免了外接電阻和電容的離散性對精度的影響。4Kb的EEPROM可用于存儲戶數(shù)據(jù)。 所有16個寄存器設(shè)計成可尋址的8位并行寄存器,但不是所有位都有用。當一個RTC寄存器被讀時,所有計數(shù)器的內(nèi)容將被鎖存,因此,在傳送條件下,可以禁止對時鐘日歷芯片的錯讀。(見圖3.7)圖3.7 ISL12026定時電路圖3.7 AT24電路3.2.7接近開關(guān)電路的設(shè)計兩個接近開關(guān)在國旗到達頂部或者下降到底部時輸出較高的電壓,沒有時輸出一個較低的電壓,通過LM324進行電壓比較,檢測到黑線時,輸出為“1”,否則為“0”。單片機的P0口接收到這些信號后,通過邏輯判斷來判斷電機的動作,讓物體沿著預定軌道運行。檢測接口硬件電路見圖3.8圖3.8 接近開關(guān)電路3.3軟件設(shè)計整個系統(tǒng)主要任務(wù)是使國旗執(zhí)行升降旗、半旗、時間調(diào)整、高度調(diào)整四種運動,這樣系統(tǒng)軟件設(shè)計就可以分塊完成。主程序部分,主要是查鍵盤,通過查鍵,檢測應(yīng)該做什么運動,鍵值不同調(diào)用不同的子程序。子程序包括上、下運動、半旗、運動時間調(diào)整和高度調(diào)整等。3.3.1主程序主程序主要用于處理鍵盤和顯示程序,流程圖如圖3.9所示3.3.2升旗子程序主程序如在執(zhí)行過程中,掃描到升旗鍵被按下,將自動調(diào)用升旗子程序,實現(xiàn)升旗功能并在升旗過程中伴隨國歌響起,流程圖如圖3.10所示3.3.3半旗狀態(tài)子程序和升旗子程序類似,當主程序掃描到半旗鍵被按下,將自動調(diào)用半旗狀態(tài)子程序,實現(xiàn)半旗狀態(tài)功能并在上升過程中伴隨國歌響起,流程圖如圖3.11所示3.3.4時間和高度調(diào)整子程序在題目中要求升降旗的速度是可調(diào)整的,時間和高度調(diào)整的子程序分別如圖3.12和圖3.13所示。附圖:流程圖部分通電初始化掉電處理鍵盤掃描有鍵按下?鍵處理NY圖3.9 主程序流程圖鍵處理YYYyyYYYyyNNN按鍵處理升旗?半旗?調(diào)節(jié)時間?調(diào)節(jié)高度?升旗子程序半旗子程序調(diào)時間子程序調(diào)高度子程序YYYyyYYYyy圖3.10 按鍵處理子程序流程圖圖3.11 升旗處理子程序流程圖NY半旗國歌響 國旗先上升到頂國歌響停 下降到三分之二處 下降鍵?先上升到頂后下降到底返回圖3.12 半旗按鍵處理子程序流程圖NY升旗步進電機正轉(zhuǎn)國歌響國旗上升到頂下降鍵?國旗下降到底返回NNYNYYNNNYY調(diào)整時間鍵加鍵?減鍵?時間鍵?加1s減1s上升鍵?旗上升下降鍵?時間鍵旗下降返回確認取消圖3.13 時間調(diào)整子程序流程圖Y旗下降旗上升圖3.14 設(shè)置高度子程序流程圖YN下降鍵?旗下降返回YNNYNNYNY調(diào)整高度鍵加鍵?減鍵?加0.02cm減0.02cm高度鍵?上升鍵?旗上升高度鍵?確認取消旗上升旗下降先上升60后下降180掉電處理讀2416高度為120cm?高度為180cm?高度為0cm?其他高度?返回NNNNYYY下降鍵?NYY下降鍵?N下降180下降至0cm圖3.15 上電子程序流程圖4、系統(tǒng)原理與理論分析4.1單片機最小系統(tǒng)組成單片機系統(tǒng)是整個自動控制升降旗系統(tǒng)的核心部分,它主要用于鍵盤按鍵或遙控管理、步進電機控制國旗的升降與國歌同步、升降旗時間調(diào)整。整個系統(tǒng)主要包括P89C51RC2HFA單片機、步進電機、步進電機驅(qū)動器、鼓風機、無線遙控、數(shù)碼管顯示譯碼芯片74LS164與74LS165等器件。4.2控制原理4.2.1步進電機驅(qū)動脈沖數(shù)的計算實現(xiàn)本系統(tǒng)的控制,關(guān)鍵在于將國旗升降高度與控制電機的轉(zhuǎn)向及回轉(zhuǎn)角度對應(yīng)起來,二者緊密配合,最終實現(xiàn)對國旗升降的運動控制??刂齐姍C的轉(zhuǎn)向就可以控制國旗上升和下降,為了準確實現(xiàn)可變的時間和高度控制的勻速升降,需要精確計算在一定人眼不能識別的時間內(nèi)的步進電機的脈沖數(shù)。步進電機我們選用的細分的步進角0.9度的檔,步進電機的定軸直徑為1.27324cm,則每步拉出的線長為0.02,完全符合精度的要求。高度可調(diào)步長為1,可調(diào)時間間隔為1s。在程序設(shè)計中,我們運用時間精度很高的ISL12026產(chǎn)生34Hz的中斷脈沖送給我們單片機的外部中斷1。在整個上升或下降過程中,高度(high)為總高度,可通過公式:步進電機要轉(zhuǎn)動的總步數(shù): 總步數(shù)=高度(high)/0.02;分次轉(zhuǎn)動的次數(shù)為: 次數(shù)=總時間(time)*32;每(1/32s)走的步數(shù): 步數(shù)=總步數(shù)/次數(shù);除后余數(shù)的步數(shù)為: 余步數(shù)=總步數(shù)%次數(shù)。這樣步進電機在轉(zhuǎn)動時需要沒1/32s走一次,系統(tǒng)不可避免地會出現(xiàn)余數(shù)的現(xiàn)象,這里我們采用插補補償?shù)姆椒▉斫鉀Q這個問題。處理思路為:我們分兩種情況考慮,當余步數(shù)為0時,每次按計算的步數(shù)運轉(zhuǎn)一定的次數(shù)就能滿足要求;當余步數(shù)不為0時,先在循環(huán)程序中分余步數(shù)次運轉(zhuǎn)步數(shù)的基礎(chǔ)上再加一次,然后再按正常的步數(shù)轉(zhuǎn)動。開始運動時打開外部中斷,結(jié)束后等待中斷到來再進入下一次循環(huán)。上升和下降的原理類似。在步進電機運動的過程中,實時顯示運動時間和所在位置,并不斷保護現(xiàn)場數(shù)據(jù),存放于ISL12026中。4.2.2國旗運動的控制在主程序中,循環(huán)查鍵和無線遙控信號(隨后有詳細介紹)。系統(tǒng)的按鍵共有9個,其中上升鍵、下降鍵、半旗鍵、調(diào)時間鍵、調(diào)高度鍵和暫停鍵為優(yōu)先掃描鍵,而增量鍵和減量鍵為配合使用鍵,復位鍵則為高級中斷鍵。(1)“上升鍵”按下時,對WT2560輸出播音控制信號播放國歌,國旗經(jīng)43s的時間勻速上升至旗桿頂端,國歌播放完畢。此時程序只掃描下降鍵,下降鍵按下有效時,國旗經(jīng)43s的時間勻速下降至地端。(2)“半旗鍵”按下時,對WT2560輸出播音控制信號播放國歌,國旗經(jīng)43s的時間勻速從最低端上升到最高端之后,國歌停奏,然后自動經(jīng)14s的時間勻速下降到總高度的2/3高度處(120cm)停止;此時程序只掃描下降鍵,下降鍵按下時,可以使國旗先從2/3高度處經(jīng)14s的時間勻速上升到最高端,再自動從最高端經(jīng)43s的時間勻速下降到底之后自動停止,此時國歌停奏。(3)“調(diào)時間鍵”按下時,此時第二優(yōu)先級的增量鍵、減量鍵、調(diào)時間鍵有效,時間可以通過加減鍵以1s步長設(shè)置,范圍為30s120s,加減鍵可單按,也可連加連減。如第二次按下調(diào)時間鍵時,時間調(diào)整確認,此時上升鍵有效,當按上升鍵時,國旗以設(shè)定時間勻速上升,國歌不演奏,當?shù)竭_頂端時等待下降鍵按下,下降鍵按下后以同樣的速度下降至底端,程序返回。如果不是上升鍵按下,不演示時間調(diào)整的運動過程,而調(diào)時間鍵第三次按下時,時間調(diào)整取消。返回掃描鍵程序。(4)“設(shè)置高度鍵”按下時,此時第二優(yōu)先級的增量鍵、減量鍵、調(diào)高度鍵有效,高度可單按鍵或連加連減,高度的調(diào)整范圍為1cm180cm,如第二次按下調(diào)高度鍵時,高度調(diào)整確認,此時上升鍵有效,如果此時按下上升鍵時,此時國旗上升到達設(shè)定的位置,所用時間為(高度/4)s,此時國歌也不演奏。到達設(shè)定的位置后,等待上升鍵,上升鍵按下時,國旗以同樣的速度下降至底端,程序返回。不是上升鍵按下而是調(diào)高度鍵第三次按下時,高度設(shè)置取消,程序返回至查鍵程序。(5)復位鍵”任何條件下都有效,當按下時,系統(tǒng)會恢復原始狀態(tài)。此鍵主要用于程序跑飛的情況下。上述的按鍵,不同的優(yōu)先級是它們具有不同的使能有效時段,這樣在操作過程中不會因為誤操作而產(chǎn)生影響。4.2.3掉電現(xiàn)場的保護掉電現(xiàn)場的保護主要包括兩個方面:一是斷掉電后國旗位置不變,二是斷掉電之后重新合上電源,旗幟所在的高度數(shù)據(jù)顯示不變。前者的保護措施是通過使用電磁閥緊急滯動來實現(xiàn),在正常情況下,電磁閥處于吸合狀態(tài);而在掉電情況下,它則丟失磁力彈出磁片阻止電機運轉(zhuǎn),從而使國旗的位置保持原位。后者則是為了保障斷電后再次加電時,國旗所在的高度和數(shù)據(jù)顯示不變。在每次中斷數(shù)據(jù)改變時,把國旗所在的精確位置和狀態(tài)寫在ISL12026中。在下次上電時,首先讀ISL12026的數(shù)據(jù),檢查國旗所在的位置。細分狀態(tài)如下:A如果在0cm位置,不做處理。B如果在180cm位置,此時為升旗狀態(tài)上升的最高點,查詢下降鍵,等待下降鍵按下。當下降鍵按下時,國旗經(jīng)過43s的時間勻速下降至0cm最低端處。C如果在120cm位置,此時為半旗狀態(tài)上升的停止點,則查詢下降鍵,等待下降鍵按下。當下降鍵按下時,國旗經(jīng)過14s的時間先升至最高點180cm,后經(jīng)過43s的時間下降至0cm最低端處。D在其它任意位置,上電后,直接自動下降至最低點,所需時間為(高度/4)s,不需要鍵控制。這整個過程中,ISL12026所存的位置數(shù)據(jù)一定要精確,確保不出現(xiàn)誤差積累現(xiàn)象。4.2.4無線遙控無線遙控升、降旗及停止功能,設(shè)計在鍵盤掃描狀態(tài)中,同時掃描遙控輸入狀態(tài),無線遙控控制國旗的上升、下降和暫停。我們選用的無線模塊控制范圍為200m,為了防止外部遙控器的干擾,我們對SC2272-L4和SC2262設(shè)置相同的地址,屏蔽其它相同類型控制器的干擾。國旗運動時的停止功能,在32Hz中斷中查詢是否有暫停鍵包括無線遙控中的暫停按鍵按下,如有暫停按鍵按下,關(guān)外部中斷,等待停止鍵再次按下后繼續(xù)工作。4.2.5端點保護控制利用接近開關(guān)檢測端點,當國旗上升到頂端時,接近開關(guān)輸出控制信號,斷開電源,同時電磁閥動作抱閘,實現(xiàn)雙保險功能。4.2.6創(chuàng)新功能A檢測端點功能。在頂端和最低端安裝接近開關(guān),為防止程序跑飛和干擾,程序檢測到頂端接近開關(guān)有信號時,強制步進電機制動國旗不再上升;程序檢測到最低端接近開關(guān)有信號時,強制步進電機制動國旗不再下降。B抱閘功能。用電磁閥制作一個停電或斷電自動抱閘功能,根據(jù)電磁閥的原理,220交流電有電時,線圈有磁,鐵心彈出頂住定滑輪制動,保證