單片機課程設計指導教材 主要內容:典型單片機( MCS-51, AT89S51, PIC, Motorola, AVR )的性能,MCS-51內部結構,特點,工作方式,時序和最小應用系統.為學生后續學習單片機應用系統設計,利用單片機解決工程實際問題打下堅實的基礎.重點在于基本概念,組成原理,特點及MCS-51的最小應用系統,難點在于時序,ISP下載技術.預備知識:元器件實物圖單片機芯片AT89C51AT89S51AT89S52AT89C2051通信芯片MAX232CPE 時鐘芯片 DS1302EEPROM24C02溫度傳感器18B20AD變換器0832穩壓片78L05晶 振電阻和排電阻瓷片小電容零壓力插座萬用焊接板儀器盒步進電機液晶字符顯示屏液晶圖形點陣顯示屏撥動開關紅外遙控用 發射接受一體管繼電器各類接插件遙控組件超聲波發射接受頭雙路遙控組件長距離遙控器3000-4000M8×8二極管點陣 八段數碼管超聲波發射和接收一體化機能漢字顯示的顯示屏和實時時鐘板......
上傳時間: 2013-11-10
上傳用戶:hebanlian
各系列I/O型單片機使用手冊 第一部份 單片機概論 1第一章 硬件結構 3簡介3特性4技術特性4內核特性4周邊特性5選擇表6系統框線圖7引腳分配8引腳說明10極限參數15直流電氣特性16交流電氣特性18EEPROM 交流電氣特性18系統結構圖19時序和流水線結構(Pipelining) 19程序計數器21堆棧23算術及邏輯單元 – ALU24MTP 程序存儲器25結構25特殊向量26查表27查表程序范例28在線燒寫30數據存儲器31結構31通用數據存儲器32專用數據存儲器32
上傳時間: 2013-10-15
上傳用戶:yimoney
基于HT49的MCU控制HT93LC46的讀寫 HT93LC46EEPROM 是Holtek 制造的1K 位系列的EEPROM(電子可擦除只讀存儲器),一般它用于微控制器的固定數據的存儲。在本文中,我們將以Holtek 公司8 位微控制器HT49 系列為例,介紹該芯片常用的操作功能代碼。用戶只需把代碼加到程序中,并且在使用HT93LC46 之前將引腳CS/SK/DI/DO 連接即可。
上傳時間: 2013-11-02
上傳用戶:笨小孩
基于HT46R46E/HT46C46E經濟A/D型八位單片機 HT46R46E/HT46C46E 是8 位高性能精簡指令集單片機,專門為需要A/D 轉換的產品而設計,例如傳感器信號輸入。掩膜版本HT46C46E 與OTP 版本HT46R46E 引腳和功能完全相同。在HT46R46E/HT46C46E 封裝片里包含兩顆芯片:一顆是HT46R46E/HT46C46E 單片機,另一顆是作為通用數據存儲器的128×8 位的EEPROM。這兩顆芯片邦定在一起封裝為HT46R46E/HT46C46E。
上傳時間: 2013-10-31
上傳用戶:fdfadfs
單片機常用芯片和器件手冊 地址鎖存器由于MCS-51單片機的P0口是分時復用的地址/數據總線,因此在進行程序存儲器擴展時,必須利用地址鎖存器將信號從地址/數據總線中分離開來。 常用的地址鎖存器是: 74LS373828274LS273 存儲器擴展MCS-51的程序存儲器尋址空間為64k字節(0000H--FFFFH),其中8051、8751片內涵有4K字節的ROM或EPROM,8031片內部不帶ROM。當片內ROM不夠用或采用8031芯片時,需擴展程序存儲器。MCS-51單片機訪問外部程序存儲器所使用的控制信號有: ALE:低8位地址鎖存控制; PSEN:外部程序存儲器“讀取”控制。 常用的程序存儲器有: EPROM: 2716 2732 2764 27128 27256 EEPROM:2817 2864 MCS-51的數據存儲器尋址空間為64k字節(0000H--FFFFH)。而8031單片機內部只有128個字節的RAM存儲器。數據存儲器只使用WR、RD控制線。 常用的數據存儲器有: 靜態RAM:6116 6264 動態RAM:2186
上傳時間: 2013-11-15
上傳用戶:xiaowei314
本實驗是基于EasyFPGA030的I2C總線接口模塊設計,用EasyFPGA030開發套件通過I2C協議實現對二線制I2C串行EEPROM的讀寫操作,先把數據寫入EEPROM,然后再讀取出來顯示在數碼管上。
上傳時間: 2013-10-14
上傳用戶:tecman
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
The CAT25128 is a 128−Kb Serial CMOS EEPROM device internally organized as 16Kx8 bits. This features a 64−byte page write buffer and supports the Serial Peripheral Interface (SPI) protocol. The device is enabled through a Chip Select (CS) input. In addition, the required bus signals are clock input (SCK), data input (SI) and data output (SO) lines. The HOLD input may be used to pause any serial communication with the CAT25128 device. The device featuressoftware and hardware write protection, including partial as well as full array protection.
上傳時間: 2013-11-15
上傳用戶:fklinran
AVR 單片機與GCC編程 目錄第一章 AVR 單片機開發概述1.1 一個簡簡單的例子1.2 用MAKEFILE 管理項目1.3 開發環境的配置第二章 存儲器操作2.1 AVR 單片機存儲器組織結構2.2 I/O 寄存器操作2.3 SRAM 內變量的使用2.4 在程序中訪問FLASH 程序存儲器2.5 EEPROM 數據存儲器操作2.6 avr-gcc 段結構與再定位第三章 功能模塊編程示例3.1 中斷服務程序3.2 定時器/計數器應用3.3 看門狗應用3.4 UART 應用3.5 PWM 功能編程3.6 模擬比較器3.7 A/D 轉換模塊編程第四章 使用C 語言標準I/O 流調試程序4.1 avr-libc 標準I/O 流描述4.2 利用標準I/0 流調試程序第五章 AT89S52 下載編程器的制作5.1 LuckyProg S52 概述5.2 AT89S52 ISP 功能簡介5.3 程序設計第六章 硬件TWI 端口編程6.1 TWI 模塊概述6.2 主控模式操作實時時鐘DS13076.3 兩個Mega8 間的TWI 通信第七章 BootLoader 功能應用7.1 BootLoader 功能介紹7.2 avr-libc 對BootLoader 的支持7.3 BootLoader 應用實例 第八章 匯編語言支持8.1 C 代碼中內聯匯編程序8.2 獨立的匯編語言支持8.3 C 與匯編混合編程第九章 C++語言支持結束語附錄 1 avr-gcc 選項附錄 2 ihex 格式描述
上傳時間: 2013-10-26
上傳用戶:wangyi39
通過介紹串行EEPR0M芯片在MCS.51單片機系統中的應用,為單片機應用數據存儲器的擴展,提供一個新的理念,從而有效地提高了單片機cPu的引腳資源利用率,為單片機應用系統設計、開發、數據管理提供了又一種結構形式.
上傳時間: 2013-10-21
上傳用戶:181992417