本設(shè)計針對智能交通系統(tǒng),采用STM32F103作為主控芯片,輔以路面檢測模塊、顯示模塊等外圍器件,構(gòu)成了一個完整的車載控制系統(tǒng),能夠在直線方向上完成調(diào)速、急剎車、停車、倒車返回等各種運動形式,并且可以自動記錄、顯示一次往返時間和行駛距離,同時用蜂鳴器提示返回到了起點。另外,經(jīng)過MATLAB仿真后,成功地實現(xiàn)了從最高速降至低速的平穩(wěn)調(diào)速
上傳時間: 2013-10-28
上傳用戶:Breathe0125
內(nèi)容提要: MCS-96單片機的應(yīng)用系統(tǒng)設(shè)計基礎(chǔ) 硬件電路設(shè)計,語言的設(shè)計基礎(chǔ),程序分析 PL/M-96可執(zhí)行語句和程序等等.... 第一章 概述 1.1 單片機應(yīng)用系統(tǒng)的結(jié)構(gòu) 1.2 MCS-96單片機應(yīng)用系統(tǒng)設(shè)計基礎(chǔ) 1.2.1 引腳功能及外部擴展特性 1.2.2 儲存器及管理 1.2.3 芯片組態(tài)寄存器 1.3 MCS-96單片機應(yīng)用系統(tǒng)的設(shè)計與調(diào)試 1.3.1 總體設(shè)計 1.3.2 硬件電路設(shè)計 1.3.3 基本硬件電路調(diào)試 1.3.4 軟件設(shè)計 1.4 PL/M-96語言特點 第二章 PL/M-96簡單程序分析 2.2 PL/M-96字符集 標(biāo)示符 注釋 2.2.1 字符集 2.2.2 標(biāo)示符 保留字和預(yù)說明符 2.2.3 注釋 2.3 數(shù)據(jù)類型和類型說明 2.3.1 數(shù)據(jù)類型 2.3.2 簡單說明句 2.4 變量 2.4.1 字節(jié) 字 和雙字變量 2.4.2 整型 短整型 和長整型變量 2.4.3 實型變量 2.4.4 地址型變量和運算符的地址應(yīng)用 2.4.5 變量的Fast和Slow屬性及說明 2.4.6 隱含類型轉(zhuǎn)換 2.5 常數(shù) 2.5.1 純數(shù)常數(shù) 2.5.2 浮點常數(shù) 2.5.3 字符串 2.6 表達式及運算規(guī)則 2.6.1 操作數(shù) 2.6.2 算術(shù)運算及其表達式 2.6.3 關(guān)系運算及其表達式 2.6.4 邏輯運算及其表達式 2.6.5 表達式的運算順序 2.6.6 常數(shù)表達式計算 2.7 數(shù)據(jù)和結(jié)構(gòu) 2.7.1 數(shù)組 2.7.2 結(jié)構(gòu) ......... .........
標(biāo)簽: MCS 96 單片機 應(yīng)用系統(tǒng)
上傳時間: 2013-11-19
上傳用戶:chenbhdt
挺好的
標(biāo)簽: 循跡小車
上傳時間: 2014-01-10
上傳用戶:suoyuan
en
上傳時間: 2013-10-08
上傳用戶:lalalal
寫給學(xué)單片機的年輕人:周立功 珍惜求學(xué)機會 作為過來人思前想后,我感到完全有責(zé)任將發(fā)自心底的感受傳遞給年輕一代,“一個企業(yè)家心靈深處渴望優(yōu)秀人才的卓越追求和深層次的嘆息、痛苦和感受”。您們千萬不要等到畢業(yè)求職時才覺得自己能力太差,世界上從來就沒有后悔藥。當(dāng)然,如果您現(xiàn)在看了我寫的這篇文章可能還不算晚,因為您還有機會在以后的歲月里奮起直追——“亡羊補牢,尤未為晚”。對于現(xiàn)在剛進入大學(xué)的學(xué)生,您應(yīng)該更加珍惜這美好的求學(xué)機會,因為眨眼之間幾年就過去了,您很快就會感到來自全社會生存競爭的壓力,您面臨的對手再也不僅僅是您身邊的同學(xué),今天您在班上的成績的確是前幾名,但一走到社會上去才感到是多么地脆弱而又多么地不堪一擊。 面試本科生 在面試大多數(shù)本科生時,我僅僅是詢問了一些有關(guān)MCS-51 系列單片機的基本原理,但卻幾乎很少有人能夠完全答對,簡直是五花八門。很多作為一個即將畢業(yè)的自動化專業(yè)本科生,至今還不知道單片機是這個專業(yè)的核心基礎(chǔ),難道不可悲嗎?您的水平不高我完全心中有底,其實我只要求這些學(xué)生能夠掌握單片機應(yīng)用開發(fā)的基本技能,用匯編和C51 寫過一些基本的程序,真正動手做過一些簡單的項目,然后將自己做過的項目寫成比較規(guī)范的文檔。我想,這種形式的“自我介紹”肯定要比讓別人看您那寫的千遍一律的“八股文”簡歷不知要強多少倍,古人言:“一葉知秋”其實講的就是這個道理。平心而論只有具備這樣基礎(chǔ)的學(xué)生才配得上企業(yè)花錢對您進行二次“開發(fā)” 事實上,很多學(xué)生根本就不管老師平時是多么地勸導(dǎo)都聽不進去,我認為您只要平時善于做一個有心人,主動一些多找老師請教,然后從大三開始幫老師打打下手干一些活。還有一個途徑就是自己花錢購買一些學(xué)習(xí)開發(fā)實驗板,加強動手能力的訓(xùn)練。但也有很多學(xué)生說沒有錢,可事實上并非如此,現(xiàn)在的學(xué)生購買手機成風(fēng),我不知道手機對您們現(xiàn)在來說到底有多大的用途?事實上,現(xiàn)在的學(xué)生家庭條件普遍都不太好,可這些孩子們的攀比心里卻十分地嚴(yán)重和可怕。到今天即將畢業(yè)之際才感到找工作太難。父母一個子兒地攢下一些辛苦錢給您購買電腦容易嗎?“望子成龍――可憐天下父母心”!他們是希望您能夠?qū)W到一些真本事,而您可能很多時間都在玩游戲,上網(wǎng)聊天,實際上對于您來說僅僅是舉手之勞,只要花幾百元買一塊實驗板,辛苦一個暑假的時間強化實踐,可能您就會與眾不同。與此同時,可能您的信心大增,前途一片光明。俗話說得好:倉庫有糧,心中不慌!如果您平時沒有準(zhǔn)備,那么臨時匆匆忙忙地上陣面試肯定是要敗下來的。從2003 年開始是全國第一次擴招之后畢業(yè)人數(shù)最多的第一年,以后的畢業(yè)生還會更多,同時還有更多的研究生與本科生搶飯碗,面對就業(yè)的困境壓力不能說不大,痛苦在其中。還有就是我每天都要面臨那些看不完的自我介紹簡歷,很可惜幾乎都是清一色的“八股文”令人討厭。其實只要您的成績不是太差,分?jǐn)?shù)不是應(yīng)聘成功的關(guān)鍵,重要的是做人要踏實,不要有水分,實際上,只要將您平時做過的小制作寫成一篇心得,再帶上您的作品,“事實勝于雄辯”這樣更能打動人。還有很多經(jīng)歷了四年本科又三年研究生階段學(xué)習(xí)行將畢業(yè)的碩士生,不僅不知道嵌入式操作系統(tǒng)是什么東西,而且連C++都不能熟練掌握,驅(qū)動程序開發(fā)的能力就更不容提了,僅僅做了一個單片機的應(yīng)用設(shè)計就拿到碩士文憑了,術(shù)業(yè)缺乏專攻泛泛而談,說句實在話,怎么樣也教人無法接受啊!對于我來說,如果您沒有特別的才能,我寧愿用三年時間培養(yǎng)一個好的本科生給更高的待遇,他肯定不比一般的碩士生差。所以,考上了研究生之后,您要時刻明白加強動手能力的培養(yǎng)和前沿科學(xué)技術(shù)的學(xué)習(xí)至關(guān)重要的,這是您將來面試的“殺手澗”,因為您畢業(yè)之后要求的工資待遇起碼是一般本科生的兩倍,但是這個錢不是那么好拿的。頂多3-5 年的時間,大家肯定能夠看到一個現(xiàn)實,那就是如果您還不能熟練地掌握嵌入式操作系應(yīng)用開發(fā)技術(shù)的話,您只能拿2000 元的月薪。即便您是研究生或是博士,那又有什么稀奇的呢?鄧伯伯有句名言,不管白貓還是黑貓,抓住老鼠就是好貓!我們知道企業(yè)家是要賺錢的,否則這個企業(yè)就留不住人才,無情的市場競爭機制將會毫不猶豫地將這個老板淘汰出局。一個可持續(xù)發(fā)展的企業(yè),如果離開了富有聰明才智的優(yōu)秀人才,那是不可想象的。光有幾個還不行,而是要有一個卓越的軍團。 就業(yè)問題 其實就業(yè)的問題,對于一個努力的人來說是何等地簡單,我面試了300 多本科生,我只對其中幾個成績中等的本科生感興趣,他們主要是參加過2001 年全國電子大賽,有的是平時業(yè)余時間,暑假及其寒假都在跟老師干活的學(xué)生,與他們聊天真是一種莫大的享受和欣慰,對于我來說真的是如獲至寶。于是,我就立即勸他們,您的成績中等確實難以考上好的學(xué)校和導(dǎo)師還不如不考研究生以免浪費時間,同時也充滿自信告訴他們,“我就是伯樂!我愿意給您機會和花錢培養(yǎng)您”。事實上,即便您考上研究生,如果沒有遇上具有超前眼光和經(jīng)費充足的導(dǎo)師,您讀了也白讀,更何況現(xiàn)在的研究生擴招的這么多?一個導(dǎo)師帶那么多研究生,有那么多課題嗎?即便有的話,他應(yīng)付得過來嗎?可能殘酷的現(xiàn)實將會讓您看到,畢業(yè)之后回頭一看還遠遠不如當(dāng)年同您一道畢業(yè)的同班同學(xué)。確實也是,人家的機會比您好得多,關(guān)鍵是人家對待機會比您把握得好,可以說:恰到火候。難道非要讀研究生理論水平才高嗎?這是何等地荒謬啊!我們知道電子與計算機技術(shù)的發(fā)展日新月異。大學(xué)的更新速度一定就要快嗎?回答是否定的,比如說推廣PHILIPS 的最新單片機和USB 技術(shù)吧!他們的更新速度肯定比一個可持續(xù)發(fā)展的企業(yè)要慢得多,難道說我們的人才水平不夠高嗎?我們公司就有一批這樣在各個領(lǐng)域里出類拔萃的“年輕專家”從 2003 年開始,我們將會有一系列的專著在北京航空航天大學(xué)出版社出版,大多數(shù)的著作都來自于我們長期的基礎(chǔ)研究和應(yīng)用開發(fā),可以毫不夸張地說這些都是我們這個年輕團隊合作的結(jié)晶。他們是優(yōu)秀和卓越的人才,他們沒有就業(yè)的壓力,他們不怕炒魷魚,相反我倒時刻要想盡辦法加強公司的管理,從工資,獎金,福利,生活和事業(yè)成就感等各個方面絞盡腦汁善待人才和留住人才,這么努力的人才根本就不需要過多地為工作和生活發(fā)愁,對于這個問題當(dāng)然是仁者見仁智者見智,也就是下面我要講到的問題,一個人如何根據(jù)自己的特點、條件和機遇對自己如何定位的問題,也是至關(guān)重要的。 定位問題 比如說,如果您對單片機的理解僅僅是入門水平的話,那么您首先就應(yīng)該低調(diào)一些,因為您主要的任務(wù)是為了尋找一個可以學(xué)習(xí)的機會,說句實在話,此刻此刻您一定要清醒地意識到:尋找伯樂比眼前的利益更加重要!因為您現(xiàn)在確實還沒有可以驕傲的資本,您一定要想盡辦法取得第一次正式踏入社會的入場卷,這對您來說是何等地重要啊!俗話說得好,“萬丈高樓從地起”您一定要尋找機會通過業(yè)績表現(xiàn)出您的能力,您確實與眾不同之處。這樣您就可能在一個公司里樹立您的“信用”,有了信用之后隨之而來的機會將會越來越多,到那時您根本就不用不愁自己的待遇和地位問題了。所以對于一個剛剛步入社會的年輕人來說,您能夠做到以“誠信” 打天下,您將來的前途肯定是無限光明。千萬不要感到自己在班上的成績是前幾名或者相對來說自己的動手能力相比之下比同學(xué)強多少、多少,或者自己在讀書期間貸了多少款,或者家里是多么地缺錢,因為當(dāng)您加入整個社會的競爭之后,這些都不是您要求高薪的理由,這個時候您的心態(tài)將可能會決定您的命運,因此對自己要有充分的認識和正確的估價,經(jīng)常是很多學(xué)生用這些理由向我開出高價,我無話可說只好“搖頭和嘆息”。 如果您的水平還不夠,我認為也不要自卑,要知道機會是時刻屬于有準(zhǔn)備的年輕人,但也不可掉以輕心,此時此刻,您應(yīng)該振作起來,立即拿起書本努力學(xué)習(xí)和加強實戰(zhàn)的訓(xùn)練,待到羽翼豐滿之時大膽地走出去闖蕩,讓社會來對您做一個恰當(dāng)?shù)脑u價,然后再根據(jù)現(xiàn)實的情況不斷地調(diào)整自己,繼續(xù)學(xué)習(xí)和實踐,由于電子和計算機科學(xué)的高速發(fā)展呈現(xiàn)日新月異的變化局勢,您一定要明白:您距離失敗永遠只有6 個月!
標(biāo)簽: 單片機
上傳時間: 2013-11-02
上傳用戶:vodssv
第一章 序論……………………………………………………………6 1- 1 研究動機…………………………………………………………..7 1- 2 專題目標(biāo)…………………………………………………………..8 1- 3 工作流程…………………………………………………………..9 1- 4 開發(fā)環(huán)境與設(shè)備…………………………………………………10 第二章 德州儀器OMAP 開發(fā)套件…………………………………10 2- 1 OMAP介紹………………………………………………………10 2-1.1 OMAP是什麼?…….………………………………….…10 2-1.2 DSP的優(yōu)點……………………………………………....11 2- 2 OMAP Architecture介紹………………………………………...12 2-2-1 OMAP1510 硬體架構(gòu)………………………………….…12 2-2.2 OMAP1510軟體架構(gòu)……………………………………...12 2-2.3 DSP / BIOS Bridge簡述…………………………………...13 2- 3 TI Innovator套件 -- OMAP1510 ……………………………..14 2-2.1 General Purpose processor -- ARM925T………………...14 2-2.2 DSP processor -- TMS320C55x …………………………15 2-2.3 IDE Tool – CCS …………………………………………15 2-2.4 Peripheral ………………………………………………..16 第三章 在OMAP1510上建構(gòu)Embedded Linux System…………….17 3- 1 嵌入式工具………………………………………………………17 3-1.1 嵌入式程式開發(fā)與一般程式開發(fā)之不同………….….17 3-1.2 Cross Compiling的GNU工具程式……………………18 3-1.3 建立ARM-Linux Cross-Compiling 工具程式………...19 3-1.4 Serial Communication Program………………………...20 3- 2 Porting kernel………………………………………………….…21 3-2.1 Setup CCS ………………………………………….…..21 3-2.2 編譯及上傳Loader…………………………………..…23 3-2.3 編譯及上傳Kernel…………………………………..…24 3- 3 建構(gòu)Root File System………………………………………..…..26 3-3.1 Flash ROM……………………………………………...26 3-3.2 NFS mounting…………………………………………..27 3-3.3 支援NFS Mounting 的kernel…………………………..27 3-3.4 提供NFS Mounting Service……………………………29 3-3.5 DHCP Server……………………………………………31 3-3.6 Linux root 檔案系統(tǒng)……………………………….…..32 3- 4 啟動及測試Innovator音效裝置…………………………..…….33 3- 5 建構(gòu)支援DSP processor的環(huán)境…………………………...……34 3-5.1 Solution -- DSP Gateway簡介……………………..…34 3-5.2 DSP Gateway運作架構(gòu)…………………………..…..35 3- 6 架設(shè)DSP Gateway………………………………………….…36 3-6.1 重編kernel……………………………………………...36 3-6.2 DEVFS driver…………………………………….……..36 3-6.3 編譯DSP tool和API……………………………..…….37 3-6.4 測試……………………………………………….…….37 第四章 MP3 Player……………………………………………….…..38 4- 1 MP3 介紹………………………………………………….…….38 4- 2 MP3 壓縮原理……………………………………………….….39 4- 3 Linux MP3 player – splay………………………………….…….41 4.3-1 splay介紹…………………………………………….…..41 4.3-2 splay 編譯………………………………………….…….41 4.3-3 splay 的使用說明………………………………….……41 第五章 程式改寫………………………………………………...…...42 5-1 程式評估與改寫………………………………………………...…42 5-1.1 Inter-Processor Communication Scheme…………….....42 5-1.2 ARM part programming……………………………..…42 5-1.3 DSP part programming………………………………....42 5-2 程式碼………………………………………………………..……43 5-3 雙處理器程式開發(fā)注意事項…………………………………...…47 第六章 效能評估與討論……………………………………………48 6-1 速度……………………………………………………………...48 6-2 CPU負載………………………………………………………..49 6-3 討論……………………………………………………………...49 6-3.1分工處理的經(jīng)濟效益………………………………...49 6-3.2音質(zhì)v.s 浮點與定點運算………………………..…..49 6-3.3 DSP Gateway架構(gòu)的限制………………………….…50 6-3.4減少IO溝通……………….………………………….50 6-3.5網(wǎng)路掛載File System的Delay…………………..……51 第七章 結(jié)論心得…
上傳時間: 2013-10-14
上傳用戶:a471778
拿到這本教程您首先就會想,什么是IAP教學(xué)法?是不是一種什么全新的教學(xué)方法?當(dāng)然不是,我可沒有那么大的本事,其實這只是我杜撰的一個新名詞,意思就是InApplicationsProgram(在應(yīng)用中編程),當(dāng)然這只是針對單片機教學(xué),說法是否正確,還得您說了算。 至于為什么要提這種說法,那我倒想說幾句。大家都知道,學(xué)習(xí)電子技術(shù)是一件非常無聊和枯燥的事情,為什么會有這種想法,就是因為我們傳統(tǒng)的教學(xué)方法只重理論而忽略了實踐,要一個人記住那些空洞而有無聊的理論知識實在不是一件容易的事,好在我們總算熬過來了,不管如何,也多多少少的學(xué)習(xí)了一些電子基礎(chǔ)知識。 接下來我們應(yīng)該進一步掌握些什么知識呢,凡涉足此行的朋友都知道,那就是單片機。不過這可不是一件容易的事,倒不是因為單片機很難學(xué),而實在是我們身邊很難找到一本專為單片機入門者而編寫的教材。翻一下傳統(tǒng)的單片機教材,都好象是為已經(jīng)懂單片機的人而寫的,一般總是以單片機的結(jié)構(gòu)為主線,先講硬件原理,然后是指令,接著講軟件編程,再是系統(tǒng)擴展和外圍器件,最后舉一些實例(隨便說一點:很多書中的實例都是有錯誤的),很少涉及單片機的基礎(chǔ)知識,如果按照此種學(xué)習(xí)方法,想進行產(chǎn)品開發(fā),就必須先把所有的知識全部掌握了才可以進行實際應(yīng)用。孰不知,單片機不象模擬電路和數(shù)字電路那樣,只要搞懂了電路原理,再按照產(chǎn)品要求設(shè)計好相應(yīng)的電路就可以了。它是一種以簡單的硬件結(jié)構(gòu),復(fù)雜而有靈活的軟件系統(tǒng)來完成設(shè)計的通用性產(chǎn)品,不同的設(shè)計者只會使用其不同的功能,幾乎沒有人會把它的全部指令都使用起來,所以學(xué)習(xí)使用單片機只能靠循序漸進的積累,而不可能先把它全部掌握了再去做產(chǎn)品開發(fā)(當(dāng)然天才就例外了*_*)。 基于以上原因,本人想嘗試一種全新的單片機教學(xué)方法,打破傳統(tǒng)的循序漸進式的教學(xué)方法,以單片機的應(yīng)用為藍本,結(jié)合基本的工業(yè)控制系統(tǒng)和實踐工作中的具體應(yīng)用,不分先后順序,將各條指令貫串于一個又一個的實驗中,通過所見即所得的實驗來講解各種指令的編程方法,順便講解相關(guān)的基本概念,使您盡快地熟悉單片機應(yīng)用的基本步驟,掌握軟件編程的基本方法。
上傳時間: 2014-02-27
上傳用戶:shen_dafa
學(xué)習(xí)單片機總結(jié)寶典 基于本人學(xué)習(xí)單片機的痛苦經(jīng)歷,特編寫本教程,以此獻給廣大 的單片機初學(xué)者,希望您能從中受益。 作者提示:本教程乃最通俗易懂之單片機教材也,如果您還是看 不懂,請千萬不要涉足此行,以免誤入歧途,耽誤您的前程*_* 拿到這本教程您首先就會想,什么是 IAP 教學(xué)法?是不是一種什么全新的教學(xué)方法?當(dāng)然不是, 我可沒有那么大的本事,其實這只是我杜撰的一個新名詞,意思就是In Applications Program(在應(yīng) 用中編程),當(dāng)然這只是針對單片機教學(xué),說法是否正確,還得您說了算。 至于為什么要提這種說法,那我倒想說幾句。大家都知道,學(xué)習(xí)電子技術(shù)是一件非常無聊和枯燥 的事情,為什么會有這種想法,就是因為我們傳統(tǒng)的教學(xué)方法只重理論而忽略了實踐,要一個人記住那 些空洞而有無聊的理論知識實在不是一件容易的事,好在我們總算熬過來了,不管如何,也多多少少的 學(xué)習(xí)了一些電子基礎(chǔ)知識。 接下來我們應(yīng)該進一步掌握些什么知識呢,凡涉足此行的朋友都知道,那就是單片機。不過這可 不是一件容易的事,倒不是因為單片機很難學(xué),而實在是我們身邊很難找到一本專為單片機入門者而編 寫的教材。翻一下傳統(tǒng)的單片機教材,都好象是為已經(jīng)懂單片機的人而寫的,一般總是以單片機的結(jié)構(gòu) 為主線,先講硬件原理,然后是指令,接著講軟件編程,再是系統(tǒng)擴展和外圍器件,最后舉一些實例(隨 便說一點:很多書中的實例都是有錯誤的),很少涉及單片機的基礎(chǔ)知識,如果按照此種學(xué)習(xí)方法,想 進行產(chǎn)品開發(fā),就必須先把所有的知識全部掌握了才可以進行實際應(yīng)用。孰不知,單片機不象模擬電路 和數(shù)字電路那樣,只要搞懂了電路原理,再按照產(chǎn)品要求設(shè)計好相應(yīng)的電路就可以了。它是一種以簡單 的硬件結(jié)構(gòu),復(fù)雜而有靈活的軟件系統(tǒng)來完成設(shè)計的通用性產(chǎn)品,不同的設(shè)計者只會使用其不同的功能, 幾乎沒有人會把它的全部指令都使用起來,所以學(xué)習(xí)使用單片機只能靠循序漸進的積累,而不可能先把 它全部掌握了再去做產(chǎn)品開發(fā)(當(dāng)然天才就例外了*_*)。
上傳時間: 2013-10-15
上傳用戶:小碼農(nóng)lz
單片機指令系統(tǒng)原理 51單片機的尋址方式 學(xué)習(xí)匯編程序設(shè)計,要先了解CPU的各種尋址法,才能有效的掌握各個命令的用途,尋址法是命令運算碼找操作數(shù)的方法。在我們學(xué)習(xí)的8051單片機中,有6種尋址方法,下面我們將逐一進行分析。 立即尋址 在這種尋址方式中,指令多是雙字節(jié)的,一般第一個字節(jié)是操作碼,第二個字節(jié)是操作數(shù)。該操作數(shù)直接參與操作,所以又稱立即數(shù),有“#”號表示。立即數(shù)就是存放在程序存儲器中的常數(shù),換句話說就是操作數(shù)(立即數(shù))是包含在指令字節(jié)中的。 例如:MOV A,#3AH這條指令的指令代碼為74H、3AH,是雙字節(jié)指令,這條指令的功能是把立即數(shù)3AH送入累加器A中。MOV DPTR,#8200H在前面學(xué)單片機的專用寄存器時,我們已學(xué)過,DPTR是一個16位的寄存器,它由DPH及DPL兩個8位的寄存器組成。這條指令的意思就是把立即數(shù)的高8位(即82H)送入DPH寄存器,把立即數(shù)的低8位(即00H)送入DPL寄存器。這里也特別說明一下:在80C51單片機的指令系統(tǒng)中,僅有一條指令的操作數(shù)是16位的立即數(shù),其功能是向地址指針DPTR傳送16位的地址,即把立即數(shù)的高8位送入DPH,低8位送入DPL。 直接尋址 直接尋址方式是指在指令中操作數(shù)直接以單元地址的形式給出,也就是在這種尋址方式中,操作數(shù)項給出的是參加運算的操作數(shù)的地址,而不是操作數(shù)。例如:MOV A,30H 這條指令中操作數(shù)就在30H單元中,也就是30H是操作數(shù)的地址,并非操作數(shù)。 在80C51單片機中,直接地址只能用來表示特殊功能寄存器、內(nèi)部數(shù)據(jù)存儲器以及位地址空間,具體的說就是:1、內(nèi)部數(shù)據(jù)存儲器RAM低128單元。在指令中是以直接單元地址形式給出。我們知道低128單元的地址是00H-7FH。在指令中直接以單元地址形式給出這句話的意思就是這0-127共128位的任何一位,例如0位是以00H這個單元地址形式給出、1位就是以01H單元地址給出、127位就是以7FH形式給出。2、位尋址區(qū)。20H-2FH地址單元。3、特殊功能寄存器。專用寄存器除以單元地址形式給出外,還可以以寄存器符號形式給出。例如下面我們分析的一條指令 MOV IE,#85H 前面的學(xué)習(xí)我們已知道,中斷允許寄存器IE的地址是80H,那么也就是這條指令可以以MOV IE,#85H 的形式表述,也可以MOV 80H,#85H的形式表述。 關(guān)于數(shù)據(jù)存儲器RAM的內(nèi)部情況,請查看我們課程的第十二課。 直接尋址是唯一能訪問特殊功能寄存器的尋址方式! 大家來分析下面幾條指令:MOV 65H,A ;將A的內(nèi)容送入內(nèi)部RAM的65H單元地址中MOV A,direct ;將直接地址單元的內(nèi)容送入A中MOV direct,direct;將直接地址單元的內(nèi)容送直接地址單元MOV IE,#85H ;將立即數(shù)85H送入中斷允許寄存器IE 前面我們已學(xué)過,數(shù)據(jù)前面加了“#”的,表示后面的數(shù)是立即數(shù)(如#85H,就表示85H就是一個立即數(shù)),數(shù)據(jù)前面沒有加“#”號的,就表示后面的是一個地址地址(如,MOV 65H,A這條指令的65H就是一個單元地址)。 寄存器尋址 寄存器尋址的尋址范圍是:1、4個工作寄存器組共有32個通用寄存器,但在指令中只能使用當(dāng)前寄存器組(工作寄存器組的選擇在前面專用寄存器的學(xué)習(xí)中,我們已知道,是由程序狀態(tài)字PSW中的RS1和RS0來確定的),因此在使用前常需要通過對PSW中的RS1、RS0位的狀態(tài)設(shè)置,來進行對當(dāng)前工作寄存器組的選擇。2、部份專用寄存器。例如,累加器A、通用寄存器B、地址寄存器DPTR和進位位CY。 寄存器尋址方式是指操作數(shù)在寄存器中,因此指定了寄存器名稱就能得到操作數(shù)。例如:MOV A,R0這條指令的意思是把寄存器R0的內(nèi)容傳送到累加器A中,操作數(shù)就在R0中。INC R3這條指令的意思是把寄存器R3中的內(nèi)容加1 從前面的學(xué)習(xí)中我產(chǎn)應(yīng)可以理解到,其實寄存器尋址方式就是對由PSW程序狀態(tài)字確定的工作寄存器組的R0-R7進行讀/寫操作。 寄存器間接尋址 寄存間接尋址方式是指寄存器中存放的是操作數(shù)的地址,即操作數(shù)是通過寄存器間接得到的,因此稱為寄存器間接尋址。 MCS-51單片機規(guī)定工作寄存器的R0、R1做為間接尋址寄存器。用于尋址內(nèi)部或外部數(shù)據(jù)存儲器的256個單元。為什么會是256個單元呢?我們知道,R0或者R1都是一個8位的寄存器,所以它的尋址空間就是2的八次方=256。例:MOV R0,#30H ;將值30H加載到R0中 MOV A,@R0 ;把內(nèi)部RAM地址30H內(nèi)的值放到累加器A中 MOVX A,@R0 ;把外部RAM地址30H內(nèi)的值放到累加器A中 大家想想,如果用DPTR做為間址寄存器,那么它的尋址范圍是多少呢?DPTR是一個16位的寄存器,所以它的尋址范圍就是2的十六次方=65536=64K。因用DPTR做為間址寄存器的尋址空間是64K,所以訪問片外數(shù)據(jù)存儲器時,我們通常就用DPTR做為間址寄存器。例:MOV DPTR,#1234H ;將DPTR值設(shè)為1234H(16位) MOVX A,@DPTR ;將外部RAM或I/O地址1234H內(nèi)的值放到累加器A中 在執(zhí)行PUSH(壓棧)和POP(出棧)指令時,采用堆棧指針SP作寄存器間接尋址。例:PUSH 30H ;把內(nèi)部RAM地址30H內(nèi)的值放到堆棧區(qū)中堆棧區(qū)是由SP寄存器指定的,如果執(zhí)行上面這條命令前,SP為60H,命令執(zhí)行后會把內(nèi)部RAM地址30H內(nèi)的值放到RAM的61H內(nèi)。 那么做為寄存器間接尋址用的寄存器主要有哪些呢?我們前面提到的有四個,R0、R1、DPTR、SP 寄存器間接尋址范圍總結(jié):1、內(nèi)部RAM低128單元。對內(nèi)部RAM低128單元的間接尋址,應(yīng)使用R0或R1作間址寄存器,其通用形式為@Ri(i=0或1)。 2、外部RAM 64KB。對外部RAM64KB的間接尋址,應(yīng)使用@DPTR作間址尋址寄存器,其形式為:@DPTR。例如MOVX A,@DPTR;其功能是把DPTR指定的外部RAM的單元的內(nèi)容送入累加器A中。外部RAM的低256單元是一個特殊的尋址區(qū),除可以用DPTR作間址寄存器尋址外,還可以用R0或R1作間址寄存器尋址。例如MOVX A,@R0;這條指令的意思是,把R0指定的外部RAM單元的內(nèi)容送入累加器A。 堆棧操作指令(PUSH和POP)也應(yīng)算作是寄存器間接尋址,即以堆棧指針SP作間址寄存器的間接尋址方式。 寄存器間接尋址方式不可以訪問特殊功能寄存器!! 寄存器間接尋址也須以寄存器符號的形式表示,為了區(qū)別寄存器尋址我寄存器間接尋址的區(qū)別,在寄存器間接尋址方式式中,寄存器的名稱前面加前綴標(biāo)志“@”。 基址寄存器加變址寄存器的變址尋址 這種尋址方式以程序計數(shù)器PC或DPTR為基址寄存器,累加器A為變址寄存器,變址尋址時,把兩者的內(nèi)容相加,所得到的結(jié)果作為操作數(shù)的地址。這種方式常用于訪問程序存儲器ROM中的數(shù)據(jù)表格,即查表操作。變址尋址只能讀出程序內(nèi)存入的值,而不能寫入,也就是說變址尋址這種方式只能對程序存儲器進行尋址,或者說它是專門針對程序存儲器的尋址方式。例:MOVC A,@A+DPTR這條指令的功能是把DPTR和A的內(nèi)容相加,再把所得到的程序存儲器地址單元的內(nèi)容送A假若指令執(zhí)行前A=54H,DPTR=3F21H,則這條指令變址尋址形成的操作數(shù)地址就是54H+3F21H=3F75H。如果3F75H單元中的內(nèi)容是7FH,則執(zhí)行這條指令后,累加器A中的內(nèi)容就是7FH。 變址尋址的指令只有三條,分別如下:JMP @A+DPTRMOVC A,@A+DPTRMOVC A,@A+PC 第一條指令JMP @A+DPTR這是一條無條件轉(zhuǎn)移指令,這條指令的意思就是DPTR加上累加器A的內(nèi)容做為一個16位的地址,執(zhí)行JMP這條指令是,程序就轉(zhuǎn)移到A+DPTR指定的地址去執(zhí)行。 第二、三條指令MOVC A,@A+DPTR和MOVC A,@A+PC指令這兩條指令的通常用于查表操作,功能完全一樣,但使用起來卻有一定的差別,現(xiàn)詳細說明如下。我們知道,PC是程序指針,是十六位的。DPTR是一個16位的數(shù)據(jù)指針寄存器,按理,它們的尋址范圍都應(yīng)是64K。我們在學(xué)習(xí)特殊功能寄存器時已知道,程序計數(shù)器PC是始終跟蹤著程序的執(zhí)行的。也就是說,PC的值是隨程序的執(zhí)行情況自動改變的,我們不可以隨便的給PC賦值。而DPTR是一個數(shù)據(jù)指針,我們就可以給空上數(shù)據(jù)指針DPTR進行賦值。我們再看指令MOVC A,@A+PC這條指令的意思是將PC的值與累加器A的值相加作為一個地址,而PC是固定的,累加器A是一個8位的寄存器,它的尋址范圍是256個地址單元。講到這里,大家應(yīng)可明白,MOVC A,@A+PC這條指令的尋址范圍其實就是只能在當(dāng)前指令下256個地址單元。所在,這在我們實際應(yīng)用中,可能就會有一個問題,如果我們需要查詢的數(shù)據(jù)表在256個地址單元之內(nèi),則可以用MOVC A,@A+PC這條指令進行查表操作,如果超過了256個單元,則不能用這條指令進行查表操作。剛才我們已說到,DPTR是一個數(shù)據(jù)指針,這個數(shù)據(jù)指針我們可以給它賦值操作的。通過賦值操作。我們可以使MOVC A,@A+DPTR這條指令的尋址范圍達到64K。這就是這兩條指令在實際應(yīng)用當(dāng)中要注意的問題。 變址尋址方式是MCS-51單片機所獨有的一種尋址方式。 位尋址 80C51單片機有位處理功能,可以對數(shù)據(jù)位進行操作,因此就有相應(yīng)的位尋址方式。所謂位尋址,就是對內(nèi)部RAM或可位尋址的特殊功能寄存器SFR內(nèi)的某個位,直接加以置位為1或復(fù)位為0。 位尋址的范圍,也就是哪些部份可以進行位尋址: 1、我們在第十二課學(xué)習(xí)51單片機的存儲器結(jié)構(gòu)時,我們已知道在單片機的內(nèi)部數(shù)據(jù)存儲器RAM的低128單元中有一個區(qū)域叫位尋址區(qū)。它的單元地址是20H-2FH。共有16個單元,一個單元是8位,所以位尋址區(qū)共有128位。這128位都單獨有一個位地址,其位地址的名字就是00H-7FH。這里就有一個比較麻煩的問題需要大家理解清楚了。我們在前面的學(xué)習(xí)中00H、01H。。。。7FH等等,所表示的都是一個字節(jié)(或者叫單元地址),而在這里,這些數(shù)據(jù)都變成了位地址。我們在指令中,或者在程序中如何來區(qū)分它是一個單元地址還是一個位地址呢?這個問題,也就是我們現(xiàn)在正在研究的位尋址的一個重要問題。其實,區(qū)分這些數(shù)據(jù)是位地址還是單元地址,我們都有相應(yīng)的指令形式的。這個問題我們在后面的指令系統(tǒng)學(xué)習(xí)中再加以論述。 2、對專用寄存器位尋址。這里要說明一下,不是所有的專用寄存器都可以位尋址的。具體哪些專用寄存器可以哪些專用寄存器不可以,請大家回頭去看看我們前面關(guān)于專用寄存器的相關(guān)文章。一般來說,地址單元可以被8整除的專用寄存器,通常都可以進行位尋址,當(dāng)然并不是全部,大家在應(yīng)用當(dāng)中應(yīng)引起注意。 專用寄存器的位尋址表示方法: 下面我們以程序狀態(tài)字PSW來進行說明 D7 D6 D5 D4 D3 D2 D1 D0 CY AC F0 RS1 RS0 OV P 1、直接使用位地址表示:看上表,PSW的第五位地址是D5,所以可以表示為D5H MOV C,D5H 2、位名稱表示:表示該位的名稱,例如PSW的位5是F0,所以可以用F0表示 MOV C,F(xiàn)0 3、單元(字節(jié))地址加位表示:D0H單元位5,表示為DOH.5 MOV C,D0H.5 4、專用寄存器符號加位表示:例如PSW.5 MOV C,PSW.5 這四種方法實現(xiàn)的功能都是相同的,只是表述的方式不同而已。 例題: 1. 說明下列指令中源操作數(shù)采用的尋址方式。 MOV R5,R7 答案:寄存器尋址方式 MOV A,55H 直接尋址方式 MOV A,#55H 立即尋址方式 JMP @A+DPTR 變址尋址方式 MOV 30H,C 位尋址方式 MOV A,@R0 間接尋址方式 MOVX A,@R0 間接尋址方式 改錯題 請判斷下列的MCS-51單片機指令的書寫格式是否有錯,若有,請說明錯誤原因。 MOV R0,@R3 答案:間址寄存器不能使用R2~R7。 MOVC A,@R0+DPTR 變址尋址方式中的間址寄存器不可使用R0,只可使用A。 ADD R0,R1 運算指令中目的操作數(shù)必須為累加器A,不可為R0。 MUL AR0 乘法指令中的乘數(shù)應(yīng)在B寄存器中,即乘法指令只可使用AB寄存器組合。
標(biāo)簽: 單片機指令 系統(tǒng)原理
上傳時間: 2013-11-11
上傳用戶:caozhizhi
單芯片手機的優(yōu)點與挑戰(zhàn) 從電信公司到OEM 和ODM 廠商到芯片組供貨商,手機價值鏈的所有業(yè)者都在努力提高功能整合度,它是手機降低成本和節(jié)省電路板面積給其它功能的重要關(guān)鍵。自從20 年前出現(xiàn)以來,手機就以循序漸近的方式逐步提高功能整合,在此過程中并沒有任何一種技術(shù)能夠?qū)崿F(xiàn)功能整合的大躍進。
標(biāo)簽: 單芯片手機
上傳時間: 2014-12-27
上傳用戶:lifangyuan12
蟲蟲下載站版權(quán)所有 京ICP備2021023401號-1