亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

蟲(chóng)蟲(chóng)首頁(yè)| 資源下載| 資源專(zhuān)輯| 精品軟件
登錄| 注冊(cè)

if

  • 單片機(jī)幾種軟件濾波程序示例

    假定從8位AD中讀取數(shù)據(jù)(如果是更高位的AD可定義數(shù)據(jù)類(lèi)型為int),子程序?yàn)間et_ad(); 1、限幅濾波法(又稱(chēng)程序判斷濾波法)     A、方法:         根據(jù)經(jīng)驗(yàn)判斷,確定兩次采樣允許的最大偏差值(設(shè)為A)         每次檢測(cè)到新值時(shí)判斷:         如果本次值與上次值之差<=A,則本次值有效         如果本次值與上次值之差>A,則本次值無(wú)效,放棄本次值,用上次值代替本次值     B、優(yōu)點(diǎn):         能有效克服因偶然因素引起的脈沖干擾     C、缺點(diǎn)         無(wú)法抑制那種周期性的干擾         平滑度差 /*  A值可根據(jù)實(shí)際情況調(diào)整     value為有效值,new_value為當(dāng)前采樣值      濾波程序返回有效的實(shí)際值  */ #define A 10 char value; char filter() {    char  new_value;    new_value = get_ad();    if ( ( new_value - value > A ) || ( value - new_value > A )       return value;    return new_value;          } 2、中位值濾波法     A、方法:         連續(xù)采樣N次(N取奇數(shù))         把N次采樣值按大小排列         取中間值為本次有效值     B、優(yōu)點(diǎn):         能有效克服因偶然因素引起的波動(dòng)干擾         對(duì)溫度、液位的變化緩慢的被測(cè)參數(shù)有良好的濾波效果     C、缺點(diǎn):         對(duì)流量、速度等快速變化的參數(shù)不宜 /*  N值可根據(jù)實(shí)際情況調(diào)整     排序采用冒泡法*/

    標(biāo)簽: 單片機(jī) 軟件濾波 程序

    上傳時(shí)間: 2014-12-26

    上傳用戶(hù):nanshan

  • PIC單片機(jī)的RS232通訊程序

    Digitemp Jr. is a device that is designed to measure and report ambient temperature. When connected to an RS-232 port on any PC, it will periodically measure and report in ASCII form the ambient temperature in degrees Celsius. These temperature readings can be monitored with any terminal program. if the terminal program supports capture to disk, the temperature readings can be saved to disk for further analysis with a spreadsheet program or other data analysis tool. The simple ASCII output format of Digitemp Jr. makes it relatively easy to write custom software for receiving, recording, and analyzing ambient temperature data. Best of all, Digitemp Jr. requires no external power supplies or batteries. It is powered directly by the RS-232 port.  

    標(biāo)簽: PIC 232 RS 單片機(jī)

    上傳時(shí)間: 2013-10-20

    上傳用戶(hù):Maple

  • 基于C8051F310的山路轉(zhuǎn)彎預(yù)防警示系統(tǒng)

    針對(duì)盤(pán)山路存在的轉(zhuǎn)彎盲區(qū),即在轉(zhuǎn)彎時(shí)司機(jī)無(wú)法得知彎路對(duì)面是否有車(chē)輛通過(guò),設(shè)計(jì)一種基于C8051F310的山路轉(zhuǎn)彎預(yù)防警示系統(tǒng)。該系統(tǒng)利用一階濾波算法檢測(cè)山路轉(zhuǎn)彎時(shí)是否有車(chē)輛通過(guò)。運(yùn)用該算法可增強(qiáng)系統(tǒng)檢測(cè)的實(shí)時(shí)性,提高檢測(cè)機(jī)動(dòng)車(chē)輛的靈敏度,同時(shí)大大減少環(huán)境溫度對(duì)檢測(cè)的干擾。試驗(yàn)表明該系統(tǒng)能夠正確指示出在山路轉(zhuǎn)彎時(shí)是否有車(chē)輛通過(guò),目前該系統(tǒng)已安裝在盤(pán)山路上,可大大減少事故的發(fā)生率。 Abstract:  Aiming at passing hilly road,there is a turn blind spot.Motormen usually do not know if the passing of vehicles pass the road.So a system of defending accident on hilly road is designed,which is based on MCU C8051F310.The sys-tem uses the first-order filter algorithm to detect whether there are passing vehicles.This algorithm enhances the real-time detection and improves the sensitivity of detection vehicles.Meanwhile,it reduces the detection interference of environmen-tal temperature.The experimental results show that this system can exactly indicate if there are passing vehicles.At present,the system has been successfully applied to hilly road.The system can greatly decrease accident.

    標(biāo)簽: C8051F310 轉(zhuǎn)彎

    上傳時(shí)間: 2013-10-10

    上傳用戶(hù):歸海惜雪

  • LS7266R1在電子式萬(wàn)能材料試驗(yàn)機(jī)中的應(yīng)用

    針對(duì)材料試驗(yàn)機(jī)等設(shè)備中要求測(cè)量或控制材料拉伸或壓縮的位移,一般采用光電軸角編碼器檢測(cè)位置信號(hào),輸出正交編碼脈沖信號(hào)。若采用其他方法檢測(cè)位置信號(hào),必然導(dǎo)致電路設(shè)計(jì)復(fù)雜,可靠性降低。因此,提出一種基于LS7266R1的電子式萬(wàn)能材料試驗(yàn)機(jī)設(shè)計(jì)方案。給出了試驗(yàn)機(jī)中的控制器工作原理,LS7266R1與單片機(jī)的接口硬件設(shè)計(jì),以及主程序軟件流程圖。巧妙地把力量傳感器,位移傳感器等機(jī)械運(yùn)動(dòng)狀態(tài)的壓力或拉力以及位置坐標(biāo),變成了電壓信號(hào)和電脈沖數(shù)字信號(hào),供A/D測(cè)量和LS7266R1計(jì)數(shù),從而實(shí)現(xiàn)了獨(dú)立完成材料試驗(yàn)控制或通過(guò)PC機(jī)串口命令完成材料試驗(yàn)控制。 Abstract:  Aiming at the requirement that the displacement of the tension and compression always be tested and controlled in the equipement such as material testing machine. The position signal was tested by photoelectric axial angle coder. Therefore, the paper proposes the design of electronic universal testing machine design based on LS7266R1. if the position signal detected by other methods, will inevitably lead to the circuit design complexity, reliability decreased. The work theory of the controller, the hardware interface design between LS7266R1 and single chip, and the flow chart of main program, are presented in this paper. The signal of the compression or tension power and displacement at working, which tested by power sensor and displacement sensor especially, is changed into electric voltage and electric pulse numerical signals. And these signals can be tested by A/D and counted by LS7266R1. Finally the test of the material properties can be controlled by itself, or controlled by the COM command of PC.

    標(biāo)簽: 7266R 7266 LS R1

    上傳時(shí)間: 2013-11-02

    上傳用戶(hù):yl1140vista

  • 單片機(jī)模糊控制在電加熱爐溫度控制系統(tǒng)中的應(yīng)用

    在冶金、化工,機(jī)械等各類(lèi)工業(yè)控制中,電加熱爐都得到了廣泛的應(yīng)用。目前國(guó)內(nèi)的電加熱爐溫度控制器大多還停留在國(guó)際60年代水平,仍在使用繼電一接觸器控制或常規(guī)PID控制,自動(dòng)化程度低,動(dòng)態(tài)控制精度差,滿足不了日益發(fā)展的工藝技術(shù)要求。電加熱爐的溫度是生產(chǎn)工藝的一項(xiàng)重要指標(biāo),溫度控制的好壞將直接影響產(chǎn)品的質(zhì)量。電加熱爐由電阻絲加熱,溫度控制具有非線性、大滯后、大慣性、時(shí)變性、升溫尊向性等特點(diǎn)。而且,在實(shí)際應(yīng)用和研究中,電加熱爐溫度控制遇到了很多困難:第一,很難建立精確的數(shù)學(xué)模型:第二,不能很好地解決非線性、大滯后等問(wèn)題。以精確數(shù)學(xué)模型為基礎(chǔ)地經(jīng)典控制理論和現(xiàn)代控制論在解決這些問(wèn)題時(shí)遇到了極大地困難,而以語(yǔ)言規(guī)則模型(if—THEN)為基礎(chǔ)的模糊控制理論卻是解決上述問(wèn)題的有效途徑和方法。國(guó)內(nèi)現(xiàn)有的一些模糊設(shè)計(jì)方法大多存在不同缺點(diǎn),而且真正把理論研究應(yīng)用到實(shí)際系統(tǒng)的也較少。所以,深入研究在電加熱爐系統(tǒng)控制中具體模糊控制設(shè)計(jì)理論是十分必要的。本文針對(duì)電加熱爐這一控制對(duì)象,以Ts.94—1型號(hào)的箱形電加熱爐為參考對(duì)象,分別采用工業(yè)控制中普遍使用的PID控制、經(jīng)常見(jiàn)到的模糊控制策略,如基本模糊控制,對(duì)其進(jìn)行仿真實(shí)驗(yàn),比較,并進(jìn)行了理論分析。針對(duì)上述電加熱爐控制中存在的問(wèn)題,本文設(shè)計(jì)了雙模糊控制器。雙模糊控制器在參數(shù)自整定模糊控制理論的基礎(chǔ)上,對(duì)比例因子進(jìn)行調(diào)整,克服原算法復(fù)雜麗不實(shí)用的特點(diǎn),根據(jù)電加熱爐不同的工作狀態(tài)采用不同的模糊控制器,提高了控制精度,改善了控制效果。本文把模糊控制與神經(jīng)網(wǎng)絡(luò)技術(shù)相結(jié)合,利用神經(jīng)網(wǎng)絡(luò)很強(qiáng)的學(xué)習(xí)能力和自適應(yīng)能力,建立了自適應(yīng)神經(jīng)模糊推理系統(tǒng)。把不依賴(lài)精確數(shù)學(xué)模型的模糊控制系統(tǒng)與有價(jià)值的經(jīng)驗(yàn)數(shù)據(jù)或參考模型相結(jié)合,彌補(bǔ)了模糊控制的不足,使模糊控制系統(tǒng)更能發(fā)揮其強(qiáng)大優(yōu)勢(shì),控制效果理想。在實(shí)踐應(yīng)用方面,以電加熱爐為控制對(duì)象,開(kāi)發(fā)了89C51單片機(jī)模糊控制器,主要進(jìn)行了硬件和軟件的設(shè)計(jì)。

    標(biāo)簽: 單片機(jī) 中的應(yīng)用 模糊控制 電加熱爐

    上傳時(shí)間: 2013-10-28

    上傳用戶(hù):yuanwenjiao

  • C51原理及相關(guān)基礎(chǔ)入門(mén)知識(shí)

    C51原理及相關(guān)基礎(chǔ)入門(mén)知識(shí) 第一章:C51 流程控制語(yǔ)句一、分類(lèi)條件語(yǔ)句、循環(huán)語(yǔ)句和開(kāi)關(guān)語(yǔ)句。下面將對(duì)這些語(yǔ)句作詳細(xì)介紹。(1) 條件語(yǔ)句條件語(yǔ)句的一般形式為:if(表達(dá)式)語(yǔ)句 1;else語(yǔ)句 2;上述結(jié)構(gòu)表示: 如果表達(dá)式的值為非0(TURE)即真, 則執(zhí)行語(yǔ)句1, 執(zhí)行完語(yǔ)句1 從語(yǔ)句2 后開(kāi)始繼續(xù)向下執(zhí)行; 如果表達(dá)式的值為 0(FALSE)即假, 則跳過(guò)語(yǔ)句1 而執(zhí)行語(yǔ)句2。所謂表達(dá)式是指關(guān)系表達(dá)式和邏輯表達(dá)式的結(jié)合式。注意:1. 條件執(zhí)行語(yǔ)句中"else 語(yǔ)句2;"部分是選擇項(xiàng), 可以缺省, 此時(shí)條件語(yǔ)句變成:if(表達(dá)式) 語(yǔ)句1;表示若表達(dá)式的值為非 0 則執(zhí)行語(yǔ)句1 , 否則跳過(guò)語(yǔ)句1 繼續(xù)執(zhí)行。2. 如果語(yǔ)句1 或語(yǔ)句2 有多于一條語(yǔ)句要執(zhí)行時(shí), 必須使用"{"和"}" 把這些語(yǔ)句包括在其中, 此時(shí)條件語(yǔ)句形式為:if(表達(dá)式){語(yǔ)句體 1;}else{語(yǔ)句體 2;}3. 條件語(yǔ)句可以嵌套, 這種情況經(jīng)常碰到, 但條件嵌套語(yǔ)句容易出錯(cuò), 其原因主要是不知道哪個(gè)if 對(duì)應(yīng)哪個(gè)else。例如:if(x>20||x<-10)if(y<=100&&y>x)printf("Good");elseprintf("Bad");對(duì)于上述情況,規(guī)定: else 語(yǔ)句與最近的一個(gè)if 語(yǔ)句匹配, 上例中的 else 與 if(y<=100&&y>x) 相匹配。為了使 else 與if(x>20||x<-10) 相匹配, 必須用花括號(hào)。如下所示:if(x>20||x<-10){if(y<=100&&y>x)printf("Good");}

    標(biāo)簽: C51 入門(mén)知識(shí)

    上傳時(shí)間: 2013-10-24

    上傳用戶(hù):Sophie

  • ARM處理器的工作模式

    ARM處理器的工作模式 ARM處理器狀態(tài)    ARM微處理器的工作狀態(tài)一般有兩種,并可在兩種狀態(tài)之間切換:第一種為ARM狀態(tài),此時(shí)處理器執(zhí)行32位的字對(duì)齊的ARM指令;第二種為T(mén)humb狀態(tài),此時(shí)處理器執(zhí)行16位的、半字對(duì)齊的Thumb指令。在程序的執(zhí)行過(guò)程中,微處理器可以隨時(shí)在兩種工作狀態(tài)之間切換,并且,處理器工作狀態(tài)的轉(zhuǎn)變并不影響處理器的工作模式和相應(yīng)寄存器中的內(nèi)容。但ARM微處理器在開(kāi)始執(zhí)行代碼時(shí),應(yīng)該處于ARM狀態(tài)。  ARM處理器狀態(tài)    進(jìn)入Thumb狀態(tài):當(dāng)操作數(shù)寄存器的狀態(tài)位(位0)為1時(shí),可以采用執(zhí)行BX指令的方法,使微處理器從ARM狀態(tài)切換到Thumb狀態(tài)。此外,當(dāng)處理器處于Thumb狀態(tài)時(shí)發(fā)生異常(如IRQ、FIQ、Undef、Abort、SWI等),則異常處理返回時(shí),自動(dòng)切換到Thumb狀態(tài)。    進(jìn)入ARM狀態(tài):當(dāng)操作數(shù)寄存器的狀態(tài)位為0時(shí),執(zhí)行BX指令時(shí)可以使微處理器從Thumb狀態(tài)切換到ARM狀態(tài)。此外,在處理器進(jìn)行異常處理時(shí),把PC指針?lè)湃氘惓DJ芥溄蛹拇嫫髦校漠惓O蛄康刂烽_(kāi)始執(zhí)行程序,也可以使處理器切換到ARM狀態(tài)。ARM處理器模式    ARM微處理器支持7種運(yùn)行模式,分別為:用戶(hù)模式(usr):ARM處理器正常的程序執(zhí)行狀態(tài)。快速中斷模式(fiq):用于高速數(shù)據(jù)傳輸或通道處理。外部中斷模式(irq):用于通用的中斷處理。管理模式(svc):操作系統(tǒng)使用的保護(hù)模式。數(shù)據(jù)訪問(wèn)終止模式(abt):當(dāng)數(shù)據(jù)或指令預(yù)取終止時(shí)進(jìn)入該模式,可用于虛擬存儲(chǔ)及存儲(chǔ)保護(hù)。系統(tǒng)模式(sys):運(yùn)行具有特權(quán)的操作系統(tǒng)任務(wù)。定義指令中止模式(und):當(dāng)未定義的指令執(zhí)行時(shí)進(jìn)入該模式,可用于支持硬件協(xié)處理器的軟件仿真。ARM處理器模式    ARM微處理器的運(yùn)行模式可以通過(guò)軟件改變,也可以通過(guò)外部中斷或異常處理改變。大多數(shù)的應(yīng)用程序運(yùn)行在用戶(hù)模式下,當(dāng)處理器運(yùn)行在用戶(hù)模式下時(shí),某些被保護(hù)的系統(tǒng)資源是不能被訪問(wèn)的。    除用戶(hù)模式以外,其余的所有6種模式稱(chēng)之為非用戶(hù)模式,或特權(quán)模式;其中除去用戶(hù)模式和系統(tǒng)模式以外的5種又稱(chēng)為異常模式,常用于處理中斷或異常,以及需要訪問(wèn)受保護(hù)的系統(tǒng)資源等情況。ARM寄存器    ARM處理器共有37個(gè)寄存器。其中包括:31個(gè)通用寄存器,包括程序計(jì)數(shù)器(PC)在內(nèi)。這些寄存器都是32位寄存器。以及6個(gè)32位狀態(tài)寄存器。 關(guān)于寄存器這里就不詳細(xì)介紹了,有興趣的人可以上網(wǎng)找找,很多這方面的資料。異常處理    當(dāng)正常的程序執(zhí)行流程發(fā)生暫時(shí)的停止時(shí),稱(chēng)之為異常,例如處理一個(gè)外部的中斷請(qǐng)求。在處理異常之前,當(dāng)前處理器的狀態(tài)必須保留,這樣當(dāng)異常處理完成之后,當(dāng)前程序可以繼續(xù)執(zhí)行。處理器允許多個(gè)異常同時(shí)發(fā)生,它們將會(huì)按固定的優(yōu)先級(jí)進(jìn)行處理。當(dāng)一個(gè)異常出現(xiàn)以后,ARM微處理器會(huì)執(zhí)行以下幾步操作:進(jìn)入異常處理的基本步驟:將下一條指令的地址存入相應(yīng)連接寄存器LR,以便程序在處理異常返回時(shí)能從正確的位置重新開(kāi)始執(zhí)行。將CPSR復(fù)制到相應(yīng)的SPSR中。根據(jù)異常類(lèi)型,強(qiáng)制設(shè)置CPSR的運(yùn)行模式位。強(qiáng)制PC從相關(guān)的異常向量地址取下一條指令執(zhí)行,從而跳轉(zhuǎn)到相應(yīng)的異常處理程序處。如果異常發(fā)生時(shí),處理器處于Thumb狀態(tài),則當(dāng)異常向量地址加載入PC時(shí),處理器自動(dòng)切換到ARM狀態(tài)。 ARM微處理器對(duì)異常的響應(yīng)過(guò)程用偽碼可以描述為: R14_ = Return LinkSPSR_= CPSRCPSR[4:0] = Exception Mode NumberCPSR[5] = 0 ;當(dāng)運(yùn)行于 ARM 工作狀態(tài)時(shí)if == Reset or FIQ then;當(dāng)響應(yīng) FIQ 異常時(shí),禁止新的 FIQ 異常CPSR[6] = 1PSR[7] = 1PC = Exception Vector Address異常處理完畢之后,ARM微處理器會(huì)執(zhí)行以下幾步操作從異常返回:將連接寄存器LR的值減去相應(yīng)的偏移量后送到PC中。將SPSR復(fù)制回CPSR中。若在進(jìn)入異常處理時(shí)設(shè)置了中斷禁止位,要在此清除。

    標(biāo)簽: ARM 處理器 工作模式

    上傳時(shí)間: 2013-11-15

    上傳用戶(hù):hanbeidang

  • C51中的關(guān)鍵字及用途說(shuō)明

    C51 中的關(guān)鍵字關(guān)鍵字 用途 說(shuō)明auto 存儲(chǔ)種類(lèi)說(shuō)明 用以說(shuō)明局部變量,缺省值為此break 程序語(yǔ)句 退出最內(nèi)層循環(huán)case 程序語(yǔ)句 Switch 語(yǔ)句中的選擇項(xiàng)char 數(shù)據(jù)類(lèi)型說(shuō)明 單字節(jié)整型數(shù)或字符型數(shù)據(jù)const 存儲(chǔ)類(lèi)型說(shuō)明 在程序執(zhí)行過(guò)程中不可更改的常量值continue 程序語(yǔ)句 轉(zhuǎn)向下一次循環(huán)default 程序語(yǔ)句 Switch 語(yǔ)句中的失敗選擇項(xiàng)do 程序語(yǔ)句 構(gòu)成do..while 循環(huán)結(jié)構(gòu)double 數(shù)據(jù)類(lèi)型說(shuō)明 雙精度浮點(diǎn)數(shù)else 程序語(yǔ)句 構(gòu)成if..else 選擇結(jié)構(gòu)enum 數(shù)據(jù)類(lèi)型說(shuō)明 枚舉extern 存儲(chǔ)種類(lèi)說(shuō)明 在其他程序模塊中說(shuō)明了的全局變量flost 數(shù)據(jù)類(lèi)型說(shuō)明 單精度浮點(diǎn)數(shù)for 程序語(yǔ)句 構(gòu)成for 循環(huán)結(jié)構(gòu)goto 程序語(yǔ)句 構(gòu)成goto 轉(zhuǎn)移結(jié)構(gòu)if 程序語(yǔ)句 構(gòu)成if..else 選擇結(jié)構(gòu)int 數(shù)據(jù)類(lèi)型說(shuō)明 基本整型數(shù)long 數(shù)據(jù)類(lèi)型說(shuō)明 長(zhǎng)整型數(shù)register 存儲(chǔ)種類(lèi)說(shuō)明 使用CPU 內(nèi)部寄存的變量return 程序語(yǔ)句 函數(shù)返回short 數(shù)據(jù)類(lèi)型說(shuō)明 短整型數(shù)signed 數(shù)據(jù)類(lèi)型說(shuō)明 有符號(hào)數(shù),二進(jìn)制數(shù)據(jù)的最高位為符號(hào)位sizeof 運(yùn)算符 計(jì)算表達(dá)式或數(shù)據(jù)類(lèi)型的字節(jié)數(shù)static 存儲(chǔ)種類(lèi)說(shuō)明 靜態(tài)變量struct 數(shù)據(jù)類(lèi)型說(shuō)明 結(jié)構(gòu)類(lèi)型數(shù)據(jù)swicth 程序語(yǔ)句 構(gòu)成switch 選擇結(jié)構(gòu)typedef 數(shù)據(jù)類(lèi)型說(shuō)明 重新進(jìn)行數(shù)據(jù)類(lèi)型定義union 數(shù)據(jù)類(lèi)型說(shuō)明 聯(lián)合類(lèi)型數(shù)據(jù)unsigned 數(shù)據(jù)類(lèi)型說(shuō)明 無(wú)符號(hào)數(shù)數(shù)據(jù)void 數(shù)據(jù)類(lèi)型說(shuō)明 無(wú)類(lèi)型數(shù)據(jù)volatile 數(shù)據(jù)類(lèi)型說(shuō)明 該變量在程序執(zhí)行中可被隱含地改變while 程序語(yǔ)句 構(gòu)成while 和do..while 循環(huán)結(jié)構(gòu)ANSIC 標(biāo)準(zhǔn)關(guān)鍵字關(guān)鍵字 用途 說(shuō)明bit 位標(biāo)量聲明 聲明一個(gè)位標(biāo)量或位類(lèi)型的函數(shù)sbit 位標(biāo)量聲明 聲明一個(gè)可位尋址變量

    標(biāo)簽: C51

    上傳時(shí)間: 2013-10-08

    上傳用戶(hù):waves_0801

  • FREERTOS的官方移植文檔

    FeaturesThe following standard features are provided.• Choice of RTOS scheduling policy1. Pre-emptive:Always runs the highest available task. Tasks of identical priorityshare CPU time (fully pre-emptive with round robin time slicing).2. Cooperative:Context switches only occur if a task blocks, or explicitly callstaskYIELD().• Co-routines (light weight tasks that utilise very little RAM).• Message queues• Semaphores [via macros]• Trace visualisation ability (requires more RAM)• Majority of source code common to all supported development tools• Wide range of ports and examples

    標(biāo)簽: FREERTOS 移植 文檔

    上傳時(shí)間: 2013-10-13

    上傳用戶(hù):13162218709

  • AT89C2051驅(qū)動(dòng)步進(jìn)電機(jī)的電路和源碼

    AT89C2051驅(qū)動(dòng)步進(jìn)電機(jī)的電路和源碼:AT89C2051驅(qū)動(dòng)步進(jìn)電機(jī)的電路和源碼 程序:stepper.c stepper.hex/* * STEPPER.C * sweeping stepper's rotor cw and cww 400 steps * Copyright (c) 1999 by W.Sirichote */#i nclude c:\mc5151io.h /* include i/o header file */ #i nclude c:\mc5151reg.hregister unsigned char j,flag1,temp; register unsigned int cw_n,ccw_n;unsigned char step[8]={0x80,0xc0,0x40,0x60,0x20,0x30,0x10,0x90} #define n 400/* flag1 mask byte 0x01 run cw() 0x02 run ccw() */main(){ flag1=0; serinit(9600); disable(); /* no need timer interrupt */ cw_n = n; /* initial step number for cw */ flag1 |=0x01; /* initial enable cw() */while(1){ { tick_wait(); /* wait for 10ms elapsed */energize(); /* round-robin execution the following tasks every 10ms */ cw(); ccw(); } }}cw(){ if((flag1&0x01)!=0) { cw_n--; /* decrement cw step number */ if (cw_n !=0) j++; /* if not zero increment index j */ else {flag1&=~0x01; /* disable cw() execution */ ccw_n = n; /* reload step number to ccw counter */ flag1 |=0x02; /* enable cww() execution */ } }

    標(biāo)簽: C2051 2051 89C AT

    上傳時(shí)間: 2013-11-21

    上傳用戶(hù):boyaboy

主站蜘蛛池模板: 五原县| 天水市| 武山县| 大方县| 小金县| 普陀区| 金华市| 永宁县| 台南市| 高密市| 永川市| 晋宁县| 安阳县| 博野县| 大埔区| 南溪县| 邹城市| 保德县| 塔城市| 和龙市| 尼木县| 丰顺县| 理塘县| 蓝山县| 巩留县| 西宁市| 专栏| 丁青县| 江门市| 郑州市| 五大连池市| 兴化市| 宁武县| 龙门县| 兖州市| 临洮县| 长垣县| 来凤县| 太原市| 利辛县| 松原市|