購買設(shè)計請充值后下載,,資源目錄下的文件所見即所得,都可以點開預(yù)覽,,資料完整,充值下載就能得到。。?!咀ⅰ浚篸wg后綴為CAD圖,doc,docx為WORD文檔,有不明白之處,可咨詢QQ:1304139763
單片機 單片機即單片微型計算機 是把中央處理器 存儲器 定時 計數(shù)器 輸入 輸出接口都集成在一塊集成電路芯片上的微型計算機 與應(yīng)用在個人電腦中的 通用型微處理器相比 它更強調(diào)自供應(yīng) 不用外接硬件 和節(jié)約成本 它的最 大優(yōu)點是體積小 可放在儀表內(nèi)部 但存儲量小 輸入輸出接口簡單 功能較 低 由于其發(fā)展非常迅速 舊的單片機的定義已不能滿足 所以在很多應(yīng)用場 合被稱為范圍更廣的微控制器 但是目前在中國大陸仍多沿用 單片機 的稱呼 絕大多數(shù)現(xiàn)在的單片機都是基于馮 諾伊曼結(jié)構(gòu)的 這種結(jié)構(gòu)清楚地定義了 嵌入式系統(tǒng)所必需的四個基本部分 一個中央處理器核心 程序存儲器 只讀 存儲器或者閃存 數(shù)據(jù)存儲器 隨機存儲器 一個或者更多的定時 計時器 還有用來與外圍設(shè)備以及擴展資源進(jìn)行通信的輸入 輸出端口 所有這些都被 集成在單個集成電路芯片上 說單片機與通用型中央處理單元芯片不同是因為 前者一般很容易配合最小型的外部支持芯片制成工作計算機 這樣就可以很容 易的把單片機系統(tǒng)植入裝置內(nèi)部來控制裝置了 近年來為了在指令和數(shù)據(jù)上使 用不同的字寬 并提高處理器流水線速度 哈佛結(jié)構(gòu)在微控制器和 DSP 也逐漸 得到了廣泛的應(yīng)用 傳統(tǒng)的微處理器是不允許這么做的 它要完成單片機的工作 就必須連接 一些其他芯片 比如說 因為片上沒有數(shù)據(jù)存儲器 就必須要添加一些 RAM 的存儲芯片 雖然所添加存儲器的容量很靈活 但是至少還是要添加 另外還 需要添加很多連線來傳遞芯片之間的數(shù)據(jù) 比如 一個典型的微控制器只需要 一個時鐘發(fā)生器和很少的 RAM 和 ROM 或者 EPROM E2PROM 就可以在軟 件和晶振下工作了 同時 微控制器具有豐富的輸入輸出設(shè)備 像是模擬數(shù)字 轉(zhuǎn)換 ADC 定時器 串口或者其他串行通訊接口 比如 I2C 串行外圍接口 SPI 控制器局域網(wǎng) 通常 這些繼承在內(nèi)部的設(shè)備可以通過特殊的指令來操 作 一些現(xiàn)代的微控制器支持一些內(nèi)建的高級編程語言 比如 BASIC 語言 早期的單片機都是 8 位或 4 位的 其中最成功的是 INTEL 的 8031 因為 簡單可靠而性能不錯獲得了很大的好評 此后在 8031 上發(fā)展出了 MCS51 系列 單片機系統(tǒng) 基于這一系統(tǒng)的單片機系統(tǒng)直到現(xiàn)在還在廣泛使用 隨著工業(yè)控 制領(lǐng)域要求的提高 開始出現(xiàn)了 16 位單片機 但因為性價比不理想并未得到很 廣泛的應(yīng)用 90 年代后隨著消費電子產(chǎn)品大發(fā)展 單片機技術(shù)得到了巨大的提 高 隨著 INTEL i960 系列特別是后來的 ARM 系列的廣泛應(yīng)用 32 位單片機迅 速取代 16 位單片機的高端地位 并且進(jìn)入主流市場 而傳統(tǒng)的 8 位單片機的性 能也得到了飛速提高 處理能力比起 80 年代提高了數(shù)百倍 目前 高端的 32 位單片機主頻已經(jīng)超過 300MHz 性能直追 90 年代中期的專用處理器 而普通 的型 號出廠價格跌落至 1 美元 最高端的型號也只有 10 美元 當(dāng)代單片機系統(tǒng)已 經(jīng)不再只在裸機環(huán)境下開發(fā)和使用 大量專用的嵌入式操作系統(tǒng)被廣泛應(yīng)用在 全系列的單片機上 而在作為掌上電腦和手機核心處理的高端單片機甚至可以 直接使用專用的 Windows 和 Linux 操作系統(tǒng) 單片機比專用處理器最適合應(yīng)用于嵌入式系統(tǒng) 因此它得到了最多的應(yīng)用 事實上單片機是世界上數(shù)量最多的計算機 現(xiàn)代人類生活中所用的幾乎每件電 子和機械產(chǎn)品中都會集成有單片機 手機 電話 計算器 家用電器 電子玩 具 掌上電腦以及鼠標(biāo)等電腦配件中都配有 1 2 部單片機 而個人電腦中也會 有為數(shù)不少的單片機在工作 汽車上一般配備 40 多部單片機 復(fù)雜的工業(yè)控制 系統(tǒng)上甚至可能有數(shù)百臺單片機在同時工作 單片機的數(shù)量不僅遠(yuǎn)超過 PC 機 和其他計算的綜合 甚至比人類的數(shù)量還要多 單片機學(xué)習(xí)應(yīng)中的五大重要部分 一 總線 我們知道 一個電路總是由元器件通過電線連接而成的 在模 擬電路中 連線并不成為一個問題 因為各器件間一般是串行關(guān)系 各器件之 間的連線并不很多 但計算機電路卻不一樣 它是以微處理器為核心 各器件 都要與微處理器相連 各器件之間的工作必須相互協(xié)調(diào) 所以就需要的連線就 很多了 如果仍如同模擬電路一樣 在各微處理器和各器件間單獨連線 則線 的數(shù)量將多得驚人 所以在微處理機中引入了總線的概念 各個器件共同享用 連線 所有器件的 8 根數(shù)據(jù)線全部接到 8 根公用的線上 即相當(dāng)于各個器件并 聯(lián)起來 但僅這樣還不行 如果有兩個器件同時送出數(shù)據(jù) 一個為 0 一個為 1 那么 接收方接收到的究竟是什么呢 這種情況是不允許的 所以要通過控 制線進(jìn)行控制 使器件分時工作 任何時候只能有一個器件發(fā)送數(shù)據(jù) 可以有 多個器件同時接收 器件的數(shù)據(jù)線也就被稱為數(shù)據(jù)總線 器件所有的控制線 被稱為控制總線 在單片機內(nèi)部或者外部存儲器及其它器件中有存儲單元 這 些存儲單元要被分配地址 才能使用 分配地址當(dāng)然也是以電信號的形式給出 的 由于存儲單元比較多 所以 用于地址分配的線也較多 這些線被稱為地 址總線 二 數(shù)據(jù) 地址 指令 之所以將這三者放在一起 是因為這三者的本質(zhì) 都是一樣的 數(shù)字 或者說都是一串 0 和 1 組成的序列 換言之 地址 指 令也都是數(shù)據(jù) 指令 由單片機芯片的設(shè)計者規(guī)定的一種數(shù)字 它與我們常用 的指令助記符有著嚴(yán)格的一一對應(yīng)關(guān)系 不可以由單片機的開發(fā)者更改 地址 是尋找單片機內(nèi)部 外部的存儲單元 輸入輸出口的依據(jù) 內(nèi)部單元的地址值 已由芯片設(shè)計者規(guī)定好 不可更改 外部的單元可以由單片機開發(fā)者自行決定 但有一些地址單元是一定要有的 詳見程序的執(zhí)行過程 數(shù)據(jù) 這是由微處 理機處理的對象 在各種不同的應(yīng)用電路中各不相同 一般而言 被處理的數(shù) 據(jù)可能有這么 幾種情況 1 地址 如 MOV DPTR 1000H 即地址 1000H 送入 DPTR 2 方式字或控制字 如 MOV TMOD 3 3 即是控制字 3 常數(shù) 如 MOV TH0 10H 10H 即定時常數(shù) 4 實際輸出值 如 P1 口接彩燈 要燈全亮 則執(zhí)行指令 MOV P1 0FFH 要燈全暗 則執(zhí)行指令 MOV P1 00H 這里 0FFH 和 00H 都是實際輸出值 又如用于 LED 的字形碼 也是實際輸出的值 理解了地址 指令的本質(zhì) 就不難理解程序運行過程中為什么會跑飛 會 把數(shù)據(jù)當(dāng)成指令來執(zhí)行了 三 P0 口 P2 口和 P3 的第二功能用法 初學(xué)時往往對 P0 口 P2 口和 P3 口的第二功能用法迷惑不解 認(rèn)為第二功能和原功能之間要有一個切換的過程 或者說要有一條指令 事實上 各端口的第二功能完全是自動的 不需要用指 令來轉(zhuǎn)換 如 P3 6 P3 7 分別是 WR RD 信號 當(dāng)微片理機外接 RAM 或有外 部 I O 口時 它們被用作第二功能 不能作為通用 I O 口使用 只要一微處理 機一執(zhí)行到 MOVX 指令 就會有相應(yīng)的信號從 P3 6 或 P3 7 送出 不需要事先 用指令說明 事實上 不能作為通用 I O 口使用 也并不是 不能 而是 使用者 不會 將其作為通用 I O 口使用 你完全可以在指令中按排一條 SETB P3 7 的指 令 并且當(dāng)單片機執(zhí)行到這條指令時 也會使 P3 7 變?yōu)楦唠娖?但使用者不會 這么去做 因為這通常這會導(dǎo)致系統(tǒng)的崩潰 四 程序的執(zhí)行過程 單片機在通電復(fù)位后 8051 內(nèi)的程序計數(shù)器 PC 中的值為 0000 所以程序總是從 0000 單元開始執(zhí)行 也就是說 在系統(tǒng)的 ROM 中一定要存在 0000 這個單元 并且在 0000 單元中存放的一定是一條指 令 五 堆棧 堆棧是一個區(qū)域 是用來存放數(shù)據(jù)的 這個區(qū)域本身沒有任何 特殊之處 就是內(nèi)部 RAM 的一部份 特殊的是它存放和取用數(shù)據(jù)的方式 即 所謂的 先進(jìn)后出 后進(jìn)先出 并且堆棧有特殊的數(shù)據(jù)傳輸指令 即 PUSH 和 POP 有一個特殊的專為其服務(wù)的單元 即堆棧指針 SP 每當(dāng)執(zhí)一次 PUSH 指令時 SP 就 在原值的基礎(chǔ)上 自動加 1 每當(dāng)執(zhí)行一次 POP 指令 SP 就 在原值的基礎(chǔ)上 自動減 1 由于 SP 中的值可以用指令加以改變 所以只要 在程序開始階段更改了 SP 的值 就可以把堆棧設(shè)置在規(guī)定的內(nèi)存單元中 如 在程序開始時 用一條 MOV SP 5FH 指令 就時把堆棧設(shè)置在從內(nèi)存單元 60H 開始的單元中 一般程序的開頭總有這么一條設(shè)置堆棧指針的指令 因為 開機時 SP 的初始值為 07H 這樣就使堆棧從 08H 單元開始往后 而 08H 到 1FH 這個區(qū)域正是 8031 的第二 三 四工作寄存器區(qū) 經(jīng)常要被使用 這會造 成數(shù)據(jù)的混亂 不同作者編寫程序時 初始化堆棧指令也不完全相同 這是作 者的習(xí)慣問題 當(dāng)設(shè)置好堆 棧區(qū)后 并不意味著該區(qū)域成為一種專用內(nèi)存 它還是可以象普通內(nèi)存區(qū)域一 樣使用 只是一般情況下編程者不會把它當(dāng)成普通內(nèi)存用
鏈接地址:http://www.3dchina-expo.com/p-7377831.html