單片機開發資料 單片機是一種集成在電路芯片,是采用超大規模集成電路技術把具有數據處理能力的中央處理器CPU隨機存儲器RAM、只讀存儲器ROM、多種I/O口和中斷系統、定時器/計時器等功能(可能還包括顯示驅動電路、脈寬調制電路、模擬多路轉換器、A/D轉換器等電路)集成到一塊硅片上構成的一個小而完善的計算機系統。 單片機也被稱為微控制器(Microcontroller),是因為它最早被用在工業控制領域。單片機由芯片內僅有CPU的專用處理器發展而來。最早的設計理念是通過將大量外圍設備和CPU集成在一個芯片中,使計算機系統更小,更容易集成進復雜的而對體積要求嚴格的控制設備當中。INTEL的Z80是最早按照這種思想設計出的處理器,從此以后,單片機和專用處理器的發展便分道揚鑣。 早期的單片機都是8位或4位的。其中最成功的是INTEL的8031,因為簡單可靠而性能不錯獲得了很大的好評。此后在8031上發展出了MCS51系列單片機系統。基于這一系統的單片機系統直到現在還在廣泛使用。隨著工業控制領域要求的提高,開始出現了16位單片機,但因為性價比不理想并未得到很廣泛的應用。90年代后隨著消費電子產品大發展,單片機技術得到了巨大的提高。隨著INTEL i960系列特別是后來的ARM系列的廣泛應用,32位單片機迅速取代16位單片機的高端地位,并且進入主流市場。而傳統的8位單片機的性能也得到了飛速提高,處理能力比起80年代提高了數百倍。目前,高端的32位單片機主頻已經超過300MHz,性能直追90年代中期的專用處理器,而普通的型號出廠價格跌落至1美元,最高端的型號也只有10美元。當代單片機系統已經不再只在裸機環境下開發和使用,大量專用的嵌入式操作系統被廣泛應用在全系列的單片機上。而在作為掌上電腦和手機核心處理的高端單片機甚至可以直接使用專用的Windows和Linux操作系統。 單片機比專用處理器更適合應用于嵌入式系統,因此它得到了最多的應用。事實上單片機是世界上數量最多的計算機。現代人類生活中所用的幾乎每件電子和機械產品中都會集成有單片機。手機、電話、計算器、家用電器、電子玩具、掌上電腦以及鼠標等電腦配件中都配有1-2部單片機。而個人電腦中也會有為數不少的單片機在工作。汽車上一般配備40多部單片機,復雜的工業控制系統上甚至可能有數百臺單片機在同時工作!單片機的數量不僅遠超過PC機和其他計算的綜合,甚至比人類的數量還要多。
上傳時間: 2013-11-16
上傳用戶:Aeray
Keil 軟件實例教程 1. 單片機開發中除必要的硬件外,同樣離不開軟件,我們寫的匯編語言源程序要變為CPU可以執行的機器碼有兩種方法,一種是手工匯編,另一種是機器匯編,目前已極少使用手工匯編的方法了。機器匯編是通過匯編軟件將源程序變為機器碼,用于MCS-51 單片機的匯編軟件有早期的A51,隨著單片機開發技術的不斷發展,從普遍使用匯編語言到逐漸使用高級語言開發,單片機的開發軟件也在不斷發展,Keil 軟件是目前最流行開發MCS-51 系列單片機的軟件,這從近年來各仿真機廠商紛紛宣布全面支持Keil 即可看出。Keil 提供了包括C編譯器、宏匯編、連接器、庫管理和一個功能強大的仿真調試器等在內的完整開發方案,通過一個集成開發環境(uVision)將這些部份組合在一起。運行Keil 軟件需要Pentium 或以上的CPU,16MB或更多RAM、20M 以上空閑的硬盤空間、WIN98、NT、WIN2000、WINXP等操作系統。掌握這一軟件的使用對于使用51 系列單片機的愛好者來說是十分必要的,如果你使用C 語言編程,那么Keil 幾乎就是你的不二之選(目前在國內你只能買到該軟件、而你買的仿真機也很可能只支持該軟件),即使不使用C 語言而僅用匯編語言編程,其方便易用的集成環境、強大的軟件仿真調試工具也會令你事半功倍。我們將通過一些實例來學習Keil 軟件的使用,在這一部份我們將學習如何輸入源程序,建立工程、對工程進行詳細的設置,以及如何將源程序變為目標代碼。圖1 所示電路圖使用89C51 單片機作為主芯片,這種單片機性屬于MCS-51 系列,其內部有4K 的FLASH ROM,可以反復擦寫,非常適于做實驗。89C51 的P1 引腳上接8 個發光二極管,P3.2~P3.4 引腳上接4 個按鈕開關,我們的第一個任務是讓接在P1 引腳上的發光二極管依次循環點亮。 一、Keil 工程的建立首先啟動Keil 軟件的集成開發環境,這里假設讀者已正確安裝了該軟件,可以從桌面上直接雙擊uVision 的圖標以啟動該軟件。UVison啟動后,程序窗口的左邊有一個工程管理窗口,該窗口有3 個標簽,分別是Files、Regs、和Books,這三個標簽頁分別顯示當前項目的文件結構、CPU 的寄存器及部份特殊功能寄存器的值(調試時才出現)和所選CPU 的附加說明文件,如果是第一次啟動Keil,那么這三個標簽頁全是空的。
上傳時間: 2013-11-25
上傳用戶:hanbeidang
arm指令集(1) ARM跳轉指令可以從當前指令向前或向后的32MB地址空間跳轉。這類跳轉指令有以下4種。 (1)B 跳4專指令 B〔條件) (地址) B指令屬于ARM指令集,是最簡單的分支指令。一旦遇到一個B指令,ARM處理器將立即跳轉到給定的地址,從那里繼續執行。注意:存儲在分支指令中的實際值是相對當前R15的值的一個偏移量,而不是一個絕對地址。它的值由匯編器來計算,是24位有符號數,左移兩位后有符號擴展為32位,表示的有效偏移位為26位(+/- 32 MB)。 (2)BL 帶返回的跳轉指令 BI,〔條件) (地址) BL指令也屬于ARM指令集,是另一個分支指令。就在分支之前,在寄存器R14中裝載上R15的內容,因此可以重新裝載R14到R15中來返回到這個分支之后的那個指令處執行,它是子例程的一個基本但強力的實現。 (3)BLX 帶返回和狀態切換的跳轉指令 BLX <地址> BLX指令有兩種格式,第1種格式的BLX指令記作BLX(1)。BLX(1)從ARM指令集跳轉到指令中指定的目標地址,并將程序狀態切換到Thumb狀態,該指令同時將PC寄存器的內容復制到LR寄存器中。 BLX(1)指令屬于無條件執行的指令。 第2種格式的BLX指令記作BLX(2)。BLX(2)指令從ARM指令集跳轉到指令中指定的目標地址,目標地址的指令可以是ARM指令,也可以是Thumb指令。目標地址放在指令中的寄存器<dest>中,該地址的bit[0]值為0,目標地址處的指令類型由CPSR中的T位決定。該指令同時將PC寄存器的內容復制到LR寄存器中。 (4)BX 帶狀態切換的跳轉指令 BX(條件) (dest) BX指令跳轉到指令中指定的目標地址,目標地址處的指令可以是ARM指令,也可以是Thumb指令。目標地址值為指令的值和0xFl·FFFFFF做“與”操作的結果,目標地址處的指令類型由寄存器決定。
上傳時間: 2014-12-27
上傳用戶:laomv123
S51編程器制作包:自制AT89S51編程器教程AT89S51芯片的日漸流行,對我們單片機初學者來說是一個大好消息。因為做個AT89S51編程器非常容易,而且串行編程模式更便于做成在線編程器,給頻繁燒片,調試帶來了巨大的方便。 電路: 只要焊13根線就可以搞定這個電路。基本原理:RST置高電平,然后向單片機串行發送 編程命令。P1.7(SCK)輸入移位脈沖,P1.6(MISO)串行輸出,P1.5(MOSI)串行輸入(要了解詳細編程原理可以去看AT89S51的數據手冊)。使用并口發出控制信號,74373只是用于信號轉換,因為并口直接輸出高電平的電壓有點沒到位,使用其他芯片也可以,還有人提出直接接電阻。并口引腳1控制P1.7,引腳14控制P1.5,引腳15讀P1.6,引腳16控制RST,引腳17接74373 LE(鎖存允許),18-25這些引腳都可以接地。建議在你的單片機系統板上做個6芯的接口。注意:被燒寫的單片機一定是最小系統(單片機已經接好電源,晶振,可以運行),VCC,GND是給74373提供電源的。 還有一個方案:使用串口+單片機,這個方案已經用了半年了。電路稍微麻煩一點,速度比較快,而且可以燒AT89C51等等。其實許多器件編程原理差不多,由于我沒太多時間研究器件手冊,更沒有MONEY買一堆芯片來測試,所以只實現了幾個最常用單片機編程功能(AT89C51,C52,C55,AT89S51,S52,S53)。如果要燒寫其他單片機,你可以直接編寫底層控制子程序(例如,寫一個單元,讀一個單元,擦除ROM的子程序)。如果有需要,我可以在器件選擇欄提供一個“X-CHIP”的選擇,“X-CHIP”的編程細節將由用戶自己去實現。當你仔細閱讀器件手冊后,會發現實現這些子程序其實好容易,這也是初學者學單片機編程的好課題。如果成功了會極大的提高你學單片機的積極性。 軟件: 這個軟件的通信,控制部分早在半年前就完成了,這回只是換了個界面和加入并口下載線的功能,希望你看到這個軟件不會想吐。使用很簡當,有一點特別,當你用鼠標右鍵點擊按鈕后,可以把相關操作設置為自動模式(只有打開文件,擦除芯片,寫FLASH ROM,讀FLASH ROM,效驗數據 可以設置),點擊‘自動完成’后會依次完成這些操作,并在開始時檢測芯片。當“打開文件”設為自動后,第2次燒寫同一個文件時不必再去打開文件,軟件會自動刷新緩沖。軟件在WIN XP,WIN 2000可以使用(管理員登陸的),在WIN 98 ,WIN ME使用并口模式時會更快些。這個軟件同時支持串口編程器和并口下載線。操作正常結束后會有聲音提示。如果沒有聲卡或聲卡爛了,則聲音會從機箱揚聲器中發出。注意:記得在CMOS設置中把并口設為ECP模式。就這些東西,應該夠詳細吧,還有什么問題或遇到什么困難可以聯系我,軟件出現什么問題一定要通知我修正。祝你一次就搞定。
上傳時間: 2014-01-24
上傳用戶:13162218709
The PCA9541 is a 2-to-1 I2C-bus master selector designed for high reliability dual masterI2C-bus applications where system operation is required, even when one master fails orthe controller card is removed for maintenance. The two masters (for example, primaryand back-up) are located on separate I2C-buses that connect to the same downstreamI2C-bus slave devices. I2C-bus commands are sent by either I2C-bus master and are usedto select one master at a time. Either master at any time can gain control of the slavedevices if the other master is disabled or removed from the system. The failed master isisolated from the system and will not affect communication between the on-line masterand the slave devices on the downstream I2C-bus.
上傳時間: 2013-10-09
上傳用戶:3294322651
基于單片機的LED漢字顯示屏設計與制作:在大型商場、車站、碼頭、地鐵站以及各類辦事窗口等越來越多的場所需要用LED點陣顯示圖形和漢字。LED行業已成為一個快速發展的新興產業,市場空間巨大,前景廣闊。隨著信息產業的高速發展,LED顯示作為信息傳播的一種重要手段,已廣泛應用于室內外需要進行服務內容和服務宗旨宣傳的公眾場所,例如戶內外公共場所廣告宣傳、機場車站旅客引導信息、公交車輛報站系統、證券與銀行信息顯示、餐館報價信息豆示、高速公路可變情報板、體育場館比賽轉播、樓宇燈飾、交通信號燈、景觀照明等。顯然,LED顯示已成為城市亮化、現代化和信息化社會的一個重要標志。 本文基于單片機(AT89C51)講述了16×16 LED漢字點陣顯示的基本原理、硬件組成與設計、程序編譯與下載等基本環節和相關技術。2 硬件電路組成及工作原理本產品擬采用以AT89C51單片機為核心芯片的電路來實現,主要由AT89C51芯片、時鐘電路、復位電路、列掃描驅動電路(74HC154)、16×16 LED點陣5部分組成,如圖1所示。 其中,AT89C51是一種帶4 kB閃爍可編程可擦除只讀存儲器(Falsh Programmable and Erasable Read OnlyMemory,FPEROM)的低電壓、高性能CMOS型8位微處理器,俗稱單片機。該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,能夠進行1 000次寫/擦循環,數據保留時間為10年。他是一種高效微控制器,為很多嵌入式控制系統提供了一種靈活性高且價廉的方案。因此,在智能化電子設計與制作過程中經常用到AT89C51芯片。時鐘電路由AT89C51的18,19腳的時鐘端(XTALl及XTAL2)以及12 MHz晶振X1、電容C2,C3組成,采用片內振蕩方式。復位電路采用簡易的上電復位電路,主要由電阻R1,R2,電容C1,開關K1組成,分別接至AT89C51的RST復位輸入端。LED點陣顯示屏采用16×16共256個象素的點陣,通過萬用表檢測發光二極管的方法測試判斷出該點陣的引腳分布,如圖2所示。 我們把行列總線接在單片機的IO口,然后把上面分析到的掃描代碼送人總線,就可以得到顯示的漢字了。但是若將LED點陣的行列端口全部直接接入89S51單片機,則需要使用32條IO口,這樣會造成IO資源的耗盡,系統也再無擴充的余地。因此,我們在實際應用中只是將LED點陣的16條行線直接接在P0口和P2口,至于列選掃描信號則是由4-16線譯碼器74HC154來選擇控制,這樣一來列選控制只使用了單片機的4個IO口,節約了很多IO資源,為單片機系統擴充使用功能提供了條件。考慮到P0口必需設置上拉電阻,我們采用4.7 kΩ排電阻作為上拉電阻。
上傳時間: 2013-10-16
上傳用戶:ywcftc277
深入淺出AVR單片機思路清晰,以AVR單片機為載體,介紹了初學單片機所必須掌握的專業知識。書中語言嚴謹但不乏幽默風趣,配以大量的照片、圖示和實例程序,使讀者在愉悅中完成專業知識的學習,并培養了學習嵌入式系統的興趣。本書在講述AVR單片機的同時,更注重于對讀者學習和設計能力的啟發、培養,幫助他們養成“從實踐中來,到實踐中去”的科學方法論,為進一步的學習創造了基礎。 本書講述淺顯、內容豐富、編排合理、實例詳盡。首先介紹了如何閱讀器件資料的方法,然后熟悉ICCAVR集成開發環境并搭建實驗開發裝置,接著從實際應用出發,啟發式地介紹AVR單片機的常用資源和對應軟件方法,最后較為全面地補充了從事嵌入式系統開發要擴展的軟件知識。 第1篇 Are you ready? 第1章 學會閱讀Datasheet 1.1 如何閱讀PDF文件,如何獲得Datasheet文件 1.2 Datasheet告訴我們些什么 1.3 如何看懂AVR的Datasheet 1.4 如何得到幫助 1.5 匯編語言執行時間的計算方法 1.6 ATmega48/88/168常用熔絲的作用及其配置方法 1.7 對誤燒寫為外部時鐘模式的解鎖方法 實例1 閱讀74HC595 Datasheet 第2章 深入開發環境 2.1 認識ICC編譯環境 2.2 事半功倍的代碼生成器 2.3 ICC之不得不說的故事 2.4 AVR最小系統和下載線DIY 實例2 AVR最小系統DIY第2篇 Let\'s go! 第3章 從跑馬燈開始 3.1 輸入/輸出界面 3.1.1 單片機的輸入/輸出設備——引腳 3.1.2 “芯”里有數——數碼管顯示 3.1.3 單片機的輸入/輸出設備——從按鍵到鍵盤 3.2 用ATmega48/88/168單片機端口驅動數碼管 3.3 操縱ATmega48/88/168單片機端口 3.4 端口內建上拉電阻的使用 3.5 端口位操作 實例3 跑馬燈 實例4 數碼管的顯示(上) 實例5 數碼管的顯示(下) 實例6 矩陣鍵盤 第4章 對不起接個電話 4.1 十萬火急——中斷 4.2 中斷的特性 4.3 使用中斷時的注意事項 4.4 ATmega48/88/168單片機有哪些中斷源 4.5 如何編寫一個中斷的服務程序代碼 4.6 ATmega48/88/168單片機中斷的開關控制 4.7 ATmega48/88/168中斷標志位 4.8 ATmega48/88/168中斷優先級 4.9 ATmega48/88/168單片機中斷向量 4.10 中斷與查詢之爭 4.11 用查詢方式響應外設中斷 4.12 中斷誤觸發 4.13 前后臺與原子操作 實例7 中斷喚醒的鍵盤掃描 實例8 旋轉編碼器 第5章 一秒究竟有多長 5.1 單片機與時間 5.2 軟件延時 5.3 不需要加載的“自由計時器” 5.4 通過重加載控制定時中斷周期 5.5 使用代碼生成器生成定時器1初始化代碼 5.6 定時器的其他工作模式 5.7 PWM波及其應用簡介 5.8 人類能看懂的電子時鐘——實時時鐘簡介 實例9 閃爍的燈 實例10 漸明漸暗的燈 實例11 復雜閃爍控制 第6章 電量低 6.1 從猜數游戲到A/D轉換器 6.2 ATmega48/88/168的A/D轉換器 6.3 ATmega48/88/168單片機中與A/D相關的引腳 6.4 ATmega48/88/168單片機中與A/D相關的寄存器 6.5 使用A/D時需要注意些什么 6.6 怎樣知道A/D轉換完成 6.7 讀取A/D的轉換結果 6.8 使用代碼生成器生成ADC初始化代碼 6.9 書寫具有工程結構的初始化代碼 6.10 電量計原理概述 …… 第7章 正在過收費站 第8章 包裝的學問 第9章 傻孩子求職記 第10章 MISSION UPDATE第3篇 Code Name C 第11章 朝花夕拾 第12章 指針都是紙老虎 第13章 來自身邊的啟示 第14章 初識嵌入式系統
上傳時間: 2014-05-05
上傳用戶:佳期如夢
Proteus Professional 7.1 sp2 中文破解版 下載
標簽: Professional Proteus 7.1 sp2
上傳時間: 2013-11-08
上傳用戶:hwl453472107
介紹用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板,頂層是一體化輸入鍵盤,底層是元件層。成型后的產品體積小巧,能很方便的嵌入防盜鐵門、保險箱柜。
上傳時間: 2013-10-31
上傳用戶:uuuuuuu
這里介紹的一款多功能編程器,功能強大,支持大多數常用的EPROM, EEPROM, FLASH, I2C,PIC, MCS-51,AVR, 93Cxx等系列芯片(超過400種)。硬件成本較低,性價比很高。既適合于電子和電腦愛好者使用,也適合家電維修人員維修家電和單片機開發人員使用。圖1為多功能編程器的主機,中間是32腳ZIF(零插力)鎖緊插座, 用于27系列、28系列、29系列、39/49系列等BIOS芯片。左邊是25芯并口插座,通過并口電纜連接計算機并口。左下方是電源插座。32腳ZIF插座下方是12位的DIP開關,對EPROM芯片進行讀寫等操作前,需將此開關撥至相應位置。具體開關位置可以參照軟件提示。鎖緊插座右側依次排列3個DIP8插座和一個DIP18插座,分別用于25系列、24系列、93系列存儲器和PIC系列單片機等;綠色電源指示燈(Power)用于指示編程器電源狀態;紅色指示燈(Vpp)用于指示芯片Vpp電源狀態;黃色指示燈(Vcc)用于指示芯片編程狀態。 一、 主要功能: ★ 可用此編程器升級、維修電腦主板,顯卡等BIOS芯片。可支持3.3V低電壓BIOS芯片。 ★ 用來寫網卡啟動芯片:用于組建無盤站寫網卡啟動芯片或制作硬盤還原卡等。 ★ 可用于復印機、傳真機、打印機主板維護和維修。★ 可用于讀寫用來寫汽車儀表、安全氣囊、里程表數據。★ 可用于維修顯示器、彩電、VCD、DVD 上面的存儲芯片。可修改開機畫面。 ★ 用來開發單片機: 通過添加不同適配器,可以支持 MCS-51 系列, AVR 系列和 PIC 系列的MCU。 ★ 用來寫大容量存儲芯片:大容量的存儲芯片,一般在衛星接收機上使用較多,可以用編程器直接來升級或改寫。 二、電路簡介圖2是這臺編程器的完整電路圖,可以看到編程器電路由完全分離的兩部分組成:串行部分和并行EPROM部分電路。限于篇幅,原理部分不再詳述。對原理感興趣的讀者可以參考本文配套文件包中的“電路原理參考.PDF”文件。圖2三、電路板設計與制作 圖3是編程器參考元件布局圖,雙面PCB尺寸為160X100毫米,厚度1.6毫米。具體的PCB設計可以參考配套文件中的“PCB參考設計.PDF”。這個文件中包括電路板的頂層和低層布線和頂層絲印層。如果業余自制電路板,建議使用雙面感光電路板制作,以確保精度。
標簽: 多功能編程器
上傳時間: 2013-10-14
上傳用戶:問題問題