單片機學習應用的六大重要部分
一、總線:
我們知道,一個電路總是由元器件通過電線連接而成的,在模擬電路中,連線并不成為一個問題,因為各器件間一般是串行關系,各器件之間的連線并不很多,但計算機電路卻不一樣,它是以微處理器為核心,各器件都要與微處理器相連,各器件之間的工作必須相互協調,所以需要的連線就很多了,如果仍如同模擬電路一樣,在各微處理器和各器件間單獨連線,則線的數量將多得驚人,所以在微處理機中引入了總線的概念,各個器件共同享用連線,所有器件的8根數據線全部接到8根公用的線上,即相當于各個器件并聯起來,但僅這樣還不行,如果有兩個器件同時送出數據,一個為0,一個為1,那么,接收方接收到的究竟是什么呢?這種情況是不允許的,所以要通過控制線進行控制,使器件分時工作,任何時候只能有一個器件發送數據(可以有多個器件同時接收)。器件的數據線也就被稱為數據總線,器件所有的控制線被稱為控制總線。在單片機內部或者外部存儲器及其它器件中有存儲單元,這些存儲單元要被分配地址,才能使用,分配地址當然也是以電信號的形式給出的,由于存儲單元比較多,所以,用于地址分配的線也較多,這些線被稱為地址總線。二、數據、地址、指令:
之所以將這三者放在一起,是因為這三者的本質都是一樣的——數字,或者說都是一串‘0’和‘1’組成的序列。換言之,地址、指令也都是數據。指令:由單片機芯片的設計者規定的一種數字,它與我們常用的指令助記符有著嚴格的一一對應關系,不可以由單片機的開發者更改。地址:是尋找單片機內部、外部的存儲單元、輸入輸出口的依據,內部單元的地址值已由芯片設計者規定好,不可更改,外部的單元可以由單片機開發者自行決定,但有一些地址單元是一定要有的(詳見程序的執行過程)。數據:這是由微處理機處理的對象,在各種不同的應用電路中各不相同,一般而言,被處理的數據可能有這么幾種情況: 1?地址(如MOV DPTR,1000H),即地址1000H送入DPTR。
2?方式字或控制字(如MOV TMOD,#3),3即是控制字。
3?常數(如MOV TH0,#10H)10H即定時常數。
4?實際輸出值(如P1口接彩燈,要燈全亮,則執行指令:MOV P1,#0FFH,要燈全暗,則執行指令:MOV P1,#00H)這里0FFH和00H都是實際輸出值。又如用于LED的字形碼,也是實際輸出的值。
理解了地址、指令的本質,就不難理解程序運行過程中為什么會跑飛,會把數據當成指令來執行了。
三、P0口、P2口和P3的第二功能用法:
初學時往往對P0口、P2口和P3口的第二功能用法迷惑不解,認為第二功能和原功能之間要有一個切換的過程,或者說要有一條指令,事實上,各端口的第二功能完全是自動的,不需要用指令來轉換。如P3.6、P3.7分別是WR、RD信號,當微片理機外接RAM或有外部I/O口時,它們被用作第二功能,不能作為通用I/O口使用,只要一微處理機一執行到MOVX指令,就會有相應的信號從P3.6或P3.7送出,不需要事先用指令說明。事實上‘不能作為通用I/O口使用’也并不是‘不能’而是(使用者)‘不會’將其作為通用I/O口使用。你完全可以在指令中按排一條SETB P3.7的指令,并且當單片機執行到這條指令時,也會使P3.7變為高電平,但使用者不會這么去做,因為這通常會導致系統的崩潰。四、程序的執行過程:
單片機在通電復位后8051內的程序計數器(PC)中的值為‘0000’,所以程序總是從‘0000’單元開始執行,也就是說:在系統的ROM中一定要存在‘0000’這個單元,并且在‘0000’單元中存放的一定是一條指令。五、堆棧:
堆棧是一個區域,是用來存放數據的,這個區域本身沒有任何特殊之處,就是內部RAM的一部份,特殊的是它存放和取用數據的方式,即所謂的‘先進后出,后進先出’,并且堆棧有特殊的數據傳輸指令,即‘PUSH’和‘POP’,有一個特殊的專為其服務的單元,即堆棧指針SP,每當執一次PUSH指令時,SP就(在原來值的基礎上)自動加1,每當執行一次POP指令,SP就(在原來值的基礎上)自動減1。由于SP中的值可以用指令加以改變,所以只要在程序開始階段更改了SP的值,就可以把堆棧設置在規定的內存單元中,如在程序開始時,用一條MOV SP,#5FH指令,就時把堆棧設置在從內存單元60H開始的單元中。一般程序的開頭總有這么一條設置堆棧指針的指令,因為開機時,SP的初始值為07H,這樣就使堆棧從08H單元開始往后,而08H到1FH這個區域正是8031的第二、三、四工作寄存器區,經常要被使用,這會造成數據的混亂。不同作者編寫程序時,初始化堆棧指令也不完全相同,這是作者的習慣問題。當設置好堆棧區后,并不意味著該區域成為一種專用內存,它還是可以象普通內存區域一樣使用,只是一般情況下編程者不會把它當成普通內存用了。六、單片機的開發過程:
這里所說的開發過程并不是一般書中所說的從任務分析開始,我們假設已設計并制作好硬件,下面就是編寫軟件的工作。在編寫軟件之前,首先要確定一些常數、地址,事實上這些常數、地址在設計階段已被直接或間接地確定下來了。如當某器件的連線設計好后,其地址也就被確定了,當器件的功能被確定下來后,其控制字也就被確定了。然后用文本編輯器(如EDIT、CCED等)編寫軟件,編寫好后,用編譯器對源程序文件編譯,查錯,直到沒有語法錯誤,除了極簡單的程序外,一般應用仿真機對軟件進行調試,直到程序運行正確為止。運行正確后,就可以寫片(將程序固化在EPROM中)。在源程序被編譯后,生成了擴展名為HEX的目標文件,一般編程器能夠識別這種格式的文件,只要將此文件調入即可寫片。在此,為使大家對整個過程有個認識,舉一例說明: ORG 0000H
LJMP START
ORG 040H
START:
MOV SP,#5FH ;設堆棧
LOOP:
NOP
LJMP LOOP ;循環
- 單片機(665815)
相關推薦
熱點推薦
STM32單片機學習筆記(6):PWM波形產生
利用CubMX生成基于32單片機的HAl庫工程,然后編寫程序在proteus上仿真驗證。本項目最適合沒有開發板的同學學習,零成本利用仿真軟件率先入門STM32單片機。這是第六部分針對STM32單片機內置TIM模塊的PWM波形產生的學習和理解。
2023-07-19 15:34:46
3135
3135
單片機學習六大要素
當成普通內存用了。 六、單片機的開發過程: 這里所說的開發過程并不是一般書中所說的從任務分析開始,我們假設已設計并制作好硬件,下面就是編寫軟件的工作。在編寫軟件之前,首先要確定一些常數、地址
2012-05-24 13:12:20
單片機學習應用六大重要部分
單片機學習應用六大重要部分總線:我們知道,一個電路總是由元器件通過電線連接而成的,在模擬電路中,連線并不成為一個問題,因為各器件間一般是串行關系,各器件之間的連線并不很多,但計算機電路卻不一樣,它是
2017-10-12 15:51:18
單片機學習應用六大重要部分
當成普通內存用了。 六、單片機的開發過程: 這里所說的開發過程并不是一般書中所說的從任務分析開始,我們假設已設計并制作好硬件,下面就是編寫軟件的工作。在編寫軟件之前,首先要確定一些常數、地址
2016-04-21 11:16:01
單片機學習應用六大重要部分
當成普通內存用了。 六、單片機的開發過程: 這里所說的開發過程并不是一般書中所說的從任務分析開始,我們假設已設計并制作好硬件,下面就是編寫軟件的工作。在編寫軟件之前,首先要確定一些常數、地址,事實上
2015-07-27 15:28:33
Azure Sphere的三大要素是什么?
先前 Microsoft 只提出 Azure Sphere 的三大要素,包含 MCU 芯片、MCU 內的操作系統,以及其對應搭配的 Azure 物聯網云端服務。不過,有時卻會看到有些 MCU 芯片上
2021-11-11 07:51:52
C51單片機學習筆記(六)——液晶顯示屏的使用 精選資料推薦
C51單片機學習筆記(六)——液晶顯示屏的使用文章目錄C51單片機學習筆記(六)——液晶顯示屏的使用1.LCD1602的認識1.LCD1602的認識液晶顯示屏簡稱液晶、LCD。各種型號的液晶通常是按
2021-07-15 06:29:05
形成單片機干擾的基本要素有哪些
電子學習之單片機的抗干擾性問題摘自《單片機應用開發實例》影響單片機系統可靠安全運行的主要因素主要來自系統內部和外部的各種電氣干擾,并受系統結構設計、元器件選擇、安裝、制造工藝的影響。這些都是單片機
2021-11-23 06:50:39
請問電視機起振的幾大要素什么?電壓流程是什么順序呢?
我是初學者,最近在電視機的起振幾大要素和電壓流程感到很模糊,所以在此虛心請問各位前輩電視機起振的幾大要素什么?電壓流程是什么順序呢?請各位前輩賜教。在此十分感謝。
2009-04-16 22:09:35
單片機入門學習
想要學習單片機,建立一個單片機學習環境至關重要。為此既可以用傳統的方式,也可以借助于網絡,網絡上有很多有用的資源,利用這些資源,愛好者可以廉價和快速地建立自
2008-09-09 10:18:28
201
201學習單片機總結寶典
學習單片機總結寶典
基于本人學習單片機的痛苦經歷,特編寫本教程,以此獻給廣大
的單片機初學者,希望您能從中受益。
作者提示:本教程乃最通俗易懂
2010-04-14 14:49:09
24531
2453151單片機C語言入門教程--學習單片機前的準備
學習單片機實在不是件易事,一來要購買高價格的編程器,仿真器,二來要學習編程語言,還有眾多種類的單片機選擇真是件讓人頭痛的事.傳統的單片機學習方案是"編程器+仿真器+試驗板
2010-06-28 17:07:50
156
156NY8A050D單片機,AD單片機,九齊代理
?這篇文章將介紹臺灣九齊單片機NY8A050D 6 I/O 8-bit EPROM-Based MCU,包括其特點、應用領域、與其他單片機的比較等內容。一、九齊單片機NY8A050D 6 I/O
2023-11-27 21:54:52
買電腦與JS(奸商)較量之六大要點
買電腦與JS(奸商)較量之六大要點
一般用戶在購機與JS面對面打交道的時候,一定要牢記一條真理:JS的目的就是賺錢,不會平
2010-01-19 17:21:28
547
547ISP單片機實驗板學習
學習單片機離不開實驗,以往單片機的實驗往往依賴于仿真機和單片機學習系統,價格 昂貴,至使學習單片機的門檻很高,很多人不能跨入單片機學習的大門。近年來,隨著FLASH 型單片機的廣泛應用,采用軟件模擬加寫片驗證成為一種經濟實用的實驗方法,尤其是隨著
2011-03-11 16:24:26
126
126PIC單片機教程_PIC單片機學習要點
PIC單片機是一種用來開發去控制外圍設備的集成電路(IC)。本內容向廣大工程師全面的介紹了PIC單片機,涵蓋PIC單片機學習教程、PIC單片機選型、PIC單片機C語言編程、PIC單片機設計應用等。
2012-06-28 15:19:37

單片機視頻教程01:如何學習單片機
《手把手教你學單片機》全套單片機視頻教程01:如何學習單片機 全套單片機視頻教程01:如何學習單片機四部曲 第一步:鸚鵡學舌 第二步:照葫蘆畫瓢 第三步:他山之古可以玫玉 第
2012-08-21 09:19:55
120895
120895
怎樣學習51單片機視頻教程_什么是單片機
電子發燒友網訊:你知道什么是單片機嗎?應該學習哪一種主流的單片機?51單片機作為教學中的主流學習芯片,在學習中要想盡快掌握單片機的學習,應該結合單片機視頻教程來學
2012-09-14 10:36:00
5504
5504單片機學習步驟
學習使用單片機就是理解單片機硬件結構,以及內部資源的應用在C語言中學會各種功能的初始化設置,以及實現各種功能的程序編制。參考視頻:郭天祥十天學會單片機視頻,必備教材:郭天祥《新概念51單片機C語言教程:入門、提高、開發拓展全攻略》,此書為舞蹈機器人基地電子組指定教材。
2015-12-01 18:16:34
3
3單片機初學者必看:這些單片機學習心得要牢記
熟練運用匯編或者C語言程序進行各種功能初始化設置、A/D轉換、單片機接口通訊、數字I/O輸入輸出的使用,并學會捕獲、比較單片機信號源進行分析、編程、控制。下面我總結了單片機學習需要懂得的幾點要素,希望對單片機初學者學習起到一定指引教導作用。
2016-09-23 16:15:47
15083
15083
無線網絡AI戰略應該包含的六大技術要素解析
如果沒有正確的無線網絡AI戰略,IT就無法滿足當前無線網絡用戶嚴格的需求。以下是這一戰略應該包含的六大技術要素。
2017-12-20 14:21:26
6259
6259新手學習單片機的首選:51單片機
學什么單片機最有前途? 這是單片機初學者經常問的問題。對于這個問題,我想沒有人敢下定論。因為每一種單片機各有所長,都適用于其所能充分發揮作用的領域,不存在優差之分。學單片機應該先學51單片機,學會了51單片機再去學其他單片機,這是學習單片機過來人的同感,也是公認的學習方法。
2018-07-15 07:21:00
9600
9600為什么要學習AVR單片機如何學習AVR單片機
系列,就是當今很流行也很著名的AVR單片機,在各種高性能單片機的競爭中,脫穎而出,很受各界電子人士熱愛。很多想學單片機的人都不敢學習AVR,覺得不好入門,其實不然,如果你使用C語言編程,入門都是一樣的,而且當你學好后,不用像學習51的人,還要
2018-10-23 16:42:21
3
3單片機學習入門之單片機基礎知識詳細資料概述
本文檔的主要內容詳細介紹的是單片機學習入門之單片機基礎知識詳細資料概述主要內容包括了:1 MCS-51單片機內部結構2 構建單片機最小系統3 單片機指令系統4 單片機匯編程序設計應用舉例
2018-10-24 11:50:48
80
80如何學習STC單片機詳細STC單片機資料說明
在當前,電子信息類專業的大中專學生和想掌握產品硬件設計的工程師一般都會采用STC系列單片機作為入門的硬件平臺。在學習STC單片機前,還需要解決以下3個基本問題:(1)在學習STC單片機之前,需要
2018-12-15 10:50:05
13315
1331551單片機學習教程之51單片機的六點知識點介紹
本文檔的主要內容詳細介紹的是51單片機學習教程之51單片機的六點知識點介紹包括了:1.51單片機控制蜂鳴器發聲原理,2.RST/Vpd引腳功能,3.數碼顯示管原理分析,4.80C51單片機中斷處理
2019-04-17 17:27:00
3
351單片機的學習步驟
從剛開始接觸單片機,到現在已經有4年的時間了,在這期間學習和使用了51單片機、飛思卡爾單片機,LPC2138,PIC16F887等系列的單片機,每接觸一款單片機,都會經歷熟悉其基本開發,然后將其用于項目中的過程,對于如何學習一款單片機,自己做了如下的總結。
2019-04-20 09:03:00
8860
8860單片機應該如何學習單片機的學習方法說明
基礎理論知識包括模擬電路、數字電路和C語言知識。模擬電路和數字電路屬于抽象學科,要把它學好還得費點精神。在你學習單片機之前,覺得模擬電路和數字電路基礎不好的話,不要急著學習單片機,應該先回顧所學
2019-09-19 17:20:00
2
2應該如何學習單片機?單片機的學習方法總結
從剛開始接觸單片機,到現在已經有4年的時間了,在這期間學習和使用了51單片機、飛思卡爾單片機,LPC2138,PIC16F887等系列的單片機,每接觸一款單片機,都會經歷熟悉其基本開發,然后將其用于項目中的過程,對于如何學習一款單片機,自己做了如下的總結。
2019-08-14 17:32:00
14
14怎么學習單片機外設
雖然題主只是問了怎么學習單片機外設,但我認為,外設的學習與單片機的片上資源同時學習最好,給自己一個項目題目然后動手去寫代碼是最好的。單片機的片上資源就是那些IO口,定時器/計數器,ADC等等。
2020-05-07 14:51:29
4683
4683
新手如何學習單片機開發
如今,微控制器(MCU),也叫單片機,它幾乎無處不在,從簡單的調光開關到復雜的電子系統,比如平常用的手機。那么,學習單片機需要涉及什么?下面小編將盡可能簡單的教新手如何學習單片機開發。
2020-06-29 11:24:39
4770
4770如何快速有效的學習單片機
學習單片機需要具備一定的電路基礎、數字電路、模擬電路、信號系統、C語言編程等相關的基礎知識。單片機的學習包括硬件設計和編程設計,早期單片機用匯編編程的人比較多,現在越來越多的人用C語言進行編程。下面和大家分享一下如何快速有效的學習單片機。
2020-07-15 17:26:55
2555
2555如何學習單片機,學習單片機的步驟是怎樣的
學習單片機的步驟 學習使用單片機就是理解單片機硬件結構,以及內部資源的應用,在匯編或C語言中學會各種功能的初始化設置,以及實現各種功能的程序編制。 第一步:數字I/O的使用 使用按鈕輸入信號
2020-08-03 09:59:27
2279
2279選購碼垛機器人時需要考慮的六大要素是什么
,保證工人的人身安全,實現生產的自動化、智能化、無人化和標準化。 選購碼垛機器人需要考慮的六大要素是:負載、方向、速度、移動、環境和負載循環。負載主要考慮有效負荷,方向和力矩;方向考慮移動的平面,在移動的平
2020-10-21 15:42:17
2133
213351單片機是什么?應該如何學習51單片機
51 單片機是目前使用最多的單片機之一,那么什么是 51 單片機呢?作為新手,又該如何自學 51 單片機?為幫助大家更好的學習 51 單片機,本文將對這兩個問題予以闡述。如果你對 51 單片機具有興趣,不妨繼續往下閱讀哦。
2020-12-23 07:57:00
73
73單片機入門學習教程單片機的詳細概述
本文檔的主要內容詳細介紹的是單片機入門學習教程單片機的詳細概述包括了:什么是單片機,單片機的特點及應用領域,單片機的發展趨勢,學習51單片機需要哪些基礎知識,如何快速的掌握51單片機。
2020-12-10 08:00:00
93
9351單片機學習
單片機概述1.什么是單片機2.單片機的特點及應用領域3.單片機的發展趨勢4.學習51單片機需要哪些基礎知識5.如何快速的掌握51單片機微型計算機的應用形態將cpu芯片、存儲器芯片、I/O接口芯片
2021-11-04 20:51:04
9
9學習單片機我們到底在學習什么?
大家好,本次和大家聊一聊學習單片機的時候,我們到底在學習什么?因為最近斷斷續續的收到一些小伙伴的私信,說我現在在學習單片機課程,學習過程中自己感覺很迷茫,搞不清楚學習單片機到底是需要學習什么;本期
2021-11-13 20:36:06
12
12如何學習單片機?學習單片機的四個步驟
其中一種,其它的都可以觸類旁通,快速上手了。如果你這些條件都沒有,那就跟著我學吧,我建議你學習51 單片機。為什么要學習51單片機:雖然現在單片機種類和型號非常多,每個型號都有一定的市場份額,但是
2021-11-14 09:06:02
5
5單片機學習過程概括
單片機學習的過程應該是一個循序漸進、不斷學習、不斷積累的過程,大致分為三個階段。(1)第一階段:掌握開發單片機的必備基礎知識。首先是熟練掌握單片機的基本原理,雖然現在單片機廠商眾多,但各家單片機
2021-11-14 10:21:00
4
4如何快速學習單片機?聊聊單片機學習基礎
不管是學習什么,快速都對我們有著莫大的吸引力。就像前不久也有幾個同學問到——如何快速學習單片機?針對這個問題,小編還是先來聊聊單片機學習基礎有哪些?也就是掌握單片機的技能包含什么: 1、熟悉
2021-11-14 10:51:01
14
14學習單片機的準備工作
現在單片機已經變得非常熱門,單片機已經變成一個工科大學生的一項必備技能。所以接觸和學習單片機一定要趁早。盡量一進大學就開始學習簡單的單片機。##學習單片機的步驟:當前的單片機種類非常多,例如:51
2021-11-14 11:21:05
12
12如何學習單片機——單片機學習的感悟——以簡單的外設蜂鳴器為例介紹單片機學習方法
?? 本文主要介紹如何學習單片機,分享一下我學單片機的一些感悟,以常見簡單的外設蜂鳴器為例介紹單片機學習方法。????大家有沒有遇到這種情況,單片機學著學著就迷茫了,或者說學過的東西,過段時間就忘了
2021-11-14 11:51:00
14
14C51單片機學習筆記(六)——液晶顯示屏的使用
C51單片機學習筆記(六)——液晶顯示屏的使用文章目錄C51單片機學習筆記(六)——液晶顯示屏的使用1.LCD1602的認識1.LCD1602的認識液晶顯示屏簡稱液晶、LCD。各種型號的液晶通常是按
2021-11-14 12:21:00
18
18如何學習STC單片機
在當前,電子信息類專業的大中專學生和想掌握產品硬件設計的工程師一般都會采用STC系列單片機作為入門的硬件平臺。在學習STC單片機前,還需要解決以下3個基本問題:(1)在學習STC單片機之前,需要
2021-11-14 13:06:00
25
25如何快速學習單片機?我們來聊聊單片機學習基礎
不管是學習什么,快速都對我們有著莫大的吸引力。就像前不久也有幾個同學問到——如何快速學習單片機?針對這個問題,小編還是先來聊聊單片機學習基礎有哪些?也就是掌握單片機的技能包含什么: 1、熟悉
2021-11-14 14:51:01
10
10和生活一起理解51單片機① 如何入門學習單片機
如何入門學習單片機1、先說說博主51單片機歷程1.1 大一暑假,老師忽悠留校自學1.2 暑假結束,成果?1.3 后續學習?2、再談談關于如何學習51單片機的建議2.1 硬件上,必須自備一塊開發板
2021-11-14 16:51:05
21
21如何更快的學習單片機?
說明:學習交流加(可免費幫忙下載CSDN資源):個人微信:coderAllen學習交流資源分享①群:736386324這個是我回答的一個問題,總結成文章以供參考。我是從大一就開始接觸單片機,學過很多
2021-11-14 17:21:04
8
8新手如何學習單片機?看完本文不再迷惘,按部就班成為單片機大牛
單片機學習起來其實不難,反而是一件比較有趣的事情,之所以新手感覺比較難是因為不知道該怎么入手,從哪里開始學起。學習單片機需要動手,不是照著課本去死記硬背。所以學習單片機的第一個概念:確定好所學習
2021-11-14 17:51:00
14
14單片機原理與實踐學習記錄
件的協調才可發揮其自身的強大功能,所以我們在學習單片機知識的同時不能僅僅學習單片機的一種芯片,還要循序漸進地學習它外圍的數字及模擬芯片知識,還要學習常用到的外圍電路的設計與調試方法等。? 單片機屬于控制類數字芯片,目前其應用領域
2021-11-23 16:23:00
16
16單片機學習之旅(一)
**單片機學習之旅(一)**第一次看到單片機是b站上,一個博主用單片機制作了一個指紋鎖,當時就感覺單片機真的好神奇。上個學期購買了一個普中51單片機開發板,但并未進行深入的學習。這幾天,同過觀看學長
2021-12-02 11:06:11
8
8新手學習單片機最常見的六大誤區!
最近看到臺私信要資料的同學比較多,想必大家都是對單片機有著濃厚的學習興趣,但是很多新手開始入門單片機的時候都會遇到一些學習的誤區,今天就來整理一下大家可能會遇到的六大誤區。單片機作為嵌入式系統的核心
2024-03-28 08:03:54
1796
1796
電子發燒友App


評論