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

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

并網太陽能

  • 單片機入門基礎知識大全免費下載

    單片機入門基礎知識大全免費下載 單片機第八課(尋址方式與指令系統) 通過前面的學習,我們已經了解了單片機內部的結構,并且也已經知道,要控制單片機,讓它為我們干學,要用指令,我們已學了幾條指令,但很零散,從現在開始,我們將要系統地學習8051的指令部份。 一、概述 1、指令的格式 我們已知,要讓計算機做事,就得給計算機以指令,并且我們已知,計算機很“笨”,只能懂得數字,如前面我們寫進機器的75H,90H,00H等等,所以指令的第一種格式就是機器碼格式,也說是數字的形式。但這種形式實在是為難我們人了,太難記了,于是有另一種格式,助記符格式,如MOV P1,#0FFH,這樣就好記了。 這兩種格式之間的關系呢,我們不難理解,本質上它們完全等價,只是形式不一樣而已。 2、匯編 我們寫指令使用匯編格式,而計算機只懂機器碼格式,所以要將我們寫的匯編格式的指令轉換為機器碼格式,這種轉換有兩種方法:手工匯編和機器匯編。手工匯編實際上就是查表,因為這兩種格式純粹是格式不同,所以是一一對應的,查一張表格就行了。不過手工查表總是嫌麻煩,所以就有了計算機軟件,用計算機軟件來替代手工查表,這就是機器匯編。 二、尋址 讓我們先來復習一下我們學過的一些指令:MOV P1,#0FFH,MOV R7,#0FFH這些指令都是將一些數據送到相應的位置中去,為什么要送數據呢?第一個因為送入的數可以讓燈全滅掉,第二個是為了要實現延時,從這里我們可以看出來,在用單片機的編程語言編程時,經常要用到數據的傳遞,事實上數據傳遞是單片機編程時的一項重要工作,一共有28條指令(單片機共111條指令)。下面我們就從數據傳遞類指令開始吧。 分析一下MOV P1,#0FFH這條指令,我們不難得出結論,第一個詞MOV是命令動詞,也就是決定做什么事情的,MOV是MOVE少寫了一個E,所以就是“傳遞”,這就是指令,規定做什么事情,后面還有一些參數,分析一下,數據傳遞必須要有一個“源”也就是你要送什么數,必須要有一個“目的”,也就是你這個數要送到什么地方去,顯然在上面那條指令中,要送的數(源)就是0FFH,而要送達的地方(目的地)就是P1這個寄存器。在數據傳遞類指令中,均將目的地寫在指令的后面,而將源寫在最后。 這條指令中,送給P1是這個數本身,換言之,做完這條指令后,我們可以明確地知道,P1中的值是0FFH,但是并不是任何時候都可以直接給出數本身的。例如,在我們前面給出的延時程序例是這樣寫的: MAIN: SETB P1.0     ;(1)    LCALL DELAY ;(2)     CLR P1.0      ;(3)    LCALL DELAY   ;(4)     AJMP MAIN    ;(5) ;以下子程序 DELAY: MOV R7,#250   ;(6) D1: MOV R6,#250   ;(7) D2: DJNZ R6,D2    ;(8)    DJNZ R7,D1   ;(9)    RET        ;(10)    END        ;(11)     表1  MAIN: SETB P1.0     ;(1)    MOV 30H,#255     LCALL DELAY ;     CLR P1.0      ;(3)     MOV 30H,#200     LCALL DELAY   ;(4)     AJMP MAIN    ;(5) ;以下子程序 DELAY: MOV R7,30H   ;(6) D1: MOV R6,#250   ;(7) D2: DJNZ R6,D2    ;(8)    DJNZ R7,D1   ;(9)    RET        ;(10)    END        ;(11) 表2    這樣一來,我每次調用延時程序延時的時間都是相同的(大致都是0.13S),如果我提出這樣的要求:燈亮后延時時間為0.13S燈滅,燈滅后延時0.1秒燈亮,如此循環,這樣的程序還能滿足要求嗎?不能,怎么辦?我們可以把延時程序改成這樣(見表2):調用則見表2中的主程,也就是先把一個數送入30H,在子程序中R7中的值并不固定,而是根據30H單元中傳過來的數確定。這樣就可以滿足要求。 從這里我們可以得出結論,在數據傳遞中要找到被傳遞的數,很多時候,這個數并不能直接給出,需要變化,這就引出了一個概念:如何尋找操作數,我們把尋找操作數所在單元的地址稱之為尋址。在這里我們直接使用數所在單元的地址找到了操作數,所以稱這種方法為直接尋址。除了這種方法之外,還有一種,如果我們把數放在工作寄存器中,從工作寄存器中尋找數據,則稱之為寄存器尋址。例:MOV A,R0就是將R0工作寄存器中的數據送到累加器A中去。提一個問題:我們知道,工作寄存器就是內存單元的一部份,如果我們選擇工作寄存器組0,則R0就是RAM的00H單元,那么這樣一來,MOV A,00H,和MOV A,R0不就沒什么區別了嗎?為什么要加以區分呢?的確,這兩條指令執行的結果是完全相同的,都是將00H單元中的內容送到A中去,但是執行的過程不同,執行第一條指令需要2個周期,而第二條則只需要1個周期,第一條指令變成最終的目標碼要兩個字節(E5H 00H),而第二條則只要一個字節(E8h)就可以了。 這么斤斤計較!不就差了一個周期嗎,如果是12M的晶振的話,也就1個微秒時間了,一個字節又能有多少? 不對,如果這條指令只執行一次,也許無所謂,但一條指令如果執行上1000次,就是1毫秒,如果要執行1000000萬次,就是1S的誤差,這就很可觀了,單片機做的是實時控制的事,所以必須如此“斤斤計較”。字節數同樣如此。 再來提一個問題,現在我們已知,尋找操作數可以通過直接給的方式(立即尋址)和直接給出數所在單元地址的方式(直接尋址),這就夠了嗎? 看這個問題,要求從30H單元開始,取20個數,分別送入A累加器。 就我們目前掌握的辦法而言,要從30H單元取數,就用MOV A,30H,那么下一個數呢?是31H單元的,怎么取呢?還是只能用MOV A,31H,那么20個數,不是得20條指令才能寫完嗎?這里只有20個數,如果要送200個或2000個數,那豈不要寫上200條或2000條命令?這未免太笨了吧。為什么會出現這樣的狀況?是因為我們只會把地址寫在指令中,所以就沒辦法了,如果我們不是把地址直接寫在指令中,而是把地址放在另外一個寄存器單元中,根據這個寄存器單元中的數值決定該到哪個單元中取數據,比如,當前這個寄存器中的值是30H,那么就到30H單元中去取,如果是31H就到31H單元中去取,就可以解決這個問題了。怎么個解決法呢?既然是看的寄存器中的值,那么我們就可以通過一定的方法讓這里面的值發生變化,比如取完一個數后,將這個寄存器單元中的值加1,還是執行同一條指令,可是取數的對象卻不一樣了,不是嗎。通過例子來說明吧。    MOV R7,#20    MOV R0,#30H LOOP:MOV A,@R0    INC R0    DJNZ R7,LOOP 這個例子中大部份指令我們是能看懂的,第一句,是將立即數20送到R7中,執行完后R7中的值應當是20。第二句是將立即數30H送入R0工作寄存器中,所以執行完后,R0單元中的值是30H,第三句,這是看一下R0單元中是什么值,把這個值作為地址,取這個地址單元的內容送入A中,此時,執行這條指令的結果就相當于MOV A,30H。第四句,沒學過,就是把R0中的值加1,因此執行完后,R0中的值就是31H,第五句,學過,將R7中的值減1,看是否等于0,不等于0,則轉到標號LOOP處繼續執行,因此,執行完這句后,將轉去執行MOV A,@R0這句話,此時相當于執行了MOV A,31H(因為此時的R0中的值已是31H了),如此,直到R7中的值逐次相減等于0,也就是循環20次為止,就實現了我們的要求:從30H單元開始將20個數據送入A中。 這也是一種尋找數據的方法,由于數據是間接地被找到的,所以就稱之為間址尋址。注意,在間址尋址中,只能用R0或R1存放等尋找的數據。 二、指令 數據傳遞類指令 1) 以累加器為目的操作數的指令 MOV A,Rn MOV A,direct MOV A,@Ri MOV A,#data 第一條指令中,Rn代表的是R0-R7。第二條指令中,direct就是指的直接地址,而第三條指令中,就是我們剛才講過的。第四條指令是將立即數data送到A中。 下面我們通過一些例子加以說明: MOV A,R1 ;將工作寄存器R1中的值送入A,R1中的值保持不變。 MOV A,30H ;將內存30H單元中的值送入A,30H單元中的值保持不變。 MOV A,@R1 ;先看R1中是什么值,把這個值作為地址,并將這個地址單元中的值送入A中。如執行命令前R1中的值為20H,則是將20H單元中的值送入A中。 MOV A,#34H ;將立即數34H送入A中,執行完本條指令后,A中的值是34H。 2)以寄存器Rn為目的操作的指令 MOV Rn,A   MOV Rn,direct   MOV Rn,#data 這組指令功能是把源地址單元中的內容送入工作寄存器,源操作數不變。

    標簽: 單片機 免費下載 基礎知識

    上傳時間: 2013-10-13

    上傳用戶:3294322651

  • 基于FPGA的多路高速串并轉換器設計

    高速串并轉換器的設計是FPGA 設計的一個重要方面,傳統設計方法由于采用FPGA 的內部邏輯資源來實現,從而限制了串并轉換的速度。該研究以網絡交換調度系統的FGPA 驗證平臺中多路高速串并轉換器的設計為例,詳細闡述了1 :8DDR 模式下高速串并轉換器的設計方法和16 路1 :8 串并轉換器的實現。結果表明,采用Xilinx Virtex24 的ISERDES 設計的多路串并轉換器可以實現800 Mbit/ s 輸入信號的串并轉換,并且減少了設計復雜度,縮短了開發周期,能滿足設計要求。關鍵詞:串并轉換;現場可編程邏輯陣列;Xilinx ; ISERDES

    標簽: FPGA 多路 串并轉換

    上傳時間: 2013-11-03

    上傳用戶:王小奇

  • zigbee技術基礎知識24問

    在藍牙技術的使用過程中,人們發現藍牙技術盡管有許多優點,但仍存在許多缺陷。對工業,家庭自動化控制和工業遙測遙控領域而言,藍牙技術顯得太復雜,功耗大,距離近,組網規模太小等,……而工業自動化,對無線數據通信的需求越來越強烈,而且,對于工業現場,這種無線數據傳輸必需是高可靠的,并能抵抗工業現場的各種電磁干擾。因此,經過人們長期努力,ZigBee 協議在2003年中正式問世了。另外,ZigBee 使用了在它之前所研究過的面向家庭網絡的通信協議Home RF Lite。

    標簽: zigbee 技術基礎

    上傳時間: 2013-11-18

    上傳用戶:uuuuuuu

  • 嵌入式LINUX 電子教程全集

    嵌入式LINUX  電子教程全集 嵌入式系統出現于60年代晚期,它最初被用于控制機電電話交換機,如今已被廣泛的應用于工業制造、過程控制、通訊、儀器、儀表、汽車、船舶、航空、航天、軍事裝備、消費類產品等眾多領域。計算機系統核心CPU,每年在全球范圍內的產量大概在二十億顆左右,其中超過80%應用于各類專用性很強的嵌入式系統。一般的說,凡是帶有微處理器的專用軟硬件系統都可以稱為嵌入式系統。   1. 嵌入式Linux系統就是利用Linux其自身的許多特點,把它應用到嵌入式系統里。   Linux做嵌入式的優勢,首先,Linux是開放源代碼的,不存在黑箱技術,遍布全球的眾多Linux愛好者又是Linux開發者的強大技術支持;其次,Linux的內核小、效率高,內核的更新速度很快,linux是可以定制的,其系統內核最小只有約134KB。第三,Linux是免費的OS,在價格上極具競爭力。 Linux還有著嵌入式操作系統所需要的很多特色,突出的就是Linux適應于多種CPU和多種硬件平臺,是一個跨平臺的系統。到目前為止,它可以支持二三十種CPU。而且性能穩定,裁剪性很好,開發和使用都很容易。很多CPU包括家電業芯片,都開始做Linux的平臺移植工作。移植的速度遠遠超過Java的開發環境。也就是說,如果今天用Linux環境開發產品,那么將來換CPU就不會遇到困擾。同時,Linux內核的結構在網絡方面是非常完整的,Linux對網絡中最常用的TCP/IP協議有最完備的支持。提供了包括十兆、百兆、千兆的以太網絡,以及無線網絡,Toker ring(令牌環網)、光纖甚至衛星的支持。所以Linux很適于做信息家電的開發。   還有使用Linux為的是來開發無線連接產品的開發者越來越多。Linux在快速增長的無線連接應用主場中有一個非常重要的優勢,就是有足夠快的開發速度。這是因為LInux有很多工具,并且Linux為眾多程序員所熟悉。因此,我們要在嵌入式系統中使用Linux操作系統。   Linux的大小適合嵌入式操作系統——Linux固有的模塊性,適應性和可配置性,使得這很容易做到。另外,Linux源碼的實用性和成千上萬的程序員熱切其望它用于無數的嵌入式應用軟件中,導致很多嵌入式Linux的出現,包括:Embedix,ETLinux,LEM,Linux Router Project,LOAF,uCLinux,muLinux,ThinLinux,FirePlug,Linux和PizzaBox Linux   相對,Linux的圖形界面還相對較弱,但近年Linux的圖形界面發展也很快,這也就不是問題。   2. 什么是嵌入式Linux   嵌入式linux 是將日益流行的Linux操作系統進行裁剪修改,使之能在嵌入式計算機系統上運行的一種操作系統。嵌入式linux既繼承了Interlnet上無限的開放源代碼資源,又具有嵌入式操作系統的特性。嵌入式Linux的特點是版權費免費;購買費用媒介成本技術支持全世界的自由軟件開發者提供支持網絡特性免費,而且性能優異,軟件移植容易,代碼開放,有許多應用軟件支持,應用產品開發周期短,新產品上市迅速,因為有許多公開的代碼可以參考和移植,實時性能RT_Linux Hardhat Linux 等嵌入式Linux支持,實時性能穩定性好安全性好。   3. 嵌入式Linux有巨大的市場前景和商業機會,出現了大量的專業公司和產品,如Montavista Lineo Emi等,有行業協會如Embedded Linux Consortum等,得到世界著名計算機公司和OEM板級廠商的支持,例如IBM Motorola Intel等。傳統的嵌入式系統廠商也采用了Linux策略,如Lynxworks Windriver QNX等,還有Internet上的大量嵌入式Linux愛好者的支持。嵌入式Linux支持幾乎所有的嵌入式CPU和被移植到幾乎所有的嵌入式OEM板。   4.嵌入式Linux的應用領域非常廣泛,主要的應用領域有信息家電、PDA 、機頂盒、Digital Telephone、Answering Machine、Screen Phone 、數據網絡、Ethernet Switches、Router、Bridge、Hub、Remote access servers、ATM、Frame relay 、遠程通信、醫療電子、交通運輸計算機外設、工業控制、航空航天領域等。   5.如果分別讓10位工程師給出嵌入式系統的定義,將得到10個不同的答案。一般來說,大部分的嵌入式系統執行特定的任務。我們假定最簡單的嵌入式系統包括輸入/輸出功能,以及一些控制邏輯,該系統基于它的配置執行某些類型的功能。按照這個標準,可以認為一個包含實現控制邏輯74123計數器以及一個狀態是一個嵌入式系統。也許可以補充說,該系統必須可通過存儲在固件中的軟件進行編程。這個新的嵌入式系統定義包括輸入/輸出(I/O),以及存儲在系統固件中的控制邏輯。一個帶有鼠標、鍵盤、網絡連接并運行圖形用戶界面(GUI,graphical user interface)多任務操作系統的桌面計算機顯然滿足這些要求,但我們能認為它是一個嵌入式系統嗎?   如果桌面計算機不是一個嵌入式系統,那么手持設備呢?它們有I/O功能,可以運行存儲在固件中的控制邏輯。有人說,桌面計算機和手持設備都有通用計算機設備,可以運行軟件來執行許多不同的任務,與之不同的是,嵌入式系統(例如,洗碗機控制器或飛行導航系統)主要是為特定任務而設計的。這種特定的功能限定使嵌入式設備有功能上的唯一性。如果是這樣,為什么一些嵌入式系統設計成具有附加的功能,如存儲在非易失性存儲器中的程序,并且具有運行可以完成原始設計范圍之外的任務的多任務操作系統的能力呢?   在過去,區分嵌入式系統和通用計算機比現在簡單的多。例如,可以很容易地區分出一個基于8051的T1分幅卡嵌入式系統和一臺Sun UNIX工作站。而現在,從功能方面很難區分一臺Sun工作站和一個包含PowerPC以及32MB內存和16MB閃存的機頂盒。這樣的機頂盒可以運行帶GUI的多任務操作系統,可現場升級,可以同時運行多個程序(如視頻控制器、數字錄像和Java虛擬機),還可以進行安全的因特網在線交易。很難判斷這種機頂盒是否是一個嵌入式系統。顯然,硬件性能的提升和價格的下降使通用計算機和嵌入式系統之間的界限變得很模糊,技術的進步使得我們很難定義什么是嵌入式。

    標簽: LINUX 嵌入式 電子教程

    上傳時間: 2014-12-30

    上傳用戶:ljt101007

  • 飛秒激光觸發光電導天線產生太赫茲波的研究

    研究了光電導天線產生太赫茲波的輻射特性,利用麥克斯韋方程及其邊界條件,計算了近遠場的電場強度;采用電磁波時域有限差分方法(FDTD),在Matlab系統軟件中,用C語言編寫程序計算光電導偶極天線的輻射太赫茲波的空間電磁場分布,并在計算機上以偽彩色圖形顯示,這種電磁場的可視化結果為天線的設計和改進提供了直觀的物理依據。

    標簽: 光觸發 光電 天線 太赫茲波

    上傳時間: 2013-10-16

    上傳用戶:會稽劍客

  • UPS電源詳解

    UPS電源的簡介 UPS(Uninterruptible Power System ),即不間斷電源,是一種含有儲能裝置,以逆變器為主要組成部分的恒壓恒頻的不間斷電源。主要用于給單臺計算機、計算機網絡系統或其它電力電子設備提供不間斷的電力供應。當市電輸入正常時,UPS 將市電穩壓后供應給負載使用,此時的UPS就是一臺交流市電穩壓器,同時它還向機內電池充電;當市電中斷(事故停電)時, UPS 立即將機內電池的電能,通過逆變轉換的方法向負載繼續供應220V交流電,使負載維持正常工作并保護負載軟、硬件不受損壞。UPS 設備通常對電壓過大和電壓太低都提供保護。 UPS電源的發展過程與現狀 經過一個多世紀的發展,電力已經成為現代工業最重要的能源基礎。隨著工業文明的不斷進步,現代工業對電力質量的要求越來越高,為了保障工業過程以及日常工作的連續性,UPS應運而生,成功的解決了電力中斷以及電力質量差的問題,廣泛地應用于工業控制、通信、醫療、計算機、交通、銀行、證券等。經過幾十年的發展,UPS技術El新月異,管理體系不斷完善,功能更加強大,應用范圍也隨著現代科技的發展不斷的擴大。 UPS電源的未來發展趨勢 市場需求促進了UPS性能的不斷提高,科技的進步則推動了UPS技術了不斷的向前發展,使UPS向高頻化、冗余并聯化、數字化、可靠化、智能化、綠色化、經濟化發展。  

    標簽: UPS 電源

    上傳時間: 2013-10-18

    上傳用戶:zhishenglu

  • 基于ARM嵌入式熱熔焊接機智能控制器的設計

    PE管道熱熔對接焊的工藝參數隨管道尺度和環境條件的不同而不同,同時還受人為因素的影響,對焊接機自動化程度要求很高。介紹了基于ARM嵌入式熱熔焊接機智能控制器的硬件和軟件的設計方案。此方案符合焊接各個階段工藝參數指標,并具有操作糾錯及錯誤信息管理功能,最大程度地消除了人為因素的影響,提高焊接質量,并具備焊接數據的可追溯性,便于管理人員對焊接工程的管理。

    標簽: ARM 嵌入式 熱熔 智能控制器

    上傳時間: 2014-12-31

    上傳用戶:515414293

  • 水聲換能器及基陣_周洪福

    水聲換能器是利用晶體(石英或酒石酸鉀鈉)壓電陶瓷(鈦酸鋇和鋯鈦酸鉛等)的壓電效應或鐵鎳合金的磁致伸縮效應來進行工作的。所謂壓電效應,就是把晶體按一定方向切成薄片,并在晶體薄片上施加壓力,在它的兩端面上會分別產生正電荷和負電荷。反之在晶體博片上施加拉伸力時,它的兩個端面上就會產生與加壓力時相反的電荷。

    標簽: 換能器

    上傳時間: 2013-10-10

    上傳用戶:jisiwole

  • 并口示波器小軟件Port 1.0下載

       Port1.0 使用說明 Port1.0是作者本人在進行電子制作和維修過程中萌發的一個思路。在電子制作、維修中,經常要用到多路的脈沖信號或是要測量多路的脈沖信號。本軟件可通過微機并口向用戶提供多達12路的標準TTL脈沖信號,同時可進行5路的標準TTL脈沖信號的波形顯示。 軟件的使用方法極為簡單。輸出信號時,只要選中或取消引腳號,就能在相應的引腳得到相應的脈沖信號(統一為選中為高電平,取消為低電平),“清零”按鈕為對應該組的所有信號清零。 輸入信號的波形顯示,按“開始”按鈕為開始進行顯示,“停止”為暫停。 在設置面板中,“數據讀入時間間隔”為讀入時間的設定。“并行打印端口設置”為顯示微機中存在的可用打印端口,并可以設定本軟件當前要使用的端口(如只有一個可用端口,就為缺省端口,如有多個可用端口軟件自動選擇最后一個可用端口為當前使用端口)。 本軟件的輸入波形顯示沒有運用VXD等的技術支持,在速度上不能做到高頻的實時性,只能用在低速的環境下。這個版本沒有提供多數據的連續輸出。這些問題在下一個版本中得到改進和支持。 本軟件可使用在微機的打印適配器、打印機等各種的并口設備檢修中,還可用在各種數字電路、單片機的制作和維修中。在下一版本在這方面會有更大的支持。 * 注意:只支持win9x * 注意:并口的輸入/輸出電平為0-5伏TTL,不能連接高電壓高電流的電路,以免塤壞主板或打印適配器。要連接COMS的0-12伏時請用戶自做轉換電路再連接。 * 注意:在使用本軟件時最好不要同時使用打印機之類的并口設備。如本程序已運行請先關閉,再使用并口設備。 

    標簽: Port 1.0 并口

    上傳時間: 2014-04-18

    上傳用戶:paladin

  • 基于FPGA的多路高速串并轉換器設計

    高速串并轉換器的設計是FPGA 設計的一個重要方面,傳統設計方法由于采用FPGA 的內部邏輯資源來實現,從而限制了串并轉換的速度。該研究以網絡交換調度系統的FGPA 驗證平臺中多路高速串并轉換器的設計為例,詳細闡述了1 :8DDR 模式下高速串并轉換器的設計方法和16 路1 :8 串并轉換器的實現。結果表明,采用Xilinx Virtex24 的ISERDES 設計的多路串并轉換器可以實現800 Mbit/ s 輸入信號的串并轉換,并且減少了設計復雜度,縮短了開發周期,能滿足設計要求。關鍵詞:串并轉換;現場可編程邏輯陣列;Xilinx ; ISERDES

    標簽: FPGA 多路 串并轉換

    上傳時間: 2013-11-17

    上傳用戶:hxy200501

主站蜘蛛池模板: 全椒县| 和田县| 和政县| 新河县| 德化县| 长岭县| 工布江达县| 方正县| 云安县| 景谷| 出国| 屯留县| 奉节县| 孙吴县| 南通市| 满城县| 三都| 都兰县| 伊金霍洛旗| 遂川县| 中阳县| 上高县| 晋州市| 夏津县| 兰州市| 荣成市| 太白县| 福安市| 平定县| 深州市| 普格县| 富源县| 康平县| 苍山县| 漯河市| 临邑县| 桑日县| 玉山县| 建宁县| 旬邑县| 西畴县|