㈠ 單片機程序中的底層驅動程序和應用程序
驅動程序與硬體相關,編寫驅動程序要非常了解硬體,同時給應用層提供API函數介面,應用層可以調用這些介面去訪問硬體而不必了解硬體.
應用程序是根據實際應用去編寫.
比如說你有一個應用是控制每天早上六點鍾開燈.應用程序只負責在適當的時間做適當的事(到六點了,我要開燈了,按下按鍵);具體它不知道為什麼按下鍵就能開燈,因為按下鍵後開燈的事情就是驅動程序完成了.
㈡ 單片機程序裡面,經常聽說底層,中間層,應用層,什麼意思 51單片機也需要這么分層嗎
一般當程序比較大、功能比較繁多,需要進行結構化程序設計的時候,才會進行分層。分層的好處是可以將應用與硬體剝離,當硬體發生變更(移植,設計更改)時只需改動底層以及少量中間層;當需求發生變更時只需改動上層以及少量中間層。
底層一般是直接訪問硬體的介面,以串口而言如寄存器操作函數;中間層一般是在底層與上層之間進行數據及信息的轉換,以串口而言如封包/拆包/消息產生/消息響應;上層一般面向應用,在很少考慮硬體實現的前提下以通用的方式實現所需的功能,以串口而言如printf。
分這么多層是為了不同程度的開發人員可以同期工作的原因。比如說,底層就僱傭一個特別熟悉晶元和硬體的人做,中間層大概要找比較熟悉應用的人來把硬體功能來做擴展,應用層就隨便抓一把人來開發了。
這樣,多個項目可以公用一個硬體層,有兩到三組中間層的支持工程師,然後每個項目各有一組應用工程師就好了。51也可以這樣做,這和效率無關,層做得好,執行效率不會影響很大,開發效率提高很多。
單片機的應用:
1,通用專用:
這是按單片機適用范圍來區分的。例如,80C51是通用型單片機,它不是為某種專用途設計的;專用型單片機是針對一類產品甚至某一個產品設計生產的,例如為了滿足電子體溫計的要求,在片內集成ADC介面等功能的溫度測量控制電路。
2,線型應用:
這是按單片機是否提供並行匯流排來區分的。匯流排型單片機普遍設置有並行地址匯流排、數據匯流排、控制匯流排,這些引腳用以擴展並行外圍器件都可通過串列口與單片機連接,另外,許多單片機已把所需要的外圍器件及外設介面集成一片內,因此在許多情況下可以不要並行擴展匯流排,大大減省封裝成本和晶元體積。
3,控制型應用:
這是按照單片機大致應用的領域進行區分的。一般而言,工控型定址范圍大,運算能力強;用於家電的單片機多為專用型,通常是小封裝、低價格,外圍器件和外設介面集成度高。 顯然,上述分類並不是唯一的和嚴格的。例如,80C51類單片機既是通用型又是匯流排型,還可以作工控用。
㈢ 單片機底層開發指的是什麼
單片機底層開發一般指利用單片機的固有資源完成的控制功能的軟硬體開發,比如通訊協議及驅動(SPI,232,485,IIC,CAN,IR等)、AD轉換、各種現場控制、各種環境狀況測控、電機控制、電磁閥、繼電器控制、鍵盤掃描、LED和LCD顯示等等。
㈣ 單片機裡面有程序嗎程序怎麼才能讀出來
最早的單片機裡面是沒有程序的,程序是在外置的程序存儲器裡面。現在大多數單片機都把程序銀仔凱區做在片內,做到真正的單片機。早期的單片機都是一次性寫入(OTP)的,現在很多都是FLASH的,可以反復寫的。最早的單片機是沒有加密的,是可以直接讀出來2進制的機器碼,直接就可以寫入另外一個單片機中。現在基戚搭本上都做了加密,正常的去讀是讀不出來的。
㈤ 單片機學習中,敢問各位大蝦底層匯流排驅動程序是自己寫還是『拿來主義』呢
只要有時序圖,那麼兩者基本一樣。其實沒有所謂的拿來還是使用他們的驅動,功能實現是一致的,只是說如果你寫的是上層應用層程序那麼底層程序也就不用考慮太細,直接用人家已經測試好的即可;如果你想寫底層的驅動程序,對速度又有額外的要求那麼推薦按照時序圖自己書寫。看需求,祝好~
我不知道下面的問題補充是讓我們回答什麼,見諒。