摘要:共振頻率是壓電陶瓷超聲波換能器的一個重要參數,它隨負載及工作溫度等因素的變化而變化,或隨使用時間的增加而變化,換能器饋電電路的工作頻率是否能自動跟蹤其共振頻率尤其重要,應用單片機控制標稱共振頻率為28kHz的壓電陶瓷超聲波換能器饋電電路的工作頻率可取得理想的效果。關鍵詞:共振頻率;壓電陶瓷;超聲波;換能器;單片機
上傳時間: 2013-11-01
上傳用戶:hj_18
介紹了以AT89S8252單片機為核心的汽車瞬時燃油測量檢測系統,該系統利用汽車噴油脈沖計算瞬時噴油量,并且具有油箱油量、瞬時油耗、百公里油耗等實時顯示功能。
上傳時間: 2013-11-14
上傳用戶:s藍莓汁
電加熱爐是典型工業過程控制對象,其溫度控制具有升溫單向性,大慣性,純滯后,時變性等特點,很難用數學方法建立精確的模型和確定參數。而PID控制因其成熟,容易實現,并具有可消除穩態誤差的優點,在大多數情況下可以滿足系統性能要求,但其性能取決于參數的整定情況。且快速性和超調量之間存在矛盾,使其不一定滿足快速升溫、超調小的技術要求。模糊控制在快速性和保持較小的超調量方面有著自身的優勢,但其理論并不完善,算法復雜,控制過程會存在穩態誤差。 將模糊控制算法引入傳統的加熱爐控制系統構成智能模糊控制系統,利用模糊控制規則自適應在線修改PID參數,構成模糊自整定:PID控制系統,借此提高其控制效果。 基于PID控制算法,以ADuC845單片機為主體,構成一個能處理較復雜數據和控制功能的智能控制器,使其既可作為獨立的單片機控制系統,又可與微機配合構成兩級控制系統。該控制器控制精度高,具有較高的靈活性和可靠性。 2 溫度控制系統硬件設計 該系統設計的硬件設計主要由單片機主控、前向通道、后向通道、人機接口和接口擴展等模塊組成,如圖l所示。由圖1可見,以內含C52兼容單片機的ADuC845為控制核心.配有640 KB的非易失RAM數據存儲器、外擴鍵盤輸人、320x240點陣的圖形液晶顯示器進行漢字、圖形、曲線和數據顯示,超溫報警裝置等外圍電路;預留微型打印機接口,可以現場打印輸出結果;預留RS232接口,能和PC機聯機,將現場檢測的數據傳輸至PC機來進一步處理、顯示、打印和存檔。
上傳時間: 2013-10-11
上傳用戶:vodssv
PIC 單片機的組成習題解答 解答部分1. PIC 單片機指令的執行過程遵循著一種全新哈佛總線體系結構的原則,充分利用了計算機系統在程序存儲器和數據存儲器之間地址空間的相互獨立性,取指過程和執行指令過程可以流水線操作同時進行。因此,當PIC 時鐘頻率為4MHZ時,執行一條非轉移類指令需要4 個系統時鐘周期,即1us,但其指令執行的真實時間應為2us(在執行n—1 條指令時取第n 條指令,然后執行第n 條指令)。所以選項B 正確2. 端口RE 共有3 個引腳RE0~RE2,它們除了用做普通I/O 引腳和第5~7 路模擬信號輸入引腳外,還依次分別承擔并行口讀出/寫入/片選控制端引腳。A. 對。讀出/寫入(REO~RE1)。B.錯。同步串行的相關引腳與端口C 有關。C.錯。通用異步/同步串行的相關引腳與端口C有關。D. 錯。CCP模塊的相關引腳也是與端口C有關。所以選項A正確。3. 上電延時電路能提供一個固定的72ms 上電延時,從而使VDD有足夠的時間上繁榮昌盛到單片機合適的工作電壓。所以選項B 正確。
上傳時間: 2013-11-09
上傳用戶:glxcl
中穎單片機入門與實戰 單片機又稱單片微處理器,其應用已滲入到各行各業,生產廠家亦從二十年前的寥寥幾家發展到現在的幾十間甚至更多。不同的廠家基于各自的架構平臺,設計了不同功能特點的單片機,這就使得工程師們可以按照具體設計要求挑選最適合的一款芯片進行系統開發,既滿足功能需求又能最大限度降低成本,提高了自己產品的性價比。中穎單片機基于公司自有的4-bit CPU IP(CPU60)發展起來,芯片采用的是程序內存和數據存儲器在物理空間上完全獨立的哈佛結構。程序內存和數據存儲器地址以及總線完全分開,可以使指令和數據有不同的數據寬度。同時由于讀取指令和存取操作數可以同時進行(流水線作業),因而具有較高的執行效率。中穎設計工程師以此設計了SH66XX, SH67XX 和SH69XX 等一系列的單片機,涵蓋了包括消費類,家電及來電顯示電話的多方面應用,以其產品的多樣化,優異的抗干擾性能,良好的性價比和及時的售后服務在競爭激烈的市場占有一席之地,并且每年的出貨量在持續快速的增長中。中穎單片機能在短短數年間取得如此成績及市場認可度,自有其道理。
標簽: 中穎單片機
上傳時間: 2013-11-20
上傳用戶:huanglang
SDRAM的原理和時序 SDRAM內存模組與基本結構 我們平時看到的SDRAM都是以模組形式出現,為什么要做成這種形式呢?這首先要接觸到兩個概念:物理Bank與芯片位寬。1、 物理Bank 傳統內存系統為了保證CPU的正常工作,必須一次傳輸完CPU在一個傳輸周期內所需要的數據。而CPU在一個傳輸周期能接受的數 據容量就是CPU數據總線的位寬,單位是bit(位)。當時控制內存與CPU之間數據交換的北橋芯片也因此將內存總線的數據位寬 等同于CPU數據總線的位寬,而這個位寬就稱之為物理Bank(Physical Bank,下文簡稱P-Bank)的位寬。所以,那時的內存必須要組織成P-Bank來與CPU打交道。資格稍老的玩家應該還記 得Pentium剛上市時,需要兩條72pin的SIMM才能啟動,因為一條72pin -SIMM只能提供32bit的位寬,不能滿足Pentium的64bit數據總線的需要。直到168pin-SDRAM DIMM上市后,才可以使用一條內存開機。不過要強調一點,P-Bank是SDRAM及以前傳統內存家族的特有概念,RDRAM中將以通道(Channel)取代,而對 于像Intel E7500那樣的并發式多通道DDR系統,傳統的P-Bank概念也不適用。2、 芯片位寬 上文已經講到SDRAM內存系統必須要組成一個P-Bank的位寬,才能使CPU正常工作,那么這個P-Bank位寬怎么得到呢 ?這就涉及到了內存芯片的結構。 每個內存芯片也有自己的位寬,即每個傳輸周期能提供的數據量。理論上,完全可以做出一個位寬為64bit的芯片來滿足P-Ban k的需要,但這對技術的要求很高,在成本和實用性方面也都處于劣勢。所以芯片的位寬一般都較小。臺式機市場所用的SDRAM芯片 位寬最高也就是16bit,常見的則是8bit。這樣,為了組成P-Bank所需的位寬,就需要多顆芯片并聯工作。對于16bi t芯片,需要4顆(4×16bit=64bit)。對于8bit芯片,則就需要8顆了。以上就是芯片位寬、芯片數量與P-Bank的關系。P-Bank其實就是一組內存芯片的集合,這個集合的容量不限,但這個集合的 總位寬必須與CPU數據位寬相符。隨著計算機應用的發展,
上傳時間: 2013-11-04
上傳用戶:zhuimenghuadie
at91rm9200啟動過程教程 系統上電,檢測BMS,選擇系統的啟動方式,如果BMS為高電平,則系統從片內ROM啟動。AT91RM9200的ROM上電后被映射到了0x0和0x100000處,在這兩個地址處都可以訪問到ROM。由于9200的ROM中固化了一個BOOTLOAER程序。所以PC從0X0處開始執行這個BOOTLOAER(準確的說應該是一級BOOTLOADER)。這個BOOTLOER依次完成以下步驟: 1、PLL SETUP,設置PLLB產生48M時鐘頻率提供給USB DEVICE。同時DEBUG USART也被初始化為48M的時鐘頻率; 2、相應模式下的堆棧設置; 3、檢測主時鐘源(Main oscillator); 4、中斷控制器(AIC)的設置; 5、C 變量的初始化; 6、跳到主函數。 完成以上步驟后,我們可以認為BOOT過程結束,接下來的就是LOADER的過程,或者也可以認為是裝載二級BOOTLOER。AT91RM9200按照DATAFLASH、EEPROM、連接在外部總線上的8位并行FLASH的順序依次來找合法的BOOT程序。所謂合法的指的是在這些存儲設備的開始地址處連續的存放的32個字節,也就是8條指令必須是跳轉指令或者裝載PC的指令,其實這樣規定就是把這8條指令當作是異常向量表來處理。必須注意的是第6條指令要包含將要裝載的映像的大小。關于如何計算和寫這條指令可以參考用戶手冊。一旦合法的映像找到之后,則BOOT程序會把找到的映像搬到SRAM中去,所以映像的大小是非常有限的,不能超過16K-3K的大小。當BOOT程序完成了把合法的映像搬到SRAM的任務以后,接下來就進行存儲器的REMAP,經過REMAP之后,SRAM從映設前的0X200000地址處被映設到了0X0地址并且程序從0X0處開始執行。而ROM這時只能在0X100000這個地址處看到了。至此9200就算完成了一種形式的啟動過程。如果BOOT程序在以上所列的幾種存儲設備中找到合法的映像,則自動初始化DEBUG USART口和USB DEVICE口以準備從外部載入映像。對DEBUG口的初始化包括設置參數115200 8 N 1以及運行XMODEM協議。對USB DEVICE進行初始化以及運行DFU協議。現在用戶可以從外部(假定為PC平臺)載入你的映像了。在PC平臺下,以WIN2000為例,你可以用超級終端來完成這個功能,但是還是要注意你的映像的大小不能超過13K。一旦正確從外部裝載了映像,接下來的過程就是和前面一樣重映設然后執行映像了。我們上面講了BMS為高電平,AT91RM9200選擇從片內的ROM啟動的一個過程。如果BMS為低電平,則AT91RM9200會從片外的FLASH啟動,這時片外的FLASH的起始地址就是0X0了,接下來的過程和片內啟動的過程是一樣的,只不過這時就需要自己寫啟動代碼了,至于怎么寫,大致的內容和ROM的BOOT差不多,不同的硬件設計可能有不一樣的地方,但基本的都是一樣的。由于片外FLASH可以設計的大,所以這里編寫的BOOTLOADER可以一步到位,也就是說不用像片內啟動可能需要BOOT好幾級了,目前AT91RM9200上使用較多的bootloer是u-boot,這是一個開放源代碼的軟件,用戶可以自由下載并根據自己的應用配置。總的說來,筆者以為AT91RM9200的啟動過程比較簡單,ATMEL的服務也不錯,不但提供了片內啟動的功能,還提供了UBOOT可供下載。筆者寫了一個BOOTLODER從片外的FLASHA啟動,效果還可以。 uboot結構與使用uboot是一個龐大的公開源碼的軟件。他支持一些系列的arm體系,包含常見的外設的驅動,是一個功能強大的板極支持包。其代碼可以 http://sourceforge.net/projects/u-boot下載 在9200上,為了啟動uboot,還有兩個boot軟件包,分別是loader和boot。分別完成從sram和flash中的一級boot。其源碼可以從atmel的官方網站下載。 我們知道,當9200系統上電后,如果bms為高電平,則系統從片內rom啟動,這時rom中固化的boot程序初始化了debug口并向其發送'c',這時我們打開超級終端會看到ccccc...。這說明系統已經啟動,同時xmodem協議已經啟動,用戶可以通過超級終端下載用戶的bootloader。作為第一步,我們下載loader.bin.loader.bin將被下載到片內的sram中。這個loder完成的功能主要是初始化時鐘,sdram和xmodem協議,為下載和啟動uboot做準備。當下載了loader.bin后,超級終端會繼續打印:ccccc....。這時我們就可以下在uboot了。uboot將被下載到sdram中的一個地址后并把pc指針調到此處開始執行uboot。接著我們就可以在終端上看到uboot的shell啟動了,提示符uboot>,用戶可以uboot>help 看到命令列表和大概的功能。uboot的命令包含了對內存、flash、網絡、系統啟動等一些命令。 如果系統上電時bms為低電平,則系統從片外的flash啟動。為了從片外的flash啟動uboot,我們必須把boot.bin放到0x0地址出,使得從flash啟動后首先執行boot.bin,而要少些boot.bin,就要先完成上面我們講的那些步驟,首先開始從片內rom啟動uboot。然后再利用uboot的功能完成把boot.bin和uboot.gz燒寫到flash中的目的,假如我們已經啟動了uboot,可以這樣操作: uboot>protect off all uboot>erase all uboot>loadb 20000000 uboot>cp.b 20000000 10000000 5fff uboot>loadb 21000000 uboot>cp.b 210000000 10010000 ffff 然后系統復位,就可以看到系統先啟動boot,然后解壓縮uboot.gz,然后啟動uboot。注意,這里uboot必須壓縮成.gz文件,否則會出錯。 怎么編譯這三個源碼包呢,首先要建立一個arm的交叉編譯環境,關于如何建立,此處不予說明。建立好了以后,分別解壓源碼包,然后修改Makefile中的編譯器項目,正確填寫你的編譯器的所在路徑。 對loader和boot,直接make。對uboot,第一步:make_at91rm9200dk,第二步:make。這樣就會在當前目錄下分別生成*.bin文件,對于uboot.bin,我們還要壓縮成.gz文件。 也許有的人對loader和boot搞不清楚為什么要兩個,有什么區別嗎?首先有區別,boot主要完成從flash中啟動uboot的功能,他要對uboot的壓縮文件進行解壓,除此之外,他和loader并無大的區別,你可以把boot理解為在loader的基礎上加入了解壓縮.gz的功能而已。所以這兩個并無多大的本質不同,只是他們的使命不同而已。 特別說名的是這三個軟件包都是開放源碼的,所以用戶可以根據自己的系統的情況修改和配置以及裁減,打造屬于自己系統的bootloder。
上傳時間: 2013-10-27
上傳用戶:wsf950131
單片機原理與應用技術 單片機到底是什么呢?就是一個電腦,只不過是微型的,麻雀雖小,五臟俱全:它內部也用和電腦功能類似的模塊,比如CPU,內存,并行總線,還有和硬盤作用相同的存儲器件,不同的是它的這些部件性能都相對我們的家用電腦弱很多,不過價錢也是低的,一般不超過10元即可......用它來做一些控制電器一類不是很復雜的工作足矣了。我們現在用的全自動滾筒洗衣機,排煙罩VCD等等的家電里面都可以看到它的身影!......它主要是作為控制部分的核心部件。 它是一種在線式實時控制計算機,在線式就是現場控制,需要的是有較強的抗干擾能力,較低的成本,這也是和離線式計算機的(比如家用PC)的主要區別。 單片機是靠程序的,并且可以修改。通過不同的程序實現不同的功能,尤其是特殊的獨特的一些功能,這是別的器件需要費很大力氣才能做到的,有些則是花大力氣也很難做到的。一個不是很復雜的功能要是用美國50年代開發的74系列,或者60年代的CD4000系列這些純硬件來搞定的話,電路一定是一塊大PCB板!但是如果要是用美國70年代成功投放市場的系列單片機,結果就會有天壤之別!只因為單片機的通過你編寫的程序可以實現高智能,高效率,以及高可靠性! 由于單片機對成本是敏感的,所以目前占統治地位的軟件還是最低級匯編語言,它是除了二進制機器碼以上最低級的語言了,既然這么低級為什么還要用呢?很多高級的語言已經達到了可視化編程的水平為什么不用呢?原因很簡單,就是單片機沒有家用計算機那樣的CPU,也沒有像硬盤那樣的海量存儲設備。一個可視化高級語言編寫的小程序里面即使只有一個按鈕,也會達到幾十K的尺寸!對于家用PC的硬盤來講沒什么,可是對于單片機來講是不能接受的。 單片機在硬件資源方面的利用率必須很高才行,所以匯編雖然原始卻還是在大量使用。一樣的道理,如果把巨型計算機上的操作系統和應用軟件拿到家用PC上來運行,家用PC的也是承受不了的。 目前最常用的單片機為MCS-51,是由美國INTEL公司(生產CPU的英特爾)生產的,89C51是這幾年在我國非常流行的單片機,它是由美國ATMEL公司開發生產的,其內核兼容MCS-51單片機。 單片機的應用領域 單片機廣泛應用于儀器儀表、家用電器、醫用設備、航空航天、專用設備的智能化管理及過程控制等領域,大致可分如下幾個范疇: 1.在智能儀器儀表上的應用 單片機具有體積小、功耗低、控制功能強、擴展靈活、微型化和使用方便等優點,廣泛應用于儀器儀表中,結合不同類型的傳感器,可實現諸如電壓、功率、頻率、濕度、溫度、流量、速度、厚度、角度、長度、硬度、元素、壓力等物理量的測量。采用單片機控制使得儀器儀表數字化、智能化、微型化,且功能比起采用電子或數字電路更加強大。例如精密的測量設備(功率計,示波器,各種分析儀)。 2.在工業控制中的應用 用單片機可以構成形式多樣的控制系統、數據采集系統。例如工廠流水線的智能化管理,電梯智能化控制、各種報警系統,與計算機聯網構成二級控制系統等。 3.在家用電器中的應用 可以這樣說,現在的家用電器基本上都采用了單片機控制,從電飯褒、洗衣機、電冰箱、空調機、彩電、其他音響視頻器材、再到電子秤量設備,五花八門,無所不在。 4.在計算機網絡和通信領域中的應用 現代的單片機普遍具備通信接口,可以很方便地與計算機進行數據通信,為在計算機網絡和通信設備間的應用提供了極好的物質條件,現在的通信設備基本上都實現了單片機智能控制,從手機,電話機、小型程控交換機、樓宇自動通信呼叫系統、列車無線通信、再到日常工作中隨處可見的移動電話,集群移動通信,無線電對講機等。 5.單片機在醫用設備領域中的應用 單片機在醫用設備中的用途亦相當廣泛,例如醫用呼吸機,各種分析儀,監護儀,超聲診斷設備及病床呼叫系統等等。 此外,單片機在工商,金融,科研、教育,國防航空航天等領域都有著十分廣泛的用途
上傳時間: 2013-11-14
上傳用戶:gououo
ARM處理器的工作模式 ARM處理器狀態 ARM微處理器的工作狀態一般有兩種,并可在兩種狀態之間切換:第一種為ARM狀態,此時處理器執行32位的字對齊的ARM指令;第二種為Thumb狀態,此時處理器執行16位的、半字對齊的Thumb指令。在程序的執行過程中,微處理器可以隨時在兩種工作狀態之間切換,并且,處理器工作狀態的轉變并不影響處理器的工作模式和相應寄存器中的內容。但ARM微處理器在開始執行代碼時,應該處于ARM狀態。 ARM處理器狀態 進入Thumb狀態:當操作數寄存器的狀態位(位0)為1時,可以采用執行BX指令的方法,使微處理器從ARM狀態切換到Thumb狀態。此外,當處理器處于Thumb狀態時發生異常(如IRQ、FIQ、Undef、Abort、SWI等),則異常處理返回時,自動切換到Thumb狀態。 進入ARM狀態:當操作數寄存器的狀態位為0時,執行BX指令時可以使微處理器從Thumb狀態切換到ARM狀態。此外,在處理器進行異常處理時,把PC指針放入異常模式鏈接寄存器中,并從異常向量地址開始執行程序,也可以使處理器切換到ARM狀態。ARM處理器模式 ARM微處理器支持7種運行模式,分別為:用戶模式(usr):ARM處理器正常的程序執行狀態。快速中斷模式(fiq):用于高速數據傳輸或通道處理。外部中斷模式(irq):用于通用的中斷處理。管理模式(svc):操作系統使用的保護模式。數據訪問終止模式(abt):當數據或指令預取終止時進入該模式,可用于虛擬存儲及存儲保護。系統模式(sys):運行具有特權的操作系統任務。定義指令中止模式(und):當未定義的指令執行時進入該模式,可用于支持硬件協處理器的軟件仿真。ARM處理器模式 ARM微處理器的運行模式可以通過軟件改變,也可以通過外部中斷或異常處理改變。大多數的應用程序運行在用戶模式下,當處理器運行在用戶模式下時,某些被保護的系統資源是不能被訪問的。 除用戶模式以外,其余的所有6種模式稱之為非用戶模式,或特權模式;其中除去用戶模式和系統模式以外的5種又稱為異常模式,常用于處理中斷或異常,以及需要訪問受保護的系統資源等情況。ARM寄存器 ARM處理器共有37個寄存器。其中包括:31個通用寄存器,包括程序計數器(PC)在內。這些寄存器都是32位寄存器。以及6個32位狀態寄存器。 關于寄存器這里就不詳細介紹了,有興趣的人可以上網找找,很多這方面的資料。異常處理 當正常的程序執行流程發生暫時的停止時,稱之為異常,例如處理一個外部的中斷請求。在處理異常之前,當前處理器的狀態必須保留,這樣當異常處理完成之后,當前程序可以繼續執行。處理器允許多個異常同時發生,它們將會按固定的優先級進行處理。當一個異常出現以后,ARM微處理器會執行以下幾步操作:進入異常處理的基本步驟:將下一條指令的地址存入相應連接寄存器LR,以便程序在處理異常返回時能從正確的位置重新開始執行。將CPSR復制到相應的SPSR中。根據異常類型,強制設置CPSR的運行模式位。強制PC從相關的異常向量地址取下一條指令執行,從而跳轉到相應的異常處理程序處。如果異常發生時,處理器處于Thumb狀態,則當異常向量地址加載入PC時,處理器自動切換到ARM狀態。 ARM微處理器對異常的響應過程用偽碼可以描述為: R14_ = Return LinkSPSR_= CPSRCPSR[4:0] = Exception Mode NumberCPSR[5] = 0 ;當運行于 ARM 工作狀態時If == Reset or FIQ then;當響應 FIQ 異常時,禁止新的 FIQ 異常CPSR[6] = 1PSR[7] = 1PC = Exception Vector Address異常處理完畢之后,ARM微處理器會執行以下幾步操作從異常返回:將連接寄存器LR的值減去相應的偏移量后送到PC中。將SPSR復制回CPSR中。若在進入異常處理時設置了中斷禁止位,要在此清除。
上傳時間: 2013-11-15
上傳用戶:hanbeidang
EDA9060開關量I/O 模塊在電氣控制柜中的典型應用—— EDA9060結合交流接觸器實現遠程控制EDA9060開關量I/O模塊是山東力創科技自主研發的一款分布式DI/DO工控模塊,主要功能特點:◎4路開關量輸入,4路繼電器輸出。繼電器兩組常開2觸點,兩組常開常閉3觸點。輸出觸點容量為8A 125VAC(5A 250VAC5A30VDC),由于觸點容量較大,可以直接用在很多的常見電氣控制電路中。輸出有兩種方式,一種電平式,一種脈沖式,可以靈活配置。◎標準的RS485接口,方便組網,結合GPRS DTU無線模塊可以實現無線遠程控制功能。◎靈活的協議,兼容研華協議,支持標準MODBUS RTU協議,方便上位機的系統組建。EDA9060在電氣控制柜中有著廣泛的應用,通過增加EDA9060遠程控制線路,改變了原來必須依靠人工到現場啟停電氣線路的狀況,實現無人值守,節省資源。線路改造主要通過EDA9060的繼電器輸出控制交流接觸器,從而實現遠程控制現場用電設備(如常見的工業泵)的啟停。同時增加一個轉換開關,將手動控制線路和EDA9060遠程控制線路隔離開,以保證現場操作優先的要求,同時增強操作的可靠性。下面以交流接觸器控制線路在220V電壓等級以內的常見控制電路為例,簡要說明其控制過程,線路容量大的情況只需要通過增加合適容量的中間繼電器,擴大EDA9060的觸點容量即可解決,示意圖:
上傳時間: 2013-11-15
上傳用戶:robter