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

正文內(nèi)容

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

  

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