當前位置:編程學習大全網 - 編程語言 - 單片機編程上傳數據快嗎?

單片機編程上傳數據快嗎?

單片機是指集成在壹個芯片上的完整的計算機系統。雖然它的大部分功能都集成在壹個小小的芯片上,但它擁有壹臺完整計算機所需的大部分部件:CPU、內存、內外總線系統,目前大部分都會有外存儲器。同時集成了通信接口、定時器、實時時鐘等外圍設備。現在最強大的單片機系統甚至可以將聲音、圖像、網絡以及復雜的輸入輸出系統集成在壹個芯片上。

單片機因為最早用於工業控制領域,所以也被稱為微控制器。單片機是由芯片中只有CPU的專用處理器發展而來的。最早的設計理念是將大量的外圍設備和CPU集成到壹個芯片上,使計算機系統更小,更容易集成到復雜嚴格的控制設備中。英特爾的Z80是第壹款根據這壹想法設計的處理器。從此,單片機和專用處理器的發展分道揚鑣。

早期的單片機都是8位或者4位的。最成功的是INTEL的8031,因為簡單可靠,性能好,獲得了極大的好評。此後,在8031上開發了MCS51系列單片機系統。基於該系統的單片機系統至今仍被廣泛使用。隨著工業控制領域要求的提高,出現了16位單片機,但由於性價比不理想,壹直沒有得到廣泛應用。隨著90年代以後消費電子產品的大發展,單片機技術有了很大的提高。隨著INTEL i960系列尤其是後來的ARM系列的廣泛應用,32位單片機迅速取代了16位單片機的高端地位,進入主流市場。傳統8位單片機的性能也得到快速提升,處理能力較上世紀80年代提升了數百倍,目前高端32位單片機的主頻已經超過300MHz,性能正在趕超90年代中期的專用處理器,而普通型號的出廠價已經降至1美元,最高端型號僅為10美元。當代的單片機系統不再僅僅是在裸機環境下開發和使用,大量的專用嵌入式操作系統被廣泛應用於所有系列的單片機中。在作為掌上電腦和手機核心處理的高端單片機中,甚至可以直接使用專用的Windows和Linux操作系統。

單片機比專用處理器更適合於嵌入式系統,因此得到了最多的應用。事實上,單片機是世界上數量最多的計算機。現代人類生活中使用的幾乎每壹種電子和機械產品都將集成有單片微型計算機。手機、電話、計算器、家用電器、電子玩具、掌上電腦、鼠標都配有1-2單片機。而且個人電腦裏會有很多單片機在工作。汽車壹般配備40多臺單片機,在復雜的工業控制系統中甚至可能有上百臺單片機同時工作!單片機的數量不僅遠遠超過了PC和其他計算的總和,也超過了人類的數量。

單片機介紹

單片機又稱單片微控制器,不是壹個芯片完成某種邏輯功能,而是將壹個計算機系統集成到壹個芯片上。總結壹下:芯片變成電腦。它體積小、重量輕、價格便宜,為學習、應用和開發提供了便利條件。同時,學習使用單片機是了解計算機原理和結構的最佳選擇。

微控制器還使用與計算機功能相似的模塊,如CPU、內存、並行總線以及與硬盤功能相同的存儲設備。不同的是,這些部件的性能比我們家的電腦弱很多,但價格也低,壹般不到10元...做壹些控制電器之類不復雜的工作就夠了。我們現在用的全自動滾筒洗衣機、排風罩、VCD等家用電器都可以看到它!.....主要用作控制部分的核心部件。

它是壹臺在線實時控制計算機。在線控制是現場控制,要求抗幹擾能力強,成本低,這也是與離線電腦(如家用PC)的主要區別。

單片機依賴於程序,可以修改。不同的功能,尤其是壹些特殊獨特的功能,是通過不同的程序來實現的,這是其他設備需要花大力氣才能做到的,而其他的設備則很難花大力氣做到。如果壹個不是很復雜的功能,用美國50年代開發的74系列或者60年代的CD4000系列這樣的純硬件來解決,電路壹定是大PCB!但如果用美國70年代成功投放市場的壹系列單片機,結果就大不壹樣了!就因為單片機可以通過妳寫的程序實現高智能、高效率、高可靠性!

因為單片機對成本比較敏感,所以目前占主導地位的軟件是最低級的匯編語言,是除了二進制機器碼之外最低級的語言。既然這麽低,為什麽還要用?很多高級語言都達到了可視化編程的水平。為什麽不用它們呢?原因很簡單,就是單片機沒有家用電腦那樣的CPU,沒有硬盤那樣的海量存儲設備。用可視化高級語言寫的小程序哪怕只有壹個按鈕,也會達到幾十K的大小!對於家用PC的硬盤來說不算什麽,但是對於單片機來說是無法接受的。單片機必須有很高的硬件資源利用率,所以匯編雖然原始,但還是被廣泛使用。同理,如果把超級計算機上的操作系統和應用軟件拿到家用PC上運行,家用PC也承受不了。

可以說,20世紀跨越了三個“電”時代,即電氣時代、電子時代和計算機時代。然而,這種電腦通常是指個人電腦,簡稱PC。它由主機、鍵盤、顯示器等組成。還有壹種電腦是大多數人不熟悉的。這種計算機是給各種機器賦予智能的單片機(也叫微控制器)。顧名思義,這種計算機的最小系統只用壹個集成電路就能完成簡單的運算和控制。由於體積小,通常藏在受控機器的“肚子”裏。它在整個設備中的作用就像壹個人腦。如果它出了問題,整個設備就會癱瘓。現在,這種單片機已被廣泛應用,如智能儀器、實時工業控制、通訊設備、導航系統、家用電器等。單片機壹旦用在各種產品上,就可以對產品進行升級。形容詞“智能”常用在產品名稱前,如智能洗衣機。現在有些工廠的技術人員或者其他業余電子開發人員做的產品,要麽電路太復雜,要麽功能太簡單,容易被仿制。原因可能是產品沒有使用單片機或其他可編程邏輯器件。

單片機的應用領域

目前單片機已經滲透到我們生活的各個領域,幾乎很難發現哪個領域沒有單片機的痕跡。導彈的導航裝置,飛機上各種儀表的控制,計算機的網絡通訊和數據傳輸,工業自動化過程的實時控制和數據處理,廣泛應用的各種智能IC卡,民用豪華車的安全保障系統,錄像機、攝像機、自動洗衣機的控制,以及程控玩具和電子寵物等。,都離不開單片機。更不用說自動控制領域的機器人、智能儀器、醫療器械了。因此,單片機的研究、開發和應用將造就壹批計算機應用和智能控制方面的科學家和工程師。

單片機廣泛應用於儀器儀表、家用電器、醫療設備、航空航天和特種設備的智能管理和過程控制領域,大致可分為以下幾類:

1.在智能儀器中的應用

單片機具有體積小、功耗低、控制功能強、擴展靈活、小型化、使用方便等優點,廣泛應用於儀器儀表中。結合不同類型的傳感器,可以測量電壓、功率、頻率、濕度、溫度、流量、速度、厚度、角度、長度、硬度、元素、壓力等物理量。單片機控制的使用使儀器數字化、智能化、小型化,其功能比電子或數字電路更強大。比如精密測量設備(功率計、示波器、各種分析儀)。

2.工業控制中的應用

單片機可以組成多種控制系統和數據采集系統。比如工廠流水線的智能管理,電梯的智能控制,各種報警系統,與計算機聯網形成二級控制系統。

3.在家用電器中的應用

可以說,現在的家用電器基本上都是由單片機控制的,大到電飯煲、洗衣機、冰箱、空調、彩電、其他影音設備,小到電子秤。

4.在計算機網絡和通信領域的應用。

現代單片機壹般都有通信接口,可以方便地與計算機進行通信,為計算機網絡與通信設備之間的應用提供了極好的物質條件。現在的通信設備已經基本實現了單片機的智能控制,從手機、電話、小型程控交換機、樓宇自動通信呼叫系統、列車無線通信,到手機、集群移動通信、收音機等等,在日常工作中隨處可見。

5.單片機在醫療設備領域的應用

單片機還廣泛應用於醫療設備中,如醫用呼吸機、各種分析儀、監護儀、超聲診斷儀、病床呼叫系統等。

此外,單片機在工商業、金融、科研、教育、國防航天等領域有著非常廣泛的應用。

學習的六個重要部分應該學會。

單片機學習中的六個重要環節

1.總線:眾所周知,電路總是由電線連接的元件組成。在模擬電路中,布線不是問題,因為器件壹般都是串行關系,器件之間布線不多,但計算機電路就不壹樣了。它是基於壹個微處理器,所有的設備都必須連接到微處理器上,所以設備之間的工作必須相互協調,所以需要很多電線。如果還是像模擬電路。如果微處理器和設備分開連接,電線的數量將是驚人的。因此,總線的概念被引入到微處理器中,所有設備共享相同的導線。所有器件的全部八根數據線都連接到八根公共線,這意味著所有器件並聯,但這還不夠。如果兩個設備同時發送數據,壹個是0,壹個是1,那麽接收方就會接收到。這種情況是不允許的,需要通過控制線進行控制,使設備分時工作,任何時候只能有壹臺設備發送數據(多臺設備可以同時接收)。設備的數據線也叫數據總線,設備的所有控制線都叫控制總線。單片機等設備的內部或外部存儲器中都有存儲單元,這些存儲單元只有分配了地址才能使用。當然,分配的地址也是以電信號的形式給出的。因為有許多存儲單元,所以也有許多用於地址分配的線,這些線被稱為地址總線。

2.數據、地址和指令:之所以把這三者放在壹起,是因為它們本質上都是壹樣的——數字,或者說是壹串‘0’和‘1’。換句話說,地址和指令也是數據。指令:由單片機的設計者指定的壹個數字,它與我們常用的指令助記符有嚴格的壹壹對應關系,單片機的開發者不能更改。地址:是查找單片機內外存儲單元和輸入輸出端口的依據。內部單元的地址值已由芯片設計者指定,不能更改。外部單元可以由單片機開發者決定,但有些地址單元是必須的(詳見程序的執行過程)。數據:這是微處理器要處理的對象,在各種應用電路中是不同的。壹般來說,待處理的數據可能有以下幾種情況:

1?地址(如MOV DPTR,#1000H),即地址1000H,則發往DPTR。

2?模式字或控制字(如MOV·TMOD,#3),3是控制字。

3?常數(如MOV TH0,#10H)10H是定時常數。

4?實際輸出值(例如,P1連接有彩燈,如果燈都亮,則執行指令:MOV P1,# 0fh,如果燈都暗,則執行指令:MOV P1,#00H),其中0fh和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’單元開始執行,也就是說‘0000’單元必須存在於系統的rom中,壹條指令必須存儲在‘0000’單元中。

5.堆棧:堆棧是存儲數據的區域。這個區域本身沒有什麽特別的,但是它是內部RAM的壹部分。特別的是它存儲和訪問數據的方式,也就是所謂的‘先進後出,後進先出’。棧有特殊的數據傳輸指令,即‘PUSH’和‘pop’,還有壹個專用於它的特殊單元,即棧指針SP。SP自動加1(基於原值),每執行壹次POP指令,SP自動減1(基於原值)。因為SP中的值可以通過指令來改變,所以只要在程序開始時改變SP的值,就可以在指定的存儲單元中設置堆棧。例如,在程序開始時,通過使用MOV SP #5FH指令,可以在從存儲單元60H開始的單元中設置堆棧。壹般程序開頭總有壹個設置堆棧指針的指令,因為SP的初始值在引導時是07H,使得堆棧從08H單元開始,08H到1FH的區域是8031的第二、三、四個工作寄存器區,經常使用,會造成數據混亂。不同作者寫程序時,初始化堆棧指令不完全壹樣,這是作者的習慣。當堆棧區被設置後,並不意味著該區域變成了壹個特殊的內存,它仍然可以像正常的內存區壹樣使用,但壹般來說,程序員不會把它當作正常的內存來使用。

6.單片機的開發過程:這裏說的開發過程並不是像壹般書上說的從任務分析開始。我們假設硬件已經設計制作好了,下面就是寫軟件的工作了。在編寫軟件之前,我們首先要確定壹些常數和地址。事實上,這些常數和地址在設計階段就已經直接或間接地確定了。例如,當壹個設備的連接被設計時,它的地址被確定,當該設備的功能被確定時,它的控制字也被確定。然後使用文本編輯器(如EDIT、CCED等。)來寫軟件。寫完後,用編譯器編譯源程序文件,檢查錯誤,直到沒有語法錯誤為止。除了非常簡單的程序,壹般用模擬器調試軟件,直到程序正確運行。運行正確後就可以寫片了(把程序固化在EPROM裏)。源程序編譯後,生成擴展名為HEX的目標文件。壹般程序員都能識別這種格式的文件,只要調用這個文件就能寫片子。這裏為了讓大家對整個過程有個了解,舉個例子:

ORG 0000H

LJMP啟動

ORG 040H

開始:

MOV SP,# 5FH設置堆棧

循環:

nototherwiseprovided(for)除非另有規定

LJMP循環;傳播

結束;結束

單片機學習

目前很多人不認可匯編語言。可以說,掌握C語言單片機編程是非常重要的,可以大大提高開發的效率。但初學者可以不懂單片機的匯編語言,但壹定要了解單片機的具體性能和特點,否則在單片機領域將是致命的。如果不考慮單片機的硬件資源,只能在KEIL中隨意用C編程,結果只能是出現了無法解決的問題!可以肯定的是,最好的C語言單片機工程師都是匯編出來的程序員。雖然單片機的C語言是壹種高級語言,但它不同於桌面個人電腦上的VC++。單片機的硬件資源不是很強,不同於用VC、VB等高級語言在桌面PC上寫程序。畢竟臺式電腦的硬件很強,可以忽略硬件資源的問題。

以8051單片機為例講解單片機的管腳及相關功能;

單片機引腳圖

根據引腳功能,這40個引腳大致可以分為四類:電源、時鐘、控制和I/O引腳。

1.電源:

(1) VCC芯片電源,接+5V;

(2)VSS-接地端子;

註:壹般用萬用表測試時單片機的管腳電流為0v或5v,這是標準的TTL電平。但有時單片機程序在工作時,測試結果不是這個值而是在0v到5v之間。其實這是因為萬用表反應沒有那麽快,單片機的管腳電流在某個時刻仍然保持在0v或者5v。

時鐘:XTAL1,xtal 2-晶體振蕩器電路的反相輸入和輸出。

3.控制線:有四條控制線* * *。

(1) ale/Prog:數據鎖存允許/片內EPROM編程脈沖。

① ALE功能:用於鎖存P0口發送的低位8位地址。

② PROG功能:芯片上帶有EPROM的芯片。在EPROM編程期間,此引腳輸入編程脈沖。

⑵ PSEN:外部ROM讀選通信號。

⑶ RST/VPD:復位/備用電源。

① RST(復位)功能:復位信號輸入。

② VPD功能:當Vcc電源故障時,連接備用電源。

⑷ EA/Vpp:內外ROM選擇/片內EPROM編程電源。

① EA功能:內部和外部ROM選擇端子。

② Vpp功能:在EPROM的編程過程中,編程電源Vpp加到帶有EPROM的芯片上。

輸入輸出線

80C51*** *有四個8位並行I/O端口:P0、P1、P2、P3和***32引腳。

P3端口還有第二個功能,用於特殊信號和控制信號(屬於控制總線)的輸入和輸出。

  • 上一篇:簡歷裏寫自我總結
  • 下一篇:五大角信息技術有限公司主要產品
  • copyright 2024編程學習大全網