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

正文內(nèi)容

51單片機(jī)匯編語言教程(存儲版)

2025-05-07 04:52上一頁面

下一頁面
  

【正文】 機(jī)并行口結(jié)構(gòu) 上兩次我們做過兩個實驗,我們能設(shè)想:,那么其它的管腳可不能呢?看一下圖1,它是8031單片機(jī)管腳的說明,….,它們是否都能讓燈亮呢?除了以P1開頭的外,還有以P0,P2,P3開頭的,數(shù)一下,一共是32個管腳,前面我們以學(xué)過7個管腳,加上這32個這39個了。amp。0。第二條指令是MOV A,P3,其中 MOV已經(jīng)見,是送數(shù)的意思,這條指令的意思就是將P3口的數(shù)送到A中去,我們能把A當(dāng)成是一個中間單元(看圖3),第三句話是將A中的數(shù)又送到P1口去,第四句話是循環(huán),就是持續(xù)地重復(fù)這個過程,這我們已見過。輸入結(jié)構(gòu)這是并行口的一位的輸出結(jié)構(gòu)示意圖,再看,除了輸出之外,還有兩根線,一根從外部管腳接入,另一根從鎖存器的輸出接出,分別標(biāo)明讀管腳和讀鎖存器。對我們來說,這些附加的功能不必由我們來控制,所以我們就不去關(guān)心它了。這是個什么東西,可不能從名字上理解,它是一個寄存器,而不是一個做加法的東西,為什么給它這么一個名字呢?或許是因為在運算器做運算時其中一個數(shù)一定是在ACC中的緣故吧。8051中的運算器是一種8位的運算器,我們知道,8位運算器只能表示到0255,如果做加法的話,兩數(shù)相加可能會超過255,這樣最高位就會丟失,造成運算的錯誤,怎么辦?最高位就進(jìn)到這里來。主要用于存放一個16位地址,作為訪問外部存儲器(外RAM和ROM)的地址指針。請大家想想,還有什么地方有這種現(xiàn)象?其實比比皆是,建筑工地上堆放的磚頭、材料,倉庫里放的貨物,都是“先進(jìn)后出,后進(jìn)先出”,這實際是一種存取物品的規(guī)則,我們稱之為“堆?!薄6@種變化就體現(xiàn)在SP中值的變化,看圖2,SP中的值等于27H不就相當(dāng)于是一個指針指向27H單元嗎?當(dāng)然在真正的51機(jī)中,開始指針?biāo)傅奈恢貌⒎蔷褪菙?shù)據(jù)存放的位置,而是數(shù)據(jù)存放的前一個位置,比如一開始指針是指向27H單元的,那么第一個數(shù)據(jù)的位置是28H單元,而不是27H單元,為什么會這樣,我們在學(xué)堆棧命令時再說明。 所以8051出來十多年,依然沒有被淘汰,還在不斷的發(fā)展中。⒋ I/O線80C51共有4個8位并行I/O端口:P0、PPP3口,共32個引腳。單片機(jī)使用的是5V電源,其中正極接40管腳,負(fù)極(地)接20管腳。因此要1腳我們要能夠控制,也就是說,我們要能夠讓1管腳按要求變?yōu)楦呋虻碗娖健R虼?,只要寫SETB ,只要寫 CLR ?,F(xiàn)在我們再撥下這塊芯片,重新放回到編程器上,將編緝區(qū)的內(nèi)容改為(C2H,90H),也就是CLR ,寫片,拿下片子,把片子插進(jìn)電路板,接電,好,燈亮了。什么是字節(jié):一根線能表達(dá)0和1,兩根線能表達(dá)00,01,10,11四種狀態(tài),也就是能表達(dá)0到3的數(shù),而三根能表達(dá)07的數(shù),計算機(jī)中常常用8根線放在一起,同時計數(shù),就能表過到0255一共256種狀態(tài)。單片機(jī)里面都有這樣的存儲器,這是一個存儲器的示意圖:一個存儲器就象一個個的小抽屜,一個小抽屜里有八個小格子,每個小格子就是用來存放“電荷”的,電荷通過與它相連的電線傳進(jìn)來或釋放掉,至于電荷在小格子里是怎樣存的,就不用我們操心了,你能把電線想象成水管,小格子里的電荷就象是水,那就好理解了。 至此,譯碼的問題解決了,讓我們再來關(guān)注另外一個問題。注意圖4,讀和寫信號同時還接入到另一個存儲器,但是由于片選端不一樣,所以雖有讀或?qū)懶盘?,但沒有片選信號,所以另一個存儲器不會“誤會”而開門,造成沖突。只讀存儲器的英文縮寫為ROM(READ ONLY MEMORY)所謂隨機(jī)存取存儲器,即隨時能改寫,也能讀出里面的數(shù)據(jù),它類似于我們的黑板,我能隨時寫東西上去,也能用黑板擦擦掉重寫。它里面的內(nèi)容寫上去之后,如果覺得不滿意,能用一種特殊的辦法去掉后重寫,這就是用紫外線照射,紫外線就象“消字靈”,能把字去掉,然后再重寫。第二,在執(zhí)行完CLR P10后,不會再去執(zhí)行SETB P10指令,所以以后再也沒有機(jī)會讓滅了?! 〉诙l和第四條指令的用途是延時,它是怎樣實現(xiàn)的呢?指令的形式是LCALL,這條指令稱為調(diào)用子程序指令,看一下指令后面跟的是什么,DELAY,找一下DELAY,在第六條指令的前面,顯然,這也是一個標(biāo)號。這其中1552是我們想要的結(jié)果,而690并非我們所要的結(jié)果,但是為了得到最終結(jié)果,我們又不得不先算出690,并記下來,這其實是一個中間結(jié)果,計算機(jī)中做運算和這個類似,為了要得到最終結(jié)果,一般要做很多步的中間結(jié)果,這些中間結(jié)果要有個地方放才行,把它們放哪呢?放在前面提到過的ROM中能嗎?顯然不行,因為計算機(jī)要將結(jié)果寫進(jìn)去,而ROM是不能寫的,所以在單片機(jī)中另有一個區(qū)域稱為RAM區(qū)(RAM是隨機(jī)存取存儲器的英文縮寫),它能將數(shù)據(jù)寫進(jìn)去。DJNZ:這是另一條指令,我們來看一下這條指令后面跟著的兩個東西,一個是R6,一個是D2,R6我們當(dāng)然已知是什么了,查一下D2是什么。二、時序分析:前面我們介紹了延時程序,但這還不完善,因為,我們只知道DJNZ R6,D2這句話會被執(zhí)行62500次,但是執(zhí)行這么多次需要多長時間呢?是否滿足我們的要求呢?我們還不知道,所以下面要來解決這個問題。時間的次序”。設(shè)一個單片機(jī)工作于12M晶體震蕩器,它的時鐘周期是1/12(微秒)。下面讓我們來計算剛才的延時。 SP: 07H DPTR:0000H P0~P3:FFH它們都以P字開頭,只是后面的數(shù)字不一樣,它們是否有什么聯(lián)系呢?它們能不能都讓燈亮呢?在我們的實驗板上,除了P10之外,還有P11amp。0。一個P1就表示了所有的這八個管腳了。第一條指令的用途。amp。0。實際上,我們在上一次實驗的圖中已見到過了。 RST引腳保持2個機(jī)器周期以上的高電平。如何分配兩個數(shù)。所謂指令周期就是指執(zhí)行一條指令的時間。一個機(jī)器周期包括12個時鐘周期。amp。(轉(zhuǎn)去執(zhí)行MOV R6,250,同時R7中的值減1),最終DJNZ R6,D2這句話將被執(zhí)行250*250=62500次,執(zhí)行這么多次同一條指令干嗎?就是為了延時。在250前面有個號,這又是什么意思呢?這個就是用來說明250就是一個被傳遞的東西本身,而不是傳遞者。什么是工作寄存器呢?讓我們從現(xiàn)實生活中來找找答案。這個第一條指令前面的LOOP被稱之為標(biāo)號,它的用途就是給這一行起一個名字,便于使用。怎樣才能讓燈持續(xù)地閃爍呢?實際上就是要燈亮一段時間,再滅一段時間,也就是說要P10持續(xù)地輸出高和低電平。這就象我們的練習(xí)本,買來的時候是空白的,能寫東西上去,可一旦寫上去,就擦不掉了,所以它只能用寫一次,要是寫錯了,就報銷了。半導(dǎo)體存儲器的分類按功能能分為只讀和隨機(jī)存取存儲器兩大類。要將數(shù)據(jù)寫入片中,先選中該片,然后發(fā)出寫信號,開關(guān)就合上了,并將傳過來的數(shù)據(jù)(電荷)寫入片中。存儲器的選片及總線的概念它是利用電平的高低來存放數(shù)據(jù)的,也就是說,它存放的實際上是電平的高、低,而不是我們所習(xí)慣認(rèn)為的1234這樣的數(shù)字,這樣,我們的一個謎團(tuán)就解開了,計算機(jī)也沒什么神秘的嗎。什么是位: 通過上面的實驗我們已經(jīng)知道:一盞燈亮或者說一根線的電平的高低,能代表兩種狀態(tài):0和1。為什么稱它為只讀存儲器呢?剛才我們不是明明把兩個數(shù)字寫進(jìn)去了嗎?原來在89C51中的ROM是一種電可擦除的ROM,稱為FLASH ROM,剛才我們是用的編程器,在特殊的條件下由外部設(shè)備對ROM進(jìn)行寫的操作,在單片機(jī)正常工作條件下,只能從那里面讀,不能把數(shù)據(jù)寫進(jìn)去,所以我們還是把它稱為ROM。第二步,在得到這兩個數(shù)字后,怎樣讓這兩個數(shù)字進(jìn)入單片機(jī)的內(nèi)部呢?這要借助于一個硬件工具編程器。呢?叫人做事,說一聲就能,這叫發(fā)布命令,要計算機(jī)做事,也得要向計算機(jī)發(fā)命令,計算機(jī)能聽得懂的命令稱之為計算機(jī)的指令。我們的第一個任務(wù)是要用單片機(jī)點亮一只發(fā)光二極管LED,顯然,這個LED必須要和單片機(jī)的某個管腳相連,不然單片機(jī)就沒法控制它了,那么和哪個管腳相連呢?單片機(jī)上除了剛才用掉的5個管腳,還有35個,我們將這個LED和1腳相連。 拿到一塊芯片,想要使用它,首先必須要知道怎樣連線,我們用的一塊稱之為89C51的芯片,下面我們就看一下如何給它連線。 ② VPD功能:在Vcc掉電情況下,接備用電源。⑶ RST/VPD:復(fù)位/備用電源。51單片機(jī)匯編語言教程:2課:單片機(jī)引腳介紹 8051單片機(jī)引腳功能介紹首先我們來連接一下單片機(jī)的引腳圖,如果,具體功能在下面都有介紹。另外這種芯片的生產(chǎn)量很大,技術(shù)也很成熟,51系列的單片機(jī)已經(jīng)做了十幾年,所以價格就低了。在個人計算機(jī)上這些部份被分成若干塊芯片,安裝一個稱之為主板的印刷線路板上。DPTR(DPH、DPL):數(shù)據(jù)指針,能用它來訪問外部數(shù)據(jù)存儲器中的任一單元,如果不用,也能作為通用寄存器來用,由我們自已決定如何使用。它的各位功能請看表2D7D6D5D4D3D2D1D0CYACF0RS1RS0OV P表2PSW也稱為標(biāo)志寄存器,了解這個對于了解單片機(jī)原理非常的重要,存放各有關(guān)標(biāo)志。事實上,我們已接觸過P1這個特殊功能寄存器了,還有哪些呢?看下表1符號地址功能介紹BF0HB寄存器ACCE0H累加器PSWD0H程序狀態(tài)字IPB8H中斷優(yōu)先級控制寄存器P3B0HP3口鎖存器IEA8H中斷允許控制寄存器P2A0HP2口鎖存器SBUF99H串行口鎖存器SCON98H串行口控制寄存器P190HP1口鎖存器TH18DH定時器/計數(shù)器1(高8位)TH08CH定時器/計數(shù)器1(低8位)TL18BH定時器/計數(shù)器0(高8位)TL08AH定時器/計數(shù)器0(低8位)TMOD89A定時器/計數(shù)器方式控制寄存器TCON88H定時器/計數(shù)器控制寄存器DPH83H數(shù)據(jù)地址指針(高8位)DPL82H數(shù)據(jù)地址指針(低8位)SP81H堆棧指針P080HP0口鎖存器PCON87H電源控制寄存器表1 特殊功能寄存器地址映象表(一)特殊功能寄存器地址映象表(二)特殊功能寄存器地址映象表(三)下面,我們介紹一下幾個常用的SFR,看圖2。以上是P1口的一位的結(jié)構(gòu),P1口其它各位的結(jié)構(gòu)與之相同,而其它三個口:P0、PP3則除入作為輸入輸出口之外還有其它用途,所以結(jié)構(gòu)要稍復(fù)雜一些,但其用于輸入、輸出的結(jié)構(gòu)是相同的。怎么解決這個問題呢?我們在存儲器一節(jié)中學(xué)過,存儲器中是能存放電荷的,我們不妨也加一個小的存儲器的單元,并在它的前面加一個開關(guān),要讓這一位輸出時,就把開關(guān)打開,信號就進(jìn)入存儲器的單元,然后馬上關(guān)閉開關(guān),這樣這一位的狀態(tài)就被保存下來,直到下一次命令讓它把開關(guān)再打開為止。從硬件電路的連線能看出,有四個按鈕被接入到P3口的P32,P33,P34,P35。0。因此,P10amp。為了達(dá)到這個要求,能用很多種辦法,這里供給一種供參考,見圖1。 SBUF: 不定 PC: 0000H 要點分析:一個單元中的數(shù)是否能超過255。為了恒量指令執(zhí)行時間的長短,又引入一個新的概念:指令周期。這是一個時間基準(zhǔn),好象我們?nèi)擞谩懊搿弊鳛槲覀兊臅r間基準(zhǔn)一樣,為什么不干脆用“秒”,多好,很習(xí)慣,學(xué)下去我們就會知道用“秒”反而不習(xí)慣。0。執(zhí)行完了DJNZ R6,D2之后(也就是R6的值等于0之后),就會去執(zhí)行下面一行,也就是DJNZ R7,D1,請大家自行分析一下這句話執(zhí)行的結(jié)果。它的意義也很明顯:將數(shù)據(jù)250送到R7中去,因此執(zhí)行完這條指令后,R7單元中的值就應(yīng)當(dāng)是單片機(jī)內(nèi)部結(jié)構(gòu)分析:為了知道延時程序是如何工作的,我們必需首先了解延時程序中出現(xiàn)的一些符號,就從R1開始,R1被稱之為工作寄存器。第二和第四條實現(xiàn)的原理稍后談,先看第五條,LJMP是一條指令,意思是轉(zhuǎn)移,往什么地方轉(zhuǎn)移呢?后面跟的是LOOP,看一下,什么地方還有LOOP,對了,在第一條指令的前面有一個LOOP,所以很直觀地,我們能認(rèn)識到,它要轉(zhuǎn)到第一條指令處。51單片機(jī)匯編語言教程:4課:第一個單片機(jī)小程序 上一次我們的程序?qū)嵲谑菦]什么用,要燈亮還要重寫一下片子,下面我們要讓燈持續(xù)地閃爍,這就有一定的實用價值了,比如能把它當(dāng)成汽車上的一個信號燈用了。PROM,稱之為可編程存儲器。而十六根地址線也是連在一起的,稱之為地址總線。這組開關(guān)由三根引線選擇:讀控制端、寫控制端和片選端。我們有一種辦法稱這為譯碼,簡單介紹一下:一根線能代表2種狀態(tài),2根線能代表4種狀態(tài),3根線能代表幾種,256種狀態(tài)又需要幾根線代表?8種,8根線,所以65536種狀態(tài)我們只需要16根線就能代表了。 存儲器就是用來存放數(shù)據(jù)的地方。這樣,數(shù)字就和電平的高、低聯(lián)系上了。 我們來思考一個問題,當(dāng)我們在編程器中把一條指令寫進(jìn)單片要內(nèi)部,然后取下單片機(jī),單片機(jī)就可以執(zhí)行這條指令,那么這條指令一定保存在單片機(jī)的某個地方,并且這個地方在單片機(jī)掉電后依然可以保持這條指令不會丟失,這是個什么地方呢?這個地方就是單片機(jī)內(nèi)部的只讀存儲器即ROM(READ ONLY MEMORY)。因此我們得把SETB (D2H,90H ),把CLR (C2H,90H ),至于為什么是這兩個數(shù)字,這也是由51芯片的設(shè)計者INTEL規(guī)定的,我們不去研究。低39。 至此,一個單片機(jī)就接好,通上電,單片機(jī)就開始工作了。 ⑵ PSEN:外ROM讀選通信號。以后我們將用89C51單片機(jī)來完成一系列的實驗。為什么會這樣呢?功能有強(qiáng)弱,打個比方,市場上面有的組合音響一套才賣幾百塊錢,可是有的一臺功放機(jī)就要賣好幾千。51單片機(jī)匯編語言教程:1課:單片機(jī)簡敘 什么是單片機(jī) 一臺能夠工作的計算機(jī)要有這樣幾個部份構(gòu)成:CPU(進(jìn)行運算、控制)、RAM(數(shù)據(jù)存儲)、ROM(程序存儲)、輸入/輸出設(shè)備(例如:串行口、并行輸出口等)。不,價格并不高,從幾元人民幣到幾十元人民幣,
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1