《AVR單片機原理及應用》詳細介紹了ATMEL公司開發的ATmega8系列高速嵌入式單片機的硬件結構、工作原理、指令系統、接口電路、C編程實例,以及一些特殊功能的應用和設計,對讀者掌握和使用其他ATmega8系列的單片機具有極高的參考價值 AVR單片機原理及應用》具有較強的系統性和實用性,可作為有關工程技術人員和硬件工程師的應用手冊,亦可作為高等院校自動化、計算機、儀器儀表、電子等專業的教學參考書。 目錄 第1章 緒論 1.1 AVR單片機的主要特性 1.2 主流單片機系列產品比較 1.2.1 ATMEL公司的單片機 1.2.2 Mkcochip公司的單片機 1.2.3 Cygnal公司的單片機 第2章 AVR系統結構概況 2.1 AVR單片機ATmega8的總體結構 2.1.1 ATmega8特點 2.1.2 結構框圖 2.1.3 ATmega8單片機封裝與引腳 2.2 中央處理器 2.2.1 算術邏輯單元 2.2.2 指令執行時序 2.2.3 復位和中斷處理 2.3 ATmega8存儲器 2.3.1 Flash程序存儲器 2.3.2 SRAM 2.3.3 E2pROM 2.3.4 I/O寄存器 2.3.5 ATmega8的鎖定位、熔絲位、標識位和校正位 2.4 系統時鐘及其分配 2.4.1 時鐘源 2.4.2 外部晶振 2.4.3 外部低頻石英晶振 2.4.4 外部:RC振蕩器 2.4.5 可校準內部.RC振蕩器 2.4.6 外部時鐘源 2.4.7 異步定時器/計數器振蕩器 2.5 系統電源管理和休眠模式 2.5.1 MCU控制寄存器 2.5.2 空閑模式 2.5.3 ADC降噪模式 2.5.4 掉電模式 2.5.5 省電模式 2.5.6 等待模式 2.5.7 最小功耗 2.6 系統復位 2.6.1 復位源 2.6.2 MCU控制狀態寄存器——MCUCSR 2.6.3 內部參考電壓源 2.7 I/O端口 2.7.1 通用數字I/O端口 2.7.2 數字輸入使能和休眠模式 2.7.3 端口的第二功能 第3章 ATmega8指令系統 3.1 ATmega8匯編指令格式 3.1.1 匯編語言源文件 3.1.2 指令系統中使用的符號 3.1.3 ATmega8指令 3.1.4 匯編器偽指令 3.1.5 表達式 3.1.6 文件“M8def.inc” 3.2 尋址方式和尋址空間 3.3 算術和邏輯指令 3.3.1 加法指令 3.3.2 減法指令 3.3.3 取反碼指令 3.3.4 取補碼指令 3.3.5 比較指令 3.3.6 邏輯與指令 3.3.7 邏輯或指令 3.3.8 邏輯異或 3.3.9 乘法指令 3.4 轉移指令 3.4.1 無條件轉移指令 3.4.2 條件轉移指令 3.4.3 子程序調用和返回指令 3.5 數據傳送指令 3.5.1 直接尋址數據傳送指令 3.5.2 間接尋址數據傳送指令 3.5.3 從程序存儲器中取數裝入寄存器指令 3.5.4 寫程序存儲器指令 3.5.5 I/0端口數據傳送 3.5.6 堆棧操作指令 3.6 位操作和位測試指令 3.6.1 帶進位邏輯操作指令 3.6.2 位變量傳送指令 3.6.3 位變量修改指令 3.7 MCU控制指令 3.8 指令的應用 第4章 中斷系統 4.1 外部向量 4.2 外部中斷 4.3 中斷寄存器 第5章 自編程功能 5.1 引導加載技術 5.2 相關I/O寄存器 5.3 Flash程序存儲器的自編程 5.4 Flash自編程應用 第6章 定時器/計數器 6.1 定時器/計數器預定比例分頻器 6.2 8位定時器/計數器O(T/CO) 6.3 16位定時器/計數器1(T/C1) 6.3.1 T/C1的結構 6.3.2 T/C1的操作模式 6.3.3 T/121的計數時序 6.3.4 T/C1的寄存器 6.4 8位定時器/計數器2(T/C2) 6.4.1 T/C2的組成結構 6.4.2 T/C2的操作模式 6.4.3 T/C2的計數時序 6.4.4 T/02的寄存器 6.4.5 T/C2的異步操作 6.5 看門狗定時器 第7章 AVR單片機通信接口 7.1 AVR單片機串行接口 7.1.1 同步串行接口 7.1.2 通用串行接口 7.2 兩線串行TWT總線接口 7.2.1 TWT模塊概述 7.2.2 TWT寄存器描述 7.2.3 TWT總線的使用 7.2.4 多主機系統和仲裁 第8章 AVR單片機A/D轉換及模擬比較器 8.1 A/D轉換 8.1.1 A/D轉換概述 8.1.2 ADC噪聲抑制器 8.1.3 ADC有關的寄存器 8.2 AvR單片機模擬比較器 第9章 系統擴展技術 9.1 串行接口8位LED顯示驅動器MAX7219 9.1.1 概述 9.1.2 引腳功能及內部結構 9.1.3 操作說明 9.1.4 應用 9.1.5 軟件設計 9.2 AT24C系列兩線串行總線E2PPOM 9.2.1 概述 9.2.2 引腳功能及內部結構 9.2.3 操作說明 9.2.4 軟件設計 9.3 AT93C46——三線串行總線E2PPOM接口芯片 9.3.1 概述 9.3.2 內部結構及引腳功能 9.3.3 操作說明 9.3.4 軟件設計 9.4 串行12位的ADCTL543 9.4.1 概述 9.4.2 內部結構及引腳功能 9.4.3 操作說明 9.4.4 AD620放大器介紹 9.4.5 軟件設計 9.5 串行輸出16位ADCMAXl95 9.5.1 概述 9.5.2 引腳功能及內部結構 9.5.3 操作說明 9.5.4 應用 9.5.5 軟件設計 9.6 串行輸入DACTLC5615 9.6.1 概述 9.6.2 引腳功能及內部結構 9.6.3 操作說明 9.6.4 軟件設計 9.7 串行12位的DACTLC5618 9.7.1 概述 9.7.2 內部結構及引腳功能 9.7.3 操作說明 9.7.4 軟件設計 9.8 串行非易失性靜態RAMX24C44 9.8.1 概述 9.8.2 引腳功能及內部結構 9.8.3 操作說明 9.8.4 軟件設計 9.9 數據閃速存儲器AT45DB041B 9.9.1 概述 9.9.2 引腳功能及內部結構 9.9.3 操作說明 9.9.4 軟件設計 9.10 GM8164串行I/0擴展芯片 9.10.1 概述 9.10.2 引腳功能說明 9.10.3 操作說明 9.10.4 軟件設計 9.11 接口綜合實例 附錄1 ICCACR簡介 附錄2 ATmega8指令表 參考文獻
上傳時間: 2013-10-29
上傳用戶:lanwei
電子發燒友網訊:應廣大電子發燒友網讀者要求,本電子書《C51單片機及C語言知識點必備秘籍》為《單片機關鍵知識點全攻略》單片機系列教程及《單片機C語言知識點全攻略》系列單片機C語言學習教程的全整合篇,供所需學習或收藏的工程師及單片機學生、單片機愛好者下載。 點擊下載《C51單片機及C語言知識點必備秘籍》電子書 單片機對于初學者來說確實很難理解,不少學過單片機的同學或電子愛好者,甚至在畢業時仍舊是一無所獲。基于此,電子發燒友網將整合《單片機關鍵知識點全攻略》,共分為四個系列,以饗讀者,敬請期待!此系列對于業內電子工程師也有收藏和參考價值。 單片機關鍵知識點一覽: 系列一 1:單片機簡敘 2:單片機引腳介紹 3:單片機存儲器結構 4:第一個單片機小程序 5:單片機延時程序分析 6:單片機并行口結構 7:單片機的特殊功能寄存器 系列二 8:單片機尋址方式與指令系統 9:單片機數據傳遞類指令 10:單片機數據傳送類指令 11:單片機算術運算指令 12:單片機邏輯運算類指令 13:單片機邏輯與或異或指令祥解 14:單片機條件轉移指令 系列三 15:單片機位操作指令 16:單片機定時器與計數器 17:單片機定時器/計數器的方式 18:單片機的中斷系統 19:單片機定時器、中斷試驗 20:單片機定時/計數器實驗 21:單片機串行口介紹 系列四 22:單片機串行口通信程序設計 23:LED數碼管靜態顯示接口與編 24:動態掃描顯示接口電路及程序 25:單片機鍵盤接口程序設計 26:單片機矩陣式鍵盤接口技術及 27:關于單片機的一些基本概念 28:實際案例實踐——單片機音樂程序設計 繼《單片機學習知識點全攻略》得到廣大讀者好評,根據有網友提出美中不足的是所用單片機編程語言為匯編,基于此,電子發燒友網再接再厲再次為讀者誠摯奉上非常詳盡的《單片機C語言知識點全攻略》系列單片機C語言學習教程,本教程共分為四部分,主要知識點如下所示。 第一部分知識點: 第一課 建立你的第一個KeilC51項目 第二課 C51HEX文件的生成和單片機 第三課 C51數據類型 第四課 C51常量 第二部分知識點: 第五課 C51變量 第六課 C51運算符和表達式 第七課 運算符和表達式(關系運算符) 第八課 運算符和表達式(位運算符) 第九課 C51運算符和表達式(指針和地址運算符) 第三部分知識點: 第十課 C51表達式語句及仿真器 第十一課 C51復合語句和條件語句 第十二課 C51開關分支語句 第十三課 C51循環語句 第十四課 C51函數 第四部分知識點: 第十五課 C51數組的使用 第十六課 C51指針的使用 第十七課 C51結構、聯合和枚舉的使用 附錄(運算符優先級和結合性等)
上傳時間: 2013-11-03
上傳用戶:Amygdala
□基于來電顯示技術,識別主人,利用手機或固定電話實現免接通,免費用的絕密遙控關及撤防。□單芯片多功能可編程設計,MCU內核,有著十分靈活廣泛的應用(可定制特殊功能)。自動撥號的電話報警器方面:室內手動延時布防,手機或固定電話免接通遙控撤防;撥號報警+現場報警(可選)。電話遙控開關方面:用于開啟電控門鎖,保險柜電控鎖,車庫電動門,電器開關...等。更多應用......?!鯁涡酒疃嗫纱嫒?組電話號碼(6個主人)不重碼,最后一組號碼可刷新,掉電不丟失,可保100年?!醴侵魅藫苋霟o效,主人需20秒內連續撥通兩次遙控才有效(撤防或開關),操縱成功后會自動回撥遙控者電話一次,以表示遙控成功。絕不影響電話的正常使用?!跹h撥打1-6組主人電話號碼報警15次,接聽報警時警聲提示,可同時選擇現場報警。無注冊用戶時,觸發報警將自動轉入連續現場報警1分鐘。□接警處理功能,接聽報警期間,手機或固定電話按"#"鍵退出報警。未接警的號碼繼續打報警?!鮾H設計兩按鈕實現用戶注冊、信息刪除、室那手動布防撤防、輸出開關控制、報警模式設定,報警期間無法手動撤防。□兩種反復可編程報警模式。掉電不丟失。模式1:報警完畢自動撤防;模式2:報警完畢保持布防?!鮾煞N自適應電路模式:DTMF解碼器接入模式和DTMF解碼器不接入模式。自動實現不同的電路設計實現不同的輸出控制功能。同一電路設計,通過增減硬部件即可實現不同的輸出功能,QL310上電時自動識別DTMF解碼器是否存在。□兩路警聲輸出:其中一路輸出用于操作音提示及報警時加載到電話線路中供監聽用。另一路為現場報警使用(可根據需要選用,這路只有在報警時才有輸出,設計時可通過加大功率提高警聲)?!鯛顟B記憶功能:布撤防狀態都有記憶功能(掉電不丟失)。可避免布撤防期間的偶然的停電再上電是狀態發生變化。比如,當前為布防狀態,掉電再上電后還是保持布防狀態?!跏謩硬汲贩捞崾疽?,布撤防LED指示燈。□上電開機報警模式提示音,模式1發一聲提示音;模式2發兩聲提示音?!跤|發端的信號智能檢測,因此可適應任何觸發信號:或高電平,或低電平,或高/低脈沖信號;無源的開關信號,如繼電器,干簧管或門磁開關等(由于觸發端內部有上拉電阻)。標準的TTL電平,通過外接簡單的限幅電路可實現更高電平或脈沖的輸入(紅外探頭,防火探頭等)。特強抗干擾處理,長距離布線可抗強電磁干擾?!?0腳PDIP封裝及20腳SOP封裝。□5V低功耗。使用3.58M晶振?!豕I級設計,工作溫度:-40℃~+85℃
上傳時間: 2013-11-13
上傳用戶:lacsx
摘要:就單片機在現場應用中的選型、抗干擾、復位、可靠性等幾個技術問題進行了討論,并提出了具體解決辦法。關鍵詞:單片機;抗干擾;復位;可靠性 MCS - 51 單片機有HMOS和CHMOS兩種工藝狀態的芯片, HMOS芯片運行功耗大,不宜使用在低功耗應用系統中,這類芯片唯一的低功耗方式就是掉電操作方式。而CHMOS芯片是專為低功耗系統設計的芯片類型,通過特殊功能寄存器PCON編程使單片機工作在待機或掉電工作方式。在設計低功耗應用系統時,不僅要選用低功耗型單片機,在外圍擴展電路中也應選擇低功耗的芯片和器件, 如27C64、74HC373等。
標簽: 單片機
上傳時間: 2013-10-22
上傳用戶:aa54
8031單片機的中斷系統簡單實用,其基本特點是:有5個固定的可屏蔽中斷源,3個在片內,2個在片外,它們在程序存儲器中各有固定的中斷入口地址,由此進入中斷服務程序;5個中斷源有兩級中斷優先級,可形成中斷嵌套;2個特殊功能寄存器用于中斷控制和條件設置的編程。
上傳時間: 2014-12-27
上傳用戶:1214209695
單片機串行通信發射機 我所做的單片機串行通信發射機主要在實驗室完成,參考有關的書籍和資料,個人完成電路的設計、焊接、檢查、調試,再根據自己的硬件和通信協議用匯編語言編寫發射和顯示程序,然后加電調試,最終達到準確無誤的發射和顯示。在這過程中需要選擇適當的元件,合理的電路圖扎實的焊接技術,基本的故障排除和糾正能力,會使用基本的儀器對硬件進行調試,會熟練的運用匯編語言編寫程序,會用相關的軟件對自己的程序進行翻譯,并燒進芯片中,要與對方接收機統一通信協議,要耐心的反復檢查、修改和調試,直到達到預期目的。單片機串行通信發射機采用串行工作方式,發射并顯示兩位數字信息,既顯示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
Keil 軟件實例教程 2 單片機開發中除必要的硬件外,同樣離不開軟件,我們寫的匯編語言源程序要變為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-10-26
上傳用戶:ruan2570406
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
單片機指令系統 3.1 MCS-51指令簡介 3.2 指令系統 3.1 MCS-51指令簡介 二、MCS-51系列單片機指令系統分類 按尋址方式分為以下七種:按功能分為以下四種: 1、立即立即尋址 1、數據傳送指令位操 2、直接尋址 2、算術運算指令 3、寄存器尋址 3、邏輯運算指令 4、寄存器間接尋址指令 4、控制轉移類指令 5、相對尋址 5、位操作指令 6、變址尋址 7、位尋址 三、尋址方式 3、寄存器間接尋址 MOV A, @R1 操作數是通過寄存器間接得到的。 4、立即尋址 MOV A, #40H 操作數在指令中直接給出。 5、基址寄存器加變址寄存器尋址 以DPTR或PC為基址寄存器,以A為變址寄存器, 以兩者相加形成的16位地址為操作數的地址。 MOVC A, @A+DPTR MOVC A, @A+PC 四、指令中常用符號說明 Rn——當前寄存器區的8個工作寄存器R0~R7(n=0~7); Ri——當前寄存器區可作地址寄存器的2個工作寄存器R0和R1(i=0,1); direct——8位內部數據存儲器單元的地址及特殊功能寄存器的地址; #data——表示8位常數(立即數); #datal6——表示16位常數; add 16——表示16位地址; addrll——表示11位地址; rel——8位帶符號的地址偏移量; bit——表示位地址; @——間接尋址寄存器或基址寄存器的前綴; ( )——表示括號中單元的內容 (( ))——表示間接尋址的內容; 五、MCS-51指令簡介 1. 以累加器A為目的操作數的指令 2. 以Rn為目的操作數的指令 3. 以直接地址為目的操作數的指令 4. 以寄存器間接地址為目的操作數指令 應用舉例1 8段數碼管顯示 應用舉例2 3.2 指令系統 2、堆棧操作指令 3. 累加器A與外部數據傳輸指令 4. 查表指令 MOVC A, @A+PC 例子: 5. 字節交換指令 6. 半字節交換指令 二、算術操作類指令 PSW寄存器 2. 帶進位加法指令 3. 加1指令 4. 十進制調整指令 5. 帶借位減法指令(Subtraction) 6. 減1指令(Decrease) 7. 乘法指令(Multiplication) 8. 除法指令(Division) 三、邏輯運算指令 1. 簡單邏輯操作指令 2. 循環指令 帶進位左循環指令(Rotate Accumulator Left through Carry flag) 右循環指令(Rotate Accumulator Right) 帶進位右循環指令(Rotate A Right with C) 3. 邏輯與指令 4. 邏輯或指令 5. 邏輯異或指令 四、控制轉移類指令 1. 跳轉指令 相對轉移指令 SJMP rel PC←(PC)+2 PC←(PC)+rel 程序中標號與地址之間的關系 2. 條件轉移指令 3. 比較不相等轉移指令 4. 減 1 不為 0 轉移指令 5. 調用子程序指令 7. 中斷返回指令 五、位操作指令 1. 數據位傳送指令 2. 位變量邏輯指令 3. 條件轉移類指令
上傳時間: 2013-10-27
上傳用戶:xuanjie
單片機開發中除必要的硬件外,同樣離不開軟件,我們寫的匯編語言源程序要變為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-12-26
上傳用戶:liulinshan2010