什么是makefile?或許很多Winodws的程序員都不知道這個(gè)東西,因?yàn)槟切¦indows的IDE都為你做了這個(gè)工作,但我覺(jué)得要作一個(gè)好的和professional的程序員,makefile還是要懂。這就好像現(xiàn)在有這么多的HTML的編輯器,但如果你想成為一個(gè)專(zhuān)業(yè)人士,你還是要了解HTML的標(biāo)識(shí)的含義。特別在Unix下的軟件編譯,你就不能不自己寫(xiě)makefile了,會(huì)不會(huì)寫(xiě)makefile,從一個(gè)側(cè)面說(shuō)明了一個(gè)人是否具備完成大型工程的能力。
標(biāo)簽: makefile Winodws 程序員
上傳時(shí)間: 2017-02-10
上傳用戶:ynwbosss
C是一種簡(jiǎn)單的語(yǔ)言。它真正提供的只有有宏、指針、結(jié)構(gòu)、數(shù)組和函數(shù)。不管什么問(wèn)題,C都靠宏、指針、結(jié)構(gòu)、數(shù)組和函數(shù)來(lái)解決。而C++不是這樣。宏、指針、結(jié)構(gòu)、數(shù)組和函數(shù)當(dāng)然還存在,此外還有私有和保護(hù)型成員、函數(shù)重載、缺省參數(shù)、構(gòu)造和析構(gòu)函數(shù)、自定義操作符、內(nèi)聯(lián)函數(shù)、引用、友元、模板、異常、名字空間,等等。用C++比用C具有更寬廣的空間,因?yàn)樵O(shè)計(jì)時(shí)有更多的選擇可以考慮。
上傳時(shí)間: 2017-04-14
上傳用戶:ggwz258
CY4533 EZ-PD桶型連接器替代EVK快速入門(mén)指南i.MX 6 UltraLite評(píng)估套件(EVK)將i.MX 6UltraLite應(yīng)用處理器介紹給開(kāi)發(fā)人員。為加快開(kāi)發(fā),該硬件提供面向Linux操作系統(tǒng)的硬件設(shè)計(jì)文檔、工具和板級(jí)支持包(BSP)。另有幾個(gè)輔助評(píng)估板,可與i.MX 6UltraLite EVK共同使用,提供一些額外功能,如電阻式觸摸顯示、EMV和Bluetooth連接。
上傳時(shí)間: 2022-06-25
上傳用戶:20125101110
隨著電力電子技術(shù)的飛速發(fā)展,越來(lái)越多的電力電子裝置被廣泛應(yīng)用到各個(gè)領(lǐng)域,其中相當(dāng)一部分負(fù)荷具有非線性或具有時(shí)變特性,使電網(wǎng)中暫態(tài)沖擊、無(wú)功功率、高次諧波及三相不平衡問(wèn)題日趨嚴(yán)重,給電網(wǎng)的供電質(zhì)量造成嚴(yán)重的污染和損耗.因此,對(duì)電力系統(tǒng)進(jìn)行諧波抑制和無(wú)功補(bǔ)償,提高電網(wǎng)供電質(zhì)量變得十分重要.電力有源濾波器(Active Power Filter,簡(jiǎn)稱(chēng)APF)與無(wú)源濾波器相比,APF具有高度可控制和快速響應(yīng)特性,并且能跟蹤補(bǔ)償各次諧波、自動(dòng)產(chǎn)生所需變化的無(wú)功功率和諧波功率,其特性不受系統(tǒng)影響,無(wú)諧波放大威脅.并聯(lián)型電力有源濾波器(Shunt Active Power Filter,簡(jiǎn)稱(chēng)SAPF)更是得到了廣泛的應(yīng)用. 近年來(lái),自適應(yīng)算法中的遞推最小二乘法(簡(jiǎn)稱(chēng)RLS)應(yīng)用越來(lái)越廣泛,該算法簡(jiǎn)單,收斂速度快.應(yīng)用基于RLS自適應(yīng)算法的濾波器(簡(jiǎn)稱(chēng)RLS濾波器),可以快速有效的濾除雜波,同時(shí)自動(dòng)調(diào)整濾波器參數(shù),不斷改進(jìn)濾波性能,最終得到所需的信號(hào). 本文研究了基于平均功率和RLS自適應(yīng)算法的并聯(lián)型有源濾波器.它的參考電流是一個(gè)同電網(wǎng)相電壓同相位的三相平衡的有功電流,它包含兩個(gè)分量:一個(gè)是由實(shí)測(cè)的三相負(fù)載瞬時(shí)功率計(jì)算得到的,基于平均功率算法的電網(wǎng)應(yīng)該為負(fù)載各相提供的有功電流瞬時(shí)參考值;另一個(gè)是為了維持有源濾波器中逆變器的直流母線電壓基本恒定,主要通過(guò)RLS濾波器計(jì)算得出的電網(wǎng)各相應(yīng)該提供的有功電流瞬時(shí)參考值.兩個(gè)分量的計(jì)算共同構(gòu)成了該有源濾波器參考電流的計(jì)算.補(bǔ)償電流指令值與實(shí)際補(bǔ)償電流比較生成控制逆變橋工作的PWM脈沖,生成補(bǔ)償電流,達(dá)到補(bǔ)償負(fù)載無(wú)功和抑制諧波的目的. 應(yīng)用RLS濾波器得到維持直流母線電壓恒定的直流側(cè)有功系數(shù)A<,dc>,克服了傳統(tǒng)PI控制中參數(shù)難以得到且由于參數(shù)過(guò)于敏感而導(dǎo)致補(bǔ)償后電流紋波太大的問(wèn)題.使得當(dāng)穩(wěn)態(tài)時(shí)SAPF自身的功率損耗和暫態(tài)負(fù)載變化時(shí)因?yàn)橹绷鱾?cè)電容提供電網(wǎng)和負(fù)載之間的有功功率差而引起的電壓的波動(dòng)迅速反饋到指令電流的計(jì)算中.RLS算法收斂快,SAPF實(shí)時(shí)性大大提高.基于該方法的SAPF結(jié)構(gòu)簡(jiǎn)單,無(wú)需鎖相器. 根據(jù)本文的算法應(yīng)用MATAB建立了仿真系統(tǒng),仿真結(jié)果表明基于該算法的SAPF的可行性和實(shí)時(shí)性.
標(biāo)簽: RLS 功率 自適應(yīng)算法
上傳時(shí)間: 2013-04-24
上傳用戶:mfhe2005
PLD、CPLD、FPGA有何不同?(問(wèn)與答)
上傳時(shí)間: 2013-08-29
上傳用戶:windypsm
嘿!朋友。很感謝你能看到堅(jiān)持看到本處,如果你是初次接觸單片機(jī),本章將正確引導(dǎo)你快速掌握學(xué)習(xí)單片機(jī)的捷徑!首先,也是最重要的一條:你必須得有一定要學(xué)會(huì)的信心。告訴你件高興的事情:?jiǎn)纹瑱C(jī)根本一點(diǎn)都不難!只要你有強(qiáng)烈的學(xué)習(xí)欲望。就是小學(xué)生都會(huì)做點(diǎn)簡(jiǎn)單的東西出來(lái)!當(dāng)然這并不是要貶低單片機(jī),并不是說(shuō)單片機(jī)只能是小孩子玩的東西。其實(shí)單片機(jī)能做的事情多著呢,P4電腦很牛嗎?其實(shí)就是速度和可用的腳比單片機(jī)多點(diǎn)而已?,F(xiàn)在學(xué)習(xí)ARM和DSP等的人多起來(lái),許多人感到很茫然:我到底學(xué)什么??給你盞明燈:從單片機(jī)學(xué)起吧。理由是:1它是學(xué)習(xí)其他超高檔MCU的基礎(chǔ)2市場(chǎng)占有份額高3學(xué)習(xí)資源豐富4相對(duì)其他的MCU入門(mén)容易精通容易(并不要認(rèn)為入門(mén)容易的東西都是低級(jí)的?。。┦且?yàn)檫@玩意確實(shí)是人類(lèi)智慧的結(jié)晶。
標(biāo)簽: 5399 AVR PIC 單片機(jī)仿真
上傳時(shí)間: 2013-11-21
上傳用戶:pkzz021
單片機(jī)入門(mén)基礎(chǔ)知識(shí)大全免費(fèi)下載 單片機(jī)第八課(尋址方式與指令系統(tǒng)) 通過(guò)前面的學(xué)習(xí),我們已經(jīng)了解了單片機(jī)內(nèi)部的結(jié)構(gòu),并且也已經(jīng)知道,要控制單片機(jī),讓它為我們干學(xué),要用指令,我們已學(xué)了幾條指令,但很零散,從現(xiàn)在開(kāi)始,我們將要系統(tǒng)地學(xué)習(xí)8051的指令部份。 一、概述 1、指令的格式 我們已知,要讓計(jì)算機(jī)做事,就得給計(jì)算機(jī)以指令,并且我們已知,計(jì)算機(jī)很“笨”,只能懂得數(shù)字,如前面我們寫(xiě)進(jìn)機(jī)器的75H,90H,00H等等,所以指令的第一種格式就是機(jī)器碼格式,也說(shuō)是數(shù)字的形式。但這種形式實(shí)在是為難我們?nèi)肆?,太難記了,于是有另一種格式,助記符格式,如MOV P1,#0FFH,這樣就好記了。 這兩種格式之間的關(guān)系呢,我們不難理解,本質(zhì)上它們完全等價(jià),只是形式不一樣而已。 2、匯編 我們寫(xiě)指令使用匯編格式,而計(jì)算機(jī)只懂機(jī)器碼格式,所以要將我們寫(xiě)的匯編格式的指令轉(zhuǎn)換為機(jī)器碼格式,這種轉(zhuǎn)換有兩種方法:手工匯編和機(jī)器匯編。手工匯編實(shí)際上就是查表,因?yàn)檫@兩種格式純粹是格式不同,所以是一一對(duì)應(yīng)的,查一張表格就行了。不過(guò)手工查表總是嫌麻煩,所以就有了計(jì)算機(jī)軟件,用計(jì)算機(jī)軟件來(lái)替代手工查表,這就是機(jī)器匯編。 二、尋址 讓我們先來(lái)復(fù)習(xí)一下我們學(xué)過(guò)的一些指令:MOV P1,#0FFH,MOV R7,#0FFH這些指令都是將一些數(shù)據(jù)送到相應(yīng)的位置中去,為什么要送數(shù)據(jù)呢?第一個(gè)因?yàn)樗腿氲臄?shù)可以讓燈全滅掉,第二個(gè)是為了要實(shí)現(xiàn)延時(shí),從這里我們可以看出來(lái),在用單片機(jī)的編程語(yǔ)言編程時(shí),經(jīng)常要用到數(shù)據(jù)的傳遞,事實(shí)上數(shù)據(jù)傳遞是單片機(jī)編程時(shí)的一項(xiàng)重要工作,一共有28條指令(單片機(jī)共111條指令)。下面我們就從數(shù)據(jù)傳遞類(lèi)指令開(kāi)始吧。 分析一下MOV P1,#0FFH這條指令,我們不難得出結(jié)論,第一個(gè)詞MOV是命令動(dòng)詞,也就是決定做什么事情的,MOV是MOVE少寫(xiě)了一個(gè)E,所以就是“傳遞”,這就是指令,規(guī)定做什么事情,后面還有一些參數(shù),分析一下,數(shù)據(jù)傳遞必須要有一個(gè)“源”也就是你要送什么數(shù),必須要有一個(gè)“目的”,也就是你這個(gè)數(shù)要送到什么地方去,顯然在上面那條指令中,要送的數(shù)(源)就是0FFH,而要送達(dá)的地方(目的地)就是P1這個(gè)寄存器。在數(shù)據(jù)傳遞類(lèi)指令中,均將目的地寫(xiě)在指令的后面,而將源寫(xiě)在最后。 這條指令中,送給P1是這個(gè)數(shù)本身,換言之,做完這條指令后,我們可以明確地知道,P1中的值是0FFH,但是并不是任何時(shí)候都可以直接給出數(shù)本身的。例如,在我們前面給出的延時(shí)程序例是這樣寫(xiě)的: MAIN: SETB P1.0 ??;(1) LCALL DELAY ;(2) CLR P1.0 ;(3) LCALL DELAY ?。唬ǎ矗? AJMP MAIN ??;(5) ;以下子程序 DELAY: MOV R7,#250 ??;(6) D1: MOV R6,#250 ??;(7) D2: DJNZ R6,D2 ??;(8) DJNZ R7,D1 ?。唬ǎ梗? RET ??;(10) END ;(11) 表1 MAIN: SETB P1.0 ?。唬ǎ保? MOV 30H,#255 LCALL DELAY ; CLR P1.0 ;(3) MOV 30H,#200 LCALL DELAY ??;(4) AJMP MAIN ?。唬ǎ担?;以下子程序 DELAY: MOV R7,30H ??;(6) D1: MOV R6,#250 ??;(7) D2: DJNZ R6,D2 ;(8) DJNZ R7,D1 ?。唬ǎ梗? RET ??;(10) END ;(11) 表2 這樣一來(lái),我每次調(diào)用延時(shí)程序延時(shí)的時(shí)間都是相同的(大致都是0.13S),如果我提出這樣的要求:燈亮后延時(shí)時(shí)間為0.13S燈滅,燈滅后延時(shí)0.1秒燈亮,如此循環(huán),這樣的程序還能滿足要求嗎?不能,怎么辦?我們可以把延時(shí)程序改成這樣(見(jiàn)表2):調(diào)用則見(jiàn)表2中的主程,也就是先把一個(gè)數(shù)送入30H,在子程序中R7中的值并不固定,而是根據(jù)30H單元中傳過(guò)來(lái)的數(shù)確定。這樣就可以滿足要求。 從這里我們可以得出結(jié)論,在數(shù)據(jù)傳遞中要找到被傳遞的數(shù),很多時(shí)候,這個(gè)數(shù)并不能直接給出,需要變化,這就引出了一個(gè)概念:如何尋找操作數(shù),我們把尋找操作數(shù)所在單元的地址稱(chēng)之為尋址。在這里我們直接使用數(shù)所在單元的地址找到了操作數(shù),所以稱(chēng)這種方法為直接尋址。除了這種方法之外,還有一種,如果我們把數(shù)放在工作寄存器中,從工作寄存器中尋找數(shù)據(jù),則稱(chēng)之為寄存器尋址。例:MOV A,R0就是將R0工作寄存器中的數(shù)據(jù)送到累加器A中去。提一個(gè)問(wèn)題:我們知道,工作寄存器就是內(nèi)存單元的一部份,如果我們選擇工作寄存器組0,則R0就是RAM的00H單元,那么這樣一來(lái),MOV A,00H,和MOV A,R0不就沒(méi)什么區(qū)別了嗎?為什么要加以區(qū)分呢?的確,這兩條指令執(zhí)行的結(jié)果是完全相同的,都是將00H單元中的內(nèi)容送到A中去,但是執(zhí)行的過(guò)程不同,執(zhí)行第一條指令需要2個(gè)周期,而第二條則只需要1個(gè)周期,第一條指令變成最終的目標(biāo)碼要兩個(gè)字節(jié)(E5H 00H),而第二條則只要一個(gè)字節(jié)(E8h)就可以了。 這么斤斤計(jì)較!不就差了一個(gè)周期嗎,如果是12M的晶振的話,也就1個(gè)微秒時(shí)間了,一個(gè)字節(jié)又能有多少? 不對(duì),如果這條指令只執(zhí)行一次,也許無(wú)所謂,但一條指令如果執(zhí)行上1000次,就是1毫秒,如果要執(zhí)行1000000萬(wàn)次,就是1S的誤差,這就很可觀了,單片機(jī)做的是實(shí)時(shí)控制的事,所以必須如此“斤斤計(jì)較”。字節(jié)數(shù)同樣如此。 再來(lái)提一個(gè)問(wèn)題,現(xiàn)在我們已知,尋找操作數(shù)可以通過(guò)直接給的方式(立即尋址)和直接給出數(shù)所在單元地址的方式(直接尋址),這就夠了嗎? 看這個(gè)問(wèn)題,要求從30H單元開(kāi)始,取20個(gè)數(shù),分別送入A累加器。 就我們目前掌握的辦法而言,要從30H單元取數(shù),就用MOV A,30H,那么下一個(gè)數(shù)呢?是31H單元的,怎么取呢?還是只能用MOV A,31H,那么20個(gè)數(shù),不是得20條指令才能寫(xiě)完嗎?這里只有20個(gè)數(shù),如果要送200個(gè)或2000個(gè)數(shù),那豈不要寫(xiě)上200條或2000條命令?這未免太笨了吧。為什么會(huì)出現(xiàn)這樣的狀況?是因?yàn)槲覀冎粫?huì)把地址寫(xiě)在指令中,所以就沒(méi)辦法了,如果我們不是把地址直接寫(xiě)在指令中,而是把地址放在另外一個(gè)寄存器單元中,根據(jù)這個(gè)寄存器單元中的數(shù)值決定該到哪個(gè)單元中取數(shù)據(jù),比如,當(dāng)前這個(gè)寄存器中的值是30H,那么就到30H單元中去取,如果是31H就到31H單元中去取,就可以解決這個(gè)問(wèn)題了。怎么個(gè)解決法呢?既然是看的寄存器中的值,那么我們就可以通過(guò)一定的方法讓這里面的值發(fā)生變化,比如取完一個(gè)數(shù)后,將這個(gè)寄存器單元中的值加1,還是執(zhí)行同一條指令,可是取數(shù)的對(duì)象卻不一樣了,不是嗎。通過(guò)例子來(lái)說(shuō)明吧。 MOV R7,#20 MOV R0,#30H LOOP:MOV A,@R0 INC R0 DJNZ R7,LOOP 這個(gè)例子中大部份指令我們是能看懂的,第一句,是將立即數(shù)20送到R7中,執(zhí)行完后R7中的值應(yīng)當(dāng)是20。第二句是將立即數(shù)30H送入R0工作寄存器中,所以執(zhí)行完后,R0單元中的值是30H,第三句,這是看一下R0單元中是什么值,把這個(gè)值作為地址,取這個(gè)地址單元的內(nèi)容送入A中,此時(shí),執(zhí)行這條指令的結(jié)果就相當(dāng)于MOV A,30H。第四句,沒(méi)學(xué)過(guò),就是把R0中的值加1,因此執(zhí)行完后,R0中的值就是31H,第五句,學(xué)過(guò),將R7中的值減1,看是否等于0,不等于0,則轉(zhuǎn)到標(biāo)號(hào)LOOP處繼續(xù)執(zhí)行,因此,執(zhí)行完這句后,將轉(zhuǎn)去執(zhí)行MOV A,@R0這句話,此時(shí)相當(dāng)于執(zhí)行了MOV A,31H(因?yàn)榇藭r(shí)的R0中的值已是31H了),如此,直到R7中的值逐次相減等于0,也就是循環(huán)20次為止,就實(shí)現(xiàn)了我們的要求:從30H單元開(kāi)始將20個(gè)數(shù)據(jù)送入A中。 這也是一種尋找數(shù)據(jù)的方法,由于數(shù)據(jù)是間接地被找到的,所以就稱(chēng)之為間址尋址。注意,在間址尋址中,只能用R0或R1存放等尋找的數(shù)據(jù)。 二、指令 數(shù)據(jù)傳遞類(lèi)指令 1) 以累加器為目的操作數(shù)的指令 MOV A,Rn MOV A,direct MOV A,@Ri MOV A,#data 第一條指令中,Rn代表的是R0-R7。第二條指令中,direct就是指的直接地址,而第三條指令中,就是我們剛才講過(guò)的。第四條指令是將立即數(shù)data送到A中。 下面我們通過(guò)一些例子加以說(shuō)明: MOV A,R1 ;將工作寄存器R1中的值送入A,R1中的值保持不變。 MOV A,30H ;將內(nèi)存30H單元中的值送入A,30H單元中的值保持不變。 MOV A,@R1 ;先看R1中是什么值,把這個(gè)值作為地址,并將這個(gè)地址單元中的值送入A中。如執(zhí)行命令前R1中的值為20H,則是將20H單元中的值送入A中。 MOV A,#34H ;將立即數(shù)34H送入A中,執(zhí)行完本條指令后,A中的值是34H。 2)以寄存器Rn為目的操作的指令 MOV Rn,A MOV Rn,direct MOV Rn,#data 這組指令功能是把源地址單元中的內(nèi)容送入工作寄存器,源操作數(shù)不變。
標(biāo)簽: 單片機(jī) 免費(fèi)下載 基礎(chǔ)知識(shí)
上傳時(shí)間: 2013-10-13
上傳用戶:3294322651
成吉思汗為什么能夠遠(yuǎn)征到歐洲? 中國(guó)人性格里究竟狼的成分有多少? 有狼的風(fēng)景會(huì)帶給你怎樣的震撼與沖擊? 一部關(guān)于狼的史詩(shī)性著作,一部對(duì)中國(guó)歷史進(jìn)行獨(dú)特解讀的小說(shuō),一部可以給包括商界、文化界、學(xué)術(shù)界帶來(lái)重大震撼的原創(chuàng)性作品
標(biāo)簽: 分
上傳時(shí)間: 2013-12-13
上傳用戶:xymbian
網(wǎng)絡(luò)命令對(duì)與大部分DIY其實(shí)很有用的,比如網(wǎng)管什么的,這里有經(jīng)常用到的命令,希望對(duì)這方面感興趣的朋友有所幫助.
標(biāo)簽: DIY 命令 網(wǎng)絡(luò) 分
上傳時(shí)間: 2015-01-12
上傳用戶:壞天使kk
你想看自己的 IP及其內(nèi)容嗎? 現(xiàn)在有一個(gè)能查看IP網(wǎng)絡(luò)狀態(tài)(連接,端口,UDP etc)的程序
標(biāo)簽: IP網(wǎng)絡(luò) 狀態(tài) 連接
上傳時(shí)間: 2015-01-25
上傳用戶:84425894
蟲(chóng)蟲(chóng)下載站版權(quán)所有 京ICP備2021023401號(hào)-1