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
單片機應用編程技巧100問1.C語言和匯編語言在開發單片機時各有哪些優缺點?答:匯編語言是一種用文字助記符來表示機器指令的符號語言,是最接近機器碼的一種語言。其主要優點是占用資源少、程序執行效率高。但是不同的CPU,其匯編語言可能有所差異,所以不易移植。C語言是一種結構化的高級語言。其優點是可讀性好,移植容易,是普遍使用的一種計算機語言。缺點是占用資源較多,執行效率沒有匯編高。對于目前普遍使用的RISC架構的8bit MCU來說,其內部ROM、RAM、STACK等資源都有限,如果使用C語言編寫,一條C語言指令編譯后,會變成很多條機器碼,很容易出現ROM空間不夠、堆棧溢出等問題。而且一些單片機廠家也不一定能提供C編譯器。而匯編語言,一條指令就對應一個機器碼,每一步執行什幺動作都很清楚,并且程序大小和堆棧調用情況都容易控制,調試起來也比較方便。所以在單片機開發中,我們還是建議采用匯編語言比較好。2.C或匯編語言可以用于單片機,C++能嗎?答:在單片機開發中,主要是匯編和C,沒有用C++的。3.搞單片機開發,一定要會C嗎?答:匯編語言是一種用文字助記符來表示機器指令的符號語言,是最接近機器碼的一種語言。其主要優點是占用資源少、程序執行效率高。但是不同的CPU,其匯編語言可能有所差異,所以不易移植。對于目前普遍使用的RISC架構的8bit MCU來說,其內部ROM、RAM、STACK等資源都有限,如果使用C語言編寫,一條C語言指令編譯后,會變成很多條機器碼,很容易出現ROM空間不夠、堆棧溢出等問題。而且一些單片機廠家也不一定能提供C編譯器。而匯編語言,一條指令就對應一個機器碼,每一步執行什么動作都很清楚,并且程序大小和堆棧調用情況都容易控制,調試起來也比較方便。所以在資源較少單片機開發中,我們還是建議采用匯編語言比較好。
上傳時間: 2013-12-10
上傳用戶:busterman
單片機音樂中音調和節拍的確定方法:調號-音樂上指用以確定樂曲主音高度的符號。很明顯一個八度就有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
在單片機應用開發中,代碼的使用效率問題、單片機抗干擾性和可靠性等問題仍困擾著 工程師。為幫助工程師解決單片機設計上的難題,《電子工程專輯》網站特邀Holtek香 港分公司工程部處長鄧宏杰先生擔任《單片機應用編程技巧》專題討論的嘉賓,與廣大 設計工程師交流單片機設計開發經驗。現根據論壇中的討論歸納出單片機開發中應掌握 的幾個基本技巧。一、 如何提高C語言編程代碼的效率鄧宏杰指出,用C語言進行單片機程序設計是單片機開發與應用的必然趨勢。他強調:“ 如果使用C編程時,要達到最高的效率,最好熟悉所使用的C編譯器。先試驗一下每條C語言編譯以后對應的匯編語言的語句行數,這樣就可以很明確的知道效率。在今后編程的 時候,使用編譯效率最高的語句。” 他指出,各家的C編譯器都會有一定的差異,故編譯效率也會有所不同,優秀的嵌入式系統C編譯器代碼長度和執行時間僅比以匯編語言編寫的同樣功能程度長5-20%。他說:“對于復雜而開發時間緊的項目時,可以采用C語言,但前提是要求你對該MCU系統的C語言和C編譯器非常熟悉,特別要注意該C編譯系統所能支持的數據類型和算法。雖然C語言是最普遍的一種高級語言,但由于不同的MCU廠家其C語言編譯系統是有所差別的,特別是在一些特殊功能模塊的操作上。所以如果對這些特性不了解,那么調試起來問題就會很 多,反而導致執行效率低于匯編語言。” 二、 如何減少程序中的bug? 對于如何減少程序的bug,鄧宏杰給出了一些建議,他指出系統運行中應考慮的超范圍管理參數有: 1.物理參數。這些參數主要是系統的輸入參數,它包括激勵參數、采集處理中的運行參 數和處理結束的結果參數。合理設定這些邊界,將超出邊界的參數都視為非正常激勵或 非正常回應進行出錯處理。 2.資源參數。這些參數主要是系統中的電路、器件、功能單元的資源,如記憶體容量、 存儲單元長度、堆疊深度。在程式設計中,對資源參數不允許超范圍使用。 3.應用參數。這些應用參數常表現為一些單片機、功能單元的應用條件。如E2PROM的擦 寫次數與資料存儲時間等應用參數界限。 4.過程參數。指系統運行中的有序變化的參數。
上傳時間: 2013-10-21
上傳用戶:chukeey
ICCAVR V6.31A下載,ICCAVR專業版,AVR單片機C語言開發軟件。目前國內用的最廣泛的AVR單片機開發軟件。 推薦大家使用:ICCAVR V6.31A。 1、運行iccavr6.31A進行軟件安裝,注此注冊機只支持這此版本。 2、打開安裝完的軟件,在HELP選項下選Register software,會彈出注冊窗口。 3、復制注冊窗口中的硬件碼。 4、運行keygen.p1里面的注冊機,將硬件碼寫入,執行生成命令(注意選擇軟件版本)。 5、將得到的密碼復制回注冊窗口,執行安裝即可。 6、軟件將自動關閉,重新打開后,即為正式版了。
上傳時間: 2013-12-11
上傳用戶:sklzzy
1. RS-232-C 詳解 22. 串口通信基本接線方法 123. 串口通訊的概念及接口電路 134. 有關RS232和RS485接口的問答 145. 同步通信方式 166. 通信協議197. 實戰串行通訊258. 全雙工和半雙工方式 339. 淺析PC 機串口通訊流控制 3410. 奇偶校驗 3511. 開發通信軟件的技術與技巧 3612. 接口技術的基本知識 4113. 一個單片機串行數據采集/傳輸模塊的設計 4414. 單工、半雙工和全雙工的定義 4815. 從RS232 端口獲得電源4916. 串行同步通信的應用5017. 串行通信波特率的一種自動檢測方法5318. RS-232、RS-422 與RS-485 標準及應用5619. 串口泵 6串行通信接口標準經過使用和發展,目前已經有幾種。但都是在RS-232標準的基礎上經過改進而形成的。所以,以RS-232C為主來討論。RS-323C 標準是美國EIA(電子工業聯合會)與BELL等公司一起開發的1969 年公布的通信協議。它適合于數據傳輸速率在0~20000b/s 范圍內的通信。這個標準對串行通信接口的有關問題,如信號線功能、電器特性都作了明確規定。由于通行設備廠商都生產與RS-232C制式兼容的通信設備,因此,它作為一種標準,目前已在微機通信接口中廣泛采用。在討論RS-232C 接口標準的內容之前,先說明兩點:首先,RS-232-C標準最初是遠程通信連接數據終端設備DTE(Data Terminal Equipment)與數據通信設備DCE(Data Communication Equipment)而制定的。因此這個標準的制定,并未考慮計算機系統的應用要求。但目前它又廣泛地被借來用于計算機(更準確的說,是計算機接口)與終端或外設之間的近端連接標準。顯然,這個標準的有些規定及和計算機系統是不一致的,甚至是相矛盾的。有了對這種背景的了解,我們對RS-232C標準與計算機不兼容的地方就不難理解了。其次,RS-232C 標準中所提到的“發送”和“接收”,都是站在DTE 立場上,而不是站在DCE 的立場來定義的。由于在計算機系統中,往往是CPU 和I/O設備之間傳送信息,兩者都是DTE,因此雙方都能發送和接收。
上傳時間: 2013-11-21
上傳用戶:crazyer
基于USB接口的數據采集模塊的設計與實現Design and Implementation of USB-Based Data Acquisition Module路 永 伸(天津科技大學電子信息與自動化學院,天津300222)摘要文中給出基于USB接口的數據采集模塊的設計與實現。硬件設計采用以Adpc831與PDIUSBDI2為主的器件進行硬件設計,采用Windriver開發USB驅動,并用Visual C十十6.0對主機軟件中硬件接口操作部分進行動態鏈接庫封裝。關鍵詞USB 數據采集Adpc831 PDNSBDI2 Windriver動態鏈接庫Abstract T hed esigna ndim plementaitono fU SB-BasedD ataA cquisiitonM oduleis g iven.Th ec hips oluitonm ainlyw ithA dpc831a ndP DTUSBD12i sused for hardware design. The USB drive is developed場Wmdriver, and the operation on the hardware interface is packaged into Dynamic Link Libraries場Visual C++6.0. Keywords USB DataA cquisition Adttc831 PDfUSBD12 Windriver0 引言US B總 線 是新一代接口總線,最初推出的目的是為了統一取代PC機的各類外設接口,迄今經歷了1.0,1.1與2.0版本3個標準。在國內基于USB總線的相關設計與開發也得到了快速的發展,很多設計者從各自的應用領域,用不同方案設計出了相應的裝置[1,2]。數據采集是工業控制中一個普遍而重要的環節,因此開發基于USB接口的數據采集模塊具有很強的現實應用意義。雖然 US B總線標準已經發展到2.0版本,但由于工業控制現場干擾信號的情況比較復雜,高速數據傳輸的可靠性不容易被保證,并且很多場合對數據采集的實時性要求并不高,開發2.0標準產品的成本又較1.1標準產品高,所以筆者認為,在工業控制領域,目前開發基于USB總線1.1標準實現的數據采集模塊的實用意義大于相應2.0標準模塊。
上傳時間: 2013-10-23
上傳用戶:q3290766
使用C語言肯定要使用到C編譯器,以便把寫好的C程序編譯為機器碼,這樣單片機才能執行編寫好的程序。KEIL uVISION2是眾多單片機應用開發軟件中優秀的軟件之一,它支持眾多不同公司的MCS51架構的芯片,它集編輯,編譯,仿真等于一體,同時還支持,PLM,匯編和C語言的程序設計,它的界面和常用的微軟VC++的界面相似,界面友好,易學易用,在調試程序,軟件仿真方面也有很強大的功能。因此很多開發51應用的工程師或普通的單片機愛好者,都對它十分喜歡。 以上簡單介紹了KEIL51軟件,要使用KEIL51軟件,必需先要安裝它。KEIL51是一個商業的軟件,對于我們這些普通愛好者可以到KEIL中國代理周立功公司的網站上下載一份能編譯2K的DEMO版軟件,基本可以滿足一般的個人學習和小型應用的開發。(安裝的方法和普通軟件相當這里就不做介紹了) 安裝好后,你是不是迫不及待的想建立自己的第一個C程序項目呢?下面就讓我們一起來建立一個小程序項目吧。或許你手中還沒有一塊實驗板,甚至沒有一塊單片機,不過沒有關系我們可以通過KEIL軟件仿真看到程序運行的結果。 首先當然是運行KEIL51軟件。怎么打開?噢,天!那你要從頭學電腦了。呵呵,開個玩笑,這個問題我想讀者們也不會提的了:P。運行幾秒后,出現如圖1-1的屏幕。
上傳時間: 2013-11-10
上傳用戶:邶刖
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
Mini2440是一款真正低價實用的ARM9開發板,是目前國內性價比最高的一款學習板;它采用Samsung S3C2440為微處理器,并采用專業穩定的CPU內核電源芯片和復位芯片來保證系統運行時的穩定性。mini2440的PCB采用沉金工藝的四層板設計,專業等長布線,保證關鍵信號線的信號完整性,生產采用機器貼片,批量生產;出廠時都經過嚴格的質量控制,配合這本十分詳細的手冊,可以迅速幫你掌握嵌入式 Linux和WinCE開發的流程,只要有C語言基礎的人一般2周即可入門。 附件含有MINI2440原理圖和封裝庫
上傳時間: 2013-10-08
上傳用戶:1595690