|
大多數(shù)人是不希望上來就看到一大堆代碼和英文的。
人們更希望有中文的理論和詳細(xì)的說明。
所以,我們采用引誘的方式,提出問題,然后給出解決辦法,最后等你真的明白理論的時候,我們把解決辦法與代碼對應(yīng)著拿出來。
現(xiàn)在我們的回到話題,什么是程序
書面給出的答案是,機(jī)器在運行時,那些執(zhí)行指令的序列,叫程序
看到這里你有什么感想,太多的名詞不明白,或者看起來熟悉,卻沒有很透徹的體會,是的。
書,作為作品,必須精簡正確。但很難通俗易懂。
在我的世界里,學(xué)習(xí)是愉快的,因為我一定會多打比方,多聯(lián)系人類社會里的現(xiàn)象,找出邏輯關(guān)系
其實程序就是做一件事情的先后循序。程序的程,有過程的意識,而序,當(dāng)然是序列的意識了
比如,我想做一道鍋包肉的菜,我的程序是
1選材,(肉,各種調(diào)料)
2工具,鍋碗瓢盆
3制作工藝,先切肉,上漿,油炸,烹飪,成盤
當(dāng)然,這里還有許多細(xì)節(jié)沒寫(畢竟我們不是烹飪學(xué)校科班出身對吧)
但基本上已經(jīng)說明,做一件事情的步驟序列了,
計算機(jī)程序(或單片機(jī)程序)也是一樣的
我們也要
1選材(用那些數(shù)據(jù),常量數(shù),變量,等等)
2工具(我們采用哪一種語言,和相對應(yīng)的編譯器)
3制作工藝(先加誰,后減誰,放在那里,什么時候輸出)
這就是程序
定義方面就算是過關(guān)了,等你真的寫了好多程序的時候,那時候你也可能像今天的我一樣侃侃而談,取告訴別人什么是程序
程序在那里!
芯片分兩種,
一種是有ALU(運算器)的,
一種是沒有ALU的
計算機(jī)和51單片機(jī),都屬于有運算器的
像164,595,138這樣的芯片是沒有運算器ALU的
單片機(jī)和電腦從邏輯機(jī)構(gòu)上說,都一樣
1 運算器
2存儲器
3控制器
4時鐘
5總線
這5個部件共同組成了CPU
我們的程序,是存儲在存儲器里的,是會被運算器執(zhí)行的
我們的程序在存儲器中被提取出來,送到運算器和控制器,經(jīng)過讀取和執(zhí)行,最終將我們的代碼(0000 1000)這樣的編程電器信號
機(jī)器就根據(jù)我們寫的代碼,對等的用電器信號驅(qū)使機(jī)器工作
系統(tǒng)除了要有 內(nèi)存(里邊的程序) 運算器/控制器 總線,
更要有外圍設(shè)備,(各種傳感器)
外部的顯示世界里的信息,溫度,濕度,光照度,聲音,重量等等,是借助對應(yīng)的傳感器,變成數(shù)字信號的
單片機(jī)根據(jù)程序的指令,科學(xué)且有條不紊的接收數(shù)字信號
程序內(nèi)部,對數(shù)據(jù)進(jìn)行處理判斷 最后得出想要的結(jié)果
程序控制單片機(jī)(機(jī)器),發(fā)出控制指令,智慧外圍設(shè)備的另一部分 工作,達(dá)到預(yù)期的效果
舉例 (空調(diào))
溫度傳感器 探測 室內(nèi)溫度
單片機(jī)在程序的指揮下,接收溫度傳感器的數(shù)據(jù)信息(溫度數(shù)值)
程序判斷外部溫度N 然后與用戶設(shè)定的舒適溫度M 比較
如果(N< M){ 太冷,我們發(fā)出控制信號,驅(qū)動制暖電機(jī)轉(zhuǎn)動 }
否則(N=M ){ 停止所有電機(jī)轉(zhuǎn)動,進(jìn)入待機(jī)狀態(tài)(溫度傳感器除外)}
否則(N>M ){ 太熱,我們發(fā)出控制信號,驅(qū)動制冷電機(jī)轉(zhuǎn)動 }
如此循環(huán)判斷,驅(qū)動(冷熱電機(jī))工作,達(dá)到空調(diào)的目的
在這里,有硬件,有程序,還有數(shù)據(jù)
硬件是工作的主體
程序硬件的靈魂
數(shù)據(jù)是程序的骨架
學(xué)單片機(jī),要軟硬兼施。
|
評分
-
查看全部評分
|