亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

電動(dòng)模型的程序控制方法

文檔序號(hào):6615638閱讀:188來源:國(guó)知局
專利名稱:電動(dòng)模型的程序控制方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種電動(dòng)模型的控制方法,特別涉及一種由數(shù)字計(jì)算機(jī)及數(shù)字計(jì)算機(jī)程序?qū)﹄妱?dòng)模型的控制方法。
目前,普遍使用的玩具類電動(dòng)模型的控制方法較為簡(jiǎn)單,多數(shù)采用時(shí)序集成電路對(duì)電動(dòng)模型的動(dòng)作時(shí)間和順序進(jìn)行控制,使電動(dòng)模型重復(fù)進(jìn)行有限的動(dòng)作,該類控制雖然電路結(jié)構(gòu)簡(jiǎn)單,但卻存著動(dòng)作較單一、動(dòng)作速度不變,其制作成的玩具類產(chǎn)品觀賞性較差等到缺點(diǎn)。
本發(fā)明的目的在于針對(duì)背景技術(shù)中電動(dòng)模型控制的缺點(diǎn),提供一種電動(dòng)模型的程序控制方法,該方法能根據(jù)需要對(duì)多種動(dòng)作進(jìn)行組合,而且動(dòng)作的順序和速度可變。
本發(fā)明的解決方案是在計(jì)算機(jī)程序中設(shè)置電動(dòng)模型的動(dòng)作順序、動(dòng)作時(shí)間和動(dòng)作速度,由計(jì)算機(jī)運(yùn)行程序并控制輸出一系列頻率可變化的電脈沖,再由外部電路轉(zhuǎn)換為相應(yīng)變化的電壓以控制電動(dòng)模型的執(zhí)行機(jī)構(gòu)。本發(fā)明包括數(shù)字計(jì)算機(jī)和調(diào)速器,所述計(jì)算機(jī)由中央處理器、存儲(chǔ)器、輸入/輸出口采用常規(guī)連接構(gòu)成;所述調(diào)速器的輸入端與計(jì)算機(jī)輸出口連接,調(diào)速器的輸出端與電動(dòng)模型的某一動(dòng)作執(zhí)行機(jī)構(gòu)連接,該執(zhí)行機(jī)構(gòu)的定位信號(hào)傳遞至計(jì)算機(jī)輸入口一對(duì)應(yīng)的輸入信號(hào)線,以使中央處理器能判斷該執(zhí)行機(jī)構(gòu)的動(dòng)作是否定位。在數(shù)字計(jì)算機(jī)的存儲(chǔ)器中存儲(chǔ)有電動(dòng)模型的動(dòng)作速度表和動(dòng)作順序表,速度表可有多個(gè),每個(gè)速度表的字節(jié)數(shù)與輸出口總輸出位數(shù)相同(如輸出口共有8個(gè)輸出位,則每個(gè)分表由8個(gè)字節(jié)組成;輸出口共有16個(gè)輸出位,則每個(gè)分表由16個(gè)字節(jié)組成),每個(gè)字節(jié)中相同二進(jìn)制位固定地與輸出口的某一輸出位對(duì)應(yīng)(如每個(gè)字節(jié)中的最低位對(duì)應(yīng)輸出口的最低位,每個(gè)字節(jié)中的1位對(duì)應(yīng)輸出口的1位…),其中的二進(jìn)制數(shù)“1”或“0”則表示某一時(shí)間內(nèi)需要輸出高電平或低電平。所述動(dòng)作順序表分為多個(gè)段,每段對(duì)應(yīng)電動(dòng)模型的一組動(dòng)作,每段內(nèi)容包括電動(dòng)模型一組動(dòng)作的動(dòng)作時(shí)間、該組動(dòng)作對(duì)應(yīng)的速度表地址、輸出位控制字和輸入位屏蔽字,輸出位控制字和輸入位屏蔽字的位數(shù)分別與輸出口總輸出位數(shù)和輸入口的總輸入位數(shù)相同(例如輸出位數(shù)和輸位數(shù)均為16位,則屏蔽字和控制字均為16個(gè)二進(jìn)制位,即兩個(gè)字節(jié));其中輸入位屏蔽字用以屏蔽掉該組動(dòng)作不用的定位信號(hào),輸出位控制字用來選擇需要輸出信號(hào)的輸出位;動(dòng)作順序表的每一段對(duì)應(yīng)一個(gè)速度表,動(dòng)作順序表的地址及長(zhǎng)度存儲(chǔ)在程序存儲(chǔ)器中某一固定地址開始的連續(xù)地址單元內(nèi)。該數(shù)字計(jì)算機(jī)執(zhí)行以下步驟1)從存儲(chǔ)器中取動(dòng)作順序表的地址及長(zhǎng)度,將動(dòng)作順序表的首段作為當(dāng)前段,并將動(dòng)作順序表的長(zhǎng)度存入寄存器;2)將動(dòng)作順序表中當(dāng)前段所對(duì)應(yīng)一組動(dòng)作的動(dòng)作時(shí)間、輸入位屏蔽字、輸出位控制字和速度表地址分別存入寄存器;3)讀取輸入信號(hào)并將其與輸入位屏蔽字、控制字進(jìn)行邏輯運(yùn)算,以屏蔽不需要的輸入信號(hào)和確定需要輸入信號(hào)的輸出位,并將結(jié)果存入寄存器;4)讀取當(dāng)前動(dòng)作對(duì)應(yīng)的速度表,并將上步運(yùn)算結(jié)果分別與速度表中的每個(gè)速度字進(jìn)行運(yùn)算,每運(yùn)算一次即將結(jié)果輸出;在該運(yùn)算周期內(nèi),被選擇的輸出位將輸出電脈沖信號(hào);5)判斷動(dòng)作時(shí)間是否結(jié)束,如果時(shí)間未結(jié)束則程序轉(zhuǎn)移到第3步執(zhí)行,以循環(huán)輸出電脈沖信號(hào),否則繼續(xù)下步;6)利用動(dòng)作順序表的長(zhǎng)度判斷是否己執(zhí)行完順序表中的每段,如果未完成則將動(dòng)作順序表的下一段作為當(dāng)前段,程序轉(zhuǎn)移到第2步執(zhí)行,否則,結(jié)束該次運(yùn)行。
為保證程序能正常運(yùn)行,在存儲(chǔ)器中存儲(chǔ)有定時(shí)中斷服務(wù)程序,該中斷服務(wù)程序向定時(shí)復(fù)位電路(看門狗)輸出脈沖;當(dāng)程序因干擾而走飛時(shí),定時(shí)復(fù)位電路得不到輸入信號(hào)而輸出信號(hào)使中央處理器被強(qiáng)制復(fù)位。
本發(fā)明利用數(shù)字計(jì)算機(jī)運(yùn)行程序控制輸出一系列頻率可隨速度設(shè)定值變化而變化的電脈沖信號(hào),由外部電路將電脈沖信號(hào)轉(zhuǎn)換為相應(yīng)的電壓信號(hào)來控制電動(dòng)模型的動(dòng)作執(zhí)行機(jī)構(gòu),并通過定時(shí)復(fù)位電路來保證程序正常運(yùn)行,因而具有控制準(zhǔn)確、及時(shí)和可靠的優(yōu)點(diǎn)改變本發(fā)明中的動(dòng)作順序表和/或速度表中的內(nèi)容即可實(shí)現(xiàn)多種動(dòng)作的組合和/或動(dòng)作的速度,而無須改變主要程序,因而本發(fā)明還具有運(yùn)用方便和適應(yīng)性較強(qiáng)的優(yōu)點(diǎn),本發(fā)明尤其適用于玩具類和娛樂類電動(dòng)模型。
下面結(jié)合附圖對(duì)本發(fā)明進(jìn)行詳細(xì)說明

圖1為本發(fā)明的主要結(jié)構(gòu)框圖;圖2為本發(fā)明實(shí)施例的電路原理圖;圖3為存儲(chǔ)在圖2所示的計(jì)算機(jī)存儲(chǔ)器中的程序所表示的流程圖;圖4為中斷服務(wù)程序所表示的流程圖;圖中1、中央處理器(CPU),2、地址總線,3、存儲(chǔ)器,4、數(shù)據(jù)總線,5、控制總線,6、復(fù)位電路,7、輸出口,7-1、低輸出位,7-2、高輸出位,8、輸入口,8-1、低輸入位,8-2、高輸入位,9、信號(hào)輸出線,10、信號(hào)輸入線,11、調(diào)速器,12、定位信號(hào),13、譯碼器,14、或門。
參照?qǐng)D1程序存儲(chǔ)器3存儲(chǔ)程序及數(shù)據(jù),中央處理器1通過地址總線2、數(shù)據(jù)總線4和控制總線5從存儲(chǔ)器3中讀取程序指令及數(shù)據(jù);外部定位信號(hào)12通過信號(hào)輸入線10將電平信號(hào)送到輸入口8,在程序指令控制下,中央處理器1通過控制總線5和數(shù)據(jù)總線4從輸入口8讀入數(shù)據(jù),或?qū)?nèi)部數(shù)據(jù)通過控制總線和數(shù)據(jù)總線送至輸出口7,再經(jīng)輸出口7的輸出端傳遞至調(diào)速器11的輸入端,由調(diào)速器轉(zhuǎn)換后輸出。
如圖2所示,本實(shí)施例中計(jì)算機(jī)的輸出口7具有16個(gè)輸出位,分為高輸出位和低輸出位,輸入口8具有16個(gè)輸入位,分為高輸入位和低輸入位;中央處理器1采用intel8031單片機(jī),存儲(chǔ)器3為2764EPROM只讀存儲(chǔ)器,鎖存器74LS373用來保持存儲(chǔ)器地址的低字節(jié),輸出口7采用兩片觸發(fā)器74LS377,輸入口8采用兩片74LS244,譯碼器13采用74LS138,或門14采用74LS32,譯碼器13和或門14用來分配輸入口8和輸出口7的控制信號(hào);調(diào)速器11由三極管Q1、Q2、場(chǎng)效應(yīng)管Q3和電R1~R4構(gòu)成,三極管Q1的基極作為調(diào)速器11的輸入端,其集電極與電源正極間串聯(lián)電阻R1、R2,場(chǎng)效應(yīng)管Q3的柵極通過電阻R3接電源負(fù)極,其漏極與電源正極間接負(fù)載電機(jī),三極管Q2的基極接電阻R1、R2的連接點(diǎn),其集電極與場(chǎng)效應(yīng)管的柵極連接;該圖中輸出口7可連接16個(gè)調(diào)速器,輸入口可連接相應(yīng)的16個(gè)定位信號(hào)。當(dāng)輸出位輸出高電平信號(hào)時(shí),三極管Q1、Q2導(dǎo)通,場(chǎng)效應(yīng)管Q3的柵極為正電壓,此時(shí)場(chǎng)效應(yīng)管Q3導(dǎo)通(柵極電壓高于開啟電壓),電機(jī)通電開始工作,當(dāng)輸出低電平信號(hào)時(shí),三極管Q1、Q2和場(chǎng)效應(yīng)管Q3均截止。根據(jù)場(chǎng)效應(yīng)管漏極電流隨柵極電壓變化而改變的特性,因此,當(dāng)輸出位輸出頻率變化的脈沖時(shí),在場(chǎng)效管Q3的基極將得到變化的正電壓,因而漏極電流即通過電機(jī)線圈的電流亦隨柵極電壓而變化,由此使得加在電機(jī)上的電壓產(chǎn)生變化,從而實(shí)現(xiàn)對(duì)電機(jī)調(diào)速。圖中的復(fù)位電路6由時(shí)序集成電路NE555構(gòu)成,輸入端與中央處理器1的輸出P1.0連接,輸出端與中央處理器1的復(fù)位端RESET連接;復(fù)位電路6的輸入端在一定間隔時(shí)間內(nèi)無輸入信號(hào)則輸出端將產(chǎn)生高電平信號(hào),該信號(hào)使中央處理器1復(fù)位。
在圖2所示的數(shù)字計(jì)算機(jī)的輸入口具有16個(gè)輸入位,輸出口具有16個(gè)輸出位,因此存儲(chǔ)在程序存儲(chǔ)器中的每個(gè)速度表由連續(xù)存儲(chǔ)的16個(gè)字節(jié)的速度字組成,每個(gè)速度字為一個(gè)字節(jié)即8個(gè)二進(jìn)制位,其中每連續(xù)的兩個(gè)字節(jié)為一組,稱為低字節(jié)和高字節(jié);順序表中的輸出位控制字和輸入位屏蔽字由低字節(jié)和高字節(jié)兩個(gè)字節(jié)組成。在速度表和順序表中,低字節(jié)的8個(gè)二進(jìn)制位與低輸入位或低輸出位的8個(gè)位對(duì)應(yīng),高字節(jié)的8個(gè)二進(jìn)制位分別與高輸入位或高輸出位的8個(gè)位對(duì)應(yīng)。速度字中的二進(jìn)制數(shù)‘1’表示對(duì)應(yīng)的輸出位輸出高電平,反之則表示對(duì)應(yīng)的輸出位輸出低電平,8個(gè)低字節(jié)速度字中的相同位(共8位,如8個(gè)1位)又構(gòu)成一個(gè)字節(jié),該字節(jié)即為對(duì)應(yīng)的低輸出位的速度字,表示了電脈沖的占空比,8個(gè)高字節(jié)速度字亦同理。如果順序表某段需要輸出位控制電動(dòng)模型的執(zhí)行機(jī)構(gòu),則該組控制字相應(yīng)位的二進(jìn)制數(shù)為‘1’,否則為‘0’,如果該執(zhí)行機(jī)構(gòu)受定位信號(hào)控制,則該組屏蔽字相應(yīng)位的二進(jìn)制數(shù)為‘1’,否則為‘0’。
圖3是存儲(chǔ)在程序存儲(chǔ)中的程序執(zhí)行的示意圖,圖中指示的每一步在實(shí)際執(zhí)行的程序中,可包含一個(gè)或多個(gè)步驟。程序啟動(dòng)102步完成一些初始化工作后執(zhí)行104步,從固定的存儲(chǔ)單元讀取順序表的長(zhǎng)度和順序表的地址,并將順序表的首段作為當(dāng)前段,該段對(duì)應(yīng)電動(dòng)模型的第一組動(dòng)作,其中包括動(dòng)作時(shí)間、速度表地址、控制字和屏蔽字,106步將上述段包括的數(shù)據(jù)存儲(chǔ)到寄存器。108步首先從輸入端口讀入電動(dòng)模型的定位信號(hào),將其與屏蔽字進(jìn)行‘與’運(yùn)算,再將結(jié)果和控制字進(jìn)行‘異或’運(yùn)算并將結(jié)果存入寄存器,110步讀取第一個(gè)速度字即低字節(jié)速度字,112步則將速度字和108步的‘異或’結(jié)果進(jìn)行‘與’運(yùn)算并輸出到相應(yīng)的輸出端口,即低字節(jié)速度字運(yùn)算結(jié)果輸出到低輸出位7-1,之后取第二個(gè)速度字即高字節(jié)速度字進(jìn)行運(yùn)算,并將運(yùn)算結(jié)果輸出到高輸出位7-2;因?yàn)殡妱?dòng)模型的一組動(dòng)作中某一個(gè)或幾個(gè)動(dòng)作可能不受定位信號(hào)的控制即到定位點(diǎn)后仍需繼續(xù)執(zhí)行該動(dòng)作,而其余動(dòng)作則到定位點(diǎn)后即停止,所以108步中的‘與‘運(yùn)算則使運(yùn)算結(jié)果中與不受定位信號(hào)控制的輸出位相對(duì)應(yīng)的二進(jìn)制位的二進(jìn)制數(shù)為‘0’,同時(shí)允許受定位信號(hào)控制的輸出位相應(yīng)的輸入,即如果有輸入信號(hào)則使相對(duì)應(yīng)的二進(jìn)制位的二進(jìn)制數(shù)為‘1’,‘異或’運(yùn)算則使運(yùn)算結(jié)果中與受定位信號(hào)控制的輸出位在有定位信號(hào)輸入后其對(duì)應(yīng)的二進(jìn)制位的二進(jìn)制數(shù)為‘0’,再和速度字進(jìn)行‘與’時(shí)使該位始終為‘0’,即輸出位輸出低電平。114步判斷是否和速度表中的16個(gè)字節(jié)均進(jìn)行了運(yùn)算,如果沒有運(yùn)算完,則執(zhí)行116步,取下一速度字并啟動(dòng)112步,如果已和所有速度字進(jìn)行了運(yùn)算則執(zhí)行118步,判斷動(dòng)作時(shí)間是否結(jié)束,如果動(dòng)作時(shí)間未結(jié)束則執(zhí)行108步循環(huán)輸出脈沖,如果動(dòng)作時(shí)間結(jié)束則執(zhí)行120步,將順序表長(zhǎng)度減1并判斷是否為0,如果不為0表示順序表中的段未執(zhí)行完,則順序表下移一段并啟動(dòng)106步,如果為0表示順序表中的段已執(zhí)行完,則結(jié)束運(yùn)行。
圖3所表示的程序在實(shí)際編程執(zhí)行中,從110步到118步(包括114步到112步的循環(huán))大約需要1秒的時(shí)間,動(dòng)作時(shí)間填01H則表示1秒,03H則表示3秒,…以此類推,因此在118步中用動(dòng)作時(shí)間減1是否為0來進(jìn)行判斷。對(duì)動(dòng)作時(shí)間亦可通過用定時(shí)器來進(jìn)行定時(shí)。
圖4為中斷服務(wù)程序,該程序利用定時(shí)中斷定時(shí)向復(fù)位電路輸出信號(hào)。200步為中央處理器1響應(yīng)中斷開始執(zhí)行服務(wù)程序,202步保存被中斷程序的現(xiàn)場(chǎng)數(shù)據(jù),如狀態(tài)字、程序指針等,204步通過中央處理器1的P1.0位向復(fù)位電路6輸入信號(hào),使程序在正常運(yùn)行時(shí)保證復(fù)位電路輸出低電平信號(hào),206步恢復(fù)被中斷程序的現(xiàn)場(chǎng)數(shù)據(jù),如狀態(tài)字、程序指針等,208步則返回被中斷程序繼續(xù)執(zhí)行。
權(quán)利要求
1.一種電動(dòng)模型的程序控制方法,包括數(shù)字計(jì)算機(jī)和調(diào)速器,所述計(jì)算機(jī)由中央處理器、存儲(chǔ)器、輸入/輸出口采用常規(guī)連接構(gòu)成;所述調(diào)速器的輸入端與計(jì)算機(jī)輸出口連接,調(diào)速器的輸出端與電動(dòng)模型的動(dòng)作執(zhí)行機(jī)構(gòu)連接,該執(zhí)行機(jī)構(gòu)的定位信號(hào)傳遞至計(jì)算機(jī)輸入口一對(duì)應(yīng)的輸入信號(hào)線,以使中央處理器能判斷該執(zhí)行機(jī)構(gòu)的動(dòng)作是否定位;其特征在于在數(shù)字計(jì)算機(jī)的存儲(chǔ)器中存儲(chǔ)有電動(dòng)模型的動(dòng)作速度表和動(dòng)作順序表;所述的動(dòng)作速度表包括多個(gè)速度字;所述動(dòng)作順序表分為多個(gè)段,每段對(duì)應(yīng)電動(dòng)模型的一組動(dòng)作,每段內(nèi)容包括電動(dòng)模型一組動(dòng)作的動(dòng)作時(shí)間,該組動(dòng)作對(duì)應(yīng)的速度表地址,輸出位控制字和輸入位屏蔽字,所述動(dòng)作順序表的地址及長(zhǎng)度存儲(chǔ)在程序存儲(chǔ)器中某一固定地址地址單元內(nèi);該數(shù)字計(jì)算機(jī)執(zhí)行以下步驟1)從存儲(chǔ)器中取動(dòng)作順序表的地址及長(zhǎng)度,將動(dòng)作順序表的首段作為當(dāng)前段,并將動(dòng)作順序表的長(zhǎng)度存入寄存器;2)將動(dòng)作順序表中當(dāng)前段所對(duì)應(yīng)一組動(dòng)作的動(dòng)作時(shí)間、輸入位屏蔽字、輸出位控制字和速度表地址并分別存入寄存器;3)讀取輸入信號(hào)并將其與輸入位屏蔽字、輸出位控制字進(jìn)行邏輯運(yùn)算,以屏蔽不需要的輸入信號(hào)和確定需要輸入信號(hào)的輸出位,并將結(jié)果存入寄存器;4)讀取當(dāng)前動(dòng)作對(duì)應(yīng)的速度表,并將上步運(yùn)算結(jié)果分別與速度表中的每個(gè)速度字進(jìn)行運(yùn)算,每運(yùn)算一次即將結(jié)果輸出;在該運(yùn)算周期內(nèi),被選擇的輸出位將輸出電脈沖信號(hào);5)判斷動(dòng)作時(shí)間是否結(jié)束,如果時(shí)間未結(jié)束則程序轉(zhuǎn)移到第3步執(zhí)行,以循環(huán)輸出電脈沖信號(hào),否則繼續(xù)下步;6)利用動(dòng)作順序表的長(zhǎng)度判斷是否已執(zhí)行完順序表中的每一段,如果未完成則將動(dòng)作順序表的下一段作為當(dāng)前段,程序轉(zhuǎn)移到第2步執(zhí)行,否則,結(jié)束該次運(yùn)行。
2.根據(jù)權(quán)利要求1所述的電動(dòng)模型的程序控制方法,其特征在于所述的速度表由多個(gè)表構(gòu)成,每個(gè)表的速度字的字節(jié)數(shù)與輸出口的輸出位數(shù)相同。
3.根據(jù)權(quán)利要求1或2所述的電動(dòng)模型的程序控制方法,其特征在于所述速度表中的速度字的二進(jìn)制位與輸出口的輸出位對(duì)應(yīng)。
4.根據(jù)權(quán)利要求1所述的電動(dòng)模型的程序控制方法,其特征在于所述的輸入位屏蔽字的二進(jìn)制位數(shù)與輸入位的位數(shù)相同,所述的輸出位控制字的二進(jìn)制位數(shù)與輸出位的位數(shù)相同。
5.根據(jù)權(quán)利要求1所述的電動(dòng)模型的程序控制方法,其特征在于在存儲(chǔ)器中存儲(chǔ)有定時(shí)中斷服務(wù)程序,該中斷服務(wù)程序向定時(shí)復(fù)位電路輸出脈沖;當(dāng)程序因干擾而死機(jī)時(shí),定時(shí)復(fù)位電路得不到輸入脈沖而輸出信號(hào)使中央處理器被強(qiáng)制復(fù)位。
全文摘要
該發(fā)明公開了一種電動(dòng)模型的控制方法,包括數(shù)字計(jì)算機(jī)及與其輸出口連接的調(diào)速器;在數(shù)字計(jì)算機(jī)的程序存儲(chǔ)器中存儲(chǔ)有電動(dòng)模型的一個(gè)動(dòng)作或多個(gè)動(dòng)作的組合構(gòu)成的動(dòng)作順序表以及動(dòng)作對(duì)應(yīng)的速度表,計(jì)算機(jī)程序根據(jù)表中的數(shù)據(jù)進(jìn)行運(yùn)算并控制輸出一系列頻率可隨速度設(shè)定值變化的電脈沖信號(hào),再由外部電路將電脈沖信號(hào)轉(zhuǎn)換為相應(yīng)的電壓信號(hào)來控制電動(dòng)模型的動(dòng)作執(zhí)行機(jī)構(gòu),該發(fā)明具有控制準(zhǔn)確、及時(shí),運(yùn)行可靠和適應(yīng)性較強(qiáng)的優(yōu)點(diǎn)。
文檔編號(hào)G06F9/46GK1288191SQ0011618
公開日2001年3月21日 申請(qǐng)日期2000年10月16日 優(yōu)先權(quán)日2000年10月16日
發(fā)明者孫傳倫 申請(qǐng)人:自貢市摯友電器有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1