導航:首頁 > 地理科目 > 怎麼才能更好地理解單片機程序

怎麼才能更好地理解單片機程序

發布時間:2022-05-26 00:17:08

㈠ 怎樣讀好單片機程序

過了C語言二級!
我給你的建議————C語言是簡單
單片機編程也用不到多深度的編程,問題是你的C語言弄明白了嗎,就是一些簡單的程序。我說得明白是:知道程序的編寫思路,並不是你能否看懂這個程序,否則C語言算是什麼也不是
就是算是知道有英語一樣。
對單片機的內部結構比較了解!
…………告訴你,其實內核才是最要的,應為他才是基礎。至於一個內核,你首先要知道他都有些什麼,這些資源你能明白多少。初次看,肯定是一知半解,對於這些資源你首先能想到你能做些什麼。你也許寫不出來程序,但是你能想到用這些資源做什麼。例子我不說了。當你把內核都了解了(建議了解三四遍——也許還要多),你才算是做到了第一步,這個時候你就可以鍛煉你的思路。這個是最最重要的。思路的好壞決定了你以後在這方面的發展
,不要拘泥於課本。
也許初學時你並看不懂一些C語言程序。那是應為你所看的是你沒有見過的,並且你現在看到的程序並不是一個難度循序漸漸的。看不懂不要緊,先看內核,知識學習程序中的方法,自己考錄其中的思路。
要想學好單片機……一定要動手,光考慮沒有用。別拍花錢,再說了也花不多少~··~

㈡ 如何學好單片機程序

1、了解單片機應用及結構和基本概念!2、知道單片機內部資源!3、記住21個特殊功能寄存器和能被位定址的位寄存器!4、知道單片機的最小系統和結構!5、知道單片機的定址方法有7種!6、熟記單片機的128條指令並能靈活應用!7學會常用的編程方法!

㈢ 單片機解釋

單片機是典型的嵌入式微控制器(Microcontroller Unit),由運算器,控制器,存儲器,輸入輸出設備等構成,相當於一個微型的計算機。與應用在個人電腦中的通用型微處理器相比,它更強調自供應(不用外接硬體)和節約成本。它的最大優點是體積小,可放在儀表內部,但存儲量小,輸入輸出介面簡單,功能較低。由於其發展非常迅速,舊的單片機的定義已不能滿足,所以在很多應用場合被稱為范圍更廣的微控制器;已經從上世紀80年代的4位、8位單片機,發展到現在的32位甚至64位的高速單片機。[1]

中文名
單片機
外文名
Microcontroller Unit
性質
嵌入式微控制器
優點
體積小、質量輕、價格便宜
組成
運算器、控制器、存儲器、輸入輸出設備
種類
3種
類別
電路晶元
相關概述
單片微型計算機簡稱單片機,是典型的嵌入式微控制器(Microcontroller Unit), 常用英文字母的縮寫MCU表示單片機。單片機又稱單片微控制器,它不是完成某一個邏輯功能的晶元,而是把一個計算機系統集成到一個晶元上。單片機由運算器,控制器,存儲器,輸入輸出設備構成,相當於一個微型的計算機(最小系統),和計算機相比,單片機缺少了外圍設備等。概括的講:一塊晶元就成了一台計算機。它的體積小、質量輕、價格便宜、為學習、應用和開發提供了便利條件。同時,學習使用單片機是了解計算機原理與結構的最佳選擇。它最早是被用在工業控制領域。


單片機
由於單片機在工業控制領域的廣泛應用,單片機由僅有CPU的專用處理器晶元發展而來。最早的設計理念是通過將大量外圍設備和CPU集成在一個晶元中,使計算機系統更小,更容易集成進復雜的而對體積要求嚴格的控制設備當中。
INTEL的8080是最早按照這種思想設計出的處理器,當時的單片機都是8位或4位的。其中最成功的是INTEL的8051,此後在8051上發展出了MCS51系列單片機系統。因為簡單可靠而性能不錯獲得了很大的好評。盡管2000年以後ARM已經發展出了32位的主頻超過300M的高端單片機,直到現在基於8051的單片機還在廣泛的使用。在很多方面單片機比專用處理器更適合應用於嵌入式系統,因此它得到了廣泛的應用。事實上單片機是世界上數量最多處理器,隨著單片機家族的發展壯大,單片機和專用處理器的發展便分道揚鑣。

現代人類生活中所用的幾乎每件有電子器件的產品中都會集成有單片機。手機、電話、計算器、家用電器、電子玩具、掌上電腦以及滑鼠等電子產品中都含有單片機。 汽車上一般配備40多片單片機,復雜的工業控制系統上甚至可能有數百片單片機在同時工作。

應用分類
單片機作為計算機發展的一個重要分支領域,根據發展情況,從不同角度單片機大致可以分為通用型/專用型、匯流排型/非匯流排型及工控型/家電型。

通用/專用型
這是按單片機適用范圍來區分的。例如,80C51是通用型單片機,它不是為某種專用途設計的;專用型單片機是針對一類產品甚至某一個產品設計生產的,例如為了滿足電子體溫計的要求,在片內集成ADC介面等功能的溫度測量控制電路。

匯流排型/非匯流排型
這是按單片機是否提供並行匯流排來區分的。匯流排型單片機普遍設置有並行地址匯流排、數據匯流排、控制匯流排,這些引腳用以擴展並行外圍器件都可通過串列口與單片機連接,另外,許多單片機已把所需要的外圍器件及外設介面集成一片內,因此在許多情況下可以不要並行擴展匯流排,大大減省封裝成本和晶元體積,這類單片機稱為非匯流排型單片機。

工控型/家用型
這是按照單片機大致應用的領域進行區分的。一般而言,工控型定址范圍大,運算能力強;用於家電的單片機多為專用型,通常是小封裝、低價格,外圍器件和外設介面集成度高。 顯然,上述分類並不是惟一的和嚴格的。例如,80C51類單片機既是通用型又是匯流排型,還可以作工控用。

相關歷史
單片機誕生於20世紀70年代末,經歷了SCM、MCU、SoC三大階段。

起初模型


單片機
SCM即單片微型計算機(Single Chip Microcomputer)階段,主要是尋求最佳的單片形態嵌入式系統的最佳體系結構。「創新模式」獲得成功,奠定了SCM與通用計算機完全不同的發展道路。在開創嵌入式系統獨立發展道路上,Intel公司功不可沒。
MCU即微控制器(Micro Controller Unit)階段,主要的技術發展方向是:不斷擴展滿足嵌入式應用時,對象系統要求的各種外圍電路與介面電路,突顯其對象的智能化控制能力。它所涉及的領域都與對象系統相關,因此,發展MCU的重任不可避免地落在電氣、電子技術廠家。從這一角度來看,Intel逐漸淡出MCU的發展也有其客觀因素。在發展MCU方面,最著名的廠家當數Philips公司。

Philips公司以其在嵌入式應用方面的巨大優勢,將MCS-51從單片微型計算機迅速發展到微控制器。因此,當我們回顧嵌入式系統發展道路時,不要忘記Intel和Philips的歷史功績。

SoC即嵌入式系統(System on Chip)尋求應用系統在晶元上的最大化解決使得專用單片機的發展自然形成了SoC化趨勢。隨著微電子技術、IC設計、EDA工具的發展,基於SoC的單片機應用系統設計會有越來越大的發展。因此,對單片機的理解可以從單片微型計算機、單片微控制器延伸到單片應用系統。

單片機發展史

1971年intel公司研製出世界上第一個4位的微處理器;Intel公司的霍夫研製成功世界上第一塊4位微處理器晶元Intel 4004,標志著第一代微處理器問世,微處理器和微機時代從此開始。因發明微處理器,霍夫被英國《經濟學家》雜志列為「二戰以來最有影響力的7位科學家」之一 。

1971年11月,Intel推出MCS-4微型計算機系統(包括4001 ROM晶元、4002 RAM晶元、4003移位寄存器晶元和4004微處理器 )其中4004包含2300個晶體管,尺寸規格為3mm×4mm,計算性能遠遠超過當年的ENIAC,最初售價為200美元。

1972年4月,霍夫等人開發出第一個8位微處理器Intel 8008。由於8008採用的是P溝道MOS微處理器,因此仍屬第一代微處理器。

1973年intel公司研製出8位的微處理器8080;1973年8月,霍夫等人研製出8位微處理器Intel 8080,以N溝道MOS電路取代了P溝道,第二代微處理器就此誕生。

主頻2MHz的8080晶元運算速度比8008快10倍,可存取64KB存儲器,使用了基於6微米技術的6000個晶體管,處理速度為0.64MIPS(Million Instructions Per Second )。

1975年4月,MITS發布第一個通用型Altair 8800,售價375美元,帶有1KB存儲器。這是世界上第一台微型計算機。

1976年intel公司研製出MCS-48系列8位的單片機,這也是單片機的問世。Zilog公司於1976年開發的Z80微處理器,廣泛用於微型計算機和工業自動控制設備。當時,Zilog、Motorola和Intel在微處理器領域三足鼎立。

20世紀80年代初,Intel公司在MCS-48系列單片機的基礎上,推出了MCS-51系列8位高檔單片機。MCS-51系列單片機無論是片內RAM容量,I/O口功能,系統擴展方面都有了很大的提高。

㈣ 對單片機的理解演講

通過這次單片機實習,我不僅加深了對單片機理論的理解,將理論很好地應用到實際當中去,而且我還學會了如何去培養我們的創新精神,從而不斷地戰勝自己,超越自己。創新可以是在原有的基礎上進行改進,使之功能不斷完善,成為真己的東西。

作為一名自動化專業的快大三學生,我覺得做單片機實習是十分必要的。在已度過的大學時間里,我們大多數接觸的是專業課。我們在課堂上掌握的僅僅是專業課的理論知識,如何去鍛煉我們的實踐能力,如何把我們所學的專業基礎課理論知識運用到實踐中去,我想做類似實習就為我們提供了良好的實踐平台

學習單片機沒有捷徑,不能指望兩三天就學會,要堅持不懈,重在積累 單片機是一門應用性和實踐性很強的學科,要多動手,多做實驗。

(4) 要學會參考別人的程序,減少自己琢磨的時間,迅速提高自己的編程能力。

(5) 碰到問題可以藉助網路來搜尋答案和對自己有幫助的問題,一定會有所收獲。

(6) 小組要團結,小組之間要多交流。技術是靠不斷的積累和交流才會進步的,封閉自守只會更加落後

通過這次單片機設計N也喚黽由盍碩緣テ機理論的理解=理論很好地應用到實際當中去M時也使我認識到自身存在的不足之處N蘼凼搶礪凵匣故怯齙轎侍獾拇理能力上都還有待提高6且這也激發了我今後努力學習的興趣。發現問題、提出問題、分析問題、解決問題和實踐能力的提高都會受益於我在以後的學習、工作和生活中

。1、不管做什麼事,計劃是很重要的。沒有一個完好的計劃,做事情就會沒有一個好的順序,做事情會比較亂,很難成功。而有一個好的計劃,不管做什麼事都會事半功倍,做事心中有數,明確重點和緩急,不會有疏漏。這樣才能提高成功率。

2、做事要多動腦,選出最好的方法。一件事往往有多種解決方法,一個好的方法,不僅能使事情事半功倍,而且往往決定最後的成與敗,所以做事時一定要多動一下腦筋,想出最好的方法。

3、要注意細節。細節決定成敗,這句話在這次課題中不僅一次得到了印證,特別是在軟體的編程過程中,一點點的錯誤就會使你整個程序不能運行。因此我們不僅僅要有整體意識,也要注意細節,不要因一個關鍵地方的一個細節而導致滿盤皆輸。

4、最後,也是最重要的一點,通過這次課題,我們學到了很多有關單片機方面的知識,也對單片機有了更深入的了解。使我們受益匪淺。

總之,親自動手是課堂學習的延續,電子領域隨時隨地都在發生著翻天覆地的變化,現有的知識儲備總是落後於科技的發展腳步,我們只有不斷學習新知識,才能做到面對新課題時游刃有餘

㈤ 怎麼能看懂單片機程序

  1. 學習C語言.通常單片機的編程語言是C

  2. 學會看懂單片機的數據手冊,通常單片機的編程需要頻繁操作其IO埠, 定時器這些資源,這就需要仔細閱讀其數據手冊,了解這些硬體的操作方法.

㈥ 已經有c語言基礎,但是還是看不懂單片機的c編程...如何是好

根據你的問題,我把單片機的C語言程序分成3塊:
1、純粹的應用級運算或數據處理類的函數或子程序。比如獲得一個四則運算的結果等。這部分程序代碼以你的基礎肯定能讀懂,因為C51和PC機上的C語言都是一樣的。
2、針對單片機自身的硬體控製程序等。這部分軟體其實內容不多,如果了解單片機的結構及各主要模塊的功能就能理解個大概:比如定時器怎麼用、怎樣設定初值、怎樣啟動,又比如如何在單片機的埠輸出高電平或是輸出低電平等等。
3、針對單片機以外的硬體控制子程序或函數。比如8個8位的LED數碼管,如何掃描控制其顯示內容,如何採集單片機系統中的哪個按鍵被按下了等。這部份軟體就需要你去了解單片機最常用的外圍電路的工作原理後才能理解。

總之,需要有一定的硬體基礎才能讀懂單片機的C語言,至於方法:
1、系統的學習單片機的基本結構和原理。無論針對哪個應用最基本的內容都是相似的。熟悉後拿來任何一個程序都能快速的將其拆分,明白各模塊大致的用途。
2、有針對性的去了解單片機以外其它的電路的功能及實現原理。這一點可以邊應用邊學習,任何人都不敢說所有的硬體都了解,都是邊學邊用。

㈦ 該如何理解單片機這種東西

可以將單片機比作開關一樣的控制裝置,但單片機是多個開關的組合,且開關的閉合與斷開是有條件的,可編程的。單片機的具體定義就是將CPU、RAM、 ROM和其它外設和介面電路集成在一起的可編程電子器件。CPU、RAM、 ROM對應與計算機系統的CPU、內存條、硬碟 。但單片機將它們集中在一起,性能肯定比不上專門的計算機系統,而體積、功耗、價格都大大降低,因此,它被廣泛地應用於各種電氣控制系統中。

㈧ 如何學好單片機

1、熟悉單片機的原理,結構;
2、學好數電,模電,為設計電路打好基礎;
3、熟練使用C語言,多學習別人的程序;
4、對操作系統原理有一定的了解;
5、Protel至少要有點基礎;
6、要實際動手調試電路的能力。

學習單片機的步驟

當前的單片機種類很多,但是 51 是最基礎的,因此單片機的學習最好也是從 51 開始,不僅容易上手,而且相當實用。然而 51 單片機畢竟過於基礎,後來的很多單片機在功能上都有很大的擴展,因此按照我們實驗室多數人的路線接下來大多數人會學習 AVR 單片機, AVR 單片機在功能上較 51 有很大提升,集成了 A/D 、快速 PWM 等很多實用的功能,而且和很多大型的單片機在功能上有很多類似之處,因此如果以後還想掌握其他單片機 AVR 無疑是一個很好的跳板。

學習的過程

學習單片機最終要的是當然是練,我所說的學習跟課堂上的單片機學習不同,我以前也看過一些單片機教材,有些教材講的是單片機的工作原理和內部結構,這些東西對於我們暫時並不需要,等以後開課的時候在學習好了。現在要學習的是暫時拋開內部結構原理不談,如何能用單片機寫一些簡單的小程序,是從實用性的角度出發,網上有一種說法稱之為先實踐後理論的學習方法。

因此我的觀點如下,單片機的硬體結構首先要有一個基本的了解,最起碼要知道各引腳的功能、區別,能自己動手搭一個單片機的最小系統,然後就可以直接從程序入手,程序最好還是用 C 語言編程,從簡單的跑馬燈做起,逐漸深入,陸續可以做一些數碼管、液晶、 DS1302 、 DS18B20 等電子元器件的應用,在深入就可以結合一些具體實例擴展一些中斷、串口通訊等功能。還有一點要聲明的是單片機里用到的 C 語言其實很有限,課堂上學習 C++ 的很大一部分內容在初期單片機編程中都用不到,因此沒必要因為覺的自己的 C 語言基礎不是很好而對單片機望而止步!

學習的工具

軟體方面方面, 51 單片機用的是 KEIL 軟體,這個軟體在學校圖書館軟體下載和其他網站上都有,具體用法自己查找相關資料, AVR 的軟體就比較多了,我用的是 CVAVR ,另外還有 ICCAVR 等多款編譯軟體,這要看個人喜好了,建議有了一定的 51 基礎再學。另外就是燒寫軟體,燒寫軟體的作用就是將編譯器生成的 HEX 文件燒寫至單片機里,這要配合下載線實用,如果有並口的話最好用並口下載線,軟體最好用廣州雙龍的 SLISP 軟體,如果是筆記本沒有並口的話則要自己買一個下載器了,名稱為 USBASP ,網上電子市場有賣 20 塊錢左右,軟體會隨光碟自帶。

硬體方面,首先是要有單片機,對於單片機有一點要注意, 51 單片機最好買 89S51 、 89S52 這兩種型號,上面我所說的燒寫程序是 ISP 方式,這兩種單片機支持 ISP 下載,所以如果買其他型號的燒寫程序可能會不太方便, AVR 單片機常用的就是 ATmega16L 其它型號的區別也不是很大,甚至有些兼容。至於單片機開發板,目前的價格都很貴,從一百到幾百不等,不過像上次學校里廣告的那個六十多塊錢的最好還是免了,沒什麼作用。能買一塊當然好,沒有的話也不要緊,自己動手買個電路板搭一下也很方便,引出 ISP 介面,燒寫程序十分容易,然後將 I/O 口引出擴展也很方便。

學習單片機的其它幾個注意點:

1 .理論與實踐並重
對一個初學單片機的人來說,如果按教科書式的學法,上來就是一大堆指令、名詞,學了半天還搞不清這些指令起什麼作用,也許用不了幾天就會覺得枯燥乏味以致半途而廢。所以學習與實踐結合是一個好方法,邊學習、邊演練,循序漸進,這樣用不了幾次就能將所用到的指令理解、吃透、紮根於腦海,甚至 「 根深蒂固 」 。也就是說,當你學習完幾條指令後 ( 一次數量不求多,只求懂 ) ,接下去就該做實驗了,通過實驗,使你感受到剛才的指令產生的控制效果,眼睛看得見 ( 燈光 ) 、耳朵聽得到 ( 聲音 ) ,更能深刻理解指令是怎樣轉化成信號去實現控制的,通過實驗看到自己所學的成果不僅有一種成就感也能提升你對單片機的興趣。說句實在話,單片機與其說是學出來的,還不如說是做實驗練出來的,何況做實驗本身也是一種學習過程。因此邊學邊練的學習方法,效果特別好。
2 .合理安排時間持之以恆
學習單片機不能 「 三天打魚、兩天曬網 」 ,要有持之以恆的毅力與決 4 心。學習完幾條指令後,就應及時做實驗,融匯貫通,而不要等幾天或幾個星期之後再做實驗,這樣效果不好甚至前學後忘。另外要有打 「 持久戰 」 的心理准備,不要興趣來時學上幾天,無興趣時涼上幾星期。學習單片機很重要的一點就是持之以恆。

3 .遇到問題耐心檢查

單片機有軟硬體兩方面的內容,有時一個程序怎麼調都不出效果,然而從理論分析卻又是對的,這是就要仔細找原因了,學習單片機經常碰到很多問題,有時一兩天都不能解決,這是就要有耐心,從底層找起,相信每找出一個錯誤都會有一個新的收獲。切不可輕言放棄!!!
4 .對只短暫學過一遍的知識,充其量只比浮光掠影稍好。因此,較好的方法是過一段時間後 (1-2 個月 ) 再重新學一遍,學過的知識要經常運用,這樣反復循環幾次就能徹底弄懂消化,永不忘卻。
5 .要進行適當投資購買實驗器材及書籍資料
單片機技術含金量高,一旦學會後,給你帶來的效益當然也高,無論是應聘求職還是自起爐灶開廠辦公司,其前景都光明無限。因此在學習時要捨得適當投資購買必要的學習、實驗器材。另外還要經常去科技圖書店看看,購買一些適合自己學習、提高的書籍。一本好的書籍真的很重要,可以隨時翻閱,隨時補充不懂或遺忘的知識。

學習使用單片機就是理解單片機硬體結構,以及內部資源的應用,在匯編或C語言中學會各種功能的初始化設置,以及實現各種功能的程序編制。
第一步:數字I/O的使用
使用按鈕輸入信號,發光二極體顯示輸出電平,就可以學習引腳的數字I/O功能,在按下某個按鈕後,某發光二極體發亮,這就是數字電路中組合邏輯的功能,雖然很簡單,但是可以學習一般的單片機編程思想,例如,必須設置很多寄存器對引腳進行初始化處理,才能使引腳具備有數字輸入和輸出輸出功能。每使用單片機的一個功能,就要對控制該功能的寄存器進行設置,這就是單片機編程的特點,千萬不要怕麻煩,所有的單片機都是這樣。

第二步:定時器的使用 學會定時器的使用,就可以用單片機實現時序電路,時序電路的功能是強大的,在工業、家用電氣設備的控制中有很多應用,例如,可以用單片機實現一個具有一個按鈕的樓道燈開關,該開關在按鈕按下一次後,燈亮3分鍾後自動滅,當按鈕連續按下兩次後,燈常亮不滅,當按鈕按下時間超過2s,則燈滅。數字集成電路可以實現時序電路,可編程邏輯器件(PLD)可以實現時序電路,可編程式控制制器(PLC)也可以實現時序電路,但是只有單片機實現起來最簡單,成本最低。
定時器的使用是非常重要的,邏輯加時間控制是單片機使用的基礎。

第三步:中斷

單片機的特點是一段程序反復執行,程序中的每個指令的執行都需要一定的執行時間,如果程序沒有執行到某指令,則該指令的動作就不會發生,這樣就會耽誤很多快速發生的事情,例如,按鈕按下時的下降沿。要使單片機在程序正常運行過程中,對快速動作做出反應,就必須使用單片機的中斷功能,該功能就是在快速動作發生後,單片機中斷正常運行的程序,處理快速發生的動作,處理完成後,在返回執行正常的程序。中斷功能使用中的困難是需要精確地知道什麼時候不允許中斷發生(屏蔽中斷)、什麼時候允許中斷發生(開中斷),需要設置哪些寄存器才能使某種中斷起作用,中斷開始時,程序應該干什麼,中斷完成後,程序應該干什麼等等。
中斷學會後,就可以編制更復雜結構的程序,這樣的程序可以干著一件事,監視著一件事,一旦監視的事情發生,就中斷正在乾的事情,處理監視的事情,當然也可以監視多個事情,形象的比喻,中斷功能使單片機具有吃著碗里的,看著鍋里的功能。
以上三步學會,就相當於降龍十八掌武功,會了三掌了,可以勉強護身。

第四步:與PC機進行RS232通信

單片機都有USART介面,特別是MSP430系列中很多型號,都具有兩個USART介面。USART介面不能直接與PC機的RS232介面連接,它們之間的邏輯電平不同,需要使用一個MAX3232晶元進行電平轉換。

USART介面的使用是非常重要的,通過該介面,可以使單片機與PC機之間交換信息,雖然RS232通信並不先進,但是對於介面的學習是非常重要的。正確使用USART介面,需要學習通信協議,PC機的RS232介面編程等等知識。試想,單片機實驗板上的數據顯示在PC機監視器上,而PC機的鍵盤信號可以在單片機實驗板上得到顯示,將是多麼有意思的事情啊!

第五步:學會A/D轉換

MAP430單片機帶有多通道12位A/D轉換器,通過這些A/D轉換器可以使單片機操作模擬量,顯示和檢測電壓、電流等信號。學習時注意模擬地與數字地、參考電壓、采樣時間,轉換速率,轉換誤差等概念。
使用A/D轉換功能的簡單的例子是設計一個電壓表。

第六步:學會PCI、I2C介面和液晶顯示器介面

這些介面的使用可以使單片機更容易連接外部設備,在擴展單片機功能方面非常重要。

第七步:學會比較、捕捉、PWM功能

這些功能可以使單片機能夠控制電機,檢測轉速信號,實現電機調速器等控制起功能。
如果以上七步都學會,就可以設計一般的應用系統,相當於學會十招降龍十八掌,可以出手攻擊了。

第八步:學習USB介面、TCP/IP介面、各種工業匯流排的硬體與軟體設計學習USB介面、TCP/IP介面、各種工業匯流排的硬體與軟體設計是非常重要的,因為這是當前產品開發的發展方向。

到此為止,相當於學會15招降龍十八掌,但還不到打遍天下無敵手的境界。即使如此,也算是單片機大蝦了

㈨ 初學單片機該怎麼去理解那些程序

先理解各個子程序實驗的目的,再慢慢了解每條指令在程序中起到的作用!
如:下面是一個延時子程序,
(匯編)
DELAY:MOV
R0,#20;
LOOP:
MOV
R1,#250;
LOOP1:DJNZ
R1,LOOP1;
DJNZ
R0,LOOP;
RET
先要知道這段程序的作用!延時?是怎麼實驗延時的.
然後分析:
DELAY:MOV
R0,#20;給R0送20次;
LOOP:
MOV
R1,#250;給R1送250次;
LOOP1:DJNZ
R1,LOOP1;將R1的內容減一不等於零就條轉到LOOP1等於零就執行下一條指令
(意思是說要執行這條指令250次)
DJNZ
R0,LOOP;將R0的內容減一不等於零就條轉到LOOP等於零就執行下一條指令
(把LOOP:
MOV
R1,#250;LOOP1:DJNZ
R1,LOOP1;這兩條指令執行20次)
RET
;循環結束返回
你認真算一下這段程序一共執行的多少條指令;一共是5000+2條指令;由於執行"DJNZ
"這條指令要兩個機械周期!假如晶振為12M那麼執行一條需要2us;
這段程序的作用是延時2us*(5000+2)既10MS;
理解程序最好由大到小;
祝你早日成功!

閱讀全文

與怎麼才能更好地理解單片機程序相關的資料

熱點內容
word中化學式的數字怎麼打出來 瀏覽:747
乙酸乙酯化學式怎麼算 瀏覽:1411
沈陽初中的數學是什麼版本的 瀏覽:1364
華為手機家人共享如何查看地理位置 瀏覽:1054
一氧化碳還原氧化鋁化學方程式怎麼配平 瀏覽:894
數學c什麼意思是什麼意思是什麼 瀏覽:1423
中考初中地理如何補 瀏覽:1312
360瀏覽器歷史在哪裡下載迅雷下載 瀏覽:712
數學奧數卡怎麼辦 瀏覽:1402
如何回答地理是什麼 瀏覽:1036
win7如何刪除電腦文件瀏覽歷史 瀏覽:1063
大學物理實驗干什麼用的到 瀏覽:1494
二年級上冊數學框框怎麼填 瀏覽:1713
西安瑞禧生物科技有限公司怎麼樣 瀏覽:1008
武大的分析化學怎麼樣 瀏覽:1256
ige電化學發光偏高怎麼辦 瀏覽:1345
學而思初中英語和語文怎麼樣 瀏覽:1669
下列哪個水飛薊素化學結構 瀏覽:1431
化學理學哪些專業好 瀏覽:1493
數學中的棱的意思是什麼 瀏覽:1072