在異步電機三相逆變中,當電機低速運行時,因輸出電壓較低,由死區時間和信號傳播延遲造成的電壓損失會使輸出電流發生明顯的畸變。為改善逆變器輸出電流波形,需要進行電壓補償。常用的電壓補償方法有電壓反饋補償、電流反饋補償、死區解耦補償、自適應死區補償等,最常用且容易實現的方法就是電流反饋補償。電流反饋補償需要知道電流采樣通道及開關器件延遲、開關器件壓降、死區時間等參數,為避免直接查閱芯片資料造成的參數誤差,本文提出了一種逆變器電壓補償參數離線辨識方法,并研究了該方法在電壓補償中的應用。
上傳時間: 2013-10-30
上傳用戶:wangdean1101
對於輸出電壓處於輸入電壓範圍之內 (這在鋰離子電池供電型應用中是一種很常見的情形) 的 DC/DC 轉換器設計,可供采用的傳統解決方案雖有不少,但迄今為止都不能令人非常滿意
上傳時間: 2013-11-19
上傳用戶:urgdil
本文針對6KV中壓電網三相平衡負載的無功功率補償,結合二極管箝位多電平逆變器和H橋級聯多電平逆變器的特點,提出了一種能夠直接并入電網的新型主從式的逆變器結構:主逆變器采用二極管箝位三電平逆變器,從逆變器采用三個H橋(即全橋)逆變器。主逆變器和H橋逆變器采用級聯的形式連接,最后構成一個五電平的混聯逆變器。從逆變器負責產生一個方波電壓,構成輸礎正弦電壓的基本成分:主逆變器產生輸出電壓的補償部分以及負責消除低次諧波。對于主逆變器直流側電容電壓的平衡問題,本文提出了一種采用硬件電路平衡的方法,從而降低了PWM調制時控制方法的復雜性。因為集成門極換相晶閘管(IGCT)這種新型電力電子器件具有開關頻率高、無緩沖電路、耐壓高等優點,主電路選用IGCT作為開關器件。本文詳細分析了用于STATCOM的主從型逆變器電路結構,同時給出了電路參數的確定方法,并對STATCOM逆變器輸出電壓的諧波進行了理論分析。根據本文提出的主從型逆交器結構特點,建立了基于瞬時無功理論的STATCOM系統動態控制模型,并給出了一種解藕反饋控制方法。最后通過仿真結果證明了所提出的這種主從型逆變器STA’rC0^I結構在消除諧波方面的優越性。
上傳時間: 2013-10-31
上傳用戶:frank1234
本書是為了方便初次使用西門子標準變頻器的用戶,盡快了解和掌握MM440變頻器的調試操作。對常見的一些調試問題,用案例的方式做了一些簡要的說明。對于具體參數和設置更加詳細的內容可以參考《MICROMASTER440使用大全》中的具體說明。
上傳時間: 2013-10-13
上傳用戶:squershop
提出一種用于光伏發電系統與公用電網并網的逆變器定頻滯環電流控制新方法, 該方法首先基于電網線電壓空間矢量將復平面分為6 個扇區, 在每個扇區內實現兩相開關解耦分別控制相應的線電流; 然后, 在控制相的下一個線電流誤差周期到來時, 計算并調節下一周期的滯環寬度以達到定頻滯環電流跟蹤, 改善輸出電流波形, 提高控制精度。該方法的主要特點是不需要額外的模擬電路便可以實現開關頻率的穩定。利用Matlab 進行建模, 仿真結果證明了該方法對穩定滯環開關頻率是有效的, 同時也表明該方法應用于光伏并網逆變器是可行的。
上傳時間: 2013-10-28
上傳用戶:123312
附件是51mini仿真器中文使用手冊,其中包括有51mini的驅動,USB安裝指南及USB驅動程序。 2003 年 SST 公司推出了 SST89C54/58 芯片,并且在官方網站公布了單片機仿真程序,配合 KEIL 可以實現標 準 51 內核芯片的單步調試等等,從而實現了一個簡單的 51 單片機仿真方案,將仿真器直接拉低到一顆芯片的價 格。 但是, 1 分錢 1 分貨,這個仿真方案由于先天的缺陷存在若干重大問題: 占用 p30,p31 端口 占用定時器 2 占用 8 個 sp 空間 運行速度慢 最高通信速度只有 38400,無法運行 c 語言程序。(由于 c 語言程序會調用庫文件,每單步一次 的時間足夠你吃個早飯) 所以,網上大量銷售的這種這種仿真器最多只能仿真跑馬燈等簡單程序,并沒有實際使用價值。51mini 是深 圳市學林電子有限公司開發生產的具有自主知識產權的新一代專業仿真器,采用雙 CPU 方案,一顆負責和 KEIL 解 釋,另外一顆負責運行用戶程序,同時巧妙利用 CPU 的 P4 口通信,釋放 51 的 P30,P31,完美解決了上述問題, 體積更小,是目前價格最低的專業級別 51 單片機仿真器,足以勝任大型項目開發。 51mini仿真器創新設計: 1 三明治夾心雙面貼片,體積縮小到只有芯片大小,真正的“嵌入式”結構。 2 大量采用最新工藝和器件,全貼片安裝,進口鉭電容,貼片電解。 3 采用快恢復保險,即便短路也可有效保護。 4 單 USB 接口,無需外接電源和串口,臺式電腦、無串口的筆記本均適用。三 CPU 設計,采用仿真芯片+監控 芯片+USB 芯片結構,是一款真正獨立的仿真器,不需要依賴開發板運行。 5 下載仿真通訊急速 115200bps,較以前版本提高一個數量級(10 倍以上),單步運行如飛。 6 不占資源,無限制真實仿真(32 個 IO、串口、T2 可完全單步仿真),真實仿真 32 條 IO 腳,包括任意使用 P30 和 P31 口。 7 兼容 keilC51 UV2 調試環境支持單步、斷點、隨時可查看寄存器、變量、IO、內存內容。可仿真各種 51 指 令兼容單片機,ATMEL、Winbond、INTEL、SST、ST 等等。可仿真 ALE 禁止,可仿真 PCA,可仿真雙 DPTR,可仿真 硬件 SPI。媲美 2000 元級別專業仿真器! 8 獨創多聲響和 led 指示實時系統狀態和自檢。 9 獨創長按復位鍵自動進入脫機運行模式,這時仿真機就相當于目標板上燒好的一個芯片,可以更加真實的運 行。這種情況下實際上就變了一個下載器,而且下次上電時仍然可以運行上次下載的程序。 USB 驅動的安裝 第一步:用隨機 USB 通訊電纜連接儀器的 USB 插座和計算機 USB口;顯示找到新硬件向導,選擇“從列表或指定位置安裝(高級)”選項,進入下一步; 第二步:選擇“在搜索中包括這個位置”,點擊“瀏覽”,定位到配套驅動光盤的驅動程序文件夾,如 E:\驅動程序\XLISP 驅動程序\USBDRIVER2.0\,進入下一步; 第三步:彈出“硬件安裝”對話框,如果系統提示“沒有通過Windows 徽標測試…”,不用理會,點擊“仍然繼續”,向導即開始安裝軟件;然后彈出“完成找到新硬件向導”對話框,點擊完成。 第四步:系統第二次彈出“找到新的硬件向導”對話框,重復以上幾個步驟; 右下角彈出對話框“新硬件已安裝并可以使用了”,表明 USB 驅動已成功安裝。你可以進入系統的:控制面板\系統\硬件\設備管理器中看到以下端口信息, 表示系統已經正確的安裝了 USB 驅動。
上傳時間: 2013-11-02
上傳用戶:貓愛薛定諤
51單片機定時器、計數器的原理和應用
標簽: 單片機定時器
上傳時間: 2014-12-25
上傳用戶:bhqrd30
Keil C51使用詳解Keil C51 是美國Keil Software 公司出品的51 系列兼容單片機C 語言軟件開發系統,與匯編相比,C 語言在功能上、結構性、可讀性、可維護性上有明顯的優勢,因而易學易用。用過匯編語言后再使用C 來開發,體會更加深刻。Keil C51 軟件提供豐富的庫函數和功能強大的集成開發調試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標代碼效率非常之高,多數語句生成的匯編代碼很緊湊,容易理解。在開發大型軟件時更能體現高級語言的優勢。下面詳細介紹 Keil C51 開發系統各部分功能和使用。第二節 Keil C51 單片機軟件開發系統的整體結構C51 工具包的整體結構,如圖(1)所示,其中uVision 與Ishell 分別是C51 forWindows 和for Dos 的集成開發環境(IDE),可以完成編輯、編譯、連接、調試、仿真等整個開發流程。開發人員可用IDE 本身或其它編輯器編輯C 或匯編源文件。然后分別由C51 及A51 編譯器編譯生成目標文件(.OBJ)。目標文件可由LIB51 創建生成庫文件,也可以與庫文件一起經L51 連接定位生成絕對目標文件(.ABS)。ABS 文件由OH51 轉換成標準的Hex 文件,以供調試器dScope51 或tScope51 使用進行源代碼級調試,也可由仿真器使用直接對目標板進行調試,也可以直接寫入程序存貯器如EPROM 中。圖(1) C51 工具包整體結構圖第三節 Keil C51 工具包的安裝81. C51 for Dos在 Windows 下直接運行軟件包中DOS\C51DOS.exe 然后選擇安裝目錄即可。完畢后欲使系統正常工作須進行以下操作(設C:\C51 為安裝目錄):修改 Autoexec.bat,加入path=C:\C51\BinSet C51LIB=C:\C51\LIBSet C51INC=C:\C51\INC然后運行Autoexec.bat2. C51 for Windows 的安裝及注意事項:在 Windows 下運行軟件包中WIN\Setup.exe,最好選擇安裝目錄與C51 for Dos相同,這樣設置最簡單(設安裝于C:\C51 目錄下)。然后將軟件包中crack 目錄中的文件拷入C:\C51\Bin 目錄下。第四節 Keil C51 工具包各部分功能及使用簡介1. C51 與A51(1) C51C51 是C 語言編譯器,其使用方法為:C51 sourcefile[編譯控制指令]或者 C51 @ commandfile其中 sourcefile 為C 源文件(.C)。大量的編譯控制指令完成C51 編譯器的全部功能。包控C51 輸出文件C.LST,.OBJ,.I 和.SRC 文件的控制。源文件(.C)的控制等,詳見第五部分的具體介紹。而 Commandfile 為一個連接控制文件其內容包括:.C 源文件及各編譯控制指令,它沒有固定的名字,開發人員可根據自己的習慣指定,它適于用控制指令較多的場合。(2) A51A51 是匯編語言編譯器,使用方法為:9A51 sourcefile[編譯控制指令]或 A51 @ commandfile其中sourcefile 為匯編源文件(.asm或.a51),而編譯控制指令的使用與其它匯編如ASM語言類似,可參考其他匯編語言材料。Commandfile 同C51 中的Commandfile 類似,它使A51 使用和修改方便。2. L51 和BL51(1) L51L51 是Keil C51 軟件包提供的連接/定位器,其功能是將編譯生成的OBJ 文件與庫文件連接定位生成絕對目標文件(.ABS),其使用方法為:L51 目標文件列表[庫文件列表] [to outputfile] [連接控制指令]或 L51 @Commandfile源程序的多個模塊分別經 C51 與A51 編譯后生成多個OBJ 文件,連接時,這些文件全列于目標文件列表中,作為輸入文件,如果還需與庫文件(.LiB)相連接,則庫文件也必須列在其后。outputfile 為輸文件名,缺少時為第一模塊名,后綴為.ABS。連接控制指令提供了連接定位時的所有控制功能。Commandfile 為連接控制文件,其具體內容是包括了目標文件列表,庫文件列表及輸出文件、連接控制命令,以取代第一種繁瑣的格式,由于目標模塊庫文件大多不止1 個,因而第2 種方法較多見,這個文件名字也可由使用者隨意指定。(2) Bl51BL51 也是C51 軟件包的連接/定位器,其具有L51 的所有功能,此外它還具有以下3 點特別之處:a. 可以連接定位大于64kBytes 的程序。b. 具有代碼域及域切換功能(CodeBanking & Bank Switching)c. 可用于RTX51 操作系統RTX51 是一個實時多任務操作系統,它改變了傳統的編程模式,甚至不必用main( )函數,單片機系統軟件向RTOS 發展是一種趨勢,這種趨勢對于186 和38610及68K 系列CPU 更為明顯和必須,對8051 因CPU 較為簡單,程序結構等都不太復雜,RTX51 作用顯得不太突出,其專業版軟件PK51 軟件包甚至不包括RTX51Full,而只有一個RTX51TINY 版本的RTOS。RTX51 TINY 適用于無外部RAM 的單片機系統,因而可用面很窄,在本文中不作介紹。Bank switching 技術因使用很少也不作介紹。3. DScope51,Tscope51 及Monitor51(1) dScope51dScope51 是一個源級調試器和模擬器,它可以調試由C51 編譯器、A51 匯編器、PL/M-51 編譯器及ASM-51 匯編器產生的程序。它不需目標板(for windows 也可通過mon51 接目標板),只能進行軟件模擬,但其功能強大,可模擬CPU 及其外圍器件,如內部串口,外部I/O 及定時器等,能對嵌入式軟件功能進行有效測試。
上傳時間: 2013-11-01
上傳用戶:zhouxuepeng1
單片機音樂中音調和節拍的確定方法:調號-音樂上指用以確定樂曲主音高度的符號。很明顯一個八度就有12個半音。A、B、C、D、E、F、G。經過聲學家的研究,全世界都用這些字母來表示固定的音高。比如,A這個音,標準的音高為每秒鐘振動440周。 升C調:1=#C,也就是降D調:1=BD;277(頻率)升D調:1=#D,也就是降E調:1=BE;311升F調:1=#F,也就是降G調:1=BG;369升G調:1=#G,也就是降A調:1=BA;415升A調:1=#A,也就是降B調:1=BB。466,C 262 #C277 D 294 #D(bE)311 E 330 F 349 #F369 G 392 #G415A 440. #A466 B 494 所謂1=A,就是說,這首歌曲的“導”要唱得同A一樣高,人們也把這首歌曲叫做A調歌曲,或叫“唱A調”。1=C,就是說,這首歌曲的“導”要唱得同C一樣高,或者說“這歌曲唱C調”。同樣是“導”,不同的調唱起來的高低是不一樣的。各調的對應的標準頻率為: 單片機演奏音樂時音調和節拍的確定方法 經常看到一些剛學單片機的朋友對單片機演奏音樂比較有興趣,本人也曾是這樣。在此,本人將就這方面的知識做一些簡介,但愿能對單片機演奏音樂比較有興趣而又不知其解的朋友能有所啟迪。 一般說來,單片機演奏音樂基本都是單音頻率,它不包含相應幅度的諧波頻率,也就是說不能象電子琴那樣能奏出多種音色的聲音。因此單片機奏樂只需弄清楚兩個概念即可,也就是“音調”和“節拍”。音調表示一個音符唱多高的頻率,節拍表示一個音符唱多長的時間。 在音樂中所謂“音調”,其實就是我們常說的“音高”。在音樂中常把中央C上方的A音定為標準音高,其頻率f=440Hz。當兩個聲音信號的頻率相差一倍時,也即f2=2f1時,則稱f2比f1高一個倍頻程, 在音樂中1(do)與 ,2(來)與 ……正好相差一個倍頻程,在音樂學中稱它相差一個八度音。在一個八度音內,有12個半音。以1—i八音區為例, 12個半音是:1—#1、#1—2、2—#2、#2—3、3—4、4—#4,#4—5、5一#5、#5—6、6—#6、#6—7、7—i。這12個音階的分度基本上是以對數關系來劃分的。如果我們只要知道了這十二個音符的音高,也就是其基本音調的頻率,我們就可根據倍頻程的關系得到其他音符基本音調的頻率。 知道了一個音符的頻率后,怎樣讓單片機發出相應頻率的聲音呢?一般說來,常采用的方法就是通過單片機的定時器定時中斷,將單片機上對應蜂鳴器的I/O口來回取反,或者說來回清零,置位,從而讓蜂鳴器發出聲音,為了讓單片機發出不同頻率的聲音,我們只需將定時器予置不同的定時值就可實現。那么怎樣確定一個頻率所對應的定時器的定時值呢?以標準音高A為例: A的頻率f = 440 Hz,其對應的周期為:T = 1/ f = 1/440 =2272μs 由上圖可知,單片機上對應蜂鳴器的I/O口來回取反的時間應為:t = T/2 = 2272/2 = 1136μs這個時間t也就是單片機上定時器應有的中斷觸發時間。一般情況下,單片機奏樂時,其定時器為工作方式1,它以振蕩器的十二分頻信號為計數脈沖。設振蕩器頻率為f0,則定時器的予置初值由下式來確定: t = 12 *(TALL – THL)/ f0 式中TALL = 216 = 65536,THL為定時器待確定的計數初值。因此定時器的高低計數器的初值為: TH = THL / 256 = ( TALL – t* f0/12) / 256 TL = THL % 256 = ( TALL – t* f0/12) %256 將t=1136μs代入上面兩式(注意:計算時應將時間和頻率的單位換算一致),即可求出標準音高A在單片機晶振頻率f0=12Mhz,定時器在工作方式1下的定時器高低計數器的予置初值為 : TH440Hz = (65536 – 1136 * 12/12) /256 = FBH TL440Hz = (65536 – 1136 * 12/12)%256 = 90H根據上面的求解方法,我們就可求出其他音調相應的計數器的予置初值。 音符的節拍我們可以舉例來說明。在一張樂譜中,我們經常會看到這樣的表達式,如1=C 、1=G …… 等等,這里1=C,1=G表示樂譜的曲調,和我們前面所談的音調有很大的關聯, 、 就是用來表示節拍的。以 為例加以說明,它表示樂譜中以四分音符為節拍,每一小結有三拍。比如: 其中1 、2 為一拍,3、4、5為一拍,6為一拍共三拍。1 、2的時長為四分音符的一半,即為八分音符長,3、4的時長為八分音符的一半,即為十六分音符長,5的時長為四分音符的一半,即為八分音符長,6的時長為四分音符長。那么一拍到底該唱多長呢?一般說來,如果樂曲沒有特殊說明,一拍的時長大約為400—500ms 。我們以一拍的時長為400ms為例,則當以四分音符為節拍時,四分音符的時長就為400ms,八分音符的時長就為200ms,十六分音符的時長就為100ms。可見,在單片機上控制一個音符唱多長可采用循環延時的方法來實現。首先,我們確定一個基本時長的延時程序,比如說以十六分音符的時長為基本延時時間,那么,對于一個音符,如果它為十六分音符,則只需調用一次延時程序,如果它為八分音符,則只需調用二次延時程序,如果它為四分音符,則只需調用四次延時程序,依次類推。通過上面關于一個音符音調和節拍的確定方法,我們就可以在單片機上實現演奏音樂了。具體的實現方法為:將樂譜中的每個音符的音調及節拍變換成相應的音調參數和節拍參數,將他們做成數據表格,存放在存儲器中,通過程序取出一個音符的相關參數,播放該音符,該音符唱完后,接著取出下一個音符的相關參數……,如此直到播放完畢最后一個音符,根據需要也可循環不停地播放整個樂曲。另外,對于樂曲中的休止符,一般將其音調參數設為FFH,FFH,其節拍參數與其他音符的節拍參數確定方法一致,樂曲結束用節拍參數為00H來表示。下面給出部分音符(三個八度音)的頻率以及以單片機晶振頻率f0=12Mhz,定時器在工作方式1下的定時器高低計數器的予置初值 : C調音符 頻率Hz 262 277 293 311 329 349 370 392 415 440 466 494TH/TL F88B F8F2 F95B F9B7 FA14 FA66 FAB9 FB03 FB4A FB8F FBCF FC0BC調音符 1 1# 2 2# 3 4 4# 5 5# 6 6# 7頻率Hz 523 553 586 621 658 697 739 783 830 879 931 987TH/TL FC43 FC78 FCAB FCDB FD08 FD33 FD5B FD81 FDA5 FDC7 FDE7 FE05C調音符 頻率Hz 1045 1106 1171 1241 1316 1393 1476 1563 1658 1755 1860 1971TH/TL FB21 FE3C FE55 FE6D FE84 FE99 FEAD FEC0 FE02 FEE3 FEF3 FF02
上傳時間: 2013-10-20
上傳用戶:哈哈haha
Verilog_HDL的基本語法詳解(夏宇聞版):Verilog HDL是一種用于數字邏輯電路設計的語言。用Verilog HDL描述的電路設計就是該電路的Verilog HDL模型。Verilog HDL既是一種行為描述的語言也是一種結構描述的語言。這也就是說,既可以用電路的功能描述也可以用元器件和它們之間的連接來建立所設計電路的Verilog HDL模型。Verilog模型可以是實際電路的不同級別的抽象。這些抽象的級別和它們對應的模型類型共有以下五種: 系統級(system):用高級語言結構實現設計模塊的外部性能的模型。 算法級(algorithm):用高級語言結構實現設計算法的模型。 RTL級(Register Transfer Level):描述數據在寄存器之間流動和如何處理這些數據的模型。 門級(gate-level):描述邏輯門以及邏輯門之間的連接的模型。 開關級(switch-level):描述器件中三極管和儲存節點以及它們之間連接的模型。 一個復雜電路系統的完整Verilog HDL模型是由若干個Verilog HDL模塊構成的,每一個模塊又可以由若干個子模塊構成。其中有些模塊需要綜合成具體電路,而有些模塊只是與用戶所設計的模塊交互的現存電路或激勵信號源。利用Verilog HDL語言結構所提供的這種功能就可以構造一個模塊間的清晰層次結構來描述極其復雜的大型設計,并對所作設計的邏輯電路進行嚴格的驗證。 Verilog HDL行為描述語言作為一種結構化和過程性的語言,其語法結構非常適合于算法級和RTL級的模型設計。這種行為描述語言具有以下功能: · 可描述順序執行或并行執行的程序結構。 · 用延遲表達式或事件表達式來明確地控制過程的啟動時間。 · 通過命名的事件來觸發其它過程里的激活行為或停止行為。 · 提供了條件、if-else、case、循環程序結構。 · 提供了可帶參數且非零延續時間的任務(task)程序結構。 · 提供了可定義新的操作符的函數結構(function)。 · 提供了用于建立表達式的算術運算符、邏輯運算符、位運算符。 · Verilog HDL語言作為一種結構化的語言也非常適合于門級和開關級的模型設計。因其結構化的特點又使它具有以下功能: - 提供了完整的一套組合型原語(primitive); - 提供了雙向通路和電阻器件的原語; - 可建立MOS器件的電荷分享和電荷衰減動態模型。 Verilog HDL的構造性語句可以精確地建立信號的模型。這是因為在Verilog HDL中,提供了延遲和輸出強度的原語來建立精確程度很高的信號模型。信號值可以有不同的的強度,可以通過設定寬范圍的模糊值來降低不確定條件的影響。 Verilog HDL作為一種高級的硬件描述編程語言,有著類似C語言的風格。其中有許多語句如:if語句、case語句等和C語言中的對應語句十分相似。如果讀者已經掌握C語言編程的基礎,那么學習Verilog HDL并不困難,我們只要對Verilog HDL某些語句的特殊方面著重理解,并加強上機練習就能很好地掌握它,利用它的強大功能來設計復雜的數字邏輯電路。下面我們將對Verilog HDL中的基本語法逐一加以介紹。
標簽: Verilog_HDL
上傳時間: 2013-11-23
上傳用戶:青春給了作業95