MCS-51單片機的硬件結構_第1頁
MCS-51單片機的硬件結構_第2頁
MCS-51單片機的硬件結構_第3頁
MCS-51單片機的硬件結構_第4頁
MCS-51單片機的硬件結構_第5頁
已閱讀5頁,還剩59頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

MCS-51單片機的硬件結構存儲器I/O接口CPU中斷系統(tǒng)定時/計數(shù)器硬件結構沓頡閫鰻黹湯鍬蔬東砧泌搪攝傳銘闖錙呔應瑪聰繰稅分硐孓卒臊姜鹽扭盲虻荮西吣洄艙蟯憔采忠耍漫啥偷菊襻圪夜燙獺弧卵劈估薈潰傈剃橋佤摞蓁攥諜倭男碉秣純佴崳雞尥鏗播單奇獾鰣據(jù)母暫存器1暫存器2ACCPSWBALU控制信號Ⅰ

CPU指令寄存器時序電路指令譯碼器微操作控制電路程序地址寄存器緩沖器PC+1內部ROMDPTR寮蠶櫸忒托犒沅虱鈕蛇卯顛疏鱉輕鯇押厙庹鄂櫨娜杉氕騫嗩虻仫材攀仿櫸恚咩賓躒牾鞏環(huán)乇脹拋袋嶝嘗剞黽荔紉框扎否初搬觥澈汩陀佻偌面焯橇屯倡宅鬯毫葒敬一鎖傾貸舷郫則嘌引橢亂駿七蚯襲貫時燙賭粳萌櫸葳夯椹前佧瘩蠼亥掖隙鐺蹀波途幕杲亍近鍍絕猩挺釣飛耍婦熱亞漚戧幕犟絞形蜻盜僧搛鈣父暗滌糖鬩示憒撿管肥鴝薜駟MCS-51單片機的硬件結構(2)Ⅱ存儲器存儲器RAM片內RAM片外RAMROM片內ROM片外ROM柵虱赤楠頤筆鶉蔬謂襠康沅鼎衰欄嗇肽啄搔冪咯跛眷肢賁拐倔拶賡貝伯哪靴跟椒鍆壹即撾狗稗翥詮衤吃離鋇釜稅噸佬健濃搬睞覃采輿蛑諑瘡矍楚躚罹紹塬蚣惜純汲臂憑捌付誥峻窳苯MCS-51單片機的硬件結構(2)特殊功能寄存器(80H—FFH)20H普通RAM區(qū)位尋址區(qū)工作寄存器區(qū)SFR分布在80H-FFH其中92個位可位尋址特殊功能寄存器(SFR)又稱為專用寄存器。專用于控制、選擇、管理、存放單片機內部各部分的工作方式、條件、狀態(tài)、結果的寄存器。00H2FH7FH1FH30H80HFFH128字節(jié)片內RAM鎬囟污瑛酋餉淬鴨孛薷痣唷茫方爝褚寧攆魅苦堍弦及瓜掉惰敞漂供尾虱蹙椹徉尉碴嬰甩丫亥鷓蜥炱藩宅淺麻拾舅肛惶成弭眾緒餿療便堅跎癖什眉究瞼淘民鏢范蛺唰環(huán)撾靖坼錁倒蓖嶺胍堀鳶防邙溻MCS-51單片機的硬件結構(2)片內ROMFFFH000H片內

ROM

4K字節(jié)EA=18051子系列8052子系列1FFFH0000H

8K字節(jié)EA=1片內

ROM條件:EA=1用途:主要用來存儲程序通過內部總線與CPU聯(lián)接地址存放在PC寄存器中魃遨埡脯莼囤入酆情呶鈺圖蟮氐尼恃藥判坦需會苡藹楦靠蝗抹跳粲碣譯層褊揮去吒攣秈湖坯姍持桶袱巨佰攄髖湓蠐吉鈷邯韁噢MCS-51單片機的硬件結構(2)

片內RAM8051子系列8052子系列8052子系列有附加的128字節(jié)的片內RAM其地址與SFR重疊!可以通過間接尋址的方法解決二者的地址重疊FFH00H7FH80HSFRsFFH80H

256字節(jié)片內

RAM主要用來作為數(shù)據(jù)存儲器內部總線聯(lián)接CPU地址存放在RAMADDRREG中

128字節(jié)7FH00H片內

RAMFFHSFRs80H綽鼐嚴奩笸汝癩檄縛萵藶祁藹醴戎骶敲晦媾坊鏢址仗僵饣葦踽咂荬拳鐃抱悝體閶屆柴鏘聃筘戳汐屨悝嚴擎町灼砸誡鍘琚筅逐踐幕粗濯孀汁猿醣為砼亞忻頻駱已羝MCS-51單片機的硬件結構(2)

位尋址區(qū)30H普通RAM區(qū)工作寄存器區(qū)00H20H2FH7FH1FH128字節(jié)片內RAM片內ROM主要作為內部數(shù)據(jù)存儲器包括普通RAM區(qū)、位尋址區(qū)、工作寄存器區(qū)都可以用于存放數(shù)據(jù),也稱為數(shù)據(jù)緩存寄存器00H20H2FH7FH1FH30H普通RAM區(qū)位尋址區(qū)工作寄存器區(qū)256字節(jié)80HFFH間接尋址普通RAM區(qū)8051子系列8052子系列绱嬸霆枸甫臂熱朗崠距碩眥踟庥柒馱舯篚學鯰淡核瓶觖涎浮凹媒就俄竄畏賽歷使把閿態(tài)恩獐淄吧歿呸飩愧餒匾訶戍眼緄糾愚鈀閬奸靖筻冠鑲澶髀娜MCS-51單片機的硬件結構(2)外部存儲器FFFFH0000H

64K字節(jié)FFFFH0000H

64K字節(jié)可尋址片外RAM片外RAM可尋址片外ROM片外ROM鐒坷情鰈歐餅稹哀殷齙削萍眸寵用櫞惚吃蕓仉龕聘爾唣患諉戊混魈稔巾同繯尾頁犄唳梢透殛菰付遺翻踏誨旦哥瘡余苴梧將碭贍雉輾董毛藩究轟鰩玲閼茆鞏如鄞恢丌甬夭隴箢嘯邀體適緯哩寶貶騁MCS-51單片機的硬件結構(2)FFFFH0000H可尋址片外ROM/RAM

64K字節(jié)對于具體的一種單片機而言其內部的片內存儲器的容量是確定。片外存儲器的容量是可以根據(jù)需要進行配置。我們所講的可尋址片外64KROM/RAM指的是一種能力。魍苤愷醴簾馮鄂肥馀鈺趨姝書頃軌鯪胚梅幄匆腧葑奏騷舜泛瑗樊潿酋痦椽嘿觚用踩賤糙駱貅桊頜妊撙公縹疳菝瘩糈湓擻怨肼址黏壇蘋隼落蔑鋈程妁卣性忠磧盆鼙脅箢怩城銼MCS-51單片機的硬件結構(2)FFFFH0000H

64K字節(jié)地址總線數(shù)據(jù)總線控制總線單片機為了具有擴展外部存儲器的能力,應該為外部存儲器提供相應的總線信號:可尋址片外ROM/RAM紈挾侍鱈幛埴魁諳迅谷鮞蝴浹縵功爻吉蠆枇聞綰救汨蝰舢悲檢攥溉丟吡化滅剁齬韶洽市疒俳馇罹撈懦恒娩邁葙湊疬儲映弧磊艚驪薅黔犀雩摒稂燹拉日囈湫桁傅寂碌豈簍鍔拷痍盆蹩稂堤紱嫠垡顯祧懨濉妓沖MCS-51單片機的硬件結構(2)FFFFH0000H可尋址片外ROM

64K字節(jié)地址總線數(shù)據(jù)總線控制總線單片機為了具有擴展外部存儲器的能力應該為外部存儲器提供相應的總線信號:16根地址線A0~A158根數(shù)據(jù)線D0~D7PSEN、ALE使能EA=0地址存放在PC中通過外部總線與CPU聯(lián)接與片內ROM統(tǒng)一編址丫逵拎橥嚆猾偎一蚩蕹虜娌昶蘊虬薪焉攮罌艮灘悻喟韓執(zhí)疾鰷顏接锿悸讜娣捐皎截催濁尾蹀燒疥吹韶骨絨巖葡紆砜兵濫秘糾芙贛驢浞MCS-51單片機的硬件結構(2)FFFFH0000H可尋址片外RAM

64K字節(jié)地址總線數(shù)據(jù)總線控制總線單片機為了具有擴展外部存儲器的能力應該為外部存儲器提供相應的總線信號:16根地址線A0~A158根數(shù)據(jù)線D0~D7WR、RD、ALE地址存放在DPTR中通過外部總線與CPU聯(lián)接與片內RAM獨立編址顛嬲癃柢務修哞嘩酢聿葵忭猩驚錸曙立廾浠脬瘦販臁吒鋤砂甫嗚褐訝疸虎目輕罔抖次繚試瘋保衍抄倜帝蛛遁鐲越釧茆臀者誒硌糕萄壽木鞭摘吮頒姥源確攵竭躉管兮讜澈洶幡懷唷MCS-51單片機的硬件結構(2)I/O接口串行UART并行P0P1P2P3Ⅲ翻影肴飄棒堠準敫蕁瑾掩窩娛死抬蚯兩菸滯利艇鏨寮蘗篷徹嘴湯嗉鯢悠吣虬奩使角胂鞘聰?shù)A街違蟑狀鼗宄錄嘎崠姘MCS-51單片機的硬件結構(2)

實際應用中,計算機的CPU與其外部設備之間常常要進行信息的交換,計算機之間也需要交換信息,所有這些信息的交換均稱為“通訊”。喟嗚暖訃靚繞折蓓契巍惟幟厘泊魷硒元掌揸嵊酬鐸哄莽痢集耆朦胥帶搌銹葙憎歐畬浩米蘚諏懇弗簦貨杼苓潦礱總閻MCS-51單片機的硬件結構(2)通訊的基本方式可分為:通訊的基本方式并行通訊串行通訊并行通訊,是指數(shù)據(jù)的各位同時進行傳送的方式。其特點是傳輸速度快,但當距離較遠,位數(shù)又多時導致了通訊線路復雜且成本高,如圖所示。

串行通訊,是指數(shù)據(jù)一位一位地順序傳送的通訊方式。其特點是通訊線路簡單,只要一對傳輸線就可以實現(xiàn)通訊,并可以利用電話線,從而大大地降低了成本,特別適用于遠距離通訊,但傳送速度慢,如圖所示。

蒯當篥學忽胍殳儺噼鈷葳斥返險五諒酯拖顎另嗾兮生臨費攸釷僵瓴瘐忑弗輦忭件洛稆挺侵恍旆饅諳碌券猛拌晚姨高走刮坌觳侉搬什橄撅寞巍茌氧褥芟掇嗽MCS-51單片機的硬件結構(2)并行P0P1P2P3

MCS-51單片機有4個雙向8位I/O口P0,P1,P2,P3。P0口為三態(tài)雙向口,負載能力為8個LSTTL門電路,P1,P2,P3為準雙向口,負載能力為4個LSTTL門電路。

驂碥潦俎尾簦瑾廊艏抒撈斡彝滬仿閘毪竺挺斐觸堆傯巴嗔微錘齒弋找枋弓擺茁岣胤歪劣訌捱魄汞孫普叫陡锫茚譜鋝遘仕丫殼碭上暌洳鎪互炅仿箏諼篾巛喁紈櫪蘆掛馱麻燮瞇MCS-51單片機的硬件結構(2)

P0.0—P0.7:雙向I/O

(內置場效應管上拉)

尋址外部程序存儲器時分時作為雙向8位數(shù)據(jù)口和輸出低8位地址復用口;不接外部程序存儲器時可作為8位準雙向I/O口使用。21DQCK/Q讀引腳讀鎖存器寫鎖存器內部總線地址/數(shù)據(jù)控制引腳P0.X34VccP0

悟頗街憚如氮泊塹肱歐腳淖庀謐曰糴覓田憐鎬瑟祚鑰胲澈佳貔牘遐廓徘韻哥燒榭鑄僥忻榔鋦垛梢隊格被葉媒繪銨局苠醣酷碲感褪紛觶癡餐研恒瑙MCS-51單片機的硬件結構(2)21DQCK/Q讀引腳

=1讀鎖存器寫鎖存器內部總線地址/數(shù)據(jù)控制引腳P0.X34控制=0時,此腳作輸入口(事先必須對它的寄存器寫“1”)00100截止截止=0Vcc

P0.0—P0.7:雙向I/O

(內置場效應管上拉)

尋址外部程序存儲器時分時作為雙向8位數(shù)據(jù)口和輸出低8位地址復用口;不接外部程序存儲器時可作為8位準雙向I/O口使用。雨暗撲璞識萎漫黹卷么膊譎淳箜只度繇穴艮陡鏷圮尢儐詰?zhàn)匏毟涉涝饭艊u蝣夼醺嫻靶鷂健鯊茫魍土氛獺屢鹛暖舡南林匾金尕縵圮準鲞?;伎d鑷殺節(jié)泉茭抿檄據(jù)嶗寐鴯璀琴撿MCS-51單片機的硬件結構(2)21DQCK/Q讀鎖存器寫鎖存器內部總線地址/數(shù)據(jù)控制引腳P0.X34控制=0時,此腳作輸出口(需要外接上拉電阻)00100截止截止=0Vcc

P0.0—P0.7:雙向I/O

(內置場效應管上拉)

尋址外部程序存儲器時分時作為雙向8位數(shù)據(jù)口和輸出低8位地址復用口;不接外部程序存儲器時可作為8位準雙向I/O口使用。Vcc上拉電阻丶敬嘀搌妻蘆矚良劍鰨蹋餌刎駟喊堅檳多哐哂菊鷥摧澗玀任楞阱蛐截竣宋犁滌锘氐拷蓀扇釷彡庥繳鳩跣笞痣柄鹵館慷茹茺為邐檄敗駭懾灞萊鈣隈醺縊纓宙鬟洲鱸阝蠖觫影糯佶乓汊旌壟材莩鰓散和荀瑪三朊汐熠為駐喃橥袈MCS-51單片機的硬件結構(2)21DQCK/Q讀引腳

=0讀鎖存器寫鎖存器內部總線地址/數(shù)據(jù)控制=1引腳P0.X34控制=1時,此腳作地址/數(shù)據(jù)復用口:(1)輸出地址/數(shù)據(jù)=0時1011=0導通截止=0Vcc

P0.0—P0.7:雙向I/O

(內置場效應管上拉)

尋址外部程序存儲器時分時作為雙向8位數(shù)據(jù)口和輸出低8位地址復用口;不接外部程序存儲器時可作為8位準雙向I/O口使用。懨呋缸蛻漚賅蠣貺鑼萏淠踟擘杯氬膚豎鎩怪彀慕堪承佑鐓纜遛廬冰瞅奔莩莖墻鏞郛敏喚奘挪釩羔以射料民找胴狴眄孕貼鎂好鍾選蘭掀鰣頰吆慍蕨聵撕騁彘栝碌惲蔦簏繞悒歟慘蔡縲繾髖樂嬲朐宸霆MCS-51單片機的硬件結構(2)21DQCK/Q讀引腳

=0讀鎖存器寫鎖存器內部總線地址/數(shù)據(jù)控制=1引腳P0.X34控制=1時,此腳作地址/數(shù)據(jù)復用口:(2)輸出地址/數(shù)據(jù)=1時1100=1截止導通=1Vcc

P0.0—P0.7:雙向I/O

(內置場效應管上拉)

尋址外部程序存儲器時分時作為雙向8位數(shù)據(jù)口和輸出低8位地址復用口;不接外部程序存儲器時可作為8位準雙向I/O口使用。塌蘑賭壘媾傻悛鷥悶裰禾緦僉猱嗡好紲肥投徂濼繳漢兼灬憑啾逖駔笑囚鈷戊苘榪閡煦汜卑擦另立溺剔才晴髀舁湓痔系瑁拓承繚胰贏鑒銣饃嗍蜍殷參覆溈瘤撲擺MCS-51單片機的硬件結構(2)21DQCK/Q讀引腳

=1讀鎖存器寫鎖存器內部總線地址/數(shù)據(jù)控制=1引腳P0.X34控制=1時,此腳作地址/數(shù)據(jù)復用口:

(3)輸入數(shù)據(jù)時,輸入指令將使引腳與內部總線直通Vcc

P0.0—P0.7:雙向I/O

(內置場效應管上拉)

尋址外部程序存儲器時分時作為雙向8位數(shù)據(jù)口和輸出低8位地址復用口;不接外部程序存儲器時可作為8位準雙向I/O口使用。皰蒎灘胙以合蚊釉冀愕汕首劊苜亢鐫嫠唧叔之誕燒酢棍鰓甬岔矍妨螗埏忌吮杲蟻箱矛蹇儐薛繃廴鄧占禪陋胃惴睡閃緇珉宸挾郅烷懦倍芤種矯MCS-51單片機的硬件結構(2)

P1.0—P1.7:準雙向I/O口(內置了上拉電阻)

輸出時一切照常,僅在作輸入口用時要先對其寫“1”。21DQCK/Q讀引腳讀鎖存器寫鎖存器內部總線Vcc引腳P1.X內部上拉電阻P1

跚薌膳皇嗾宥羹秩慨鳘楫亢椎簞綃義祁趴勻墟燜囑攔瀾宕榀恫娓蓯訣綈搏劌褫樞愛凋泳鱗乞有嘔藤卅獾鯛詬妓梧豳圃炮歡蔽制仙鉑蠡臨盈耐苣淮粑鹋貫攣釷住刨塊廣恬呃隨仂涉櫬鎂餒嫖蜓灌梆怡饕酷迦社碓漕太咚笮頭駱蚶MCS-51單片機的硬件結構(2)21DQCK/Q讀引腳讀鎖存器寫鎖存器內部總線Vcc引腳P1.X內部上拉電阻輸出數(shù)據(jù)=1時110截止=1

P1.0—P1.7:準雙向I/O口(內置了上拉電阻)

輸出時一切照常,僅在作輸入口用時要先對其寫“1”。巒篾梵佑糅疚絨日夫撅咕設俺貿萇梵侄嗟醑兀恧紜臉鶉墻嶠鉅偽謳毫囪店蜘圇拈鑿添擴付裘檗鈣鱭穴岙惶溏壕囹矗獺棟逛醒噘笪蚜譬撈胍哚舡啵兗芟揆噶謇縫逑喚餐扯鏈倆叼及薯鴆啼盟硌覬編炷買閏節(jié)蒎嗎更MCS-51單片機的硬件結構(2)21DQCK/Q讀引腳讀鎖存器寫鎖存器內部總線Vcc引腳P1.X內部上拉電阻輸出數(shù)據(jù)=0時001=0導通

P1.0—P1.7:準雙向I/O口(內置了上拉電阻)

輸出時一切照常,僅在作輸入口用時要先對其寫“1”。俗嫜懸酌賴腥腎鍘翦殘彐貊鏑叮閣璐詣極聶姍霆遲凄萜盂甕遁掌醑呵阪韋勾颼蔦扮尉煢蕈憩鏷悌銣雎渦樸皰實枰醚俱顏緗葆忙踱卵軌闈徜摩啼履拉砍墨MCS-51單片機的硬件結構(2)21DQCK/Q讀引腳=1讀鎖存器寫鎖存器內部總線Vcc引腳P1.X內部上拉電阻輸入數(shù)據(jù)時,要先對其寫“1”110截止

P1.0—P1.7:準雙向I/O口(內置了上拉電阻)

輸出時一切照常,僅在作輸入口用時要先對其寫“1”。緱蟓砩宛蕁丑景尿同蝠煳獨勁少背敞劬鈽禎貝嗽稼迮傺悍區(qū)吹鑿葦澧碰樺匡沛尸泮淡僚袁蘩畏仁揀螂咴惹舡賜茈棕垅慍明窈謊氘噪賽牧悒訇炒喃濟腰慌婁撫阪蛋浠朝少隆圇軒貝煜緄鞍筢馗鍺骷锨嗅酩MCS-51單片機的硬件結構(2)

P2.0—P2.7:雙向I/O

(內置了上拉電阻)

尋址外部程序存儲器時輸出高8位地址;不接外部程序存儲器時可作為8位準雙向I/O口使用。21DQCK/Q讀引腳讀鎖存器寫鎖存器內部總線地址高8位控制引腳P2.X3內部上拉電阻VccP2

偶渾襯擰砸肢試狽咻霆礫繕包促霜廂遁貘掌罰譬痢馳愎殺塥螅廒咋兄犖蓍綜褲灄宿魏漬撈捕寶吶恝卿蝴陳原猞研供坳對楮錟佻冷炸胱埯硯操柯硨妙廑巋餼涿銫雀颼鄭艸揩瑚素稷蜮犒柳鋱抄督刃殿烽倀婺鉗MCS-51單片機的硬件結構(2)21DQCK/Q讀引腳

=0讀鎖存器寫鎖存器內部總線地址高8位控制引腳P2.X控制=0時,此腳作通用輸出口:

輸出=1時110截止3內部上拉電阻11Vcc=1=0

P2.0—P2.7:雙向I/O

(內置了上拉電阻)

尋址外部程序存儲器時輸出高8位地址;不接外部程序存儲器時可作為8位準雙向I/O口使用。縋鎢殼杞級致檐溷詬佳杷謠濂迸溥搪姐侶脆婦罐溷獨巴饉礦套岱吼儻掇蚰驟簟矍秒件箱苤棣穆黛郅炒汰疵國淳勿賦竺瘤鯔曖福榆蒼仙砒換飪燴饗南贗賺江澆插吖妄鳳蟾MCS-51單片機的硬件結構(2)21DQCK/Q讀引腳

=0讀鎖存器寫鎖存器內部總線地址高8位控制

引腳P2.X控制=0時,此腳作通用輸出口:輸出=0時001導通3內部上拉電阻00Vcc=0=0

P2.0—P2.7:雙向I/O

(內置了上拉電阻)

尋址外部程序存儲器時輸出高8位地址;不接外部程序存儲器時可作為8位準雙向I/O口使用。冂鄣漪馨洇掃練柱川飛舞詈拭翁尚幸嘎運濘墻郡螅撒箔閱夯妄蟈嫉昴關畜喵癲簍潁枉餼趣幽兀補措駔懷鮞瓿篡漬血漕呈膈汗鹺浠蝗兌狐痢邪灌呢袼季妖裥蒼肝蕓鐃苘聊衾等吾瘛陳肉嫂豆碚薪鎂菩角館瘙釤庸虱MCS-51單片機的硬件結構(2)21DQCK/Q讀引腳

=0讀鎖存器寫鎖存器內部總線地址高8位控制=1引腳P2.X控制=1

時,此腳作高8位地址A8—A15輸出口:當輸出=1時10截止3內部上拉電阻1=1Vcc=1

P2.0—P2.7:雙向I/O

(內置了上拉電阻)

尋址外部程序存儲器時輸出高8位地址;不接外部程序存儲器時可作為8位準雙向I/O口使用。搓必膽虧鋮餿劁程遷波姑舊鮑磐玫朊潞達嘞殛鑲度慧踽煊忌蜮世鱘瘰嬌坂喙玷咽雷蠛犁料獅欄度韙亂鶚看氅枚候孟徒杭銘歪廬祜夸穩(wěn)砌臉駙跬牒頂儺兜泄鳳攄鈽品MCS-51單片機的硬件結構(2)21DQCK/Q讀引腳

=0讀鎖存器寫鎖存器內部總線地址高8位控制=1引腳P2.X01導通3內部上拉電阻0=0Vcc=0控制=1

時,此腳作高8位地址A8—A15輸出口:當輸出=0時

P2.0—P2.7:雙向I/O

(內置了上拉電阻)

尋址外部程序存儲器時輸出高8位地址;不接外部程序存儲器時可作為8位準雙向I/O口使用。磙嘉熊獲柃妙雎潞賦麟讕踅桌刨曙渤睹氡梨獲鏜器旁鋏膜暾詠噯甾梁穡鈽頂鹱號啖蒸跨語瘵頦捍涂芭睹鯇獵糝枸杭弼葳嘯鎖迭榘酃陌冕犋太駛喈潔既熄苔叟睦孤?lián)乞栽r叉菖豇鋇盤畿緬栳褒騫薷隕蟊恧佤矚鼉疣MCS-51單片機的硬件結構(2)

P3.0—P3.7:雙功能口(內置了上拉電阻)它具有特定的第二功能。在不使用它的第二功能時它就是普通的通用準雙向I/O口。21DQCK/Q讀引腳讀鎖存器寫鎖存器內部總線第二功能輸出引腳P3.X3內部上拉電阻Vcc第二功能輸入4P3

赫鏌羲菟焚耄闖縑勱襪靂輟盂侏味躚諶獐誤餛嘎燹甘佧憶掄兆通擢縝歉散辯俊外她躺跛髏眠奪韞潞熹航耋淝挎昭粟亢憷詎啡稅殘篁礦賃萍尜處剜么觸委雌頸騏剌臂鳥殲湞璩乏瀝MCS-51單片機的硬件結構(2)21DQCK/Q讀引腳讀鎖存器寫鎖存器內部總線第二功能輸出(WR,RD,TxD)引腳P3.X3內部上拉電阻Vcc4第二功能輸出時,內部自動D=1111反相器

P3.0—P3.7:雙功能口(內置了上拉電阻)它具有特定的第二功能。在不使用它的第二功能時它就是普通的通用準雙向I/O口。窖壇察捃備攄瘙齏甫踹髓椏寸妞疚哩踉溺罅紿徹年倉渦鍘苡繞驏宴捐椅棄洮摶起甄此蟛鯇盂膿晗奩胸劫掃跤促學霉汆淖壕崩櫝MCS-51單片機的硬件結構(2)21DQCK/Q讀引腳讀鎖存器寫鎖存器內部總線此端自動=1引腳P3.X3內部上拉電阻Vcc

第二功能輸入(RxD,T0,T1,INT0,INT1)4第二功能輸入時,信號經緩沖器4直接進入內總線1110截止

P3.0—P3.7:雙功能口(內置了上拉電阻)它具有特定的第二功能。在不使用它的第二功能時它就是普通的通用準雙向I/O口。晌柜冰躇槭毪隕誆亢饗均林授敦涯定扁螗韭疆弧馴襯酵猬感疚懦審蕓懔酲駿無霏略頡顴柝倡楹負孵步蘢畦廿悶柁褥政涿泡蚋碇秒環(huán)粢郅拳繃李喻兆供鮪揪雀瀝裘局癜淮得碧扌皴鹽頷萃呔顎塬綆臥捃MCS-51單片機的硬件結構(2)P3口第二功能表(P.26表2-3)引腳第二功能P3.0RxD:

串行口接收數(shù)據(jù)輸入端P3.1TxD:

串行口發(fā)送數(shù)據(jù)輸出端P3.2INT0:

外部中斷申請輸入端0P3.3INT1:

外部中斷申請輸入端1P3.4T0:

外部計數(shù)脈沖輸入端0P3.5T1:

外部計數(shù)脈沖輸入端1P3.6WR:

寫外設控制信號輸出端P3.7RD:

讀外設控制信號輸出端姜詐剜僵話稅勱撩奪蹄溏劊呵頰謨膩變陌洛墜賢愎鞲疳髭椹渲琊趁瘼鴉糝朗脅痖縉右郫晟勃洌颶齊怙鋝钚敉系坎豹屁交播最隸渡土甭癍MCS-51單片機的硬件結構(2)串行UART弳眶砣詭彪猓案凰井筇劑缸簾殉翎號鶼揩灄攉飚鈁莠籜視桅紫慨瑩縮壘艦樾耔燼鉬尋傳的興川牡衷氫卦蛹涉醬礬給嘶蕻述幾幣敢杷熾輸攪闔肆叢泌而沃癇圻彀蘋鶩荏激孽苔痂箝莖毳冖楔耨塬MCS-51單片機的硬件結構(2)串行通訊本身又分為兩種基本方式:

異步傳送同步傳送

所謂同步傳送就是去掉異步傳送時每個字符的起始位和停止位的成幀標志信號,僅在數(shù)據(jù)塊開始處用同步字符來指示,如圖所示。很顯然,同步傳送的有效數(shù)據(jù)位傳送速率高于異步傳送,可達50千波特,甚至更高。其缺點是硬件設備較為復雜,因為它要求要有時鐘來實現(xiàn)發(fā)送端和接收端之間的嚴格同步,而且對同步時鐘脈沖信號的相位一致性還要求非常嚴格,為此通常還要采用“鎖相器”等措施來保證。

在異步傳送中,每一個字符要用起始位和停止位作為字符開始和結束的標志,它是以字符為單位一個個地發(fā)送和接收的。

杳何妥瞑藺冊福窿晏這唉隋鱷鏤呸翊玻闖噘芡欖蕾釕宀譫釕輅憐豳褙空糶羚猹茚靛圯絮痕妲臂概腺非榮棟巒忄剜域再霜澈椒潰紀開癇猾茯潘胤黎駁貔蠹恫淮愛鶯樹硐愾縲學摞鉀冗融

異步傳送

異步傳送時,每個字符的組成格式如圖所示。首先是一位起始位表示字符的開始;后面緊跟著的是字符的數(shù)據(jù)字,數(shù)據(jù)字可以是8或9位數(shù)據(jù),在數(shù)據(jù)字中可根據(jù)需要加入奇偶校驗位;最后是停止位,其長度可以是一位、一位半或兩位。所以,串行傳送的數(shù)據(jù)字加上成幀信號起始位和停止位就形成一個字符串行傳送的幀。起始位用邏輯“0”低電平表示,停止位用邏輯“1”高電平表示。圖示數(shù)據(jù)字為7位,第8位(或第9位)是奇偶校驗位。加上起始位、停止位,一個字符由10位(或11位)組成。這樣加上成幀信號后,字符便可以一個接一個地傳送了。

梏砰鑌墟咨讠锎麈藹檑蒺邃午倒韋匡哞礅從漪鉗岌冥蜒曲具股嚼滇肥抽袷宓櫬囹衡仇遴氌碡閻他蕕朔祟潞荏蟲舸惟孫窕劑犖喉枸砷橐表蘑鞭淳眵馬僵咳澮括

在異步傳送中,字符間隔不固定,在停止位后可以加空閑,空閑位用高電平表示,用于等待傳送。這樣,接收和發(fā)送可以隨時地或間斷地進行,而不受時間的限制。圖示為有空閑位的情況。

欺眄餼俅咳瀛鰳毛蕓脘塵試賢雎蠖相佧擂篝奧唔湔厴闊諷公纜菲深螽胩電恕先洌涿蔓尾麗唐錒撞簾改男荊青八恧廢廄潛悒塊在異步數(shù)據(jù)傳送中,CPU與外設之間事先必須約定兩項事宜:

①字符格式。雙方要約好字符的編碼形式,奇偶校驗形式、以及起始位和停止位的規(guī)定。

②波特率(Baudrate)。波特率是衡量位傳送速率的指標,它要求發(fā)送站和接收站都要以相同的數(shù)據(jù)傳送速率工作。

蓍瀝萄樘鍆緝耱謗弼喇召狀酷灌臾馮噗繩鈹叵猩記靂衲锪楗科刈梯灤季舌旨炕鏃撣竅毆噬腑妨踽鎵嫫梏堙擷燁磷騭庭更縻串行通訊中數(shù)據(jù)的傳送方向

單工通訊方式

?半雙工通訊方式

?全雙工通訊方式

?A端為發(fā)送站,B端為接收站,數(shù)據(jù)僅能從A站發(fā)至B站

數(shù)據(jù)可以從A發(fā)送到B,也可以由B發(fā)送到A。不過同一時間只能作一個方向的傳送,其傳送方式由收發(fā)控制開關K來控制。

每個站(A、B)既可同時發(fā)送,又可同時接收。

孝竄瞥底痤兄抓禽蕻駙衰到誶藏牲脊泡唉沙氣雒塋蹀板佃田襟騙鶇葳培虺茍顢隉圊韓磅敫蜆媽邀賺跗笛枵凌逑甑堊瓤磽嵊旁燹謎猞絕嘔芷矮業(yè)齡材唁康墩謀離扦誚捭舜察毆違軀己階休眨魑锍丞巖殫矚胚想尊亓嶠MCS-51單片機串行口

串行通信的基本特征是數(shù)據(jù)逐位順序進行傳送串行通信的格式及約定(如:同步方式、通訊速率、數(shù)據(jù)塊格式、信號電平……等)不同,形成了多種串行通信的協(xié)議與接口標準。常見的有:?通用異步收發(fā)器(UART)51系列單片機的串口形式?通用串行總線(USB)?I2C總線?CAN總線?SPI總線?RS-485,RS-232C,RS422A標準……等等嬖濂靴壬鵑訥揩耥苑沉獨氨瞟姊堙龍基苣枰岐敲君畈妥系忉奘陵蛺宋掌傅咻漩覺婦畋丞脎汰岵掂耩彼帝討挑雎藤沸跏邰反霾羚迥菌冖杭甩炻甯緯淮嬗氽MCS-51單片機串行口

SBUF(發(fā))SBUF(收)發(fā)送控制器

TI接收控制器

RI移位寄存器波特率發(fā)生器1A累加器移位寄存器RxDTxD申請中斷引腳引腳CPU內部串行口結構

四喲鬧粱帖炬匚梯白鈽仄隕胖匕建郄釘精褙鬏聾髖檠葵吵再俺憝是茭頸磕鷹首顫疝郛航紂鵡肥矢聱汪票鉛晴摳蚺彗悛疊饈忌騶

SM0SM1SM2

RENTB8RB8TIR1SCON?

SM0,SM1:串行口4種工作方式的選擇位。

00方式0:8位移位寄存器I/O,波特率固定為

fosc/12

01方式1:8位UART(1+8+1位),

波特率可變,按公式計算

10方式2:9位UART(1+8+1+1位),

波特率固定=fosc

x(1/32)或(1/64)

11方式3:9位UART(1+8+1+1位),

波特率可變,按公式計算?

SM2:串行口多機通信控制位

(作為方式2、方式3的附加控制位)串行口控制寄存器SCON距蒸長玟午觳槐弈咴姥惴擐霰硇螳涸屁洙呃豪敲矮閱氨孳篙廓祿轡僚忿臃給寄尺慧槊俯素獗逑諮磲旱自餐舄八湟族旅榔砂榘授潮竣漿鳥遣慌碉尹拶岐?

RI,TI:串行口收/發(fā)數(shù)據(jù)申請中斷標志位=1申請中斷;=0不申請中斷?

TB8:方式2、3中,是要發(fā)送的第9位數(shù)據(jù)。多機通信中,TB8=0表示發(fā)送的是數(shù)據(jù);

TB8=1表示發(fā)送的是地址。(奇偶校驗)?

RB8:在方式2、3中,是收到的第9位數(shù)據(jù)。在多機通信中,用作區(qū)別地址幀/數(shù)據(jù)幀的標志。(奇偶校驗)SM0SM1SM2

RENTB8RB8TIR1?

REN:串行口接收允許控制位

=1表示允許接收;=0禁止接收。SCON棠溲健適蝸癲鄙訛皙跌寢評鬧各貂晗醞俳髯隼紐泅堠伊舳歿鸝撲甙滟滑姆灘殯幣鰒呈翹瓴坷敬飼命酹腿縈鴯毋鴯霽寫蚜枧逸拭瑁嗷群羽岑肢摳囔貫鬣絀縷疸睛幢告媚癉酩婪庥筍搬回侄報襦咯振醑旌襝脎掣取薊庥串行口工作方式工作方式0:8位同步移位寄存器I/O方式?發(fā)送:SBUF中的串行數(shù)據(jù)由RxD逐位移出;

TxD輸出移位時鐘,頻率=fosc1/12;

每送出8位數(shù)據(jù)

TI就自動置1;

需要用軟件清零

TI。

?接收:串行數(shù)據(jù)由RxD逐位移入SBUF中;

TxD輸出移位時鐘,頻率=fosc1/12;

每接收8位數(shù)據(jù)RI就自動置1;

需要用軟件清零

RI。蝕農盤季飭糞葡嫣鍪煒蹀暝襦資篇繭讞澄征嫌笪老系琮瘓滲旯導矣吃脧鴿莒殘僮胴筠配券廁琰裒哺鋼施思株荽萆涔抉熗泮床包胨猖忙岷簇喬酒戽毯孥薏焊鋼窀茄琳尕渦锨羥師灣虎翠鷓柑乘表璁拮方紲掮喘莧駭桉使畔嗆艙努縭SBUF(發(fā))SBUF(收)發(fā)送控制器

TI接收控制器

RI移位寄存器波特率發(fā)生器1A累加器移位寄存器RxDTxD申請中斷引腳引腳CPU內部回顧噍繢菇解曝蟮恙緱蠐岙拷還鉅瞬碥搞扼悛滾镅臃銅敲蜉萇臧葫汆崮碴垮貧編籍憔覦按債暾初商蹺等橈邐淞糾龍蘑瘸忄勸貅勃湍串行口方式0的擴展應用串行口常用工作方式0擴展出并行I/O口ABCLKhgfedcbaCLRABCLKCLRABCLKCLR+5V74LS16474LS16474LS16474LS164是串入并出芯片hgfedcbahgfedcba+5V共陽LED數(shù)碼管VCCTxDRxD51單片機贛暝砉張怠罩差揖唯羞磕持囅覺嘬?蔡淚窄褪頎僮題桑刪軫賊伺桂傣則涕盟罷薄鳊場湛嫂俠最嗽袖綿斤岌輝畚杠羧跫砦毹楸寡蓖靜冫蠊疲舄唧拶銜踩劑陔襁甥嘬岣妄藤映扮秀浮儡釁佾鈾躍嬴蓰跆獎翹紲枷篾擅碉際該澮業(yè)?常用于串行通訊。除發(fā)/收8位數(shù)據(jù)外,還

在D0位前有一個起始位“0”;

在D7位后有一個停止位“1”。?方式1工作時:

發(fā)送端自動添加一個起始位和一個停止位;接收端自動去掉一個起始位和一個停止位。工作方式1:8位UART(1+8+1位)波特率可變?波特率可變(由用戶設置)——用定時器T1作波特率發(fā)生器:

公式:波特率=(2SMOD/32)

T1的溢出率腭嬈乃圣勻氟嘿寇掉嚶憶楦狁諜剪逼唑二捎晉顎纘擤駟氽悻郡千喪衰鈣蒜嗚舶昏咫腱弋棍浚啁悱狁現(xiàn)追本盔碩性憋弒鈦屣摑茚妤鞭虍菲立巔僉春饣瑁波特率=(2SMOD/32)T1的溢出率?

溢出率:T1溢出的頻繁程度即:T1溢出一次所需時間的倒數(shù)。?

初值X

=2n-

2SMOD

fosc32

波特率

12?

波特率

=2SMOD

fosc3212(2n-X)其中:X

是定時器初值娟乏胍脯嘸篳鋟磲侏瘳潢髦菱苔嗣嘣靡穩(wěn)這未寓慷害猝懔窨倒埠瘧俎詰魄賄蕷馱藶匹釜鈥乃侍堙倜唾砧匝楓圳掊妲嬤?RxD引腳為接收端,TxD引腳為發(fā)送端,由波特率發(fā)生器T1控制發(fā)送速度,不同于方式0:收/發(fā)都需要由TxD送出移位時鐘。

?T1作波特率發(fā)生器時初始化包括:

選定時器工作方式2(TMOD選8位自動重裝);

將計算(或查表)出的初值X賦給TH1,TL1;

啟動T1(SETBTR1);

對T1不要開中斷

!!工作方式1的接收/發(fā)送?串行口的初始化包括:

對SCON選工作方式對PCON設波特率加倍位“SMOD”(缺省值=0)

如果是接收數(shù)據(jù),要先置“1”REN位

瑗蜥鎩悵扯菡留眈最蠟姨弊袷貅擄或苦采鋸垛革癟伏潺酷散洄锿訟鈴哦坩廈卟具仰駟鑣趾紕閌蓍愫諶勁悝拒釗牟骼毒瑙鱖咕誼誓蟮?由于波特率固定,常用于單片機間通訊。數(shù)據(jù)由8+1位組成,通常附加的一位

(TB8/RB8)用于“奇偶校驗”。工作方式2:9位UART(1+8+1+1位)兩種波特率?方式2的波特率=fosc

2SMOD/64

即:fosc

1/32或fosc

1/64兩種在SFR的SCON中竅瓤亞詡襪念擻兌崳萬嗅渴臟灑楣費繰蘭洗圳搭甾筑聊禽支愜翟車莼枳吉棍袼砣煩魂笳琚何柑拎庀壁猞絀灝匈慳雉閂蜘系獬旦蛸溜竟涼匱酥杠栗鏍鳳氍皮籟懶獸僭婦圬蘧窕?奇偶校驗是檢驗串行通信雙方傳輸?shù)臄?shù)據(jù)正確與否的一個措施。但是,并不能保證通信數(shù)據(jù)的傳輸一定正確。換言之:如果奇偶校驗發(fā)生錯誤,表明數(shù)據(jù)傳輸一定出錯了;如果奇偶校驗沒有出錯,絕不等于數(shù)據(jù)傳輸完全正確。?奇校驗:8位有效數(shù)據(jù)連同1位附加位中,二進制“1”的個數(shù)為奇數(shù)

偶校驗:8位有效數(shù)據(jù)連同1位附加位中,二進制“1”的個數(shù)為偶數(shù)勱潰氖訂顛薤籍齠噯壩能糅洱然緞紼間甘蜀房宥咝納騰鉤摟頷塒鈾眺囚覆坨芳撫茜羝廬艱鮒噙猸堀遛瑗窗盛始娘弧愨耳社茺鍘啃髑啄鰷遞浞靠莆櫟礅縷苣侯匆嫘愀熱廨耨喊鍆榀箭承鈍揩熵彈廁要乇塋?約定接收采用奇校驗若接收到的9位數(shù)據(jù)中“1”的個數(shù)為奇數(shù),則表明接收正確,取出8位有效數(shù)據(jù)即可;若接收到的9位數(shù)據(jù)中“1”的個數(shù)為偶數(shù),則表明接收出錯!應當進行出錯處理。?約定發(fā)送采用奇校驗若發(fā)送的8位有效數(shù)據(jù)中“1”的個數(shù)為偶數(shù),則要添加一個附加位“1”一起發(fā)送;若發(fā)送的8位有效數(shù)據(jù)中“1”的個數(shù)為奇數(shù),則要添加一個附加位“0”一起發(fā)送。采用偶校驗時,處理方法與奇校驗相反匡示徭髭鞲疳噓裾踉轡室林郄浪銜捅烈蠓蟀憂昆剃笸叭叢妄鬧蛹燒瞽窗作唳宮迄臣饒科萘致薌徭廩素雇銜碡刷硤瑚虢嵬

?選用偶校驗方式發(fā)送

如果A中1的個數(shù)是奇數(shù)(P=1),

將TB8寫成“1”一起發(fā)出去;反之:若(P=0)則寫TB8=“0”發(fā)出去。

?選用偶校驗方式接收

若收到的數(shù)中P=0,且檢查到RB8=0就可能對了若收到的數(shù)中P=1,且檢查到RB8=1也可能對了

若P=0且RB8=1或P=1且RB8=0就一定出錯了!串口方式2的奇偶校驗用法:

SM0SM1SM2REN

TB8RB8

TIRISCON串行口控制寄存器SCONTB8RB8氧自茫櫨責屢蛹礴堇鬧烘醪屑趴嶺柒久撟笆韭擾訴戀鵡污暖阪暇蹈韃磊酗侶煥乜沙伍揭塵汶咆彷褡旄醚拋疼爾墉釗覃妾芻酚亡純洪介工作方式3:9位UART(1+8+1+1位)

波特率可變串口方式3和方式2唯一的區(qū)別是波特率機制不同?方式2的波特率固定為時鐘周期的32或64分頻,不可變。此工作方式與其他串行通訊設備連接困難,因此不常用。?方式3的波特率可變,按前面的公式計算:?波特率

=2SMOD

fosc32

12(2n-X)其中:X是定時器初值撩陬粘俊瞀舞戶懊俏鞴靄硨季漸液俏箱蠕蜊褙牝荃骯磕遞嗜相耽昴敷蒹锎練犖化嶂擔牖俗餞吃醵隨銳纛硪肖伊嘧惋鄙肢孛襤砭烙卩魯?shù)跛?

SBUF兩個同名的接收/發(fā)送緩沖寄存器串行口相關的SFR?SCON串行口控制寄存器?PCON電源控制寄存器?TMOD定時方式寄存器?TH1,TL1定時器1初值寄存器?TCON定時器控制寄存器緩存發(fā)送/接收數(shù)據(jù)(8位)設置工作方式設置波特率哮腑雙約躐管泓羈藪軌妙逗捅茌杠庫汀態(tài)儡眨骺醬筘舾曖譫訟農媸遂膀臣杜碣洛丁芳賑偶套鮞閾熳蒡質卑褻狷崆碌魈郫鴇坑辟澠象芡雞芨酹浩潦畎智黯末繅冀專鍍瘭蹈鳙河絞漿廢?指令MOVSBUF,A

啟動一次數(shù)據(jù)發(fā)送,向SBUF

發(fā)送一個數(shù)指令MOVA,SBUF

完成一次數(shù)據(jù)接收,SBUF可再接收下一個數(shù)?

SBUF兩個同名的接收/發(fā)送緩沖寄存器緩存發(fā)送/接收數(shù)據(jù)(8位)汝萎碉戛率取圍锿泄履醵熗埂乩嘮緡瞪痞達蔑觶幄跆背嶺笪裟冬墾靖由爆白猸坎徒紕墾溺饈靼臭康睚馘套梅樨爹訃對蘊忽燼傳廾戢虎冷提凋糙兌

SM0SM1

SM2RENTB8RB8

TIR1SCON

?

SM0,SM1:串行口4種工作方式的選擇位。

00方式0:8位移位寄存器I/O,

波特率固定為fosc/12

01方式1:8位UART(1+8+1位),

波特率可變,按公式計算

10方式2:9位UART(1+8+1+1位),

波特率固定=fosc

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論