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

蟲蟲首頁| 資源下載| 資源專輯| 精品軟件
登錄| 注冊

高頻<b>變壓器</b>

  • 波形發生器,含原理圖+電路圖+源程序

    含原理圖+電路圖+程序的波形發生器:在工作中,我們常常會用到波形發生器,它是使用頻度很高的電子儀器。現在的波形發生器都采用單片機來構成。單片機波形發生器是以單片機核心,配相應的外圍電路和功能軟件,能實現各種波形發生的應用系統,它由硬件部分和軟件部分組成,硬件是系統的基礎,軟件則是在硬件的基礎上,對其合理的調配和使用,從而完成波形發生的任務。 波形發生器的技術指標:(1) 波形類型:方型、正弦波、三角波、鋸齒波;(2) 幅值電壓:1V、2V、3V、4V、5V;(3) 頻率值:10HZ、20HZ、50HZ、100HZ、200HZ、500HZ、1KHZ;(4) 輸出極性:雙極性操作設計1、 機器通電后,系統進行初始化,LED在面板上顯示6個0,表示系統處于初始狀態,等待用戶輸入設置命令,此時,無任何波形信號輸出。2、 用戶按下“F”、“V”、“W”,可以分別進入頻率,幅值波形設置,使系統進入設置狀態,相應的數碼管顯示“一”,此時,按其它鍵,無效;3、 在進入某一設置狀態后,輸入0~9等數字鍵,(數字鍵僅在設置狀態時,有效)為欲輸出的波形設置相應參數,LED將參數顯示在面板上;4、 如果在設置中,要改變已設定的參數,可按下“CL”鍵,清除所有已設定參數,系統恢復初始狀態,LED顯示6個0,等待重新輸入命令;5、 當必要的參數設定完畢后,所有參數顯示于LED上,用戶按下“EN”鍵,系統會將各波形參數傳遞到波形產生模塊中,以便控制波形發生,實現不同頻率,不同電壓幅值,不同類型波形的輸出;6、 用戶按下“EN”鍵后,波形發生器開始輸出滿足參數的波形信號,面板上相應類型的運行指示燈閃爍,表示波形正在輸出,LED顯示波形類型編號,頻率值、電壓幅值等波形參數;7、 波形發生器在輸出信號時,按下任意一個鍵,就停止波形信號輸出,等待重新設置參數,設置過程如上所述,如果不改變參數,可按下“EN”鍵,繼續輸出原波形信號;8、 要停止波形發生器的使用,可按下復位按鈕,將系統復位,然后關閉電源。硬件組成部分通過綜合比較,決定選用獲得廣泛應用,性能價格高的常用芯片來構成硬件電路。單片機采用MCS-51系列的89C51(一塊),74LS244和74LS373(各一塊),反相驅動器 ULN2803A(一塊),運算放大器 LM324(一塊)  波形發生器的硬件電路由單片機、鍵盤顯示器接口電路、波形轉換(D/ A)電路和電源線路等四部分構成。1.單片機電路功能:形成掃描碼,鍵值識別,鍵功能處理,完成參數設置;形成顯示段碼,向LED顯示接口電路輸出;產生定時中斷;形成波形的數字編碼,并輸出到D/A接口電路;如電路原理圖所示: 89C51的P0口和P2口作為擴展I/O口,與8255、0832、74LS373相連接,可尋址片外的寄存器。單片機尋址外設,采用存儲器映像方式,外部接口芯片與內部存儲器統一編址,89C51提供16根地址線P0(分時復用)和P2,P2口提供高8位地址線,P0口提供低8位地址線。P0口同時還要負責與8255,0832的數據傳遞。P2.7是8255的片選信號,P2.6是0832(1)的片選,P2.5是0832(2)的片選,低電平有效,P0.0、P0.1經過74LS373鎖存后,送到8255的A1、A2作,片內A口,B口,C口,控制口等寄存器的字選。89C51的P1口的低4位連接4只發光三極管,作為波形類型指示燈,表示正在輸出的波形是什么類型。單片機89C51內部有兩個定時器/計數器,在波形發生器中使用T0作為中斷源。不同的頻率值對應不同的定時初值,定時器的溢出信號作為中斷請求。控制定時器中斷的特殊功能寄存器設置如下:定時控制寄存器TCON=(00010000)工作方式選擇寄存器(TMOD)=(00000000)中斷允許控制寄存器(IE)=(10000010)2、鍵盤顯示器接口電路功能:驅動6位數碼管動態顯示;           提供響應界面;           掃面鍵盤;           提供輸入按鍵。由并口芯片8255,鎖存器74LS273,74LS244,反向驅動器ULN2803A,6位共陰極數碼管(LED)和4×4行列式鍵盤組成。8255的C口作為鍵盤的I/O接口,C口的低4位輸出到掃描碼,高4位作為輸入行狀態,按鍵的分布如圖所示。8255的A口作為LED段碼輸出口,與74LS244相連接,B口作為LED的位選信號輸出口,與ULN2803A相連接。8255內部的4個寄存器地址分配如下:控制口:7FFFH , A口:7FFFCH , B口:7FFDH ,  C口:7FFEH    3、D/A電路功能:將波形樣值的數字編碼轉換成模擬值;完成單極性向雙極性的波形輸出;構成由兩片0832和一塊LM324運放組成。0832(1)是參考電壓提供者,單片機向0832(1)內的鎖存器送數字編碼,不同的編碼會產生不同的輸出值,在本發生器中,可輸出1V、2V、3V、4V、5V等五個模擬值,這些值作為0832(2)的參考電壓,使0832(2)輸出波形信號時,其幅度是可調的。0832(2)用于產生各種波形信號,單片機在波形產生程序的控制下,生成波形樣值編碼,并送到0832(2)中的鎖存器,經過D/A轉換,得到波形的模擬樣值點,假如N個點就構成波形的一個周期,那么0832(2)輸出N個樣值點后,樣值點形成運動軌跡,就是波形信號的一個周期。重復輸出N個點后,由此成第二個周期,第三個周期……。這樣0832(2)就能連續的輸出周期變化的波形信號。運放A1是直流放大器,運放A2是單極性電壓放大器,運放A3是雙極性驅動放大器,使波形信號能帶得起負載。地址分配:0832(1):DFFFH ,0832(2):BFFFH4、電源電路:功能:為波形發生器提供直流能量;構成由變壓器、整流硅堆,穩壓塊7805組成。220V的交流電,經過開關,保險管(1.5A/250V),到變壓器降壓,由220V降為10V,通過硅堆將交流電變成直流電,對于諧波,用4700μF的電解電容給予濾除。為保證直流電壓穩定,使用7805進行穩壓。最后,+5V電源配送到各用電負載。

    標簽: 波形發生器 原理圖 電路圖 源程序

    上傳時間: 2013-11-08

    上傳用戶:685

  • PIC單片機設計電子密碼鎖

    介紹用PIC16F84單片機制作的電子密碼鎖。PIC16F84單片機共18個引腳,13個可用I/O接口。芯片內有1K×14的FLASHROM程序存儲器,36×8的靜態RAM的通用寄存器,64×8的EEPROM的數據存儲器,8級深度的硬堆棧。 用PIC單片機設計的電子密碼鎖微芯公司生產的PIC8位COMS單片機,采用類RISC指令集和哈弗總線結構,以及先進的流水線時序,與傳統51單片機相比其在速度和性能方面更具優越性和先進性。PIC單片機的另一個優點是片上硬件資源豐富,集成常見的EPROM、DAC、PWM以及看門狗電路。這使得硬件電路的設計更加簡單,節約設計成本,提高整機性能。因此PIC單片機已成為產品開發,尤其是產品設計和研制階段的首選控制器。本文介紹用PIC16F84單片機制作的電子密碼鎖。PIC16F84單片機共18個引腳,13個可用I/O接口。芯片內有1K×14的FLASHROM程序存儲器,36×8的靜態RAM的通用寄存器,64×8的EEPROM的數據存儲器,8級深度的硬堆棧。硬件設計  電路原理見圖1。Xx8位數據線接4x4鍵盤矩陣電路,面板布局見表1,A、B、C、D為備用功能鍵。RA0、RA7輸出4組編碼二進制數據,經74LS139譯碼后輸出逐行掃描信號,送RB4-RB7列信號輸入端。余下半個139譯碼器動揚聲器。RB2接中功率三極管基極,驅動繼電器動作。有效密碼長度為4位,根據實際情況,可通過修改源程序增加密碼位數。產品初始密碼為3345,這是一隨機數,無特殊意義,目的是為防止被套解。用戶可按*號鍵修改密碼,按#號鍵結束。輸入密碼并按#號確認之后,腳輸出RB2腳輸出高電平,繼電器閉合,執行一次開鎖動作。  若用戶輸入的密碼正確,揚聲器發出一聲稍長的“滴”提示聲,若輸入的密碼與上次修改的不符,則發出短促的“滴”聲。連續3次輸入密碼錯誤之后,程序鎖死,揚聲器報警。直到CPU被復位或從新上電。軟件設計  軟件流程圖見圖3。CPU上電或復位之后將最近一次修改并保存到EEPROM的密碼讀出,最為參照密匙。然后等待用戶輸入開鎖密碼。若5分鐘以內沒有接受到用戶的任何輸入,CPU自動轉入掉電模式,用戶輸入任意值可喚醒CPU。每次修改密碼之后,CPU將新的密碼存入內部4個連續的EEPROM單元,掉電后該數據任有效。每執行一次開鎖指令,CPU將當前輸入密碼與該值比較,看是否真確,并給出相應的提示和控制。布     局  所有元件均使用SMD表貼封裝,縮小體積,便于產品安裝,60X60雙面PCB板,頂層是一體化輸入鍵盤,底層是元件層。成型后的產品體積小巧,能很方便的嵌入防盜鐵門、保險箱柜。

    標簽: PIC 單片機設計 電子密碼鎖

    上傳時間: 2013-10-31

    上傳用戶:uuuuuuu

  • 可編程外圍接口82C55A

    82C55A是高性能,工業標準,并行I/O的LSI外圍芯片;提供24條I/O腳線。     在三種主要的操作方式下分組進行程序設計82C88A的幾個特點:(1)與所有Intel系列微處理器兼容;(2)有較高的操作速度;(3)24條可編程I/O腳線;(4)底功耗的CHMOS;(5)與TTL兼容;(6)擁有控制字讀回功能;(7)擁有直接置位/復位功能;(8)在所有I/O輸出端口有2.5mA  DC驅動能力;(9)適應性強。方式0操作稱為簡單I/O操作,是指端口的信號線可工作在電平敏感輸入方式或鎖存輸出。所以,須將控制寄存器設計為:控制寄存器中:D7=1; D6 D5=00;  D2=0。D7位為1代表一個有效的方式。通過對D4 D3 D1和D0的置位/復位來實現端口A及端口B是輸入或輸出。P56表2-1列出了操作方式0端口管腳功能。

    標簽: 82C55A 可編程 外圍接口

    上傳時間: 2013-10-26

    上傳用戶:brilliantchen

  • 單片機音樂中音調和節拍的確定方法

    單片機音樂中音調和節拍的確定方法:調號-音樂上指用以確定樂曲主音高度的符號。很明顯一個八度就有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

  • 實驗指導書 (TPC-H實驗臺C語言版)

    《現代微機原理與接口技術》實驗指導書 TPC-H實驗臺C語言版 1.實驗臺結構1)I / O 地址譯碼電路如上圖1所示地址空間280H~2BFH共分8條譯碼輸出線:Y0~Y7 其地址分別是280H~287H、288H~28FH、290H~297H、298H~29FH、2A0H~2A7H、2A8H~2AFH、2B0H~2B7H、2B8H~2BFH,8根譯碼輸出線在實驗臺I/O地址處分別由自鎖緊插孔引出供實驗選用(見圖2)。 2) 總線插孔采用“自鎖緊”插座在標有“總線”區引出數據總線D7~D0;地址總線A9~A0,讀、寫信號IOR、IOW;中斷請求信號IRQ ;DMA請求信號DRQ1;DMA響應信號DACK1 及AEN信號,供學生搭試各種接口實驗電路使用。3) 時鐘電路如圖-3所示可以輸出1MHZ 2MHZ兩種信號供A/D轉換器定時器/計數器串行接口實驗使用。圖34) 邏輯電平開關電路如圖-4所示實驗臺右下方設有8個開關K7~K0,開關撥到“1”位置時開關斷開,輸出高電平。向下打到“0”位置時開關接通,輸出低電平。電路中串接了保護電阻使接口電路不直接同+5V 、GND相連,可有效地防止因誤操作誤編程損壞集成電路現象。圖 4 圖 55) L E D 顯示電路如圖-5所示實驗臺上設有8個發光二極管及相關驅動電路(輸入端L7~L0),當輸入信號為“1” 時發光,為“0”時滅6) 七段數碼管顯示電路如圖-6所示實驗臺上設有兩個共陰極七段數碼管及驅動電路,段碼為同相驅動器,位碼為反相驅動器。從段碼與位碼的驅動器輸入端(段碼輸入端a、b、c、d、e、f、g、dp,位碼輸入端s1、 s2)輸入不同的代碼即可顯示不同數字或符號。

    標簽: TPC-H 實驗指導書 C語言 實驗臺

    上傳時間: 2013-11-22

    上傳用戶:sssnaxie

  • 微型計算機課程設計論文—通用微機發聲程序的匯編設計

    微型計算機課程設計論文—通用微機發聲程序的匯編設計 本文講述了在微型計算機中利用可編程時間間隔定時器的通用發聲程序設計,重點講述了程序的發聲原理,節拍的產生,按節拍改變的動畫程序原理,并以設計一個簡單的樂曲評分程序為引子,分析程序設計的細節。關鍵字:微機 8253 通用發聲程序 動畫技術 直接寫屏 1. 可編程時間間隔定時器8253在通用個人計算機中,有一個可編程時間間隔定時器8253,它能夠根據程序提供的計數值和工作方式,產生各種形狀和各種頻率的計數/定時脈沖,提供給系統各個部件使用。本設計是利用計算機控制發聲的原理,編寫演奏樂曲的程序。    在8253/54定時器內部有3個獨立工作的計數器:計數器0,計數器1和計數器2,每個計數器都分配有一個斷口地址,分別為40H,41H和42H.8253/54內部還有一個公用的控制寄存器,端地址為43H.端口地址輸入到8253/54的CS,AL,A0端,分別對3個計數器和控制器尋址.     對8353/54編程時,先要設定控制字,以選擇計數器,確定工作方式和計數值的格式.每計數器由三個引腳與外部聯系,見教材第320頁圖9-1.CLK為時鐘輸入端,GATE為門控信號輸入端,OUT為計數/定時信號輸入端.每個計數器中包含一個16位計數寄存器,這個計數器時以倒計數的方式計數的,也就是說,從計數初值逐次減1,直到減為0為止.     8253/54的三個計數器是分別編程的,在對任一個計數器編程時,必須首先講控制字節寫入控制寄存器.控制字的作用是告訴8253/54選擇哪個計數器工作,要求輸出什么樣的脈沖波形.另外,對8253/54的初始化工作還包括,向選定的計數器輸入一個計數初值,因為這個計數值可以是8為的,也可以是16為的,而8253/5的數據總線是8位的,所以要用兩條輸出指令來寫入初值.下面給出8253/54初始化程序段的一個例子,將計數器2設定為方式3,(關于計數器的工作方式參閱教材第325—330頁)計數初值為65536.    MOV   AL,10110110B ;選擇計數器2,按方式3工作,計數值是二進制格式    OUT   43H,AL      ; j將控制字送入控制寄存器    MOV   AL,0        ;計數初值為0    OUT   42H,AL      ;將計數初值的低字節送入計數器2    OUT   42H,AL      ;將計數初值的高字節送入計數器2    在IBM PC中8253/54的三個時鐘端CLK0,CLK1和CLK2的輸入頻率都是1.1931817MHZ. PC機上的大多數I/O都是由主板上的8255(或8255A)可編程序外圍接口芯片(PPI)管理的.關于8255A的結構和工作原理及應用舉例參閱教材第340—373頁.教材第364頁的”PC/XT機中的揚聲器接口電路”一節介紹了揚聲器的驅動原理,并給出了通用發聲程序.本設計正是基于這個原理,通過編程,控制加到揚聲器上的信號的頻率,奏出樂曲的.2.發聲程序的設計下面是能產生頻率為f的通用發聲程序:MOV      AL, 10110110B   ;8253控制字:通道2,先寫低字節,后寫高字節        ;方式3,二進制計數OUT      43H, AL                  ;寫入控制字MOV      DX, 0012H               ;被除數高位MOV      AX, 35DEH              ;被除數低位 DIV      ID      ;求計數初值n,結果在AX中OUT      42H, AL     ;送出低8位MOV      AL, AHOUT      42H,AL     ;送出高8位IN      AL, 61H     ;讀入8255A端口B的內容MOV      AH, AL                  ;保護B口的原狀態OR  AL, 03H     ;使B口后兩位置1,其余位保留OUT 61H,AL     ;接通揚聲器,使它發聲

    標簽: 微型計算機 發聲程序 論文 微機

    上傳時間: 2013-10-17

    上傳用戶:sunjet

  • 串行編程器源程序(Keil C語言)

    串行編程器源程序(Keil C語言)//FID=01:AT89C2051系列編程器//實現編程的讀,寫,擦等細節//AT89C2051的特殊處:給XTAL一個脈沖,地址計數加1;P1的引腳排列與AT89C51相反,需要用函數轉換#include <e51pro.h> #define C2051_P3_7 P1_0#define C2051_P1 P0//注意引腳排列相反#define C2051_P3_0  P1_1#define C2051_P3_1 P1_2#define C2051_XTAL P1_4#define C2051_P3_2 P1_5#define C2051_P3_3 P1_6#define C2051_P3_4 P1_7#define C2051_P3_5 P3_5 void InitPro01()//編程前的準備工作{ SetVpp0V(); P0=0xff; P1=0xff; C2051_P3_5=1; C2051_XTAL=0; Delay_ms(20); nAddress=0x0000; SetVpp5V();} void ProOver01()//編程結束后的工作,設置合適的引腳電平{ SetVpp5V(); P0=0xff; P1=0xff; C2051_P3_5=1; C2051_XTAL=1;} BYTE GetData()//從P0口獲得數據{ B_0=P0_7; B_1=P0_6; B_2=P0_5; B_3=P0_4; B_4=P0_3; B_5=P0_2; B_6=P0_1; B_7=P0_0; return B;} void SetData(BYTE DataByte)//轉換并設置P0口的數據{ B=DataByte; P0_0=B_7; P0_1=B_6; P0_2=B_5; P0_3=B_4; P0_4=B_3; P0_5=B_2; P0_6=B_1; P0_7=B_0;} void ReadSign01()//讀特征字{ InitPro01(); Delay_ms(1);//----------------------------------------------------------------------------- //根據器件的DataSheet,設置相應的編程控制信號 C2051_P3_3=0; C2051_P3_4=0; C2051_P3_5=0; C2051_P3_7=0; Delay_ms(20); ComBuf[2]=GetData(); C2051_XTAL=1; C2051_XTAL=0; Delay_us(20); ComBuf[3]=GetData(); ComBuf[4]=0xff;//----------------------------------------------------------------------------- ProOver01();} void Erase01()//擦除器件{ InitPro01();//----------------------------------------------------------------------------- //根據器件的DataSheet,設置相應的編程控制信號 C2051_P3_3=1; C2051_P3_4=0; C2051_P3_5=0; C2051_P3_7=0; Delay_ms(1); SetVpp12V(); Delay_ms(1); C2051_P3_2=0; Delay_ms(10); C2051_P3_2=1; Delay_ms(1);//----------------------------------------------------------------------------- ProOver01();} BOOL Write01(BYTE Data)//寫器件{//----------------------------------------------------------------------------- //根據器件的DataSheet,設置相應的編程控制信號 //寫一個單元 C2051_P3_3=0; C2051_P3_4=1; C2051_P3_5=1; C2051_P3_7=1; SetData(Data); SetVpp12V(); Delay_us(20); C2051_P3_2=0; Delay_us(20); C2051_P3_2=1; Delay_us(20); SetVpp5V(); Delay_us(20); C2051_P3_4=0; Delay_ms(2); nTimeOut=0; P0=0xff; nTimeOut=0; while(!GetData()==Data)//效驗:循環讀,直到讀出與寫入的數相同 {  nTimeOut++;  if(nTimeOut>1000)//超時了  {   return 0;  } } C2051_XTAL=1; C2051_XTAL=0;//一個脈沖指向下一個單元//----------------------------------------------------------------------------- return 1;} BYTE Read01()//讀器件{ BYTE Data;//----------------------------------------------------------------------------- //根據器件的DataSheet,設置相應的編程控制信號 //讀一個單元 C2051_P3_3=0; C2051_P3_4=0; C2051_P3_5=1; C2051_P3_7=1; Data=GetData(); C2051_XTAL=1; C2051_XTAL=0;//一個脈沖指向下一個單元//----------------------------------------------------------------------------- return Data;} void Lock01()//寫鎖定位{ InitPro01();//先設置成編程狀態//----------------------------------------------------------------------------- //根據器件的DataSheet,設置相應的編程控制信號 if(ComBuf[2]>=1)//ComBuf[2]為鎖定位 {  C2051_P3_3=1;  C2051_P3_4=1;  C2051_P3_5=1;  C2051_P3_7=1;  Delay_us(20);  SetVpp12V();  Delay_us(20);  C2051_P3_2=0;  Delay_us(20);  C2051_P3_2=1;  Delay_us(20);  SetVpp5V(); } if(ComBuf[2]>=2) {  C2051_P3_3=1;  C2051_P3_4=1;  C2051_P3_5=0;  C2051_P3_7=0;  Delay_us(20);  SetVpp12V();  Delay_us(20);  C2051_P3_2=0;  Delay_us(20);  C2051_P3_2=1;  Delay_us(20);  SetVpp5V(); }//----------------------------------------------------------------------------- ProOver01();} void PreparePro01()//設置pw中的函數指針,讓主程序可以調用上面的函數{ pw.fpInitPro=InitPro01; pw.fpReadSign=ReadSign01; pw.fpErase=Erase01; pw.fpWrite=Write01; pw.fpRead=Read01; pw.fpLock=Lock01; pw.fpProOver=ProOver01;}

    標簽: Keil 串行 C語言 編程器

    上傳時間: 2013-11-12

    上傳用戶:gut1234567

  • 微機原理與接口課件

    微處理器及微型計算機的發展概況  第一代微處理器是以Intel公司1971年推出的4004,4040為代表的四位微處理機。      第二代微處理機(1973年~1977年),典型代表有:Intel 公司的8080、8085;Motorola公司的M6800以及Zlog公司的Z80。     第三代微處理機 第三代微機是以16位機為代表,基本上是在第二代微機的基礎上發展起來的。其中Intel公司的8088。8086是在8085的基礎發展起來的;M68000是Motorola公司在M6800 的基礎發展起來的;     第四代微處理機 以Intel公司1984年10月推出的80386CPU和1989年4月推出的80486CPU為代表,     第五代微處理機的發展更加迅猛,1993年3月被命名為PENTIUM的微處理機面世,98年PENTIUM 2又被推向市場。 INTEL CPU 發展歷史Intel第一塊CPU 4004,4位主理器,主頻108kHz,運算速度0.06MIPs(Million Instructions Per Second, 每秒百萬條指令),集成晶體管2,300個,10微米制造工藝,最大尋址內存640 bytes,生產曰期1971年11月. 8085,8位主理器,主頻5M,運算速度0.37MIPs,集成晶體管6,500個,3微米制造工藝,最大尋址內存64KB,生產曰期1976年 8086,16位主理器,主頻4.77/8/10MHZ,運算速度0.75MIPs,集成晶體管29,000個,3微米制造工藝,最大尋址內存1MB,生產曰期1978年6月. 80486DX,DX2,DX4,32位主理器,主頻25/33/50/66/75/100MHZ,總線頻率33/50/66MHZ,運算速度20~60MIPs,集成晶體管1.2M個,1微米制造工藝,168針PGA,最大尋址內存4GB,緩存8/16/32/64KB,生產曰期1989年4月 Celeron一代, 主頻266/300MHZ(266/300MHz w/o L2 cache, Covington芯心 (Klamath based),300A/333/366/400/433/466/500/533MHz w/128kB L2 cache, Mendocino核心 (Deschutes-based), 總線頻率66MHz,0.25微米制造工藝,生產曰期1998年4月) Pentium 4 (478針),至今分為三種核心:Willamette核心(主頻1.5G起,FSB400MHZ,0.18微米制造工藝),Northwood核心(主頻1.6G~3.0G,FSB533MHZ,0.13微米制造工藝, 二級緩存512K),Prescott核心(主頻2.8G起,FSB800MHZ,0.09微米制造工藝,1M二級緩存,13條全新指令集SSE3),生產曰期2001年7月. 更大的緩存、更高的頻率、 超級流水線、分支預測、亂序執行超線程技術 微型計算機組成結構單片機簡介單片機即單片機微型計算機,是將計算機主機(CPU、    內存和I/O接口)集成在一小塊硅片上的微型機。 三、計算機編程語言的發展概況 機器語言  機器語言就是0,1碼語言,是計算機唯一能理解并直接執行的語言。匯編語言  用一些助記符號代替用0,1碼描述的某種機器的指令系統,匯編語言就是在此基礎上完善起來的。高級語言  BASIC,PASCAL,C語言等等。用高級語言編寫的程序稱源程序,它們必須通過編譯或解釋,連接等步驟才能被計算機處理。 面向對象語言  C++,Java等編程語言是面向對象的語言。 1.3 微型計算機中信息的表示及運算基礎(一) 十進制ND有十個數碼:0~9,逢十進一。 例 1234.5=1×103 +2×102 +3×101 +4×100 +5×10-1加權展開式以10稱為基數,各位系數為0~9,10i為權。 一般表達式:ND= dn-1×10n-1+dn-2×10n-2 +…+d0×100 +d-1×10-1+… (二) 二進制NB兩個數碼:0、1, 逢二進一。 例 1101.101=1×23+1×22+0×21+1×20+1×2-1+1×2-3 加權展開式以2為基數,各位系數為0、1, 2i為權。 一般表達式:  NB = bn-1×2n-1 + bn-2×2n-2 +…+b0×20 +b-1×2-1+… (三)十六進制NH十六個數碼0~9、A~F,逢十六進一。 例:DFC.8=13×162 +15×161 +12×160 +8×16-1 展開式以十六為基數,各位系數為0~9,A~F,16i為權。 一般表達式: NH= hn-1×16n-1+ hn-2×16n-2+…+ h0×160+ h-1×16-1+… 二、不同進位計數制之間的轉換 (二)二進制與十六進制數之間的轉換  24=16 ,四位二進制數對應一位十六進制數。舉例:(三)十進制數轉換成二、十六進制數整數、小數分別轉換   1.整數轉換法“除基取余”:十進制整數不斷除以轉換進制基數,直至商為0。每除一次取一個余數,從低位排向高位。舉例: 2. 小數轉換法“乘基取整”:用轉換進制的基數乘以小數部分,直至小數為0或達到轉換精度要求的位數。每乘一次取一次整數,從最高位排到最低位。舉例:  三、帶符號數的表示方法 機器數:機器中數的表示形式。真值: 機器數所代表的實際數值。舉例:一個8位機器數與它的真值對應關系如下:  真值: X1=+84=+1010100B     X2=-84= -1010100B   機器數:[X1]機= 01010100    [X2]機= 11010100(二)原碼、反碼、補碼最高位為符號位,0表示 “+”,1表示“-”。 數值位與真值數值位相同。 例  8位原碼機器數:  真值:   x1  = +1010100B     x2    =- 1010100B      機器數: [x1]原  = 01010100  [x2]原 = 11010100原碼表示簡單直觀,但0的表示不唯一,加減運算復雜。 正數的反碼與原碼表示相同。       負數反碼符號位為 1,數值位為原碼數值各位取反。 例 8位反碼機器數:          x= +4: [x]原= 00000100 [x]反= 00000100     x= -4: [x]原= 10000100  [x]反= 111110113、補碼(Two’s Complement)正數的補碼表示與原碼相同。       負數補碼等于2n-abs(x)8位機器數表示的真值四、 二進制編碼例:求十進制數876的BCD碼 876= 1000 0111 0110 BCD  876= 36CH = 1101101100B 2、字符編碼    美國標準信息交換碼ASCII碼,用于計算      機與計算機、計算機與外設之間傳遞信息。 3、漢字編碼 “國家標準信息交換用漢字編碼”(GB2312-80標準),簡稱國標碼。 用兩個七位二進制數編碼表示一個漢字 例如“巧”字的代碼是39H、41H漢字內碼例如“巧”字的代碼是0B9H、0C1H1·4  運算基礎 一、二進制數的運算加法規則:“逢2進1”       減法規則:“借1當2”       乘法規則:“逢0出0,全1出1”二、二—十進制數的加、減運算        BCD數的運算規則 循十進制數的運算規則“逢10進1”。但計算機在進行這種運算時會出現潛在的錯誤。為了解決BCD數的運算問題,采取調整運算結果的措施:即“加六修正”和“減六修正”例:10001000(BCD)+01101001(BCD)        =000101010111(BCD)                1 0 0 0 1 0 0 0       +  0 1 1 0 1 0 0 1           1 1 1 1 0 0 0 1        +  0 1 1 0 0 1 1 0     ……調整          1 0 1 0 1 0 1 1 1                                        進位  例:  10001000(BCD)- 01101001(BCD)= 00011001(BCD)                   1 0 0 0 1 0 0 0            -   0 1 1 0 1 0 0 1             0 0 0 1 1 1 1 1         -                    0 1 1 0   ……調整             0 0 0 1 1 0 0 1  三、 帶符號二進制數的運算 1.5 幾個重要的數字邏輯電路編碼器譯碼器計數器微機自動工作的條件程序指令順序存放自動跟蹤指令執行1.6 微機基本結構微機結構各部分組成連接方式1、以CPU為中心的雙總線結構;2、以內存為中心的雙總線結構;3、單總線結構CPU結構管腳特點  1、多功能;2、分時復用內部結構  1、控制; 2、運算; 3、寄存器; 4、地址程序計數器堆棧定義 1、定義;2、管理;3、堆棧形式

    標簽: 微機原理 接口

    上傳時間: 2013-10-17

    上傳用戶:erkuizhang

  • 集成溫度傳感器的分類和應用

    一、傳感器的定義信息處理技術取得的進展以及微處理器和計算機技術的高速發展,都需要在傳感器的開發方面有相應的進展。微處理器現在已經在測量和控制系統中得到了廣泛的應用。隨著這些系統能力的增強,作為信息采集系統的前端單元,傳感器的作用越來越重要。傳感器已成為自動化系統和機器人技術中的關鍵部件,作為系統中的一個結構組成,其重要性變得越來越明顯。最廣義地來說,傳感器是一種能把物理量或化學量轉變成便于利用的電信號的器件。國際電工委員會(IEC:International Electrotechnical Committee)的定義為:“傳感器是測量系統中的一種前置部件,它將輸入變量轉換成可供測量的信號”。按照Gopel等的說法是:“傳感器是包括承載體和電路連接的敏感元件”,而“傳感器系統則是組合有某種信息處理(模擬或數字)能力的傳感器”。傳感器是傳感器系統的一個組成部分,它是被測量信號輸入的第一道關口。傳感器系統的原則框圖示于圖1-1,進入傳感器的信號幅度是很小的,而且混雜有干擾信號和噪聲。為了方便隨后的處理過程,首先要將信號整形成具有最佳特性的波形,有時還需要將信號線性化,該工作是由放大器、濾波器以及其他一些模擬電路完成的。在某些情況下,這些電路的一部分是和傳感器部件直接相鄰的。成形后的信號隨后轉換成數字信號,并輸入到微處理器。德國和俄羅斯學者認為傳感器應是由二部分組成的,即直接感知被測量信號的敏感元件部分和初始處理信號的電路部分。按這種理解,傳感器還包含了信號成形器的電路部分。傳感器系統的性能主要取決于傳感器,傳感器把某種形式的能量轉換成另一種形式的能量。有兩類傳感器:有源的和無源的。有源傳感器能將一種能量形式直接轉變成另一種,不需要外接的能源或激勵源(參閱圖1-2(a))。有源(a)和無源(b)傳感器的信號流程無源傳感器不能直接轉換能量形式,但它能控制從另一輸入端輸入的能量或激勵能傳感器承擔將某個對象或過程的特定特性轉換成數量的工作。其“對象”可以是固體、液體或氣體,而它們的狀態可以是靜態的,也可以是動態(即過程)的。對象特性被轉換量化后可以通過多種方式檢測。對象的特性可以是物理性質的,也可以是化學性質的。按照其工作原理,傳感器將對象特性或狀態參數轉換成可測定的電學量,然后將此電信號分離出來,送入傳感器系統加以評測或標示。各種物理效應和工作機理被用于制作不同功能的傳感器。傳感器可以直接接觸被測量對象,也可以不接觸。用于傳感器的工作機制和效應類型不斷增加,其包含的處理過程日益完善。常將傳感器的功能與人類5大感覺器官相比擬: 光敏傳感器——視覺;聲敏傳感器——聽覺;氣敏傳感器——嗅覺;化學傳感器——味覺;壓敏、溫敏、流體傳感器——觸覺。與當代的傳感器相比,人類的感覺能力好得多,但也有一些傳感器比人的感覺功能優越,例如人類沒有能力感知紫外或紅外線輻射,感覺不到電磁場、無色無味的氣體等。對傳感器設定了許多技術要求,有一些是對所有類型傳感器都適用的,也有只對特定類型傳感器適用的特殊要求。針對傳感器的工作原理和結構在不同場合均需要的基本要求是: 高靈敏度,抗干擾的穩定性(對噪聲不敏感),線性,容易調節(校準簡易),高精度,高可靠性,無遲滯性,工作壽命長(耐用性) ,可重復性,抗老化,高響應速率,抗環境影響(熱、振動、酸、堿、空氣、水、塵埃)的能力 ,選擇性,安全性(傳感器應是無污染的),互換性 低成本 ,寬測量范圍,小尺寸、重量輕和高強度,寬工作溫度范圍 。二、傳感器的分類可以用不同的觀點對傳感器進行分類:它們的轉換原理(傳感器工作的基本物理或化學效應);它們的用途;它們的輸出信號類型以及制作它們的材料和工藝等。根據傳感器工作原理,可分為物理傳感器和化學傳感器二大類:傳感器工作原理的分類物理傳感器應用的是物理效應,諸如壓電效應,磁致伸縮現象,離化、極化、熱電、光電、磁電等效應。被測信號量的微小變化都將轉換成電信號。化學傳感器包括那些以化學吸附、電化學反應等現象為因果關系的傳感器,被測信號量的微小變化也將轉換成電信號。有些傳感器既不能劃分到物理類,也不能劃分為化學類。大多數傳感器是以物理原理為基礎運作的。化學傳感器技術問題較多,例如可靠性問題,規模生產的可能性,價格問題等,解決了這類難題,化學傳感器的應用將會有巨大增長。常見傳感器的應用領域和工作原理列于表1.1。按照其用途,傳感器可分類為: 壓力敏和力敏傳感器 ,位置傳感器 , 液面傳感器 能耗傳感器 ,速度傳感器 ,熱敏傳感器,加速度傳感器,射線輻射傳感器 ,振動傳感器,濕敏傳感器 ,磁敏傳感器,氣敏傳感器,真空度傳感器,生物傳感器等。以其輸出信號為標準可將傳感器分為: 模擬傳感器——將被測量的非電學量轉換成模擬電信號。數字傳感器——將被測量的非電學量轉換成數字輸出信號(包括直接和間接轉換)。膺數字傳感器——將被測量的信號量轉換成頻率信號或短周期信號的輸出(包括直接或間接轉換)。開關傳感器——當一個被測量的信號達到某個特定的閾值時,傳感器相應地輸出一個設定的低電平或高電平信號。

    標簽: 集成 溫度傳感器 分類

    上傳時間: 2013-10-11

    上傳用戶:zhangdebiao

  • LINUX系統分析與高級編程技術

    本書介紹Linux環境下的編程方法,內容包括Linux系統命令、 Shell腳本、編程語言(gawk、Perl)、系統內核、安全體系、X Window等,內容豐富、論述全面,涵蓋了Linux系統的方方面面。本書附帶光盤包括了RedHat Linux系統的最新版本,及安裝方法,還包括本書的大量程序代碼,極大地方便了讀者,為使用和將要使用Linux系統的技術人員提供了較全面的參考。    目      錄前言第一篇   Linux系統介紹第1章   Linux簡介 …11.1   Linux 的起源 11.2   自由軟件基金會的GNU計劃 11.3   Linux 的發音 21.4   Linux 的特點 21.5   基本硬件要求 31.6   如何獲得Linux 31.6.1   從網上下載Linux 31.6.2   從光盤獲得Linux 31.7   涉及Linux 的Web 網址和新聞討論組 61.8   Linux 的不足之處 7第2章   外殼及常用命令 82.1   登錄和退出 82.2   Linux 系統的外殼 82.3   外殼的常用命令 92.3.1   更改帳號密碼 92.3.2   聯機幫助 92.3.3   遠程登錄 92.3.4   文件或目錄處理 92.3.5   改變工作目錄 102.3.6   復制文件 102.3.7   移動或更改文件、目錄名稱 102.3.8   建立新目錄 102.3.9   刪除目錄 112.3.10   刪除文件 112.3.11   列出當前所在的目錄位置 112.3.12   查看文件內容 112.3.13   分頁查看文件內容 112.3.14   查看目錄所占磁盤容量 112.3.15   文件傳輸 112.3.16   文件權限的設定 122.3.17   檢查自己所屬的工作組名稱 132.3.18   改變文件或目錄工作組所有權 132.3.19   改變文件或目錄的最后修改時間 132.3.20   文件的鏈接 132.3.21   文件中字符串的查尋 142.3.22   查尋文件或命令的路徑 142.3.23   比較文件或目錄的內容 142.3.24   文件打印輸出 142.3.25   一般文件的打印 142.3.26   troff 文件的打印 142.3.27   打印機控制命令 142.3.28   進程控制 152.3.29   外殼變量 162.3.30   環境變量 162.3.31   別名 162.3.32   歷史命令 172.3.33   文件的壓縮 172.3.34   管道命令的使用 172.3.35   輸入/輸出控制 182.3.36   查看系統中的用戶 182.3.37   改變用戶名 182.3.38   查看用戶名 182.3.39   查看當前系統上所有工作站       的用戶 192.3.40   與某工作站上的用戶交談 192.3.41   檢查遠程系統是否正常 192.3.42   電子郵件的使用簡介 19第3章   Linux系統的網絡功能 213.1   Linux支持的網絡協議 213.1.1   TCP/IP 213.1.2   TCP/IP 版本 6 213.1.3   IPX/SPX 213.1.4   AppleTalk 協議集 213.1.5   廣域網 223.1.6   ISDN 223.1.7   PPP、SLIP及PLIP 223.1.8   業余無線電 223.1.9   ATM 223.2   Linux系統下的文件共享和打印共享 223.2.1   Machintosh 環境 223.2.2   Windows 環境 223.2.3   Novell 環境 233.2.4   UNIX 環境 233.3   Linux系統中的Internet/Intranet功能 233.3.1   郵件 233.3.2   Web 服務器 243.3.3   Web 瀏覽器 243.3.4   FTP 服務器和客戶機 243.3.5   新聞服務 243.3.6   域名系統 243.3.7   DHCP和 bootp 243.3.8   NIS 243.4   Linux系統下應用程序的遠程執行 243.4.1   Telnet 253.4.2   遠程命令 253.4.3   X Window 253.5   Linux系統的網絡互連功能 253.5.1   路由器 253.5.2   網橋 253.5.3   IP偽裝 253.5.4   IP統計 263.5.5   IP 別名 263.5.6   流量限制器 263.5.7   防火墻 263.5.8   端口下傳 263.5.9   負載平衡 263.5.10   EQL 273.5.11   代理服務器 273.5.12   按需撥號 273.5.13   管道、移動IP和虛擬個人網絡 273.6   Linux系統中的網絡管理 273.6.1   Linux系統下的網絡管理應用程序 273.6.2   SNMP 283.7   企業級Linux網絡 283.7.1   高可用性 283.7.2   RAID 283.7.3   冗余網絡 28第4章   Linux系統管理簡介 294.1   root 帳號 294.2   啟動和關閉系統 294.2.1   從軟盤啟動 294.2.2   使用LILO 啟動 294.2.3   關閉Linux系統 304.3   掛接文件系統 304.3.1   掛接軟盤 304.3.2   創建新的文件系統 304.3.3   卸載文件系統 314.4   檢查文件系統 314.5   使用文件作為交換區 314.6   系統和文件的備份 324.7   設置系統 334.7.1   設置系統名 334.7.2   使用維護磁盤 334.7.3   重新設置root 帳號口令 334.7.4   設置登錄信息 33第二篇   Linux高級語言及管理編程第5章   外殼編程 355.1   創建和運行外殼程序 355.1.1   創建外殼程序 355.1.2   運行外殼程序 355.2   使用外殼變量 365.2.1   給變量賦值 365.2.2   讀取變量的值 375.2.3   位置變量和其他系統變量 375.2.4   引號的作用 375.3   數值運算命令 385.4   條件表達式 405.4.1   if 表達式 405.4.2   case 表達式 415.5   循環語句 425.5.1   for 語句 435.5.2   while 語句 435.5.3   until 語句 445.6   shift 命令 445.7   select 語句 455.8   repeat 語句 465.9   子函數 46第6章   gawk語言編程 486.1   gawk的主要功能 486.2   如何執行gawk程序 486.3   文件、記錄和字段 486.4   模式和動作 496.5   比較運算和數值運算 506.6   內部函數 506.6.1   隨機數和數學函數 516.6.2   字符串的內部函數 516.6.3   輸入輸出的內部函數 526.7   字符串和數字 526.8   格式化輸出 526.9   改變字段分隔符 546.10   元字符 546.11   調用gawk程序 556.12   BEGIN和END 556.13   變量 566.14   內置變量 566.15   控制結構 576.15.1   if 表達式 576.15.2   while 循環 576.15.3   for 循環 586.15.4   next 和 exit 586.16   數組 586.17   用戶自定義函數 586.18   幾個實例 59第7章   Perl語言編程 607.1   什么是Perl 607.2   Perl的現狀 607.3   初試Perl 607.4   Perl變量 607.4.1   標量 607.4.2   數組 637.4.3   相關數組 657.5   文件句柄和文件操作 657.6   循環結構 667.6.1   foreach循環 667.6.2   判斷運算 667.6.3   for循環 677.6.4   while 和 until循環 677.7   條件結構 677.8   字符匹配 687.9   替換和翻譯 697.9.1   替換 697.9.2   翻譯 707.10   子過程 707.10.1   子過程的定義 707.10.2   參數 707.10.3   返回值 707.11   Perl程序的完整例子 71第三篇   Linux系統內核分析第8章   Linux內核簡介 738.1   系統初始化 738.2   系統運行 738.3   內核提供的各種系統調用 748.3.1   進程的基本概念和系統            的基本數據結構 748.3.2   創建和撤消進程 748.3.3   執行程序 748.4   存取文件系統 75第9章   系統進程 769.1   什么是進程 769.2   進程的結構 769.3   進程調度 789.4   進程使用的文件 799.5   進程使用的虛擬內存 809.6   創建進程 819.7   進程的時間和計時器 819.7.1   實時時鐘 819.7.2   虛擬時鐘 819.7.3   形象時鐘 819.8   程序的執行 829.8.1   ELF文件 829.8.2   腳本文件 82第10章   內存管理 8310.1   內存管理的作用 8310.2   虛擬內存的抽象模型 8310.3   按需裝入頁面 8410.4   交換 8510.5   共享虛擬內存 8510.6   存取控制 8510.7   高速緩存 8610.7.1   緩沖區高速緩存 8610.7.2   頁面高速緩存 8610.7.3   交換高速緩存 8610.7.4   硬件高速緩存 8610.8   系統頁面表 8610.9   頁面的分配和釋放 8710.9.1   頁面的分配 8810.9.2   頁面的釋放 8810.10   內存映射 8810.11   請求調頁 8910.12   頁面高速緩存 8910.13   內核交換守護進程 90第11章   進程間通信 9111.1   信號機制 9111.2   管道機制 9211.3  System V IPC 機制  9311.3.1   信息隊列 9311.3.2   信號量 9411.3.3   共享內存 96第12章   PCI 9812.1   PCI 系統 9812.2   PCI地址空間 9812.3   PCI設置頭 9912.4   PCI I/O 和 PCI 內存地址 10012.5   PCI-ISA橋 10012.6   PCI-PCI 橋 10012.7   PCI初始化 10112.7.1   Linux系統內核有關PCI的      數據結構 10112.7.2   PCI 設備驅動程序 10212.7.3   PCI BIOS 函數 10512.7.4   PCI Fixup 105第13章   中斷和中斷處理 10613.1   中斷 10613.2   可編程中斷控制器 10613.3   初始化中斷處理的數據結構 10713.4   中斷處理 108第14章   設備驅動程序 10914.1   硬件設備的管理 10914.2   輪詢和中斷 11014.3   直接內存存取 11014.4   內存 11114.5   設備驅動程序和內核之間的接口 11114.5.1   字符設備 11214.5.2   塊設備 11314.6   硬盤 11314.6.1   IDE 硬盤 11514.6.2   初始化IDE 硬盤子系統 11514.6.3   SCSI 硬盤 11514.6.4   初始化 SCSI 磁盤子系統 11614.6.5   傳遞塊設備請求 11814.7   網絡設備 11814.7.1   網絡設備文件名 11814.7.2   總線信息 11814.7.3   網絡接口標記 11914.7.4   協議信息 11914.7.5   初始化網絡設備 119第15章   文件系統 12115.1   Linux文件系統概述 12115.2   ext2文件系統 12215.2.1   ext2的索引節點 12215.2.2   ext2超級塊 12415.2.3   ext2 數據塊組描述符 12415.2.4   ext2 中的目錄 12515.2.5   在ext2 文件系統中查找文件 12515.2.6   改變ext2 文件系統中文件             的大小 12615.3   VFS 12715.3.1   VFS 超級塊 12815.3.2   VFS 索引節點 12915.3.3   登記文件系統 12915.3.4   掛接文件系統 13015.3.5   在VFS中查找文件 13115.3.6   撤消文件系統 13115.3.7   VFS 索引節點緩存 13215.3.8   VFS目錄緩存 13215.4   緩沖區緩存 13315.5   /proc 文件系統 135第16章   網絡系統 13616.1   TCP/IP 網絡簡介 13616.2   TCP/IP網絡的分層 13716.3   BSD 套接口 13816.4   INET套接口層 14016.4.1   創建BSD 套接口 14116.4.2   給INET BSD 套接口指定地址 14116.4.3   在INET BSD套接口上創建連接 14216.4.4   監聽INET BSD 套接口 14216.4.5   接收連接請求 14316.5   IP 層 14316.5.1   套接口緩沖區 14316.5.2   接收IP數據包 14416.5.3   發送IP數據包 14416.5.4   數據碎片 14416.6   地址解析協議 145第17章   系統內核機制 14717.1   Bottom Half處理 14717.2   任務隊列 14817.3   計時器 14917.4   等待隊列 14917.5   信號量 150第四篇   Linux系統高級編程第18章   Linux內核模塊編程 15118.1   一個簡單程序Hello World 15118.2   設備文件 15218.3    /proc文件系統 15618.4   使用/proc輸入 15818.5   與設備文件通信 16218.6   啟動參數 16918.7   系統調用 17018.8   阻塞進程 17218.9   替換printk 17718.10   調度任務 178第19章   有關進程通信的編程 18119.1   進程間通信簡介 18119.2   半雙工UNIX管道 18119.2.1   基本概念 18119.2.2   使用C語言創建管道 18219.2.3   創建管道的簡單方法 18519.2.4   使用管道的自動操作 18719.2.5   使用半雙工管道時的注意事項 18819.3   命名管道 18819.3.1   基本概念 18819.3.2   創建FIFO 18819.3.3   FIFO操作 18919.3.4   FIFO的阻塞 19019.3.5    SIGPIPE信號 19019.4   System V IPC 19019.4.1   基本概念 19019.4.2   消息隊列基本概念 19119.4.3   系統調用msgget() 19419.4.4   系統調用msgsnd() 19519.4.5   系統調用msgctl() 19719.4.6   一個msgtool的實例 19919.5   使用信號量編程 20119.5.1   基本概念 20119.5.2   系統調用semget() 20219.5.3   系統調用semop() 20319.5.4   系統調用semctl() 20419.5.5   使用信號量集的實例:semtool 20519.6   共享內存 20919.6.1   基本概念 20919.6.2   系統內部用戶數據結構             shmid_ds 20919.6.3   系統調用shmget() 21019.6.4   系統調用shmat() 21119.6.5   系統調用shmctl() 21119.6.6   系統調用shmdt() 21219.6.7   使用共享內存的實例:shmtool 212第20章   高級線程編程 21520.1   線程的概念和用途 21520.2   一個簡單的例子 21520.3   線程同步 21720.4   使用信號量協調程序 21820.5   信號量的實現 22020.5.1   Semaphore.h 22020.5.2   Semaphore.c 221第21章   Linux系統網絡編程 22521.1   什么是套接口 22521.2   兩種類型的Internet套接口 22521.3   網絡協議分層 22521.4   數據結構 22521.5   IP地址和如何使用IP地址 22621.5.1   socket() 22621.5.2   bind() 22621.5.3   connect() 22721.5.4   listen() 22821.5.5   accept() 22821.5.6   send() 和 recv() 22921.5.7   sendto() 和 recvfrom() 23021.5.8   close() 和 shutdown() 23021.5.9   getpeername() 23121.5.10   gethostname() 23121.6   DNS 23121.7   客戶機/服務器模式 23221.8   簡單的數據流服務器程序 23221.9   簡單的數據流客戶機程序 23421.10   數據報套接口 23521.11   阻塞 237第22章   Linux I/O端口編程 24022.1   如何在 C 語言下使用I/O端口 24022.1.1   一般的方法 24022.1.2   另一個替代方法: /dev/port 24122.2   硬件中斷 與 DMA 存取 24122.3   高精確的時間 24122.3.1   延遲時間 24122.3.2   時間的量測 24322.4   使用其他程序語言 24322.5   一些有用的 I/O 端口 24322.5.1   并行端口 24322.5.2   游戲端口 24422.5.3   串行端口 245第五篇   Linux系統安全分析第23章   系統管理員安全 24723.1   安全管理 24723.2   超級用戶 24723.3   文件系統安全 24723.3.1   Linux文件系統概述 24723.3.2   設備文件 24823.3.3   /etc/mknod命令 24923.3.4   安全考慮 24923.3.5   find命令 25023.3.6   secure程序 25023.3.7   ncheck命令 25023.3.8   安裝和拆卸文件系統 25023.3.9   系統目錄和文件 25123.4   作為root運行的程序 25123.4.1   啟動系統 25123.4.2   init進程 25123.4.3   進入多用戶 25223.4.4   shutdown命令 25223.4.5   系統V的cron程序 25223.4.6   系統V版本2之后的cron程序 25223.4.7   /etc/profile 25323.5   /etc/passwd文件 25323.5.1   口令時效 25323.5.2   UID和GID 25423.6   /etc/group文件 25423.7   增加、刪除和移走用戶 25423.7.1   增加用戶 25423.7.2   刪除用戶 25523.7.3   將用戶移到另一個系統 25523.8   安全檢查 25523.8.1   記帳 25523.8.2   其他檢查命令 25623.8.3   安全檢查程序的問題 25623.8.4   系統泄密后怎么辦 25723.9   加限制的環境 25823.9.1   加限制的外殼 25823.9.2   用chroot()限制用戶 25823.10   小系統安全 25923.11   物理安全 25923.12   用戶意識 26023.13   系統管理員意識 26123.13.1   保持系統管理員個人的               登錄安全 26123.13.2   保持系統安全 261第24章   系統程序員安全 26324.1   系統子程序 26324.1.1   I/O子程序 26324.1.2   進程控制 26324.1.3   文件屬性 26424.1.4   UID和GID的處理 26524.2   標準C程序庫 26524.2.1   標準I/O 26524.2.2   /etc/passwd的處理 26624.2.3   /etc/group的處理 26724.2.4   加密子程序 26824.2.5   運行外殼 26824.3   編寫安全的C程序 26824.3.1   需要考慮的安全問題 26824.3.2   SUID/SGID程序指導準則 26924.3.3   編譯、安裝SUID/SGID程序             的方法 26924.4   root用戶程序的設計 270第25章   Linux系統的網絡安全 27225.1   UUCP系統概述 27225.1.1   UUCP命令 27225.1.2   uux命令 27225.1.3   uucico程序 27325.1.4   uuxqt程序 27325.2   UUCP的安全問題 27325.2.1   USERFILE文件 27325.2.2   L.cmds文件 27425.2.3   uucp登錄 27425.2.4   uucp使用的文件和目錄 27425.3   HONEYDANBER UUCP 27525.3.1   HONEYDANBER UUCP與           老UUCP的差別 27525.3.2   登錄名規則 27625.3.3   MACHINE規則 27725.3.4   組合MACHINE和LOGNAME             規則 27825.3.5   uucheck命令 27825.3.6   網關 27825.3.7   登錄文件檢查 27925.4   其他網絡 27925.4.1   遠程作業登錄 27925.4.2   NSC網絡系統 28025.5   通信安全 28025.5.1   物理安全 28025.5.2   加密 28125.5.3   用戶身份鑒別 28225.6   SUN OS系統的網絡安全 28325.6.1   確保NFS的安全 28325.6.2   NFS安全性方面的缺陷 28425.6.3   遠程過程調用鑒別 28425.6.4   Linux鑒別機制 28425.6.5   DES鑒別系統 28525.6.6   公共關鍵字的編碼 28625.6.7   網絡實體的命名 28625.6.8   DES鑒別系統的應用 28725.6.9   遺留的安全問題 28725.6.10   性能 28825.6.11   啟動和setuid程序引起的問題 28825.6.12   小結 289第26章   Linux系統的用戶安全性 29026.1   口令安全 29026.2   文件許可權 29026.3   目錄許可 29126.4   umask命令 29126.5   設置用戶ID和同組用戶ID許可 29126.6   cp mv ln和cpio命令 29126.7   su和newgrp命令 29226.7.1   su命令 29226.7.2   newgrp命令 29226.8   文件加密 29226.9   其他安全問題 29326.9.1   用戶的.profile文件 29326.9.2   ls -a 29326.9.3   .exrc文件 29326.9.4   暫存文件和目錄 29326.9.5   UUCP和其他網絡 29326.9.6   特洛伊木馬 29426.9.7   誘騙 29426.9.8   計算機病毒 29426.9.9   要離開自己已登錄的終端 29426.9.10   智能終端 29426.9.11   斷開與系統的連接 29426.9.12   cu命令 29526.10   保持帳戶安全的要點 295第六篇   X window系統的內部結構和使用第27章  X Window系統的基本知識 29727.1   X Window系統介紹 29727.1.1   X的特點 29727.1.2   什么是窗口系統 29827.1.3   X發展的歷史 29927.1.4   X的產品 29927.1.5   MIT發行的X 29927.2   X的基本結構 30227.2.1   X 的基本元素 30327.2.2   服務程序和客戶程序如何             交互通信 30427.2.3   X 的網絡概況 30627.3   從用戶界面的角度概觀X 30727.3.1   管理界面:窗口管理器 30727.3.2   應用程序界面和工具箱 30927.3.3   其他系統角度 30927.4   術語和符號 31027.4.1   術語 31027.4.2   符號 31127.5   啟動和關閉X 31227.5.1   啟動X 31227.5.2   執行X程序的方式 31327.5.3   關閉X 31427.6   窗口管理器基礎—uwm 31527.6.1   什么是窗口管理器 31527.6.2   啟動uwm 31527.6.3   基本窗口操作 —uwm             的菜單 31527.6.4   移動窗口 31627.6.5   重定窗口大小 31627.6.6   建立新窗口 31627.6.7   管理屏幕空間 31827.6.8   中止應用程序窗口 32027.6.9   激活uwm菜單的其他方式 32027.7   使用 x的網絡設備 32027.7.1   指定遠程終端機—display             選項 32127.7.2   實際使用遠程的顯示器 32227.7.3   控制存取顯示器—xhost 32227.8   終端機模擬器—詳細介紹xterm 32327.8.1   選擇xterm功能—菜單與       命令行選項 32327.8.2   滾動xterm屏幕 32427.8.3   記錄與終端機的交互過程—寫           記錄 32527.8.4   剪貼文本 32527.8.5   使用Tektronix模擬功能 32627.8.6   使用不同的字體 32727.8.7   使用顏色 32727.8.8   其他xterm選項 32727.8.9   設定終端機鍵盤 328第28章   實用程序和工具 32928.1   實用程序 32928.2   保存、顯示和打印屏幕圖像 33028.3   使用X的應用程序 33228.3.1   文字編輯器—Xedit 33328.3.2   郵件/信息處理系統—xmh 33628.4   示例和游戲程序 33628.4.1   找出通過隨機迷宮的             路徑—maze 33628.4.2   擔任鼠標指針的大眼睛—             xeyes 33628.4.3   智慧盤游戲—puzzle 33728.4.4   打印一個大X標志—xlogo 33728.4.5   跳動的多面體—ico 33728.4.6   動態幾何圖案—muncher與             plaid 33728.7   顯示信息和狀態的程序 33728.7.1   列出X服務程序的特征—    xdpyinfo 33828.7.2   獲取有關窗口的信息 33828.7.3   觀察X的事件—xev 340第29章   定制X Window系統 34129.1   使用X的字體和顏色 34129.1.1   字體初步 34129.1.2   字體命名 34229.1.3   觀察特定字體的內容—xfd 34329.1.4   保存字體和位置 34329.1.5   例子:在你的服務程序中      增加新字體 34529.1.6   使用X的顏色 34629.2   定義和使用圖形 34729.2.1   系統圖形程序庫 34729.2.2   交互編輯圖形—bitmap 34729.2.3   編輯圖形的其他方法 34929.2.4   定制根窗口—xsetroot 34929.3   定義應用程序的缺省選項—           Resources 35029.3.1   什么是資源 35029.3.2   XToolkit 35129.3.3   管理資源—資源管理器 35329.3.4   資源的類型—如何指定值 35829.4   實際使用資源 35929.4.1   在何處保存資源的缺省值 35929.4.2   在服務程序上保存缺省值—    xrdb 36329.4.3   常見的錯誤和修正 36629.5   定制鍵盤和鼠標 36729.5.1   實際使用轉換 36829.5.2   轉換—格式和規則 37429.5.3   轉換規范中常見的問題 37729.6   鍵盤和鼠標—對應和參數 37929.6.1   鍵盤和鼠標映射—xmodmap 37929.6.2   鍵盤和鼠標參數設定—xset 38229.7   進一步介紹和定制uwm 38429.7.1   uwm的新特征 38429.7.2   定制uwm 38629.8   顯示器管理器—xdm 39029.8.1   需要做些什么 39029.8.2   xdm 39129.8.3   xdm的更多信息 39229.8.4   uwm配置 395附錄A   Gcc使用介紹 396附錄B   安裝X Window窗口系統 410

    標簽: LINUX 系統分析 高級編程

    上傳時間: 2013-11-10

    上傳用戶:changeboy

亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91久久精品久久国产性色也91| 欧美日韩性生活视频| 久久精品99久久香蕉国产色戒| 欧美性猛交xxxx乱大交蜜桃 | 久久中文字幕导航| 在线观看日韩专区| 欧美成人一二三| 一本久道久久综合婷婷鲸鱼| 欧美视频福利| 欧美一区激情| 亚洲第一中文字幕在线观看| 欧美日韩高清区| 欧美一区二区三区日韩视频| 永久免费毛片在线播放不卡| 欧美国产在线视频| 亚洲欧美日韩国产综合在线| 国产精品最新自拍| 蜜桃av一区二区| 亚洲特色特黄| 18成人免费观看视频| 欧美性大战久久久久久久蜜臀| 欧美一级理论片| 日韩一级精品| 在线观看国产日韩| 国产精品入口夜色视频大尺度 | 一本久道久久综合婷婷鲸鱼| 国产精品视频一区二区高潮| 免费成人高清视频| 欧美一级黄色录像| 亚洲美女精品久久| 黄网动漫久久久| 国产精品黄视频| 欧美激情视频免费观看| 久久本道综合色狠狠五月| 亚洲人成网站精品片在线观看| 国产精品第13页| 欧美国产亚洲精品久久久8v| 欧美影院精品一区| 亚洲视频播放| 亚洲美女免费精品视频在线观看| 国内成+人亚洲| 国产精品亚洲人在线观看| 欧美人成免费网站| 欧美成人情趣视频| 久久综合国产精品台湾中文娱乐网| 亚洲男人第一av网站| 9色精品在线| 亚洲全黄一级网站| 亚洲高清成人| 在线播放不卡| 经典三级久久| 国内精品久久久久久影视8| 国产日韩av一区二区| 国产精品入口夜色视频大尺度| 欧美日韩mp4| 欧美激情综合亚洲一二区| 你懂的视频欧美| 欧美国产一区二区在线观看| 欧美成人免费在线| 欧美va亚洲va国产综合| 男女激情久久| 欧美日本国产在线| 欧美日韩在线一区| 国产精品久久久久久久浪潮网站 | 国产欧美一区二区三区久久人妖| 欧美性感一类影片在线播放| 欧美日韩视频一区二区| 欧美色图首页| 国产精品久久午夜夜伦鲁鲁| 国产精品日本精品| 国产日韩欧美在线一区| 一区二区亚洲欧洲国产日韩| 在线观看一区| 99av国产精品欲麻豆| 亚洲一区二区三区精品视频| 亚洲欧美视频| 久久久精品一区| 欧美经典一区二区三区| 欧美日韩中文字幕日韩欧美| 国产精品欧美激情| 国内精品久久久久久 | 亚洲激情欧美激情| 亚洲精品在线三区| 亚洲一区区二区| 欧美在线视频一区二区| 久久青草久久| 欧美色大人视频| 国产一区在线免费观看| 亚洲区国产区| 午夜精品视频在线| 欧美成人视屏| 国产精品乱码一区二三区小蝌蚪| 国产一区二区按摩在线观看| 亚洲小视频在线| 欧美在线视频在线播放完整版免费观看 | 欧美性大战久久久久久久| 国产麻豆日韩欧美久久| 在线日韩av| 亚洲男人影院| 欧美韩日一区二区| 国产欧美视频一区二区三区| 在线播放亚洲| 午夜久久tv| 欧美成在线视频| 在线视频中文亚洲| 久久精品国产v日韩v亚洲| 欧美精品一区二| 伊人久久综合| 性娇小13――14欧美| 欧美日韩免费视频| 在线免费观看日本一区| 亚洲欧美久久久久一区二区三区| 榴莲视频成人在线观看| 国产日韩精品久久久| 亚洲卡通欧美制服中文| 狼人天天伊人久久| 国产日韩欧美黄色| 亚洲在线视频| 欧美三级视频在线| 日韩午夜三级在线| 欧美成在线视频| 亚洲国产裸拍裸体视频在线观看乱了中文 | 欧美精品v国产精品v日韩精品| 狠狠干综合网| 翔田千里一区二区| 国产精品网站在线| 亚洲视屏在线播放| 欧美视频一区二区三区| 亚洲精品精选| 欧美精品99| 亚洲精品久久视频| 欧美精品久久99| 亚洲精品一区在线观看| 欧美成人午夜剧场免费观看| 伊人久久大香线蕉综合热线| 久久大逼视频| 日韩视频一区二区三区在线播放| 久久亚洲精品视频| 黄色成人在线网站| 久久精品麻豆| 精品不卡一区| 麻豆成人精品| 亚洲片区在线| 欧美日韩午夜精品| aa亚洲婷婷| 国产精品日韩精品欧美精品| 午夜久久电影网| 国模私拍一区二区三区| 性娇小13――14欧美| 国产欧美日韩另类视频免费观看| 亚洲午夜av在线| 国产麻豆午夜三级精品| 欧美有码视频| 亚洲电影中文字幕| 欧美精品在线观看一区二区| 中文成人激情娱乐网| 欧美视频一区二区三区四区| 亚洲视频自拍偷拍| 国产一区二区三区在线观看网站 | 久久九九热re6这里有精品 | 亚洲欧洲精品成人久久奇米网| 久久国产精品免费一区| 国内精品久久久久国产盗摄免费观看完整版 | 欧美国产成人在线| 亚洲伦理中文字幕| 欧美日韩不卡视频| 亚洲男人的天堂在线aⅴ视频| 国产视频在线观看一区二区三区 | 久久在线视频在线| 亚洲三级影院| 国产精品每日更新| 久久久久久久精| 99视频在线观看一区三区| 国产麻豆午夜三级精品| 理论片一区二区在线| 99国产一区二区三精品乱码| 国产精品久久久久aaaa九色| 久久久久久高潮国产精品视| 亚洲精品国精品久久99热| 国产精品午夜久久| 欧美大片免费观看在线观看网站推荐| 亚洲视频www| 亚洲国产电影| 国产日韩欧美在线| 欧美精品入口| 久久亚洲国产成人| 亚洲欧美日韩一区在线| 亚洲国产精品电影| 91久久精品国产91久久| 欧美日韩一区在线| 久久综合狠狠| 欧美一区二区高清| 夜夜嗨av一区二区三区中文字幕 | 国产农村妇女毛片精品久久莱园子| 快播亚洲色图| 欧美一区综合| 亚洲中字黄色| 中文精品视频| 亚洲精选一区二区| 亚洲国产精品一区在线观看不卡|