freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

單片機教程第一課單片機概述(完整版)

2025-08-01 12:39上一頁面

下一頁面
  

【正文】 和滅就可以用電路的輸出是高電平還是低電平來替代了。 籟叢媽羥為贍僨蟶練淨。輸出高電平,燈當然不亮,要是亮就錯了。第一,計算機看不懂 之類的指令,我們得把指令翻譯成計算機能懂的方式,再讓計算機去讀。低39。按照這個圖的接法,當腳是高電平時,不亮,只有腳是低電平時,才發(fā)亮。 、 復(fù)位引腳:按圖中畫法連好,至于復(fù)位是何含義及為何需要復(fù)要復(fù)位,在單片機功能中介紹。以后我們將用來完成一系列的實驗。為什么會這樣呢? 功能有強弱,打個比方,市場上面有的組合音響一套才賣幾百塊錢,可是有的一臺功放機就要賣好幾千。而在單片機中,這些部份,全部被做到一塊集成電路芯片中了,所以就稱為單片(單芯片)機,而且有一些單片機中除了上述部份外,還集成了其它部份如,等。矚慫潤厲釤瘞睞櫪廡賴賃。單片機使用的是電源,其中正極接引腳,負極(地)接引腳。我們的第一個任務(wù)是要用單片機點亮一只發(fā)光二極管,顯然,這個必須要和單片機的某個引腳相連,否則單片機就沒法控制它了,那么和哪個引腳相連呢?單片機上除了剛才用掉的個引腳,還有個,我們將這個和腳相連。圖名字有了,我們又怎樣讓它變39。謀蕎摶篋飆鐸懟類蔣薔點。廈礴懇蹣駢時盡繼價騷巹。鵝婭盡損鵪慘歷蘢鴛賴縈。預(yù)頌圣鉉儐歲齦訝驊糴買。實際上這就是一個二進制位,因此我們就把一根線稱之為一“位”,用表示。存儲器的工作原理:、存儲器構(gòu)造存儲器就是用來存放數(shù)據(jù)的地方。壇摶鄉(xiāng)囂懺蔞鍥鈴氈淚躋。買鯛鴯譖曇膚遙閆擷凄屆。如果要讀,先選中該片,然后發(fā)出讀信號,開關(guān)合上,數(shù)據(jù)就被送出去了。驅(qū)躓髏彥浹綏譎飴憂錦諑。鍬籟饗逕瑣筆襖鷗婭薔嗚。輒嶧陽檉籪癤網(wǎng)儂號澩。識饒鎂錕縊灩筧嚌儼淒。怎樣實現(xiàn)這個要求呢?請考慮用下面的指令是否可行: 恥諤銪滅縈歡煬鞏鶩錦。 碩癘鄴頏謅攆檸攜驤蘞。閿擻輳嬪諫遷擇楨秘騖輛。 釷鵒資贏車贖孫滅獅贅。單片機教程第五課:延時程序分析上一次課中,我們已經(jīng)知道,程序中的符號、是代表了一個個的單元,是用來放一些數(shù)據(jù)的,下面我們再來看一下其它符號的含義。在前面有個號,這又是什么意思呢?這個就是用來說明就是一個被傳遞的東西本身,而不是傳遞者。本條指令的最終執(zhí)行結(jié)果就是,在原地轉(zhuǎn)圈次。二、時序分析:前面我們介紹了延時程序,但這還不完善,因為,我們只知道 ,這句話會被執(zhí)行次,但是執(zhí)行這么多次需要多長時間呢?是否滿足我們的要求呢?我們還不知道,所以下面要來解決這個問題。一個由人組成的單位尚且要有一定的時序,計算機當然更要有嚴格的時序。濫驂膽閉驟羥闈詔寢賻減。單片機的所有指令中,有一些完成得比較快,只要一個機器周期就行了,有一些完成得比較慢,得要個機器周期,還有兩條指令要個機器周期才行。首先必須要知道晶振的頻率,我們設(shè)所用晶振為,則一個機器周期就是微秒。三、復(fù)位電路任何單片機在工作之前都要有個復(fù)位的過程,復(fù)位是什么意思呢?它就象是我們上課之前打的預(yù)備鈴。這種復(fù)位電路的工作原理是:通電時,電容兩端相當于是短路,于是引腳上為高電平,然后電源通過電阻對電容充電,端電壓慢慢下降,降到一定程序,即為低電平,單片機開始正常工作。因此,是全部可以點亮燈的。驍顧燁鶚巰瀆蕪領(lǐng)鱺賻。第二條指令是 ,其中 已經(jīng)見,是送數(shù)的意思,這條指令的意思就是將口的數(shù)送到中去,我們可以把當成是一個中間單元(看圖),第三句話是將中的數(shù)又送到口去,第四句話是循環(huán),就是不斷地重復(fù)這個過程,這我們已見過。怎么解決這個問題呢?我們在存儲器一節(jié)中學過,存儲器中是可以存放電荷的,我們不妨也加一個小的存儲器的單元,并在它的前面加一個開關(guān),要讓這一位輸出時,就把開關(guān)打開,信號就進入存儲器的單元,然后馬上關(guān)閉開關(guān),這樣這一位的狀態(tài)就被保存下來,直到下一次命令讓它把開關(guān)再打開為止。請注意輸入結(jié)構(gòu)圖,如果將這一根引線作為輸入口使用,我們并不能保證在任何時刻都能得到正確的結(jié)果(為什么?)參考圖輸入示意圖。對我們來說,這些附加的功能不必由我們來控制,所以我們就不去關(guān)心它了。在一個單片機的內(nèi)部包含了這么多的東西。這是個什么東西,可不能從名字上理解,它是一個寄存器,而不是一個做加法的東西,為什么給它這么一個名字呢?或許是因為在運算器做運算時其中一個數(shù)一定是在中的緣故吧。它的各位功能請看表陽簍埡鮭罷規(guī)嗚舊巋錟。例:()():用戶標志位,由我們(編程人員)決定什么時候用,什么時候不用。鋇嵐縣緱虜榮產(chǎn)濤團藺締。謾飽兗爭詣繚鮐癩別瀘鯽。所以利用堆棧這種方法來放數(shù)據(jù)可以簡化操作瑩諧齷蘄賞組靄縐嚴減。納疇鰻吶鄖禎銣膩鰲錟。手工匯編實際上就是查表,因為這兩種格式純粹是格式不同,所以是一一對應(yīng)的,查一張表格就行了。分析一下 ,這條指令,我們不難得出結(jié)論,第一個詞是命令動詞,也就是決定做什么事情的,是少寫了一個,所以就是“傳遞”,這就是指令,規(guī)定做什么事情,后面還有一些參數(shù),分析一下,數(shù)據(jù)傳遞必須要有一個“源”也就是你要送什么數(shù),必須要有一個“目的”,也就是你這個數(shù)要送到什么地方去,顯然在上面那條指令中,要送的數(shù)(源)就是,而要送達的地方(目的地)就是這個寄存器。這樣就可以滿足要求。視絀鏝鴯鱭鐘腦鈞欖糲。看這個問題,要求從單元開始,取個數(shù),分別送入累加器。第二句是將立即數(shù)送入工作寄存器中,所以執(zhí)行完后,單元中的值是,第三句,這是看一下單元中是什么值,把這個值作為地址,取這個地址單元的內(nèi)容送入中,此時,執(zhí)行這條指令的結(jié)果就相當于 。單片機教程第九課:數(shù)據(jù)傳遞指令數(shù)據(jù)傳遞類指令)以累加器為目的操作數(shù)的指令 , , , ,第一條指令中,代表的是。如執(zhí)行命令前中的值為,則是將單元中的值送入中。該櫟諼碼戇沖巋鳧薩錠謨。劇妝諢貰攖蘋塒呂侖廟痙。用匯編通過。圖、當運行完程序后,即進入它的反匯編區(qū),不是我們想要的東西。此次大家就用用熟這個軟件吧,說實話,我并不很喜歡它,操作起來不方便,但給我的機器只能上這個,沒辦法,下次再給網(wǎng)友單獨介紹一個好一點的吧。要讀或?qū)懲獠康?,當然也必須要知道的地址,在后兩條指令中,地址是被直接放在中的。本指令也被稱為查表指令,常用此指令來查一個已做好在中的表格說明:嚌鯖級廚脹鑲銦礦毀蘄。其它數(shù)據(jù)也可以類推。紳藪瘡顴訝標販繯轅賽。烴斃潛籬賢擔視蠶賁粵貫。指令的執(zhí)行是這樣的,首先將中的值作為地址,并將此地址中的數(shù)送到指令后面的那個中,然后減。譽諶摻鉺錠試監(jiān)鄺儕瀉濰??b電悵淺靚蠐淺錒鵬凜。例: , ,則執(zhí)行完本條指令后,中的值為。之所以要分成兩次來做,是因為這兩個數(shù)超過了一位數(shù)所能表達的范置()。鑣鴿奪圓鯢齙慫餞離龐。例:(),(),執(zhí)行指令 后,乘積是,所以在中放的是,而中放的則是。加指令 用途很簡單,就是將后面目標中的值加。另外,加法類指令都是以為核心的。單片機教程第十二課:邏輯運算類指令:對累加器的邏輯操作: ;將中的值清,單周期單字節(jié)指令,與 ,效果相同。艫當為遙頭韙鰭噦暈糞窶。怎么正好是這么前后交換呢?因為這是一個進制數(shù),每個進位數(shù)字代表個二進位。實驗五: : : : : : 先讓我們將程序?qū)懭肫?,裝進實驗板,看一看現(xiàn)象。 。請大家計算一下,下面該哪個燈不亮了。、將 改為 即可。與39。這幾條指令的關(guān)鍵是知道什么是邏輯與。() , ?;?9。或39。結(jié)果送入中 和中的值按位39。結(jié)果送入中 中的值和立即數(shù)按位39。那么他們的區(qū)別何在呢?在于跳轉(zhuǎn)的范圍不一樣。結(jié)釋鏈蹌絞塒繭綻綹蘊。跳轉(zhuǎn)表格 圖圖  應(yīng)用背景介紹:在單片機開發(fā)中,經(jīng)常要用到鍵盤,見上面的個按鍵的鍵盤。39。錁熾邐繒薩蝦竇補飆贗。曠戧輔鑽襉倆瘋謅琿鳳紂。因此這第指令我們可以這樣理解: 標號。訊鎬謾蟈賀綜樞輒鎖廩諭。繅藺詞嗇適籃異銅鑑驃。瞇毆蠐謝銀癩嘮閣蹺贗。把中的值作為地址,從此地址中取數(shù)并和比較循環(huán)轉(zhuǎn)移指令 第一條指令在前面的例子中有詳細的分析,這里就不多談了。鄭餼腸絆頎鎦鷓鮞嚶錳。調(diào)誶續(xù)鷚髏鋮饅喪劉藪。工業(yè)中有很多場合需要處理這類開關(guān)輸出,繼電器吸合,用字節(jié)來處理就顯示有些麻煩,所以在單片機中特意引入一個位處理機制。可見這里面的每一個中的每個位我們都可能直接用位地址來找到它們,而不必用字節(jié)地址,然后再用邏輯指令的方式。簞嗇癲剴凈趕鉤嬙鱷鳧徑。苧璦籮藶黃邏閂巹東澤達。()返回指令則說了,子程序執(zhí)行完后必須回到主程序,如何返回呢?只要執(zhí)行一條返回指令就可以了,即執(zhí)行 指令厲聳紐楊鱔晉頇兗蓽驃。()調(diào)用及回過程:主程序調(diào)用了子程序,子程序執(zhí)行完之后必須再回到主程序繼續(xù)執(zhí)行,不能“一去不回頭”,那么回到什么地方呢?是回到調(diào)用子程序的下面一條指令繼續(xù)執(zhí)行(當然啦,要是還回到這條指令,不又要再調(diào)用子程序了嗎?那可就沒完沒了了……)。檁傷葦開閾燈傘饉諧糧。弄懂了這條指令,其它的幾條就類似了,第二條是把當中的值和直接地址中的值比較,第三條則是將直接地址中的值和立即數(shù)比較,第四條是將間址尋址得到的數(shù)和立即數(shù)比較,這里就不詳談了,下面給出幾個相應(yīng)的例子。例: : : : 上面的程序中有一條指令我們還沒學過,即,這條指令的原型是 ,作用和上面的類似,但是它是判是,還是進行轉(zhuǎn)移,如果,則轉(zhuǎn)移到后面的標號處執(zhí)行,如果則順序執(zhí)行(執(zhí)行它的下面一條指令)。把上面的那個例子中的改成試試吧,看看程序執(zhí)行的結(jié)果是什么?兒躉讀閌軒鯀擬釔標藪。下面舉一例說明:嬤鯀賊灃謁麩溝賚淶鋸?! ∵@樣我們用 就實現(xiàn)了按下一鍵跳到相應(yīng)的程序段去執(zhí)行的這樣一個要求?! ∠旅嫖覀儊砜催@段程序的執(zhí)行過程:第一句 ,執(zhí)行完了之后,中的值就是,第二句是 ,我們假設(shè)是由按鍵處理程序獲得的鍵值,比如按下鍵,中的值是,按下鍵,中的值是,以此類推,現(xiàn)在我們假設(shè)按下的是鍵,則執(zhí)行完第二條指令后,中的值就是。39。這用程序設(shè)計的語言來表達的話,就是:按下不同的鍵去執(zhí)行不同的程序段,以完成不同的功能。間接轉(zhuǎn)移指令 這條指令的用途也是跳轉(zhuǎn),轉(zhuǎn)到什么地方去呢?這可不能由標號簡單地決定了。而 最多只能跳距離,而則最多只能跳這么遠。結(jié)果送入中。結(jié)果送入中 和間址尋址單元中的值按位39?;?9。或39。邏輯或是按位“或”,即有“”為,全“”為。購櫛頁詩燦戶踐瀾襯鳳。與39。與39。對了,應(yīng)當是接在。此時中的值是,所以送出去的也就是,因此口的值是,也就是,通過前面的分析,我們應(yīng)當知道,此時。前而的 、 、 等我們稍后分析。要將它化成二進制再算:化為二進制是,也就是,高位是,低位是,交換后是,也就是,即。例:中的值為,中的值為,則執(zhí)行 后,結(jié)果是 ,也就是進位位的值變成了,而()則變成了。例:(),則執(zhí)行 ,這樣進行:化為二進制為,逐位取反即為 ,也就是。誦終決懷區(qū)馱倆側(cè)澩賾。執(zhí)行下面的指令:幘覘匱駭儺紅鹵齡鐮瀉。除法一般會出現(xiàn)小數(shù),但計算機中可沒法直接表達小數(shù),它用的是我們小學生還沒接觸到小數(shù)時用的商和余數(shù)的概念,如,其商是,余數(shù)是。帶借位的減法指令 , 設(shè)(每個,(),執(zhí)行指令 ,之后,中的值為。癱噴導(dǎo)閽騁艷搗靨驄鍵檜。說明:由于單片機是一種位機,所以只能做位的數(shù)學運算,但位運算的范圍只有,這在實際工作中是不夠的,因此就要進行擴展,一般是將個位的數(shù)學運算合起來,成為一個位的運算,這樣,可以表達的數(shù)的范圍就可以達到。作業(yè):在下執(zhí)行上面的例程,注意觀察內(nèi)存窗口和堆棧的變化。更何況,堆棧的作用不止于此,所以一般的計算機上都設(shè)有堆棧,而我們在編寫子程序,需要保存數(shù)據(jù)時,通常也不采用后面的方法,而是用堆棧的方法來實現(xiàn)。蹤飯夢摻釣貞綾賁發(fā)蘄韃。推入指令的執(zhí)行過程是,首先將中的值加,然后把中的值當作地址,將中的值送進以中的值為地址的單元中??梢酝ㄟ^以下的例子再來看一看標號的含義: , , , . 如果中的值為,則最終地址為為,到單元中找到的是。齡踐硯語蝸鑄轉(zhuǎn)絹攤濼絡(luò)。此條指令引出一個新的尋址方法:變址尋址。因為有時擴展的外部的數(shù)量比較少,少于或等于個,就只需要提供位地址就夠了。鈀燭罰櫝箋礱颼畢韞糲銨。注意此時不會看到原來的窗口,為看到原來的窗口,請用或等來切換。穡釓虛綹滟鰻絲懷紓濼。臠龍訛驄椏業(yè)變墊羅蘄。其中高位送入,低位送入。邁蔦賺陘賓唄擷鷦訟湊幟。第四條指令是將立即數(shù)送到中。癘騏鏨農(nóng)剎貯獄顥幗騮。為什么會出現(xiàn)這樣的狀況?是因為我們只會把地址寫在指令中,所以就沒辦法了,如果我們不是把地址直接寫在指令中,而是把地址放在另外一個寄存器單元中,根據(jù)這個寄存器單元中的數(shù)值決定該到哪個單元中取數(shù)據(jù),比如,當前這個寄存器中的值是,那么就到單元中去取,如果是就到單元中去取,就可以解決這個問題了。這么斤斤計較!不就差了一個周期嗎,如果是的晶振的話,也就個微秒時間了,一個字節(jié)又能有多少?不對,如果這條指令只執(zhí)行一次,也許無所謂,但一條指令如果執(zhí)行上次,就是毫秒,如果要執(zhí)行萬次,就是的誤差,這就很可觀了,單片機做的是實時控制的事,所以必須如此“斤斤計較”。夾覡閭輇駁檔驀遷錟減汆。攙閿頻嶸陣澇諗譴隴瀘。滅噯駭諗鋅獵輛覯餿藹。一、概述、指令的格式我們已知,要讓計算機做事,就得給計算機以指令,并且我們已知,計算機很“笨”,只能懂得數(shù)字,如前面我們寫進機器的,等等,所以指令的第一種格式就是機器碼格式,也說是數(shù)字的形式。那么中堆棧什么地方呢?單片機中能存放數(shù)據(jù)的區(qū)域有限,我們不能夠?qū)iT分配一塊地方做堆棧,所以就在內(nèi)存()中開辟一塊地方,用于堆棧,但是用內(nèi)存的哪一塊呢?還是不好定,因為是一種通用的單片機,各人的實際需求各不相同,有人需要多一些堆棧,而有人則不需要那么多,所以怎么分配都不合適,怎樣來解決這個問題?分不好干脆就不分了,把分的權(quán)利給用戶(編程者),根據(jù)自已的需要去定吧,所以單片機中堆棧的位置是可以變化的。堆棧介紹:日常生活中,我們都注意到過這樣的現(xiàn)象,家里洗的碗,一只一只摞起來,最晚放上去的放在最上面,而最早放上去的則放在最下面,在取的時候正好相反,先從最上面取,這種現(xiàn)象我們用一句話來概括:“先進后出,后進先出”。、(、):數(shù)據(jù)指針,可以用它來訪問外部數(shù)據(jù)存儲器中的任一單元,如果不用,也可以作為通用寄存器來
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1