數據存儲器的擴展 MCS-51單片機內部有128或256個字節的數據存儲器,這些存儲器通常被用作工作寄存器、堆棧、臨時變量等等,一般已經夠用,但是如果系統要存儲大量的數據,比如數據采集系統,那么片內的數據存儲器就不夠用了,需要進行擴展。
上傳時間: 2013-11-19
上傳用戶:jhksyghr
概述 P89LPC932A1是一款單片封裝的微控制器,適合于許多要求高集成度、低成本的場合。可以滿足多方面的性能要求。P89LPC932A1采用了高性能的處理器結構,指令執行時間只需2到4個時鐘周期。6倍于標準80C51器件。P89LPC932A1集成了許多系統級的功能,這樣可大大減少元件的數目、電路板面積以及系統的成本。
上傳時間: 2014-12-27
上傳用戶:caoyuanyuan1818
概述 SC16C550是用于串行數據通信的通用異步收發器(UART)。它的基本功能是將并行數據轉換成串行數據,反之亦然。UART可處理速率高達3Mbit/s的串行數據。 SC16C550的管腳與ST16C550、TL16C550和PC16C550兼容。上電后的功能等效于16C450。編程控制寄存器可使能SC16C550更多的特性。增加的特性包括:16字節接收和發送FIFO,自動硬件或軟件流控制和紅外編碼或解碼。在FIFO模式下,通過使用RTS輸出和CTS輸入信號自動控制串行數據流,可選的自動流控制的特性大大降低了軟件規模,提高了系統效率。SC16C550也通過FIFO觸發點和TXRDY和RXRDY信號來實現DMA模式數據傳輸。片內的狀態寄存器為用戶提供錯誤指示,器件的工作狀態和調制解調器接口控制。可通過調整系統中斷來滿足用戶的要求。內部的環回模式實現了片內的故障診斷。 SC16C550可工作在5V,3.3V和2.5V的電壓下和工業級溫度范圍內,含有塑料DIP40、PLCC44和LQFP48這三種封裝形式。
上傳時間: 2013-12-06
上傳用戶:hj_18
單片微機的概念單片微機是單片微型計算機SCMC(SingleChipMicroComputer)的譯名簡稱,在國內也常簡稱為“單片微機”或“單片機”。它包括中央處理器CPU、隨機存儲器RAM、只讀存儲器ROM、中斷系統、定時器/計數器、串行口和I/O等等。除了工業控制領域,單片微機在家用電器、電子玩具、通信、高級音響、圖形處理、語言設備、機器人、計算機等各個領域迅速發展。目前單片微機的世界年產量已達100億片,而在中國大陸地區單片微機的年應用量已達6億片左右,截止2001年4月,由中國大陸地區自行設計和生產的單片微機也已達到2000萬片。由此可見單片微機的廣泛用途和發展前景!
標簽: 單片機原理
上傳時間: 2013-10-18
上傳用戶:jhs541019
廣告燈 報警產生器 I/O并行口直接驅動LED顯示 按鍵識別方法 等等...
上傳時間: 2013-11-09
上傳用戶:sxdtlqqjl
單片機串行通信發射機 我所做的單片機串行通信發射機主要在實驗室完成,參考有關的書籍和資料,個人完成電路的設計、焊接、檢查、調試,再根據自己的硬件和通信協議用匯編語言編寫發射和顯示程序,然后加電調試,最終達到準確無誤的發射和顯示。在這過程中需要選擇適當的元件,合理的電路圖扎實的焊接技術,基本的故障排除和糾正能力,會使用基本的儀器對硬件進行調試,會熟練的運用匯編語言編寫程序,會用相關的軟件對自己的程序進行翻譯,并燒進芯片中,要與對方接收機統一通信協議,要耐心的反復檢查、修改和調試,直到達到預期目的。單片機串行通信發射機采用串行工作方式,發射并顯示兩位數字信息,既顯示00-99,使數據能夠在不同地方傳遞。硬件部分主要分兩大塊,由AT89C51和多個按鍵組成的控制模塊,包括時鐘電路、控制信號電路,時鐘采用6MHZ晶振和30pF的電容來組成內部時鐘方式,控制信號用手動開關來控制,P1口來控制,P2、P3口產生信號并通過共陽極數碼管來顯示,軟件采用匯編語言來編寫,發射程序在通信協議一致的情況下完成數據的發射,同時顯示程序對發射的數據加以顯示。畢業設計的目的是了解基本電路設計的流程,豐富自己的知識和理論,鞏固所學的知識,提高自己的動手能力和實驗能力,從而具備一定的設計能力。我做得的畢業設計注重于對單片機串行發射的理論的理解,明白發射機的工作原理,以便以后單片機領域的開發和研制打下基礎,提高自己的設計能力,培養創新能力,豐富自己的知識理論,做到理論和實際結合。本課題的重要意義還在于能在進一步層次了解單片機的工作原理,內部結構和工作狀態。理解單片機的接口技術,中斷技術,存儲方式,時鐘方式和控制方式,這樣才能更好的利用單片機來做有效的設計。我的畢業設計分為兩個部分,硬件部分和軟件部分。硬件部分介紹:單片機串行通信發射機電路的設計,單片機AT89C51的功能和其在電路的作用。介紹了AT89C51的管腳結構和每個管腳的作用及各自的連接方法。AT89C51 與MCS-51 兼容,4K字節可編程閃爍存儲器,壽命:1000次可擦,數據保存10年,全靜態工作:0HZ-24HZ,三級程序存儲器鎖定,128*8 位內部RAM,32 跟可編程I/O 線,兩個16 位定時/計數器,5 個中斷源,5 個可編程串行通道,低功耗的閑置和掉電模式,片內震蕩和時鐘電路,P0和P1 可作為串行輸入口,P3口因為其管腳有特殊功能,可連接其他電路。例如P3.0RXD 作為串行輸出口,其中時鐘電路采用內時鐘工作方式,控制信號采用手動控制。數據的傳輸方式分為單工、半雙工、全雙工和多工工作方式;串行通信有兩種形式,異步和同步通信。介紹了串行串行口控制寄存器,電源管理寄存器PCON,中斷允許寄存器IE,還介紹了數碼顯示管的工作方式、組成,共陽極和共陰極數碼顯示管的電路組成,有動態和靜態顯示兩種方式,說明了不同顯示方法與單片機的連接。再后來還介紹了硬件的焊接過程,及在焊接時遇到的問題和應該注意的方面。硬件焊接好后的檢查電路、不裝芯片上電檢查及上電裝芯片檢查。軟件部分:在了解電路設計原理后,根據原理和目的畫出電路流程圖,列出數碼顯示的斷碼表,計算波特率,設置串行口,在與接受機設置相同的通信協議的基礎上編寫顯示和發射程序。編寫完程序還要進行編譯,這就必須會使用編譯軟件。介紹了編譯軟件的使用和使用過程中遇到的問題,及在編譯后燒入芯片使用的軟件PLDA,后來的加電調試,及遇到的問題,在沒問題后與接受機連接,發射數據,直到對方準確接收到。在軟件調試過程中將詳細介紹調試遇到的問題,例如:通信協議是否相同,數碼管是否與芯片連接對應,計數器是否開始計數等。
上傳時間: 2013-10-19
上傳用戶:uuuuuuu
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
以典型的9S08 系列為例,當你選擇了一個MCU 型號后,在圖1-4 右側會顯示出所有針對該型號芯片可用的項目調試場景。其中:Full Chip Simulator是芯片全功能模擬仿真,即無需任何目標系統的硬件資源,直接在你的PC 機上模擬運行單片機的程序,在模擬運行過程中可以觀察調試程序的各項控制和運行流程,分析代碼運行的時間,觀察各種變量,等等。CW 提供了功能強大的模擬激勵功能,可以在模擬運行時模擬一些外部事件的輸入,配合程序調試;P&E Multilink/Cyclone Pro是基于P&E 公司的硬件調試工具實現實時在線硬件調試。實際就是我們經常說的BDM 調試。BDM 調試是基于芯片本身內含的在線調試功能,可實現程序下載,單步/全速運行,可以設若干個斷點,可以觀察和修改任意寄存器或RAM 內存空間。BDM 幾乎是開發飛思卡爾8 位(9S08 和RS08 系列)、16 位(9S12 系列)和32 位(Coldfire V1 系列)單片機的標準調試模式,運用最為廣泛;SofTec HCS08是另外一家SofTec 公司提供的硬件調試工具,國內使用較少;HCS08 Serial Monitor是基于芯片串口的監控調試開發模式。由于開發效率較低,現在幾乎無人使用。
上傳時間: 2013-10-10
上傳用戶:alex wang
P89LPC913 是一款單片封裝的微控制器適合于許多要求高集成度低成本的場合可以滿足多方面的性能要求P89LPC913 采用了高性能的處理器結構指令執行時間只需2 到4 個時鐘周期6 倍于標準80C51 器件P89LPC913 集成了許多系統級的功能這樣可大大減少元件的數目和電路板面積并降低系統的成本
上傳時間: 2013-11-19
上傳用戶:zhuimenghuadie
P89LPC912 是一款單片封裝的微控制器適合于許多要求高集成度低成本的場合可以滿足多方面的性能要求P89LPC912 采用了高性能的處理器結構指令執行時間只需2 到4 個時鐘周期6 倍于標準80C51 器件P89LPC912 集成了許多系統級的功能這樣可大大減少元件的數目和電路板面積并降低系統的成本
上傳時間: 2013-11-10
上傳用戶:yuanxiaoqiang