專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命
提供開(kāi)發(fā)工具、應(yīng)用測(cè)試 完善的開(kāi)發(fā)代碼案例庫(kù)分享
從全面的產(chǎn)品導(dǎo)入到強(qiáng)大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無(wú)限潛能!
提供新的芯片及解決方案,提升客戶產(chǎn)品競(jìng)爭(zhēng)力
提供最新的單片機(jī)資訊,行業(yè)消息以及公司新聞動(dòng)態(tài)
什么是嵌入式編程?對(duì)于嵌入式系統(tǒng),許多人很容易將它與單片機(jī)編程混淆。其實(shí),嵌入式編程指的是在我們生活中的房屋、汽車、工作場(chǎng)所中的計(jì)算機(jī)編程設(shè)備,嵌入式系統(tǒng)便是運(yùn)行于其中。需要指出的是,所有單片機(jī)編程都是嵌入式編程,但并非所有嵌入式編程都是單片機(jī)編程。有時(shí),這些術(shù)語(yǔ)可以互換使用,但是本教程系列的重點(diǎn)始終是單片機(jī)。
對(duì)于你使用的每臺(tái)臺(tái)式機(jī)、筆記本電腦或平板電腦,這些設(shè)備可能會(huì)有十幾個(gè)或更多單片機(jī)悄悄地在執(zhí)行其嵌入式任務(wù),而對(duì)于這些設(shè)備,許多人甚至沒(méi)有意識(shí)到,單片機(jī)是一臺(tái)微型計(jì)算機(jī)中的微型計(jì)算機(jī)。那些程序必須編寫在單片機(jī)上,比如控制充電、放電之類,這就是為什么世界需要嵌入式程序的原因。單片機(jī)為無(wú)數(shù)的設(shè)備和系統(tǒng)增加了智能,使這些設(shè)備和系統(tǒng)可以更好、更快、更安全、更有效、更方便、更有用地運(yùn)行,并且在許多情況下允許存在無(wú)法構(gòu)建的設(shè)備和系統(tǒng)。
環(huán)顧四周所有電器,你會(huì)發(fā)現(xiàn)有很多使用單片機(jī)的電器和電子產(chǎn)品。最重要的是,包括我在內(nèi)的許多人發(fā)現(xiàn),單片機(jī)編程是編程特別引人入勝的分支,我們喜歡對(duì)嵌入式系統(tǒng)進(jìn)行編程。在從方式大多數(shù)臺(tái)式機(jī)或大型機(jī)編程非常不同,嵌入式程序做的東西做的東西,到嵌入式程序員,東西做的東西是無(wú)止境涼爽。
什么是嵌入式系統(tǒng)?這個(gè)問(wèn)題沒(méi)有完美的答案,因?yàn)槊總€(gè)答案都會(huì)有一些例外。但是,出于本文的目的,讓我們先聲明,嵌入式系統(tǒng)是使用一個(gè)或多個(gè)微型計(jì)算機(jī)(即小型到非常非常小的計(jì)算機(jī)),運(yùn)行定制專用程序并連接到專用硬件以執(zhí)行一組專用功能的嵌入式系統(tǒng)。這可以與通用計(jì)算機(jī)(如熟悉的臺(tái)式機(jī)或筆記本電腦)形成對(duì)比,后者不能設(shè)計(jì)為僅運(yùn)行帶有一組專用硬件的專用程序。很繞口,而且也不是一個(gè)完美的定義,但這可以成為你認(rèn)識(shí)單片機(jī)和嵌入式系統(tǒng)的一個(gè)開(kāi)始?!?br/>
目前,嵌入式系統(tǒng)應(yīng)用很廣泛,這里列舉一些使用案例:
1.報(bào)警或安全系統(tǒng);
2.汽車巡航控制;
3.空調(diào)溫控器;
4.微波爐;
5.防抱死制動(dòng)控制器;
6.紅綠燈控制器;
7.自動(dòng)售貨機(jī);
8.加油站;
9.掌上游戲;
10.灌溉系統(tǒng)控制器。
這里所列出的例子并不復(fù)雜,因?yàn)檫@畢竟是一個(gè)入門教程。在本教程系列結(jié)束之前,你應(yīng)該大致了解如何對(duì)這些應(yīng)用程序中的大多數(shù)進(jìn)行編程,以及大致而言它們將需要哪種I/O,定時(shí),中斷以及通信硬件和功能?!?br/>
有幾件事值得注意,盡管許多嵌入式系統(tǒng)使用相當(dāng)傳統(tǒng)的用戶輸入輸出設(shè)備(鍵盤,顯示器),但許多其他系統(tǒng)卻沒(méi)有。而且,許多嵌入式系統(tǒng)都直接與人互動(dòng),而其他系統(tǒng)則沒(méi)有這功能。
嵌入式編程有何不同?嵌入式程序必須與構(gòu)成硬件的專用組件和自定義電路緊密配合。與在全功能操作系統(tǒng)之上進(jìn)行編程不同(在硬件上,盡可能多地從程序員的注意和控制中刪除硬件細(xì)節(jié)),大多數(shù)嵌入式編程直接在硬件上或在硬件上起作用。這不僅包括CPU的硬件,還包括構(gòu)成系統(tǒng)所有外圍設(shè)備(片上和片外)的硬件。因此,嵌入式程序員必須至少具有硬件方面的知識(shí),至少與編寫與該硬件正確交互并對(duì)其進(jìn)行操作的軟件有關(guān)。這些知識(shí)通常會(huì)擴(kuò)展到指定硬件的關(guān)鍵組件(單片機(jī),存儲(chǔ)設(shè)備,I/O設(shè)備等),在較小的組織中,有時(shí)甚至?xí)ピO(shè)計(jì)和布局(作為印刷電路板)硬件。嵌入式程序員還需要對(duì)調(diào)試設(shè)備有很好的了解,例如萬(wàn)用表,示波器,邏輯分析儀等。
與通用計(jì)算機(jī)的另一個(gè)不同之處在于,與前者相比大多數(shù)嵌入式系統(tǒng)非常有限。嵌入式系統(tǒng)中使用的微型計(jì)算機(jī)可能具有幾千到幾十萬(wàn)字節(jié)的程序存儲(chǔ)器大小,而不是臺(tái)式機(jī)中的千兆字節(jié),并且通常具有比程序存儲(chǔ)器更少的數(shù)據(jù)(RAM)存儲(chǔ)器。此外,CPU通常是較小的8位和16位設(shè)備,而不是臺(tái)式機(jī)中的32位和較大的設(shè)備(盡管現(xiàn)在,中型的32位小型單片機(jī)的價(jià)格不到1美元,這令人驚訝地驚人)。較小的CPU字長(zhǎng)意味著,與在較大字長(zhǎng)的CPU上運(yùn)行的等效程序相比,程序?qū)⑿枰嘀噶睿ㄒ蚨枰鄷r(shí)鐘周期)。
最后,較小的單片機(jī)的運(yùn)行速度遠(yuǎn)小于PC的運(yùn)行速度。典型的較小的單片機(jī)時(shí)鐘頻率在1到200 MHz之間,而不是PC的GHz頻率。