亚洲av成人精品日韩一区,97久久久精品综合88久久,玩弄japan白嫩少妇hd,亚洲av片不卡无码久久,玩弄人妻少妇500系列

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

深度解讀MCS51單片機(jī)時(shí)序分析及系統(tǒng)擴(kuò)展

電子設(shè)計(jì) ? 來(lái)源:微型機(jī)與應(yīng)用2013年第20期 ? 作者:微型機(jī)與應(yīng)用201 ? 2021-02-20 14:32 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作者:周姝穎,林凡強(qiáng),何凌霄,富 饒

AT89C51單片機(jī)ATMEL公司設(shè)計(jì)生產(chǎn)的與MCS51內(nèi)核兼容的51系列單片機(jī)之一,該系列單片機(jī)以其優(yōu)越的性能和成熟的技術(shù)在控制和自動(dòng)化應(yīng)用領(lǐng)域占有著較大的市場(chǎng);除此以外,51單片機(jī)有著計(jì)算機(jī)系統(tǒng)中經(jīng)典的總線結(jié)構(gòu),即:數(shù)據(jù)總線、地址總線和控制總線。

在實(shí)際應(yīng)用中,單片機(jī)的4個(gè)端口中,P0口通常是作為地址/數(shù)據(jù)總線復(fù)用;P2口作為高8位地址總線,高8位地址線在有多余I/O的情況下,配合外部的組合邏輯電路一起構(gòu)成外部總線譯碼使用;P3口通常作為第二功能使用,則提供給用戶使用的I/O僅僅是P1口。在多數(shù)應(yīng)用場(chǎng)合下是不能滿足要求的,因此51單片機(jī)系統(tǒng)就或多或少地需要進(jìn)行系統(tǒng)擴(kuò)展。另外,由于其內(nèi)部的RAM只有128 B,在使用C語(yǔ)言進(jìn)行程序設(shè)計(jì)時(shí)顯得比較不足,必要時(shí)需進(jìn)行外部RAM擴(kuò)展,方法與擴(kuò)展外部I/O相同。實(shí)際應(yīng)用中,使用總線方法可以較容易地實(shí)現(xiàn)51單片機(jī)外部的I/O、RAM、LCD、ADC、DAC等等外設(shè)的操作,以彌補(bǔ)51單片機(jī)片內(nèi)外設(shè)的不足。

1 MCS51單片機(jī)系統(tǒng)的四要素

1.1 51單片機(jī)系統(tǒng)的啟動(dòng)

MCS51單片機(jī)上電正常工作,需具備以下四點(diǎn):

(1)電源。AT89S51系列單片機(jī)的第40引腳為VCC,外加電壓5 V工作電壓,另外,單片機(jī)的第20引腳是GND,須連接到系統(tǒng)的地。

(2)復(fù)位電路。任何處理器都需要在上電時(shí)進(jìn)行自身的復(fù)位,51單片機(jī)也不例外,上電復(fù)位電路是較為簡(jiǎn)單可靠的電路之一,不可缺少。復(fù)位電路如圖1所示,該圖為帶上電復(fù)位及手動(dòng)復(fù)位兩種結(jié)合,二極管D1在系統(tǒng)瞬間掉電能幫助系統(tǒng)快速放電,使系統(tǒng)重新復(fù)位,以提高系統(tǒng)的可靠性。

o4YBAGAwq7qAfMtUAAAzHRRJTW4576.png

(3)振蕩電路。如圖2所示,51單片機(jī)的第18腳和第19腳為兩個(gè)外接振蕩的引腳,是內(nèi)部振蕩方式的典型電路, 外接的33 pF電容可以提高振蕩的穩(wěn)定性。

o4YBAGAwq9mAOUttAAAoqY9JoeE383.png

(4)EA。AT89S51單片機(jī)內(nèi)部有4 KB的程序存儲(chǔ)器,不需要外部的ROM空間,如果不夠可以選擇AT89S52或其他內(nèi)部存儲(chǔ)器更大的單片機(jī),所以接高電平,即:不使用外部ROM,只使用內(nèi)部的存儲(chǔ)器。

1.2 MCS51單片機(jī)系統(tǒng)的存儲(chǔ)器結(jié)構(gòu)

MCS51單片機(jī)的存儲(chǔ)器分為片內(nèi)和片外兩個(gè)部分,即:內(nèi)部的ROM/RAM和外部的ROM/RAM,編寫(xiě)程序時(shí)必須清楚每一個(gè)存儲(chǔ)單元的用途和功能,這樣才能更好地進(jìn)行系統(tǒng)存儲(chǔ)器資源的分配。51單片機(jī)的另一個(gè)特點(diǎn)是外部的RAM空間和I/O空間共用外部的64 KB空間,因?yàn)橥獠靠偩€的地址線為16 bit,所以能夠訪問(wèn)的最大地址空間為64 KB。51單片機(jī)系統(tǒng)在進(jìn)行外部擴(kuò)展時(shí),所有外設(shè)的地址都分布在這64 KB的地址范圍內(nèi),對(duì)于RAM來(lái)說(shuō),地址是連續(xù)的;而對(duì)于LCD、ADC等等部件,地址是不連續(xù)的。

1.3 51單片機(jī)的中斷系統(tǒng)

AT89S51單片機(jī)為用戶提供了可屏蔽中斷源有5個(gè),分別是:外部中斷0(入口地址為:0003H)、外部中斷1(入口地址為:000BH)、定時(shí)器0(入口地址為:0013H)、定時(shí)器1(入口地址為:001BH)和串行中斷(入口地址為:0023H);不可屏蔽中斷為復(fù)位(入口地址為:0000H)。51系列單片機(jī)的其他型號(hào)所提供的中斷個(gè)數(shù)不盡相同,所有的單片機(jī)都包括上述這6個(gè)最基本的中斷源,不同公司生產(chǎn)的51內(nèi)核單片機(jī)中斷源上有略微的區(qū)別。

1.4 51單片機(jī)的總線結(jié)構(gòu)

由于51單片機(jī)真正可以作為雙向I/O口應(yīng)用的只有P1口,假設(shè)系統(tǒng)需要擴(kuò)展外部的鍵盤(pán),I/O就所剩無(wú)幾了。因此,MCS51單片機(jī)應(yīng)用系統(tǒng)設(shè)計(jì)都不可避免地需要進(jìn)行系統(tǒng)的擴(kuò)展,而I/O的擴(kuò)展則是與系統(tǒng)總線緊密結(jié)合的。由于MCS51單片機(jī)的外部RAM和I/O口是統(tǒng)一編址的,因此,可以把單片機(jī)外部64 KB RAM空間的一部分作為擴(kuò)展外圍I/O口的地址空間。這樣,單片機(jī)系統(tǒng)就可以把額外的RAM空間用來(lái)進(jìn)行I/O空間的擴(kuò)展,使用總線方式對(duì)外設(shè)進(jìn)行訪問(wèn)[1]。

本文重點(diǎn)之一是介紹采用具有三態(tài)緩沖的74HC244芯片和輸出帶鎖存的74HC573芯片來(lái)擴(kuò)展一個(gè)4×4的小鍵盤(pán),緩沖器和鎖存器分別占用外部I/O空間中的兩個(gè)地址。而無(wú)論是訪問(wèn)外部的RAM空間還是I/O空間,在進(jìn)行匯編語(yǔ)言編程時(shí)都是通過(guò)MOVX指令來(lái)實(shí)現(xiàn)讀寫(xiě)的。在使用C語(yǔ)音進(jìn)行單片機(jī)程序設(shè)計(jì)時(shí),雖然語(yǔ)言改變了,但是C語(yǔ)言程序反匯編后,訪問(wèn)外部仍然使用的是MOVX指令。因此,分析過(guò)程及使用中,都是以匯編語(yǔ)言為例進(jìn)行擴(kuò)展設(shè)計(jì)的。

2 MOVX指令的執(zhí)行過(guò)程

MOVX指令是51單片機(jī)訪問(wèn)片外外設(shè)的唯一指令,與外部RAM或I/O空間進(jìn)行數(shù)據(jù)的讀寫(xiě)或者ADC和DAC等都需要使用這條指令。MCS51單片機(jī)外部RAM的地址空間為64 KB,地址總線為16 bit,訪問(wèn)外設(shè)可執(zhí)行4條匯編指令:(1)MOVX A,@DPTR;(2)MOVX @DPTR, A;(3)MOVX A, @RI; (4)MOVX @RI, A。其中DPTR為16 bit地址寄存器,地址高8 bit存于DPH,地址低8 bit存于DPL,Ri(i=0,1)是8 bit寄存器,作為地址指針時(shí)僅存低8 bit地址。

MCS51執(zhí)行上述指令時(shí)分為兩個(gè)階段:首先,是從程序存儲(chǔ)器中取出指令代碼,并進(jìn)行譯碼;然后,執(zhí)行對(duì)外設(shè)數(shù)據(jù)的讀寫(xiě)操作。在這兩個(gè)階段中,P0口在指令執(zhí)行過(guò)程中是分時(shí)復(fù)用口,指令前半個(gè)周期,低8 bit地址由地址鎖存允許信號(hào)ALE控制一個(gè)8 bit的鎖存器輸出,接著輸出8 bit數(shù)據(jù)至外部數(shù)據(jù)總線,P2口在此過(guò)程中一直輸出高8 bit地址。

由上所述,假設(shè)使用R0和R1對(duì)外設(shè)的進(jìn)行間接尋址方式的訪問(wèn),那么可看作是一種頁(yè)面尋址,將外部的64 KB空間分成了256頁(yè),每一頁(yè)有256 B地址。寄存器P2的當(dāng)前值決定了當(dāng)前的頁(yè)地址。MCS51單片機(jī)在復(fù)位時(shí),P2端口寄存器數(shù)值為FFH,若程序運(yùn)行中沒(méi)有改變P2中的值,則R0和R1只能對(duì)FF00H~FFFFH范圍的外部的間接尋址,即對(duì)第255個(gè)頁(yè)面進(jìn)行訪問(wèn)。往外部空間寫(xiě)1 B時(shí)序圖如圖3所示。

pIYBAGAwq-6AcY9oAACxJHHk4Ok433.png

因此,使用DPTR作為數(shù)據(jù)指針或者是RI,都可以實(shí)現(xiàn)對(duì)外部64 KB空間的訪問(wèn)。而指令都是使用MOVX,可見(jiàn)MCS51單片機(jī)系統(tǒng)中,MOVX指令有著非常重要的作用。

3 時(shí)序分析及系統(tǒng)擴(kuò)展

MCS51單片機(jī)的外部總線時(shí)序擴(kuò)展主要包括外部的譯碼電路、鎖存電路等組合邏輯電路,形成整個(gè)系統(tǒng)的外部總線,即:數(shù)據(jù)總線、地址總線、控制總線。

譯碼電路采用常用的74系列3/8線譯碼器74LS138,該芯片的A、B、C分別接地址的最高3位,即A13、A14、A15,譯碼電路如圖4所示;138的使能端E3接高電平,E1和E2接的是EN_138,該信號(hào)是由單片機(jī)系統(tǒng)的讀寫(xiě)信號(hào)經(jīng)過(guò)組合得來(lái)的,當(dāng)系統(tǒng)對(duì)外部的總線進(jìn)行讀寫(xiě)時(shí),讀/寫(xiě)信號(hào)其中一個(gè)為低電平,使得EN_138控制信號(hào)輸出為一個(gè)低電平脈沖信號(hào),此時(shí),3/8線譯碼器的輸出Y0~Y7其中一個(gè)也會(huì)輸出一個(gè)低電平脈沖,用此脈沖就可以有效地對(duì)外部設(shè)備進(jìn)行片選。邏輯電路如圖5所示。

通過(guò)這樣的組合后就可以在總線上數(shù)據(jù)有效的時(shí)間內(nèi),通過(guò)74LS138的Y0~Y7控制外設(shè)的片選,實(shí)現(xiàn)有效的數(shù)據(jù)讀寫(xiě)。尤其是在擴(kuò)展外部I/O口使用的74系列的邏輯電路芯片時(shí),這個(gè)方法尤為重要,因?yàn)檫@類芯片沒(méi)有外部的讀/寫(xiě)信號(hào),只能通過(guò)單片機(jī)外部的組合邏輯電路輸出一個(gè)讀/寫(xiě)信號(hào)寬度的脈沖用以控制此類I/O芯片。若外設(shè)信號(hào)控制信號(hào)為低電平脈沖,則剛好與3/8線譯碼器的輸出匹配,此時(shí)直接相連即可;若外設(shè)控制信號(hào)需要的是高脈沖信號(hào),則必須在3/8線譯碼器的輸出外面再加一級(jí)反相器電路,常用的反相器為74LS04。

以寫(xiě)數(shù)據(jù)往外設(shè)為例,得到的時(shí)序流程如圖6所示。讀數(shù)據(jù)的時(shí)序與寫(xiě)數(shù)據(jù)一致,只是將寫(xiě)信號(hào)換成讀信號(hào)。

o4YBAGAwrGmAB0M8AAAzmE-aN7M470.png

4 I/O擴(kuò)展實(shí)例

4.1 行列鍵盤(pán)擴(kuò)展

如前所述,51單片機(jī)供用戶使用的I/O只有P1端口的8個(gè)引腳,遠(yuǎn)不能滿足系統(tǒng)的需求,這樣就必須通過(guò)總線的方法進(jìn)行外部I/O擴(kuò)展。在這里需要注意的是,51單片機(jī)系統(tǒng)外部I/O空間是和外部的RAM空間共用外部64 KB空間的。使用74LS573和74LS244分別進(jìn)行行列的擴(kuò)展,其中573鎖存行信號(hào),244讀回?cái)?shù)據(jù),擴(kuò)展了端口,實(shí)現(xiàn)了4×4的矩陣式行列掃描鍵盤(pán),如圖7所示。在此程序略,主要介紹擴(kuò)展的方法。

pIYBAGAwrIiASGxeAADGBes2rys372.png

圖8所示為4×4矩陣鍵盤(pán)連接圖。

o4YBAGAwrKSABJRHAACeUiN_cfk331.png

4.2 大于64 KB空間的擴(kuò)展

MCS51單片機(jī)是8位的微控制器,外部地址總線共16 bit地址,能訪問(wèn)的空間共為64 KB,但是如果系統(tǒng)中所有的外設(shè)加起來(lái)需要的地址空間超過(guò)64 KB時(shí)(如128 KB、256 KB的RAM或者需要更多的I/O空間等情況出現(xiàn))就需要使用P1口或者是P3口不使用的I/O口進(jìn)行線選法譯碼或者譯碼法進(jìn)行額外的擴(kuò)展來(lái)實(shí)現(xiàn)。

這種情況在單片機(jī)系統(tǒng)中經(jīng)常會(huì)遇到,本文中介紹一種基于分頁(yè)原理的擴(kuò)展方法。51單片機(jī)系統(tǒng)雖然只有16條地址總線,在系統(tǒng)需要較大的RAM或I/O空間時(shí),可以將系統(tǒng)中空余的I/O口作為額外的外部地址使用,例如:使用P1.0時(shí)進(jìn)行線選法譯碼時(shí),就可以擴(kuò)展外部的128 KB空間。當(dāng)P1.0為低電平時(shí),選擇第1個(gè)64 KB空間;當(dāng)P1.0為高電平時(shí), 選擇第2個(gè)64 KB空間。

以此類推,假設(shè)有更多的空間需求時(shí),還可使用專用譯碼器進(jìn)行譯碼,來(lái)進(jìn)行更多的選擇
編輯:hfy

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6067

    文章

    44989

    瀏覽量

    650341
  • OPPO
    +關(guān)注

    關(guān)注

    20

    文章

    5273

    瀏覽量

    81569
  • MCS51單片機(jī)
    +關(guān)注

    關(guān)注

    0

    文章

    24

    瀏覽量

    14947
  • 5G
    5G
    +關(guān)注

    關(guān)注

    1360

    文章

    48812

    瀏覽量

    573648
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    單片機(jī)原理及應(yīng)用

    本書(shū)全面系統(tǒng)地介紹了 MCS-51 系列單片機(jī)的基本結(jié)構(gòu)、工作原理及應(yīng)用技術(shù)。主要內(nèi)容包括:微型計(jì)算機(jī)的基礎(chǔ)知識(shí)、MCS-51 單片機(jī)的基本
    發(fā)表于 06-16 16:58

    基于51單片機(jī)的溫濕度檢測(cè)與調(diào)節(jié)系統(tǒng)電路圖

    電子發(fā)燒友網(wǎng)站提供《基于51單片機(jī)的溫濕度檢測(cè)與調(diào)節(jié)系統(tǒng)電路圖》資料免費(fèi)下載
    發(fā)表于 05-12 17:23 ?1次下載

    51單片機(jī)模塊化編程設(shè)計(jì)與實(shí)例要點(diǎn)分析

    51單片機(jī)模塊化開(kāi)發(fā)教程
    發(fā)表于 02-24 16:40 ?2次下載

    51單片機(jī)驅(qū)動(dòng)DAC8580遇到的疑問(wèn)求解

    今天用51單片機(jī)驅(qū)動(dòng)DAC8580,不知時(shí)序不對(duì),還是51單片機(jī)慢了,驅(qū)動(dòng) 不了啊,時(shí)序如下,
    發(fā)表于 02-07 07:50

    51單片機(jī)pwm和spwm

    51單片機(jī)pwm
    發(fā)表于 01-08 15:54 ?3次下載

    51單片機(jī)核心板原理圖

    51單片機(jī)核心板原理圖
    發(fā)表于 12-16 11:30 ?4次下載

    51單片機(jī)中為什么很少出現(xiàn)printf的身影

    51單片機(jī)中為什么很少出現(xiàn) printf 的身影?是用不了嗎? 不是的,51單片機(jī)可以用 printf,只是不建議使用。 平時(shí)我們?cè)诓僮?b class='flag-5'>系統(tǒng)
    的頭像 發(fā)表于 12-03 10:46 ?1382次閱讀
    <b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>中為什么很少出現(xiàn)printf的身影

    基于51單片機(jī)的手動(dòng)數(shù)字時(shí)鐘

    眾多嵌入式控制應(yīng)用系統(tǒng)提供靈活、高效的解決方案。本設(shè)計(jì)所使用的芯片可兼容以下所有的51系列單片機(jī)(包括AT系列和STC系列)。資料內(nèi)容仿真實(shí)現(xiàn)(protues8.7) 本設(shè)計(jì)利
    的頭像 發(fā)表于 10-22 14:12 ?637次閱讀
    基于<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>的手動(dòng)數(shù)字時(shí)鐘

    基于51單片機(jī)的停車場(chǎng)管理系統(tǒng)

    設(shè)置現(xiàn)有車輛數(shù)及剩余車位數(shù);(4)車位滿后將報(bào)警提示。仿真演示視頻:基于51單片機(jī)的停車場(chǎng)管理系統(tǒng)-仿真視頻設(shè)計(jì)介紹51單片機(jī)簡(jiǎn)介
    的頭像 發(fā)表于 10-22 14:12 ?716次閱讀
    基于<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>的停車場(chǎng)管理<b class='flag-5'>系統(tǒng)</b>

    基于51單片機(jī)的遙控開(kāi)關(guān)仿真(雙機(jī)通信)

    具體實(shí)現(xiàn)功能由51單片機(jī)+獨(dú)立按鍵+繼電器+LED燈等構(gòu)成。實(shí)現(xiàn)功能:(1)本仿真設(shè)計(jì)的是一款遙控開(kāi)關(guān),采用51單片機(jī)進(jìn)行遙控器與主機(jī)的設(shè)計(jì);(2)遙控器由
    的頭像 發(fā)表于 10-22 14:12 ?825次閱讀
    基于<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>的遙控開(kāi)關(guān)仿真(雙機(jī)通信)

    基于51單片機(jī)的LED點(diǎn)陣滾動(dòng)顯示系統(tǒng)

    花樣;(4)可以利用“點(diǎn)陣LED字模生成工具”生成自己想要顯示的字符。仿真演示視頻:基于51單片機(jī)的LED點(diǎn)陣滾動(dòng)顯示系統(tǒng)-仿真視頻設(shè)計(jì)介紹51單片
    的頭像 發(fā)表于 10-22 14:12 ?665次閱讀
    基于<b class='flag-5'>51</b><b class='flag-5'>單片機(jī)</b>的LED點(diǎn)陣滾動(dòng)顯示<b class='flag-5'>系統(tǒng)</b>

    51單片機(jī)驅(qū)動(dòng)

    電子發(fā)燒友網(wǎng)站提供《51單片機(jī)驅(qū)動(dòng).exe》資料免費(fèi)下載
    發(fā)表于 09-20 11:46 ?5次下載

    51單片機(jī)晶振的問(wèn)題總結(jié)

    電子發(fā)燒友網(wǎng)站提供《51單片機(jī)晶振的問(wèn)題總結(jié).doc》資料免費(fèi)下載
    發(fā)表于 09-07 09:32 ?0次下載

    國(guó)產(chǎn)單片機(jī)(MCU)崛起 —— 51系列

    一、51系列單片機(jī)的命名由來(lái)51系列單片機(jī)的命名由來(lái)與它的設(shè)計(jì)和開(kāi)發(fā)歷史相關(guān)。這個(gè)系列的單片機(jī)主要由Intel的8051微控制器發(fā)展而來(lái),后
    的頭像 發(fā)表于 08-14 08:39 ?7502次閱讀
    國(guó)產(chǎn)<b class='flag-5'>單片機(jī)</b>(MCU)崛起 —— <b class='flag-5'>51</b>系列

    51單片機(jī)復(fù)位電路電容怎么放電

    51單片機(jī)的復(fù)位電路中,電容的放電過(guò)程是實(shí)現(xiàn)復(fù)位功能的關(guān)鍵環(huán)節(jié)之一。以下是關(guān)于51單片機(jī)復(fù)位電路中電容放電的介紹: 放電過(guò)程 電容充電狀態(tài) :在
    的頭像 發(fā)表于 08-06 10:52 ?1304次閱讀