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

正文內(nèi)容

51單片機實現(xiàn)的步進機控制系統(tǒng)(編輯修改稿)

2024-08-03 11:37 本頁面
 

【文章內(nèi)容簡介】 (2)EA/Vpp(31)—如使用片內(nèi)有ROM/PROM的8051/8751,EA端必須接高電平,當PC值小于0FFFH,CPU訪問內(nèi)部程序存儲器;當PC值大于0FFFH且內(nèi)部的程序。若使用片內(nèi)無ROM/EPROM的8031時,EA必須接地,CPU全部訪問外部程序存儲器。對片內(nèi)EPROM編程時,此引腳接入21V編程電壓。(3)ALE/PROG(30)—當訪問外部存儲器時,ALE(地址鎖存器允許)輸出用來鎖存P0口輸出的低8位地址。即使不訪問外部存儲器,ALE端仍以振蕩器頻率的1/6固定速率輸出正脈沖信號,此時可用它作為對外輸出的時鐘或定時脈沖。但要注意,每當訪問外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖,以1/6(晶振頻率為6M)的振蕩頻率輸出。對片內(nèi)EPROM編程時,該引腳(PROG)用于輸入編程脈沖。ALE端能驅(qū)動(吸收或輸出電流)8個LSTTL負載。圖41 MCS—51單片機引腳圖(4)PSEN(29)—外部程序存儲器讀選通控制信號,以區(qū)別讀取外部數(shù)據(jù)存儲器。在選取外部程序存儲器指令(或常數(shù))時,每個機器周期產(chǎn)生兩次PSEN有效信號。但在此期間內(nèi),當訪問外部數(shù)據(jù)存儲器時,這兩次PSEN有效信號將不出現(xiàn)。PSEN同樣能驅(qū)動8個LSTTL負載。(1)P0口(32—39)—8位漏極開路雙向I/O口。在外接存儲器時,P0口作為低8位地址/數(shù)據(jù)總線復用口,通過分時操作,先傳送低8位地址,利用ALE信號的下降沿使地址鎖存,然后作為8位雙向數(shù)據(jù)總線使用,用來傳送8位數(shù)據(jù)。在對片內(nèi)EPROM編程時,P0口接受指令代碼;而在內(nèi)部程序驗證時,輸出指令代碼,并要求外接上拉電阻。P0口能以吸收電流的方式驅(qū)動9個LSTTL負載。(2)P1口(1—8)—8位具有內(nèi)部上拉電阻的準雙向I/O口。在片內(nèi)EPROM編程及校驗時,他接受低8位地址。P1口能驅(qū)動3個LSTTL負載。(3)P2口(21—28)—8位具有內(nèi)部上拉電阻的準雙向I/O口。在外接存儲器時,P2口做為高8位地址總線。在對片內(nèi)EPROM編程、校驗時,它接受高位地址。P2口能驅(qū)動3個LSTTL負載。(4)P3口(10—17)—8位帶有內(nèi)部上拉電阻的準雙向I/O口。每一位又具有特殊功能(或稱第二變異功能):一個8位CPU;◆ 一個片內(nèi)振蕩器及時鐘電路;◆ 4K字節(jié)ROM程序存儲器;◆ 128字節(jié)RAM數(shù)據(jù)存儲器;◆ 兩個16位定時器/計數(shù)器;◆ 可尋址64K外部數(shù)據(jù)存儲器和64K外部程序存儲器空間的控制電路;◆ 32條可編程的I/O線(四個8位并行I/O端口);◆ 一個可編程全雙工串行口;◆ 具有五個中斷源、兩個優(yōu)先級嵌套中斷結(jié)構(gòu); 時鐘電路與時序MCS—51單片機內(nèi)部有一個用于構(gòu)成振蕩器的高增益反相放大器,引腳XTAL1和XTAL2分別是反相放大器的輸入端和輸出端,由這個放大器與作為反饋元件的片外晶振或陶瓷諧振器一起構(gòu)成了一個自激振蕩器。計算機在執(zhí)行指令時,一條指令經(jīng)譯碼后產(chǎn)生若干個基本的微操作,這些微操作所對應的脈沖信號在時間上的先后次序稱為計算機的時序。下面闡述有關(guān)CPU時序的概念。指為單片機提供定時信號的振蕩源的周期,若為內(nèi)部產(chǎn)生方式時,為石英晶體的振蕩周期。也稱為狀態(tài)周期,用S表示。時鐘周期是計算機中最基本的時間單位,在一個時鐘周期內(nèi),CPU完成一個最基本的動作。MCS—51單片機中一個時鐘周期為振蕩周期的2倍。為便于管理,常把一個指令的執(zhí)行過程劃分為若干個階段,每一個階段完成一個基本操作,例如,取指令、存儲器讀/寫等。完成一個基本操作所需要的時間稱為機器周期。MCS—51的一個機器周期含有6個時鐘周期。 XTAL1XTAL2 20pf 6MHZ20pf圖42 時鐘電路指令周期:完成一條指令所需要的時間。MCS—51的指令周期含1—4個機器周期不等,其中多數(shù)為單周期指令,還有2周期和4周期指令。4周期指令只有乘、除兩條指令。 并行輸入/輸出端口結(jié)構(gòu)MCS—51單片機內(nèi)有四個8位并行I/O端口,分別記作P0、PP2和P3。每個端口都是8位準雙向口,共占有32根引腳。每個端口都包含一個鎖存器、一個輸出驅(qū)動器和一個輸入緩沖器。在無片外擴展存儲器的系統(tǒng)中,這四個端口的每一位都可以作為準雙向通用I/O端口使用。在具有片外擴展的系統(tǒng)中,P2口作為高8位地址線,P0口雙向總線,分別送出低8位地址和數(shù)據(jù)的輸入/輸出。(1)P0口I/O口的每位鎖存器均由D觸發(fā)器組成,用來鎖存輸入/輸出的信息。在CPU的“寫鎖存器”信號驅(qū)動下,將內(nèi)部總線上的數(shù)據(jù)寫入鎖存器中。兩個三態(tài)緩沖器,一個用來“讀引腳”信息,即將I/O端引腳上的信息讀內(nèi)部總線,送CPU處理;另一個用來讀鎖存器,即把鎖存器內(nèi)容讀入內(nèi)部總線上,送CPU處理。因此,對某些I/O指令可讀取鎖存器的內(nèi)容,而另外一些指令則是讀取引腳上的信息。當輸入數(shù)據(jù)時,由于外部輸入信號既加在緩沖輸入端上,又加在驅(qū)動電路的漏極上,如果這時下面的FET是導通的,則引腳上的電位始終被鉗位在0電平上,輸入數(shù)據(jù)不可能正確的讀入。因此,在輸入數(shù)據(jù)時,應先把P0口置1,使兩個輸出FET均關(guān)斷,使引腳置“1”,成為高阻狀態(tài),這樣才能正確的插入數(shù)據(jù)。這就是所謂的準雙向口。在有外部擴展存儲器時,P0口必須作地址/數(shù)據(jù)總線用,這時就不能在把它作為通用的I/O口使用了。(2)P1口也是一個八位準雙向并行I/O口,做通用I/O口使用。在電路結(jié)構(gòu)上,P1口的輸出驅(qū)動部分與P0口不同,內(nèi)部有上拉負載電阻與電源相連,與場效應管FET共同組成輸出驅(qū)動電路。當進行寫操作時,寫鎖存器脈沖將內(nèi)部總線送入D端的信息寫入鎖存器,再由Q端去驅(qū)動FET。當P1口用作輸入口時,也應先用軟件使輸出鎖存器置1,使FET截止,處于高阻狀態(tài),然后再通過緩沖器進行輸入操作。(3)P2口P2口在結(jié)構(gòu)上比P1口多了一個輸出轉(zhuǎn)換控制部分,多路開關(guān)MUX由CPU命令控制。同P1口一樣,P2口內(nèi)部也接有固定的上拉電阻。P2口既可作為通用I/O口使用,有可作為地址總線口,傳送地址高8位。當P2口用來作通用I/O口時,是一個準雙向口。在外接程序存儲器的系統(tǒng)中,由于訪問外部程序存儲器的操作連續(xù)不斷,P2口將不斷輸出高八位地址,故這時P2口不再作通用I/O口使用。在無外部程序存儲器而擴展有外部數(shù)據(jù)存儲器的系統(tǒng)中,P2口的使用情況有所不同,若外接RAM容量為256B,則可用MOVX @Ri類指令由P0口送出8位地址,這時P2口仍可作通用I/O口使用。若外部RAM容量較大(超過256B),則使用MOVX @DPTR類指令訪問外部RAM。在讀/寫周期內(nèi),P2口引腳將保持高8位地址信息。輸出地址時,通過CPU控制內(nèi)部轉(zhuǎn)換開關(guān)轉(zhuǎn)向地址輸出,故輸出鎖存器的內(nèi)容不會在輸出地址過程中改變,所以訪問外部數(shù)據(jù)存儲器周期結(jié)束后,多路開關(guān)自動切換到鎖存器Q端,P2口輸出鎖存器的內(nèi)容又回重新出現(xiàn)在引腳上。因此,根據(jù)訪問外部RAM的頻繁程度,P2口仍可利用其中訪問間隙作通用I/O口用。在外部RAM容量不太大時,通過采用軟件方法,將所需的高位地址,例如只需要A8—A10三位,—,再用指令MOVX PV @Ri訪問外部RAM。而P2口余下的幾位仍可作通用I/O使用。(4)P3口P3口是一個多功能端口當P3口作為通用I/O口使用時,第二輸出端應保持高電平。當P3口作為第二輸出功能使用時,應先將輸出鎖存器置“1”,不論作為輸入口使用還是第二功能信號插入,鎖存器輸出和第二功能端都應保持高電平。(5)I/O口讀—修改—寫操作從上可見,每個I/O口均有兩種讀入方法:讀鎖存器和讀引腳,并有相應的指令。讀鎖存器指令是從鎖存器中讀取數(shù)據(jù),送CPU處理,再把處理后的數(shù)據(jù)重新寫入鎖存器中,這類指令稱為讀—修改—寫指令。在讀—修改—寫指令中,目的操作數(shù)必須是一個I/O口或I/O口的某一位。例如:INC P2,CLR P1,A等。讀引腳指令一般都是一I/O端口為源操作數(shù)的指令,執(zhí)行讀引腳指令時,輸入口狀態(tài)。例如,讀P1口引腳指令為MOV A,P1。表41P3口第二功能端 口 功 能第 二 功 能RXD串行輸入(數(shù)據(jù)接收)TXD串行輸出(數(shù)據(jù)發(fā)送)外部中斷0輸入線外部中斷1輸入線T0 定時器0外部輸入T1 定時器1外部輸入外部數(shù)據(jù)存儲器寫選通信號輸出外部數(shù)據(jù)存儲器讀選通信號輸入對“讀—修改—寫”指令,直接讀鎖存器Q端而不是讀引腳的原因是為了避免錯讀引腳上電平的可能性。例如,若用一口位去驅(qū)動一個晶體管的基極,當向此口位寫“1”時,晶體管導通,并把引腳的電平拉低,這時若從引腳上讀取數(shù)據(jù),則讀的是晶體管的基極電平,與地址鎖存器的狀態(tài)1不一樣。而鎖存器Q端讀取,就能避免這樣的錯誤,得到正確的數(shù)據(jù),(6)I/O口的負載能力P0口的每位輸出可驅(qū)動8個LSTTL輸入,但把它作為通用I/O口使用時,輸出級是開漏電路,故用它驅(qū)動CMOS輸入時需外接上拉電阻;而把它作地址/數(shù)據(jù)總線用時,則無需外接上拉電阻。P1—P3口的輸出級均接有內(nèi)部上拉電阻,它們的每一位輸出可驅(qū)動3個LSTTL輸入。對CMOS型單片機,當N和P3口作輸入方式時,任何TTL或NM05電路都能以正常的方式去驅(qū)動這些口。 單片機的片外總線結(jié)構(gòu) 單片機的片外總線結(jié)構(gòu)單片機是通過其片外引腳進行系統(tǒng)擴展的,即在片外連接相應的外圍芯片以滿足應用系統(tǒng)的要求,總線是連接系統(tǒng)中各擴展部件的一組公共信號線。單片機的片外引腳也呈三總線結(jié)構(gòu),這三總線是地址總線(AB),數(shù)據(jù)總線(DB)和控制總線(CB),所有的外部芯片都是通過這三組總線進行擴展的。(AB)地址總線(Address Bus)用于傳送單片機發(fā)出的地址信號,以便進行存儲單元和I/O端口的選擇。地址總線是單向的,只能由單片機向外發(fā)出。地址總線的目的決定了可直接訪問的存儲單元的數(shù)據(jù)。MCS—51單片機的地址總線由P0口構(gòu)成低8位(A7—A0),P2口的高8位(A8—A15),地址總線寬度為16位,故可尋址范圍為64KB。由于P0口用作數(shù)據(jù)總線口,只能分時用作地址總線,故P0口的低8位地址信息必須用鎖存器鎖存。先傳送低8位地址,利用ALE信號的下降沿將地址鎖存,然后作為8位雙數(shù)據(jù)總線使用。P2口本身具有輸出鎖存功能,故不需外加鎖存器。P0、P2口在系統(tǒng)擴展中用作地址線后,就不能再作為一般I/O。(DB)數(shù)據(jù)總線(DATA BMS)用于單片機與存儲器之間或單片機與I/O端口之間傳送數(shù)據(jù),單片機系統(tǒng)數(shù)據(jù)總線的位數(shù)與其處理數(shù)據(jù)的字長一致,數(shù)據(jù)總線總是雙向的。 MCS—51單片機的數(shù)據(jù)總線由P0口提供,寬度為8位,該口為三態(tài)雙向口,通過數(shù)據(jù)總線實現(xiàn)CPU與存儲器或外設之間的信息交換。數(shù)據(jù)總線一般要連多個外圍芯片上,那個芯片的數(shù)據(jù)通道則由地址控制各個芯片的片選線來選擇。(CB)控制總線(Control bms)是一級控制信號線,包括單片機發(fā)出的,以及從其他部件送給單片機的。對于一條控制信號而言,其傳送方向是單向的。單片機的控制總線按功能可分為片外系統(tǒng)擴展用控制線和片外信號對單片機的控制線。系統(tǒng)擴展用控制線有WR、RD、PSEN、ALE、EA。PSEN:訪問外部程序存儲器RAM時,用這兩個信號進行讀/寫控制,當執(zhí)行片外數(shù)據(jù)存儲器的操作指令MOVX @DPTR或MOVX @Ri時,這兩個控制信號自動生成[13]。ALE:地址鎖存允許,用于鎖存P0口場出的低8位地址控制線。在ALE的下降沿將P0口輸出的地址字節(jié)裝入外部鎖存器。EA:用來選擇片內(nèi)或片外程序存儲器。EA=0時,不論片內(nèi)有無程序存儲器,只訪問外部程序存儲器。EA=1時,地址不超過0FFFH,只訪問片內(nèi)ROM/EPROM,然后是訪問外部程序存儲器的1000H—FFFFH單元,對片內(nèi)無ROM無EPROM單片機,擴展時EA必須接低電平。 系統(tǒng)外設接口 鍵盤接口原理對于需要人工干預的單片機應用系統(tǒng),鍵盤就成為人機聯(lián)系的必要手段,此時需配置適當?shù)逆I盤輸入設備,微機所用鍵盤有全編碼鍵盤和非編碼鍵盤兩種,全編碼鍵盤能夠由硬件邏輯自動提供被按下鍵的編碼,此外,一般還具有去抖動和多鍵、竄鍵等保護功能。這種鍵盤使用方便,但需較多的硬件、價格貴,一般的單片機應用系統(tǒng)較少采用。鍵盤是由若干個鍵組成的開關(guān)矩陣,它是最簡單的單片微機輔助設備。44的鍵盤結(jié)構(gòu)如圖所示,圖中行線通過電阻接+5V,當鍵盤沒有鍵閉合時,所有的行線(X0—X3)和列線(Y0—Y3)斷開,行線均呈高電平。當鍵盤上某一鍵閉合時,該鍵所對應的行線和列線短路。例如9號鍵按下時,行線X2和Y1短路,此時行線X2的電平由Y1決定。如果把行線接到微機的輸入口,列線接到微機輸出口。在微機控制下,先使列線Y0為低電平,其余三根YYY3均為高電平。然后通過輸入口讀行線狀態(tài),如果4根行線均為高電平,說明在Y0這一列上沒有鍵閉合,如果讀出的行線狀態(tài)不全為高電平,則說明為低電平的那根行線與Y0相交的鍵處于閉合狀態(tài)。若Y0這列上沒有鍵閉合,接著使列線Y1為低電平,其余三根列線Y0、YY3為高電平。用同樣的反復檢查這一列鍵上無鍵閉合。以次類推,用同樣方法檢查其余的兩根列線上有無鍵閉合。這種逐行逐列地檢查鍵盤狀態(tài)的過程稱為對鍵盤的一次掃描。目前,無論是按鍵或鍵盤大部分都是利用機械觸點的合、斷作用。機械觸點在閉合及斷開瞬間由于彈性影響,在閉合及斷開瞬間均有抖動過程,從而使電壓信號也出現(xiàn)抖動,抖動時間的長短與開關(guān)的機械特性有關(guān),一般為5—10 ms。而微機對鍵盤進行一次掃描僅需幾百微秒。這樣將會使鍵盤掃描產(chǎn)生錯誤的判斷。為了保證CPU對鍵盤的一次閉合僅作一次輸入處理,必須去除抖動影響。通常去抖動影響有兩種方法,一是在硬件上采取在鍵盤端加Rs觸發(fā)器或單穩(wěn)態(tài)電路構(gòu)成去抖動電路;另一種方法是在檢測到有鍵按下時,執(zhí)行10 ms左右的延時程序后,再確認該鍵電平是否仍保持閉合狀
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1