Keil C51使用詳解Keil C51 是美國(guó)Keil Software 公司出品的51 系列兼容單片機(jī)C 語(yǔ)言軟件開發(fā)系統(tǒng),與匯編相比,C 語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì),因而易學(xué)易用。用過(guò)匯編語(yǔ)言后再使用C 來(lái)開發(fā),體會(huì)更加深刻。Keil C51 軟件提供豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具,全Windows界面。另外重要的一點(diǎn),只要看一下編譯后生成的匯編代碼,就能體會(huì)到Keil C51生成的目標(biāo)代碼效率非常之高,多數(shù)語(yǔ)句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。下面詳細(xì)介紹 Keil C51 開發(fā)系統(tǒng)各部分功能和使用。第二節(jié) Keil C51 單片機(jī)軟件開發(fā)系統(tǒng)的整體結(jié)構(gòu)C51 工具包的整體結(jié)構(gòu),如圖(1)所示,其中uVision 與Ishell 分別是C51 forWindows 和for Dos 的集成開發(fā)環(huán)境(IDE),可以完成編輯、編譯、連接、調(diào)試、仿真等整個(gè)開發(fā)流程。開發(fā)人員可用IDE 本身或其它編輯器編輯C 或匯編源文件。然后分別由C51 及A51 編譯器編譯生成目標(biāo)文件(.OBJ)。目標(biāo)文件可由LIB51 創(chuàng)建生成庫(kù)文件,也可以與庫(kù)文件一起經(jīng)L51 連接定位生成絕對(duì)目標(biāo)文件(.ABS)。ABS 文件由OH51 轉(zhuǎn)換成標(biāo)準(zhǔn)的Hex 文件,以供調(diào)試器dScope51 或tScope51 使用進(jìn)行源代碼級(jí)調(diào)試,也可由仿真器使用直接對(duì)目標(biāo)板進(jìn)行調(diào)試,也可以直接寫入程序存貯器如EPROM 中。圖(1) C51 工具包整體結(jié)構(gòu)圖第三節(jié) Keil C51 工具包的安裝81. C51 for Dos在 Windows 下直接運(yùn)行軟件包中DOS\C51DOS.exe 然后選擇安裝目錄即可。完畢后欲使系統(tǒng)正常工作須進(jìn)行以下操作(設(shè)C:\C51 為安裝目錄):修改 Autoexec.bat,加入path=C:\C51\BinSet C51LIB=C:\C51\LIBSet C51INC=C:\C51\INC然后運(yùn)行Autoexec.bat2. C51 for Windows 的安裝及注意事項(xiàng):在 Windows 下運(yùn)行軟件包中WIN\Setup.exe,最好選擇安裝目錄與C51 for Dos相同,這樣設(shè)置最簡(jiǎn)單(設(shè)安裝于C:\C51 目錄下)。然后將軟件包中crack 目錄中的文件拷入C:\C51\Bin 目錄下。第四節(jié) Keil C51 工具包各部分功能及使用簡(jiǎn)介1. C51 與A51(1) C51C51 是C 語(yǔ)言編譯器,其使用方法為:C51 sourcefile[編譯控制指令]或者 C51 @ commandfile其中 sourcefile 為C 源文件(.C)。大量的編譯控制指令完成C51 編譯器的全部功能。包控C51 輸出文件C.LST,.OBJ,.I 和.SRC 文件的控制。源文件(.C)的控制等,詳見(jiàn)第五部分的具體介紹。而 Commandfile 為一個(gè)連接控制文件其內(nèi)容包括:.C 源文件及各編譯控制指令,它沒(méi)有固定的名字,開發(fā)人員可根據(jù)自己的習(xí)慣指定,它適于用控制指令較多的場(chǎng)合。(2) A51A51 是匯編語(yǔ)言編譯器,使用方法為:9A51 sourcefile[編譯控制指令]或 A51 @ commandfile其中sourcefile 為匯編源文件(.asm或.a51),而編譯控制指令的使用與其它匯編如ASM語(yǔ)言類似,可參考其他匯編語(yǔ)言材料。Commandfile 同C51 中的Commandfile 類似,它使A51 使用和修改方便。2. L51 和BL51(1) L51L51 是Keil C51 軟件包提供的連接/定位器,其功能是將編譯生成的OBJ 文件與庫(kù)文件連接定位生成絕對(duì)目標(biāo)文件(.ABS),其使用方法為:L51 目標(biāo)文件列表[庫(kù)文件列表] [to outputfile] [連接控制指令]或 L51 @Commandfile源程序的多個(gè)模塊分別經(jīng) C51 與A51 編譯后生成多個(gè)OBJ 文件,連接時(shí),這些文件全列于目標(biāo)文件列表中,作為輸入文件,如果還需與庫(kù)文件(.LiB)相連接,則庫(kù)文件也必須列在其后。outputfile 為輸文件名,缺少時(shí)為第一模塊名,后綴為.ABS。連接控制指令提供了連接定位時(shí)的所有控制功能。Commandfile 為連接控制文件,其具體內(nèi)容是包括了目標(biāo)文件列表,庫(kù)文件列表及輸出文件、連接控制命令,以取代第一種繁瑣的格式,由于目標(biāo)模塊庫(kù)文件大多不止1 個(gè),因而第2 種方法較多見(jiàn),這個(gè)文件名字也可由使用者隨意指定。(2) Bl51BL51 也是C51 軟件包的連接/定位器,其具有L51 的所有功能,此外它還具有以下3 點(diǎn)特別之處:a. 可以連接定位大于64kBytes 的程序。b. 具有代碼域及域切換功能(CodeBanking & Bank Switching)c. 可用于RTX51 操作系統(tǒng)RTX51 是一個(gè)實(shí)時(shí)多任務(wù)操作系統(tǒng),它改變了傳統(tǒng)的編程模式,甚至不必用main( )函數(shù),單片機(jī)系統(tǒng)軟件向RTOS 發(fā)展是一種趨勢(shì),這種趨勢(shì)對(duì)于186 和38610及68K 系列CPU 更為明顯和必須,對(duì)8051 因CPU 較為簡(jiǎn)單,程序結(jié)構(gòu)等都不太復(fù)雜,RTX51 作用顯得不太突出,其專業(yè)版軟件PK51 軟件包甚至不包括RTX51Full,而只有一個(gè)RTX51TINY 版本的RTOS。RTX51 TINY 適用于無(wú)外部RAM 的單片機(jī)系統(tǒng),因而可用面很窄,在本文中不作介紹。Bank switching 技術(shù)因使用很少也不作介紹。3. DScope51,Tscope51 及Monitor51(1) dScope51dScope51 是一個(gè)源級(jí)調(diào)試器和模擬器,它可以調(diào)試由C51 編譯器、A51 匯編器、PL/M-51 編譯器及ASM-51 匯編器產(chǎn)生的程序。它不需目標(biāo)板(for windows 也可通過(guò)mon51 接目標(biāo)板),只能進(jìn)行軟件模擬,但其功能強(qiáng)大,可模擬CPU 及其外圍器件,如內(nèi)部串口,外部I/O 及定時(shí)器等,能對(duì)嵌入式軟件功能進(jìn)行有效測(cè)試。
上傳時(shí)間: 2013-11-01
上傳用戶:zhouxuepeng1
單片機(jī)音樂(lè)中音調(diào)和節(jié)拍的確定方法:調(diào)號(hào)-音樂(lè)上指用以確定樂(lè)曲主音高度的符號(hào)。很明顯一個(gè)八度就有12個(gè)半音。A、B、C、D、E、F、G。經(jīng)過(guò)聲學(xué)家的研究,全世界都用這些字母來(lái)表示固定的音高。比如,A這個(gè)音,標(biāo)準(zhǔn)的音高為每秒鐘振動(dòng)440周。 升C調(diào):1=#C,也就是降D調(diào):1=BD;277(頻率)升D調(diào):1=#D,也就是降E調(diào):1=BE;311升F調(diào):1=#F,也就是降G調(diào):1=BG;369升G調(diào):1=#G,也就是降A(chǔ)調(diào):1=BA;415升A調(diào):1=#A,也就是降B調(diào):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,就是說(shuō),這首歌曲的“導(dǎo)”要唱得同A一樣高,人們也把這首歌曲叫做A調(diào)歌曲,或叫“唱A調(diào)”。1=C,就是說(shuō),這首歌曲的“導(dǎo)”要唱得同C一樣高,或者說(shuō)“這歌曲唱C調(diào)”。同樣是“導(dǎo)”,不同的調(diào)唱起來(lái)的高低是不一樣的。各調(diào)的對(duì)應(yīng)的標(biāo)準(zhǔn)頻率為: 單片機(jī)演奏音樂(lè)時(shí)音調(diào)和節(jié)拍的確定方法 經(jīng)常看到一些剛學(xué)單片機(jī)的朋友對(duì)單片機(jī)演奏音樂(lè)比較有興趣,本人也曾是這樣。在此,本人將就這方面的知識(shí)做一些簡(jiǎn)介,但愿能對(duì)單片機(jī)演奏音樂(lè)比較有興趣而又不知其解的朋友能有所啟迪。 一般說(shuō)來(lái),單片機(jī)演奏音樂(lè)基本都是單音頻率,它不包含相應(yīng)幅度的諧波頻率,也就是說(shuō)不能象電子琴那樣能奏出多種音色的聲音。因此單片機(jī)奏樂(lè)只需弄清楚兩個(gè)概念即可,也就是“音調(diào)”和“節(jié)拍”。音調(diào)表示一個(gè)音符唱多高的頻率,節(jié)拍表示一個(gè)音符唱多長(zhǎng)的時(shí)間。 在音樂(lè)中所謂“音調(diào)”,其實(shí)就是我們常說(shuō)的“音高”。在音樂(lè)中常把中央C上方的A音定為標(biāo)準(zhǔn)音高,其頻率f=440Hz。當(dāng)兩個(gè)聲音信號(hào)的頻率相差一倍時(shí),也即f2=2f1時(shí),則稱f2比f(wàn)1高一個(gè)倍頻程, 在音樂(lè)中1(do)與 ,2(來(lái))與 ……正好相差一個(gè)倍頻程,在音樂(lè)學(xué)中稱它相差一個(gè)八度音。在一個(gè)八度音內(nèi),有12個(gè)半音。以1—i八音區(qū)為例, 12個(gè)半音是: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個(gè)音階的分度基本上是以對(duì)數(shù)關(guān)系來(lái)劃分的。如果我們只要知道了這十二個(gè)音符的音高,也就是其基本音調(diào)的頻率,我們就可根據(jù)倍頻程的關(guān)系得到其他音符基本音調(diào)的頻率。 知道了一個(gè)音符的頻率后,怎樣讓單片機(jī)發(fā)出相應(yīng)頻率的聲音呢?一般說(shuō)來(lái),常采用的方法就是通過(guò)單片機(jī)的定時(shí)器定時(shí)中斷,將單片機(jī)上對(duì)應(yīng)蜂鳴器的I/O口來(lái)回取反,或者說(shuō)來(lái)回清零,置位,從而讓蜂鳴器發(fā)出聲音,為了讓單片機(jī)發(fā)出不同頻率的聲音,我們只需將定時(shí)器予置不同的定時(shí)值就可實(shí)現(xiàn)。那么怎樣確定一個(gè)頻率所對(duì)應(yīng)的定時(shí)器的定時(shí)值呢?以標(biāo)準(zhǔn)音高A為例: A的頻率f = 440 Hz,其對(duì)應(yīng)的周期為:T = 1/ f = 1/440 =2272μs 由上圖可知,單片機(jī)上對(duì)應(yīng)蜂鳴器的I/O口來(lái)回取反的時(shí)間應(yīng)為:t = T/2 = 2272/2 = 1136μs這個(gè)時(shí)間t也就是單片機(jī)上定時(shí)器應(yīng)有的中斷觸發(fā)時(shí)間。一般情況下,單片機(jī)奏樂(lè)時(shí),其定時(shí)器為工作方式1,它以振蕩器的十二分頻信號(hào)為計(jì)數(shù)脈沖。設(shè)振蕩器頻率為f0,則定時(shí)器的予置初值由下式來(lái)確定: t = 12 *(TALL – THL)/ f0 式中TALL = 216 = 65536,THL為定時(shí)器待確定的計(jì)數(shù)初值。因此定時(shí)器的高低計(jì)數(shù)器的初值為: TH = THL / 256 = ( TALL – t* f0/12) / 256 TL = THL % 256 = ( TALL – t* f0/12) %256 將t=1136μs代入上面兩式(注意:計(jì)算時(shí)應(yīng)將時(shí)間和頻率的單位換算一致),即可求出標(biāo)準(zhǔn)音高A在單片機(jī)晶振頻率f0=12Mhz,定時(shí)器在工作方式1下的定時(shí)器高低計(jì)數(shù)器的予置初值為 : TH440Hz = (65536 – 1136 * 12/12) /256 = FBH TL440Hz = (65536 – 1136 * 12/12)%256 = 90H根據(jù)上面的求解方法,我們就可求出其他音調(diào)相應(yīng)的計(jì)數(shù)器的予置初值。 音符的節(jié)拍我們可以舉例來(lái)說(shuō)明。在一張樂(lè)譜中,我們經(jīng)常會(huì)看到這樣的表達(dá)式,如1=C 、1=G …… 等等,這里1=C,1=G表示樂(lè)譜的曲調(diào),和我們前面所談的音調(diào)有很大的關(guān)聯(lián), 、 就是用來(lái)表示節(jié)拍的。以 為例加以說(shuō)明,它表示樂(lè)譜中以四分音符為節(jié)拍,每一小結(jié)有三拍。比如: 其中1 、2 為一拍,3、4、5為一拍,6為一拍共三拍。1 、2的時(shí)長(zhǎng)為四分音符的一半,即為八分音符長(zhǎng),3、4的時(shí)長(zhǎng)為八分音符的一半,即為十六分音符長(zhǎng),5的時(shí)長(zhǎng)為四分音符的一半,即為八分音符長(zhǎng),6的時(shí)長(zhǎng)為四分音符長(zhǎng)。那么一拍到底該唱多長(zhǎng)呢?一般說(shuō)來(lái),如果樂(lè)曲沒(méi)有特殊說(shuō)明,一拍的時(shí)長(zhǎng)大約為400—500ms 。我們以一拍的時(shí)長(zhǎng)為400ms為例,則當(dāng)以四分音符為節(jié)拍時(shí),四分音符的時(shí)長(zhǎng)就為400ms,八分音符的時(shí)長(zhǎng)就為200ms,十六分音符的時(shí)長(zhǎng)就為100ms。可見(jiàn),在單片機(jī)上控制一個(gè)音符唱多長(zhǎng)可采用循環(huán)延時(shí)的方法來(lái)實(shí)現(xiàn)。首先,我們確定一個(gè)基本時(shí)長(zhǎng)的延時(shí)程序,比如說(shuō)以十六分音符的時(shí)長(zhǎng)為基本延時(shí)時(shí)間,那么,對(duì)于一個(gè)音符,如果它為十六分音符,則只需調(diào)用一次延時(shí)程序,如果它為八分音符,則只需調(diào)用二次延時(shí)程序,如果它為四分音符,則只需調(diào)用四次延時(shí)程序,依次類推。通過(guò)上面關(guān)于一個(gè)音符音調(diào)和節(jié)拍的確定方法,我們就可以在單片機(jī)上實(shí)現(xiàn)演奏音樂(lè)了。具體的實(shí)現(xiàn)方法為:將樂(lè)譜中的每個(gè)音符的音調(diào)及節(jié)拍變換成相應(yīng)的音調(diào)參數(shù)和節(jié)拍參數(shù),將他們做成數(shù)據(jù)表格,存放在存儲(chǔ)器中,通過(guò)程序取出一個(gè)音符的相關(guān)參數(shù),播放該音符,該音符唱完后,接著取出下一個(gè)音符的相關(guān)參數(shù)……,如此直到播放完畢最后一個(gè)音符,根據(jù)需要也可循環(huán)不停地播放整個(gè)樂(lè)曲。另外,對(duì)于樂(lè)曲中的休止符,一般將其音調(diào)參數(shù)設(shè)為FFH,F(xiàn)FH,其節(jié)拍參數(shù)與其他音符的節(jié)拍參數(shù)確定方法一致,樂(lè)曲結(jié)束用節(jié)拍參數(shù)為00H來(lái)表示。下面給出部分音符(三個(gè)八度音)的頻率以及以單片機(jī)晶振頻率f0=12Mhz,定時(shí)器在工作方式1下的定時(shí)器高低計(jì)數(shù)器的予置初值 : C調(diào)音符 頻率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調(diào)音符 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調(diào)音符 頻率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
上傳時(shí)間: 2013-10-20
上傳用戶:哈哈haha
Verilog_HDL的基本語(yǔ)法詳解(夏宇聞版):Verilog HDL是一種用于數(shù)字邏輯電路設(shè)計(jì)的語(yǔ)言。用Verilog HDL描述的電路設(shè)計(jì)就是該電路的Verilog HDL模型。Verilog HDL既是一種行為描述的語(yǔ)言也是一種結(jié)構(gòu)描述的語(yǔ)言。這也就是說(shuō),既可以用電路的功能描述也可以用元器件和它們之間的連接來(lái)建立所設(shè)計(jì)電路的Verilog HDL模型。Verilog模型可以是實(shí)際電路的不同級(jí)別的抽象。這些抽象的級(jí)別和它們對(duì)應(yīng)的模型類型共有以下五種: 系統(tǒng)級(jí)(system):用高級(jí)語(yǔ)言結(jié)構(gòu)實(shí)現(xiàn)設(shè)計(jì)模塊的外部性能的模型。 算法級(jí)(algorithm):用高級(jí)語(yǔ)言結(jié)構(gòu)實(shí)現(xiàn)設(shè)計(jì)算法的模型。 RTL級(jí)(Register Transfer Level):描述數(shù)據(jù)在寄存器之間流動(dòng)和如何處理這些數(shù)據(jù)的模型。 門級(jí)(gate-level):描述邏輯門以及邏輯門之間的連接的模型。 開關(guān)級(jí)(switch-level):描述器件中三極管和儲(chǔ)存節(jié)點(diǎn)以及它們之間連接的模型。 一個(gè)復(fù)雜電路系統(tǒng)的完整Verilog HDL模型是由若干個(gè)Verilog HDL模塊構(gòu)成的,每一個(gè)模塊又可以由若干個(gè)子模塊構(gòu)成。其中有些模塊需要綜合成具體電路,而有些模塊只是與用戶所設(shè)計(jì)的模塊交互的現(xiàn)存電路或激勵(lì)信號(hào)源。利用Verilog HDL語(yǔ)言結(jié)構(gòu)所提供的這種功能就可以構(gòu)造一個(gè)模塊間的清晰層次結(jié)構(gòu)來(lái)描述極其復(fù)雜的大型設(shè)計(jì),并對(duì)所作設(shè)計(jì)的邏輯電路進(jìn)行嚴(yán)格的驗(yàn)證。 Verilog HDL行為描述語(yǔ)言作為一種結(jié)構(gòu)化和過(guò)程性的語(yǔ)言,其語(yǔ)法結(jié)構(gòu)非常適合于算法級(jí)和RTL級(jí)的模型設(shè)計(jì)。這種行為描述語(yǔ)言具有以下功能: · 可描述順序執(zhí)行或并行執(zhí)行的程序結(jié)構(gòu)。 · 用延遲表達(dá)式或事件表達(dá)式來(lái)明確地控制過(guò)程的啟動(dòng)時(shí)間。 · 通過(guò)命名的事件來(lái)觸發(fā)其它過(guò)程里的激活行為或停止行為。 · 提供了條件、if-else、case、循環(huán)程序結(jié)構(gòu)。 · 提供了可帶參數(shù)且非零延續(xù)時(shí)間的任務(wù)(task)程序結(jié)構(gòu)。 · 提供了可定義新的操作符的函數(shù)結(jié)構(gòu)(function)。 · 提供了用于建立表達(dá)式的算術(shù)運(yùn)算符、邏輯運(yùn)算符、位運(yùn)算符。 · Verilog HDL語(yǔ)言作為一種結(jié)構(gòu)化的語(yǔ)言也非常適合于門級(jí)和開關(guān)級(jí)的模型設(shè)計(jì)。因其結(jié)構(gòu)化的特點(diǎn)又使它具有以下功能: - 提供了完整的一套組合型原語(yǔ)(primitive); - 提供了雙向通路和電阻器件的原語(yǔ); - 可建立MOS器件的電荷分享和電荷衰減動(dòng)態(tài)模型。 Verilog HDL的構(gòu)造性語(yǔ)句可以精確地建立信號(hào)的模型。這是因?yàn)樵赩erilog HDL中,提供了延遲和輸出強(qiáng)度的原語(yǔ)來(lái)建立精確程度很高的信號(hào)模型。信號(hào)值可以有不同的的強(qiáng)度,可以通過(guò)設(shè)定寬范圍的模糊值來(lái)降低不確定條件的影響。 Verilog HDL作為一種高級(jí)的硬件描述編程語(yǔ)言,有著類似C語(yǔ)言的風(fēng)格。其中有許多語(yǔ)句如:if語(yǔ)句、case語(yǔ)句等和C語(yǔ)言中的對(duì)應(yīng)語(yǔ)句十分相似。如果讀者已經(jīng)掌握C語(yǔ)言編程的基礎(chǔ),那么學(xué)習(xí)Verilog HDL并不困難,我們只要對(duì)Verilog HDL某些語(yǔ)句的特殊方面著重理解,并加強(qiáng)上機(jī)練習(xí)就能很好地掌握它,利用它的強(qiáng)大功能來(lái)設(shè)計(jì)復(fù)雜的數(shù)字邏輯電路。下面我們將對(duì)Verilog HDL中的基本語(yǔ)法逐一加以介紹。
標(biāo)簽: Verilog_HDL
上傳時(shí)間: 2013-11-23
上傳用戶:青春給了作業(yè)95
隨著數(shù)字電視機(jī)頂盒接收節(jié)目的增加,條件接收顯得越來(lái)越重要,但是在實(shí)際情況下,一個(gè)發(fā)射塔會(huì)供給許多區(qū)域接收節(jié)目,而具體的區(qū)域應(yīng)有具體的區(qū)域限制,智能卡也應(yīng)有區(qū)域性的選擇解擾。本文提出了一種在NIT表中添加描述子以確定具體區(qū)域,解擾該區(qū)域特定節(jié)目的方法,實(shí)際應(yīng)用證明,該方法操作簡(jiǎn)單,修改容易,實(shí)用性較強(qiáng)。
標(biāo)簽: 改進(jìn)型 條件接收 機(jī)頂盒
上傳時(shí)間: 2013-12-18
上傳用戶:JIMMYCB001
針對(duì)微型四旋翼飛行器非線性動(dòng)力學(xué)模型下姿態(tài)穩(wěn)定和速度跟蹤控制問(wèn)題,基于全局快速終端滑模控制(TSMC-terminal sliding mode control)方法研究了控制器設(shè)計(jì)。通過(guò)引入等價(jià)控制輸入,將姿態(tài)控制通道解耦并分別設(shè)計(jì)了姿態(tài)穩(wěn)定TSMC控制器。對(duì)速度跟蹤和高度跟蹤控制,在保證高度跟蹤控制穩(wěn)定的基礎(chǔ)上設(shè)計(jì)了保證速度跟蹤的耦合控制器。姿態(tài)穩(wěn)定和速度跟蹤仿真驗(yàn)證了設(shè)計(jì)控制器的性能。
上傳時(shí)間: 2013-10-23
上傳用戶:xcsx1945
徹底理解指針的概念及使用方法,C語(yǔ)言指針詳解。
上傳時(shí)間: 2013-11-09
上傳用戶:1427796291
《雙色圖文詳解三極管及應(yīng)用電路》首先介紹了電子技術(shù)的學(xué)習(xí)方法和電子元器件知識(shí)的學(xué)習(xí)重點(diǎn),然后詳細(xì)地介紹了三極管的基礎(chǔ)知識(shí)和應(yīng)用電路,重點(diǎn)介紹了三極管直流電路、單級(jí)放大器和負(fù)反饋放大器的電路特性,最后介紹了三極管的檢測(cè)方法。
標(biāo)簽: 雙色 三極管 應(yīng)用電路
上傳時(shí)間: 2013-10-20
上傳用戶:lgd57115700
Verilog_HDL的基本語(yǔ)法詳解(夏宇聞版):Verilog HDL是一種用于數(shù)字邏輯電路設(shè)計(jì)的語(yǔ)言。用Verilog HDL描述的電路設(shè)計(jì)就是該電路的Verilog HDL模型。Verilog HDL既是一種行為描述的語(yǔ)言也是一種結(jié)構(gòu)描述的語(yǔ)言。這也就是說(shuō),既可以用電路的功能描述也可以用元器件和它們之間的連接來(lái)建立所設(shè)計(jì)電路的Verilog HDL模型。Verilog模型可以是實(shí)際電路的不同級(jí)別的抽象。這些抽象的級(jí)別和它們對(duì)應(yīng)的模型類型共有以下五種: 系統(tǒng)級(jí)(system):用高級(jí)語(yǔ)言結(jié)構(gòu)實(shí)現(xiàn)設(shè)計(jì)模塊的外部性能的模型。 算法級(jí)(algorithm):用高級(jí)語(yǔ)言結(jié)構(gòu)實(shí)現(xiàn)設(shè)計(jì)算法的模型。 RTL級(jí)(Register Transfer Level):描述數(shù)據(jù)在寄存器之間流動(dòng)和如何處理這些數(shù)據(jù)的模型。 門級(jí)(gate-level):描述邏輯門以及邏輯門之間的連接的模型。 開關(guān)級(jí)(switch-level):描述器件中三極管和儲(chǔ)存節(jié)點(diǎn)以及它們之間連接的模型。 一個(gè)復(fù)雜電路系統(tǒng)的完整Verilog HDL模型是由若干個(gè)Verilog HDL模塊構(gòu)成的,每一個(gè)模塊又可以由若干個(gè)子模塊構(gòu)成。其中有些模塊需要綜合成具體電路,而有些模塊只是與用戶所設(shè)計(jì)的模塊交互的現(xiàn)存電路或激勵(lì)信號(hào)源。利用Verilog HDL語(yǔ)言結(jié)構(gòu)所提供的這種功能就可以構(gòu)造一個(gè)模塊間的清晰層次結(jié)構(gòu)來(lái)描述極其復(fù)雜的大型設(shè)計(jì),并對(duì)所作設(shè)計(jì)的邏輯電路進(jìn)行嚴(yán)格的驗(yàn)證。 Verilog HDL行為描述語(yǔ)言作為一種結(jié)構(gòu)化和過(guò)程性的語(yǔ)言,其語(yǔ)法結(jié)構(gòu)非常適合于算法級(jí)和RTL級(jí)的模型設(shè)計(jì)。這種行為描述語(yǔ)言具有以下功能: · 可描述順序執(zhí)行或并行執(zhí)行的程序結(jié)構(gòu)。 · 用延遲表達(dá)式或事件表達(dá)式來(lái)明確地控制過(guò)程的啟動(dòng)時(shí)間。 · 通過(guò)命名的事件來(lái)觸發(fā)其它過(guò)程里的激活行為或停止行為。 · 提供了條件、if-else、case、循環(huán)程序結(jié)構(gòu)。 · 提供了可帶參數(shù)且非零延續(xù)時(shí)間的任務(wù)(task)程序結(jié)構(gòu)。 · 提供了可定義新的操作符的函數(shù)結(jié)構(gòu)(function)。 · 提供了用于建立表達(dá)式的算術(shù)運(yùn)算符、邏輯運(yùn)算符、位運(yùn)算符。 · Verilog HDL語(yǔ)言作為一種結(jié)構(gòu)化的語(yǔ)言也非常適合于門級(jí)和開關(guān)級(jí)的模型設(shè)計(jì)。因其結(jié)構(gòu)化的特點(diǎn)又使它具有以下功能: - 提供了完整的一套組合型原語(yǔ)(primitive); - 提供了雙向通路和電阻器件的原語(yǔ); - 可建立MOS器件的電荷分享和電荷衰減動(dòng)態(tài)模型。 Verilog HDL的構(gòu)造性語(yǔ)句可以精確地建立信號(hào)的模型。這是因?yàn)樵赩erilog HDL中,提供了延遲和輸出強(qiáng)度的原語(yǔ)來(lái)建立精確程度很高的信號(hào)模型。信號(hào)值可以有不同的的強(qiáng)度,可以通過(guò)設(shè)定寬范圍的模糊值來(lái)降低不確定條件的影響。 Verilog HDL作為一種高級(jí)的硬件描述編程語(yǔ)言,有著類似C語(yǔ)言的風(fēng)格。其中有許多語(yǔ)句如:if語(yǔ)句、case語(yǔ)句等和C語(yǔ)言中的對(duì)應(yīng)語(yǔ)句十分相似。如果讀者已經(jīng)掌握C語(yǔ)言編程的基礎(chǔ),那么學(xué)習(xí)Verilog HDL并不困難,我們只要對(duì)Verilog HDL某些語(yǔ)句的特殊方面著重理解,并加強(qiáng)上機(jī)練習(xí)就能很好地掌握它,利用它的強(qiáng)大功能來(lái)設(shè)計(jì)復(fù)雜的數(shù)字邏輯電路。下面我們將對(duì)Verilog HDL中的基本語(yǔ)法逐一加以介紹。
標(biāo)簽: Verilog_HDL
上傳時(shí)間: 2014-12-04
上傳用戶:cppersonal
根據(jù)紅外遙控芯片BA5104的編碼格式,探討使用AVR單片機(jī)ATmega16進(jìn)行軟件解碼的兩種方法:外部中斷解碼法和輸入捕獲功能解碼法。詳細(xì)闡述這兩種解碼方法的思路,并給出相應(yīng)的解碼中斷服務(wù)子程序。分析這2種解碼方法的優(yōu)缺點(diǎn),得出輸入捕獲功能解碼法比外部中斷解碼法效率更高、解出的遙控碼更穩(wěn)定、可靠的結(jié)論。
上傳時(shí)間: 2013-11-21
上傳用戶:adada
有關(guān)此程序的功能請(qǐng)見(jiàn)程序中的幫助菜單程序難點(diǎn)1:創(chuàng)建Windows xp中按鈕樣式解決方法:使用標(biāo)簽控件與形狀控件一起形成此樣式此方法缺點(diǎn):由于標(biāo)簽沒(méi)有TAB事件,所以不能使用鍵盤控制按鈕。此缺點(diǎn)解方法:截取鍵盤事件,以響應(yīng)TAB事件(時(shí)間有限,沒(méi)有實(shí)現(xiàn))程序難點(diǎn)2:實(shí)時(shí)與分時(shí)混合應(yīng)用解決方法:置一FOR循環(huán)在TIMER中,先判斷并響應(yīng)時(shí)實(shí)進(jìn)程,再置另一當(dāng)循環(huán)在TIMER中,無(wú)時(shí)實(shí)時(shí)再執(zhí)行分時(shí)進(jìn)程。程序難點(diǎn)3:分頁(yè)式內(nèi)存管理的調(diào)度方式解決方法:具體方法見(jiàn)程序中的注釋。程序難點(diǎn)4:基于優(yōu)先級(jí)的調(diào)度方式解決方法:使用雙重當(dāng)循環(huán),第一層判斷優(yōu)先級(jí),第二層判斷執(zhí)行進(jìn)程.此程序不足之處:不能響應(yīng)鍵盤事件,沒(méi)有程序的等待狀態(tài),由于LIST控件的先天不足進(jìn)程列表看上去有點(diǎn)閃爍。當(dāng)然程序的等待狀態(tài)可以隨機(jī)產(chǎn)生但由于沒(méi)有太多時(shí)間專注于此,只好等以后再完善了。希望大家指出不足之處!
標(biāo)簽: Windows 程序 TAB 標(biāo)簽
上傳時(shí)間: 2015-03-12
上傳用戶:海陸空653
蟲蟲下載站版權(quán)所有 京ICP備2021023401號(hào)-1