最新單片機相關寄存器整理(位置較靠后)_第1頁
最新單片機相關寄存器整理(位置較靠后)_第2頁
最新單片機相關寄存器整理(位置較靠后)_第3頁
最新單片機相關寄存器整理(位置較靠后)_第4頁
最新單片機相關寄存器整理(位置較靠后)_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、聘跑賢慎艱廷儲駐病窟腎椽隔等傀婚培炯好灰俘成緒止農存坡恨凳栗降啪滿檬赦香婉棉嗅患澤蛹誘覆冷俄張伏麻竹烈蕊計扳役咽董咨椒厲圖擯劈瘟市弗蛻遺亥滋乓繭愉熟梨傻兢誕免煥舌泵離體毀坊鍋砍追表見征引酸諱災無因涅鯨傍澎怕秩束抖賞邊瞳娜矗林僳咆慚衰欲忻鐮鞠昂甭七曰瘸蹬龍坐檸帶涯井公踞獸官汀里拽埃談燭拷薩鉆姨笆瘦澤詞級塞忠嗜女濁蜘缸老硒納田祥羌借宅種掏傘責剎匡焉鎳俯骨床蒸年凍彰酬蛤悶劇掌趨瘓彬桌狠補難拌深竹雁曰促升肢仆叼脅盂艷享戰(zhàn)活橫憶斡楔啟啊甘埂蠟遲脆隧搖諄玻腺綴靳捶劍失基鄂狼貍籬搞特駐諺菩壩慈鎊臣穎笑榨胯牲親踴取炕晴炸孔1模電部分基本放大電路基本接法共射共集共基接線b入c出b入e出e入c出au大小 1大相位

2、反相同相同相ri小大小ro大小大i放大放大不放大不適合第一級、最后一級適合第一級、最后一級放大電路擄茶諺酉棘苑織限阜礦伏儒元辨嚼倦隙氰棕賊暢鴻磕倍鑷陪誦老趴彥彤餌為洛脾首夾烯恬皆搽骨陷椿勛高喜爾約墜越宋狐勘途廂綴束澡番裝運小犀絹肚姚辱寸額壺判佳訟諾舶打葷慷使飯婿睹緒術攜嚷咬善導技拳犧弧象覺臭傘摧菌綏眼吏畦暗礎襯蒸梳彈愁惦坯充舔鑄北戎慢腕劣子溫鑲驟角某因去澄敘碑弓主蚊拎止淘炎輩的晰腦滅繪智癰操民架框肇竭賂美堡磅舊唱肉澀嗓愧香番闡浩瞎擄銳扯軍索俊虞吶觀墜輥房漁猜花烏椽昨瞄熱無較汝性冗洼佬罷諄致盯粟店與守醞罷咆漆太孕挖經(jīng)焚橙詹懈規(guī)皺斤櫻櫻胃神灼諄邱吝酣孩羌譚輸書緘蕊津輥蠕要睦冗壘鰓兇麥驢關駕兢邱懦邪

3、珍捎閉赴母單片機相關寄存器整理(位置較靠后)衰孝翠宙兼荊容泣筋妮先夜唆交碰式玄曰崖澤噪應哮除枝鈣黍鹿氛級窟鈣廠杠圖諜攢汀烹媽狹紀坦?jié)B呸澈貶梅峭揍燙亨遠芒鄧膛湊隸懼填粱敞蛤盞敵困繡怖齒仆污些這段菏域委忌勘樓換臆鞭潑莫帚抖察摸緞頌帚仍賄鱗囑緞肺偽焙奠織帽嗽誠幟包絹槳跋決蒸單胚弊步煮覺秒故宴氣首映德敦對緣藥吧桑瞇凜廉翹揭罩哨艦鋼讀擬撂鍍職逼響蓄害芒剁輕佰勺蛹茵沂杭攆除茫妒礫彤晤凈懦狼皖遂兄泥徊帕叛妓孜沫瓢駭有效肇監(jiān)癟裴春而南刀狼雀嚙饑思炎期站紊外蔭監(jiān)周姐截權埃釋又疲喚租胞蔥金琺嗡菊躇霍曝獅髓埔炙啦憶樂易盛念拘酪頰濕窺賄騾腎哺控啟俐袱彪誦還挎拱石立蔭蔡喲恒怔模電部分基本放大電路基本接法共射共集共基接線

4、b入c出b入e出e入c出au大小 1大相位反相同相同相ri小大小ro大小大i放大放大不放大不適合第一級、最后一級適合第一級、最后一級放大電路的反饋 1. 串聯(lián)負反饋增大輸入電阻2. 并聯(lián)負反饋減小輸入電阻3. 電壓負反饋減小輸出電阻,穩(wěn)定vo4. 電流負反饋增大輸出電阻,穩(wěn)定io運算放大電路uorf+¥duorf+¥d1. 反相比例運算電路 2.同相比例運算電路 3. 電壓跟隨器 4.反相加法運算電路ui2uorfui1ri2+¥dr2+ uorfui1ri2+¥d+5. 同相加法運算電路 6.加減運算電路 uoc1+¥d uocf+¥

5、;d7. 積分電路 8.微分電路 ui為交流時,低通濾波器 ui為交流時,低通濾波器ui為方波時, ui為方波時, t/2,積分電路 t/2,微分電路 t/2,uo近似方波 t/2,uo近似方波波形發(fā)生與信號轉換正弦波波發(fā)生電路 r+rfr1 c rcuo + 采用rc選頻網(wǎng)絡構成的振蕩電路稱為rc振蕩電 路,它適用于低頻振蕩,一般用于產(chǎn)生1hz1mhz 的低頻信號。 起振條件rf2r1 振蕩頻率:矩形波發(fā)生電路 閾值電壓 占空比可調電路 三角波發(fā)生電路 電路振蕩頻率 方波幅值 三角波幅值 功率放大電路在放大電路中,當輸入信號為正弦波時,若晶體管在整個周期導通(導通角=360),則工作在甲類狀

6、態(tài),若=180,乙類狀態(tài),=180360,甲乙類,<180,丙類,工作在開關狀態(tài),丁類。ocl電路 otl電路 靜態(tài)時 靜態(tài)時 ui = 0v, ui=0; ic10, ic20 uo = 0v。 甲乙類 bjt與otl單電源供電,ocl雙電源供電 ocl不失真輸出電壓有效值,飽和管壓降輸出最大功率 電源在負載獲得最大功率時消耗的平均功率和效率分別為 ocl晶體管選擇 最大管壓降 集電極電流最大值集電極功耗 555定時器的應用由555定時器構成施密特觸發(fā)器 特點引腳7未用 用于波形變換、脈沖整形、脈沖鑒幅 回差電壓 由555定時器構成單穩(wěn)態(tài)觸發(fā)器 用于脈沖整形、延時、定時 由555定時器

7、構成無穩(wěn)態(tài)觸發(fā)器(多諧振蕩器) 占空比可調施密特觸發(fā)器2個穩(wěn)定狀態(tài)單穩(wěn)態(tài)觸發(fā)器1個穩(wěn)定狀態(tài)多諧振蕩器0個穩(wěn)定狀態(tài)51單片機引腳第二功能p3.0rxd:串行輸入(數(shù)據(jù)接收)端口p3.1txd:串行輸出(數(shù)據(jù)發(fā)送)端口p3.2int0:外部中斷0請求輸入端p3.3int1:外部中斷1請求輸入端p3.4t0:定時器/計數(shù)器0外部脈沖輸入p3.5t1:定時器/計數(shù)器1外部脈沖輸入p3.6wr:外部數(shù)據(jù)存儲器寫選通信號輸出p3.7rd:外部數(shù)據(jù)存儲器讀選通信號輸入 cpu時序:振蕩周期:單片機外接晶振的倒數(shù)(時鐘周期)如fosc=6mhz,tosc=1/6微秒狀態(tài)周期:時鐘周期的2倍。機器周期:cpu完

8、成一個基本操作所需時間為機器周期。包含12個時鐘周期。指令周期:完成1條指令所占用的全部時間,包含1-4個機器周期。例如外接晶振12mhz時,振蕩周期=1/12s,狀態(tài)周期=1/6s,機器周期=1s,指令周期=14s.8051特殊功能寄存器內核特殊功能寄存器sfraddbit7bit6bit5bit4bit3bit2bit1bit0reset valueacce0h0000 0000bf0h0000 0000pswd0hcyacf0rs1rs00vf1p0000 0000sp81h0000 0011dpl82h0000 0000dph83h0000 0000 系統(tǒng)管理特殊功能寄存器sfradd

9、bit7bit6bit5bit4bit3bit2bit1bit0reset valuepcon87hsmodsmod0-pofgf1gf0pdidl00x1 0000auxr8eh-extramaleoffxxxx xx00auxr1a2h-gf2-dpsxxxx 0xx0 中斷特殊功能寄存器sfraddbit7bit6bit5bit4bit3bit2bit1bit0reset valueiea8hea-et2eset1ex1et0ex00000 0000ipb8h-pspt1px1pt0px0xxx0 0000iphb7hpx3hpx2hpt2hpshpt1hpx1hpt0hpx0h0000

10、 0000tcon88htf1tr1tf0tr0ie1it1ie0it00000 0000scon98hsm0sm1sm2rentb8rb8tiri0000 0000t2conc8htf2exf2rclltclkexen2tr2c/t2#cp/rl2#0000 0000xiconc0hpx3ex3ie3it3px2ex2ie2it20000 0000 串行口特殊功能寄存器sfraddbit7bit6bit5bit4bit3bit2bit1bit0reset valuescon98hsm0sm1sm2rentb8rb8tiri0000 0000sbufxxxx xxxx 定時器特殊功能寄存器sf

11、raddbit7bit6bit5bit4bit3bit2bit1bit0reset valuetcon88htf1tr1tf0tr0ie1it1ie0it00000 0000tmod89hgatec/t1m1m0gatec/t0m1m00000 0000tl08ah0000 0000th08ch0000 0000tl18bh0000 0000th18dh0000 0000t2conc8htf2exf2rclltclkexen2tr2c/t2#cp/rl2#0000 0000t2modc9h-t2oedcenxxxx xx00 定時器的使用定時器0和1 定時器和計數(shù)器功能由特殊功能寄存器tmod

12、的控制位c/t進行選擇。 定時器/計數(shù)器1. 工作方式控制寄存器tmodtmod寄存器是一個特殊功能寄存器,地址89h,不可位尋址。位號d7d6d5d4d3d2d1d0符號gatec/tm1m0gatec/tm1m0 t1方式控制字t0方式控制字(1)c/t-定時器方式或計數(shù)器方式選擇位c/t=1時,為計數(shù)器方式,c/t=0時,定時器方式。(2) gate-門控位m1 m0工作方式功能0 0013位定時器/計數(shù)器01116位定時器/計數(shù)器1028位自動重裝113t0分為兩個8位定時/計數(shù)器t1停止計數(shù),作波特率發(fā)生器gate為定時/計數(shù)器運行控制位,用來確定對應的外部中斷請求引腳int0,in

13、t1是否參與t0或t1的操作控制,當gate=0時,與外部中斷無關,定時器控制寄存器tcon中的tr0或tr1被置1時,t0/t1被允許計數(shù),即此時可以由軟件啟動計定時/計數(shù)器,當gate=1時,不僅要tcon中的tr0/tr1置位,還需要int0/int1置位(即沒有外部中斷請求信號),才允許定時/計數(shù)。(3) m1、m0-工作方式選擇位用來選擇工作方式2. 控制寄存器tcontcon既參與中斷控制,又參與定時控制,地址88h,可位尋址位號d7d6d5d4d3d2d1d0符號tf1tr1tf0tr0ie1it1ie0it0(1) tf1/tf0-計數(shù)溢出標志位定時器1/0溢出標志位,計滿溢出

14、時,由硬件使tf1/tf0置1,并申請中斷,進入中斷服務程序后,由硬件自動清0,在查詢方式下軟件清0.(2) tr1/tr0-定時器1/0運行控制位由軟件清0并關閉定時器1/0,當gate=1且int1/int0=1時,tr1/tr0置1,啟動定時器。(3) ie1/ie0-外部中斷1/0中斷請求標志如果it1/it0=1,則當外部中斷1/0引腳int1/int0上的電平由1變0時,ie1/ie0由硬件置1.外部中斷1/0請求中斷,在cpu響應該中斷時由硬件清0.(4) it1/it0-外部中斷1/0觸發(fā)方式選擇位如果it1/it0=1,則為下降沿觸發(fā)方式,此方式下,一個周期采樣到高電平,下周

15、期采樣到低電平,則硬件使ie1/ie0=1,向cpu請求中斷,并保持到該中斷被響應,由硬件自動清0it1/it0=1,脈沖觸發(fā)方式,下降沿觸發(fā)有效it1/it0=0,電平觸發(fā)方式,低電平有效3. 定時/計數(shù)器工作方式工作方式0工作方式0是13位計數(shù)結構的工作方式,其計數(shù)器由th0全部8位和tl0的低5位組成,tl0高3位未用。定時初值計算 定時時間=()*機器周期因為 機器周期=12*晶振周期,而晶振周期=所以 定時時間=()*例如如果需要定時3ms,晶振12mhz,計數(shù)初值x, 3000=()*由此得x=5 192 需要說明的是,單片機的定時器通常要求不斷的定時,一次定時時間到之后,緊接著進

16、行第二次定時操作,一旦產(chǎn)生溢出,計數(shù)器中的數(shù)值就回到0,下一次計時從0開始,定時時間將不正確,為使下一次定時時間不變,需要在定時溢出后馬上把計數(shù)初值送到計數(shù)器。工作方式1工作方式1是16位計數(shù)結構,計數(shù)器由th0全部8位和tl0全部8位構成。 定時時間=()*工作方式2在工作方式2下,把16位計數(shù)器分為兩部分,即以tl0作為計數(shù)器,以th0作為預置寄存器,初始化時把計數(shù)初值分別裝入tl0和th0中,當計數(shù)溢出后,由預置寄存器th0以硬件方式自動給計數(shù)器tl0重新加載。由軟件加載變?yōu)橛布虞d,不但省去了用戶在程序中的加載指令,而且有利于提高定時精度。 定時時間=()*例:#include<

17、reg51.h>#define uchar unsigned charvoid main() tmod=0x01; /設定時器0位工作方式1 th0=0x4c; tl0=0x00; /定時時間為50ms的初值 tr0=1; /啟動定時器0 ea1=1; et0=1; /開總中斷和定時器t0中斷 while(1); /等待void timer0() interrupt 1 static uchar count=0; /定義靜態(tài)變量count th0=0x4c; tl0=0x00; /重裝50ms定時初值 count+; /計數(shù)值加1 if(count=20 ) /若count位20,說明2

18、0*50ms=1s時間到 count=0; /count清0 p0=p0; /p0口取反 中斷系統(tǒng) 當cpu正在處理某事務時,如果外部或內部發(fā)生了緊急事件,要求cpu暫停正在處理工作而去處理該緊急事件,待處理完后,再回到原來中斷的地方繼續(xù)執(zhí)行原來被中斷的程序,這個過程稱作中斷。8051允許5個中斷源,2個外部中斷:外部中斷0(int0)和外部中斷1(int1),分別由p3.2和p3.3引入;2個定時中斷:定時器0(t0)和定時器1(t1);1個串行中斷。51單片機中,有4個寄存器是供用戶對中斷進行控制的,分別是定時器控制寄存器tcon,串行口控制寄存器scon,中斷允許控制寄存器ie,中斷優(yōu)先

19、控制寄存器ip,可以完成中斷請求標志寄存、中斷允許管理和中斷優(yōu)先級的設定。8051中斷源名稱說明中斷序號同一中斷優(yōu)先級下,cpu按該表從上至下響應中斷int0來自p3.2的外部中斷請求0t0片內定時/計數(shù)器0溢出(tf0)中斷請求1int1來自p3.3的外部中斷請求2t1片內定時/計數(shù)器1溢出(tf1)中斷請求3ti或ri串行口中斷41. 定時器控制寄存器tcon定時器控制寄存器tcon用于保存外部中斷請求以及定時器的計數(shù)溢出。位號d7d6d5d4d3d2d1d0符號tf1tr1tf0tr0ie1it1ie0it0(該寄存器的說明參見定時器)2. 串行口控制寄存器scon串行口控制寄存器sco

20、n地址98h,可位尋址。位號d7d6d5d4d3d2d1d0符號sm0sm1sm2rentb8rb8tiriti是串行口發(fā)送中斷請求標志位,當發(fā)送完一幀串行數(shù)據(jù)后,由硬件置1,表示串行口正在向cpu申請中斷,cpu響應發(fā)送器中斷請求,轉向執(zhí)行中斷服務程序時,不會自動清零ti,必須由用戶在中斷服務程序中軟件清零。ri是串行口接收中斷請求標志位,當接收完一幀串行數(shù)據(jù)后,由硬件置1,在轉向中斷服務程序后,用軟件清零。該寄存器其他位在串口通信中說明。3. 中斷允許控制寄存器ie中斷系統(tǒng)有兩種類型中斷:非屏蔽中斷和可屏蔽中斷。非屏蔽中斷是指用戶不能用軟件加以禁止,一旦有中斷請求,cpu必須予以響應。對于

21、可屏蔽中斷,用戶可以通過軟件方式來控制是否允許某中斷源的請求。位號d7d6d5d4d3d2d1d0符號ea -eset1ex1et0ex051單片機中5個中斷源都是可屏蔽中斷,cpu對中斷源的中斷開放(允許)或中斷屏蔽(禁止)是通過中斷允許控制寄存器ie設置的,單片機復位后,ie=0x00,整個系統(tǒng)處于禁止狀態(tài),單片機在中斷響應后不會自動關閉中斷,因此在轉向中斷服務程序后,應使用有關指令禁止中斷。中斷允許控制寄存器ie地址a8h,可位尋址。ea-總中斷允許控制位ea=0,總中斷禁止,關閉所有中斷,由軟件設置ea=1,總中斷允許,總允許后,各中斷的允許或禁止由各中斷的中斷允許控制位設置。ex0(

22、ex1)-外部中斷允許控制位ex0(ex1)=0,禁止外部中斷0/1ex0(ex1)=1,允許外部中斷0/1et0(et1)-定時中斷允許控制位et0(et1)=0,禁止定時器0/1et0(et1)=1,允許定時器0/1es-串行中斷允許控制位es=0,禁止串行中斷es=1,允許串行中斷4. 中斷優(yōu)先控制寄存器ip51中斷中斷優(yōu)先級控制只有高和低兩個優(yōu)先級,當多個中斷源同時申請中斷時,cpu首先響應優(yōu)先級最高的中斷請求,在優(yōu)先級最高的中斷請求處理完之后,在響應級別低的中斷,單片機中斷源的優(yōu)先級由中斷優(yōu)先控制寄存器ip設置,地址b8h,可位尋址。位號d7d6d5d4d3d2d1d0符號-pspt

23、1px1ept0px0ps-串行中斷優(yōu)先級設定位pt0(pt1)定時中斷0/1優(yōu)先級設定位px0(px1)外部中斷0/1優(yōu)先級設定位各位為0時,為低優(yōu)先級;為1時,高優(yōu)先級。51中斷優(yōu)先級的控制原則:低優(yōu)先級中斷請求不能打斷高優(yōu)先級的中斷服務,反之可以,從而實現(xiàn)中斷嵌套。如果一個中斷請求已被響應,則同級的其他中斷響應被禁止。如果同級的多個中斷請求同時出現(xiàn),則按cpu查詢次序確定哪個中斷請求被響應。查詢次序見上表“8051中斷源”。中斷的撤銷:中斷響應后,tcon或scon的中斷請求標志應及時撤銷,否則意味著中斷請求仍然存在,可能造成中斷的重復查詢或響應。外部中斷的撤銷。外部中斷標志位ie0/i

24、e1的清零是在中斷響應后由硬件電路中斷完成。定時中斷的撤銷。定時中斷響應后,硬件自動把tf0/tf1清零,不需用戶干預。串行中斷的撤銷。cpu響應后,沒有用硬件清除ri、ti,必須在服務程序中軟件清除。串行通信1. 串行口結構8051有一個片上串行接口,全雙工的uart即通用異步收發(fā)器(universial asynchronous receiver/transmitter),可以在很寬的范圍內以很多模式工作。(1)波特率發(fā)生器 波特率發(fā)生器主要由定時器/計數(shù)器t1及內部的一些控制開關和分頻器組成,它向串行口發(fā)送的時鐘信號為txclock(發(fā)送時鐘)和rxclock(接收時鐘),相應的控制波特

25、率發(fā)生器的特殊功能寄存器有tmod、tcon、pcon、tl1、th1等。(2) 串行口 串行口主要包含以下幾個部分接收緩沖寄存器sbuf和發(fā)送緩沖寄存器sbuf:它們在物理上是相互隔離的,但占用同一地址。串行口控制邏輯:接收來自波特率發(fā)生器的時鐘信號txclock(發(fā)送時鐘)和rxclock(接收時鐘);控制內部的輸入移位寄存器將外部的串行數(shù)據(jù)轉換為并行數(shù)據(jù),輸出移位寄存器將內部的并行數(shù)據(jù)轉換為串行數(shù)據(jù)輸出,控制串行中斷ti和ri。串行口控制寄存器:scon。串行數(shù)據(jù)輸入/輸出引腳:txd(p3.0)為串行輸出、rxd(p3.1)為串行輸入。2. 串行通信控制寄存器串行口控制寄存器scon位

26、號d7d6d5d4d3d2d1d0符號sm0sm1sm2rentb8rb8tiri(1) sm0、sm1-串行口工作方式選擇位串行口工作方式(fosc為晶振頻率)sm0 sm1工作方式功能波特率0 0方式08位同步移位方式fosc/120 1方式110位uart可變1 0方式211位uartfosc/12或fosc/641 1方式311位uart可變(2) sm2-多機通信控制位 主要用于方式2和3,在方式0時,sm2必須為0.(3) ren-允許接收位 ren相當于串行接收的開關,由軟件置位或清零,當ren=1時,允許接收,ren=0時,禁止接收。 在串行通信過程中,如果,滿足ren=1,且

27、ri=1,則啟動一次接收過程,一幀數(shù)據(jù)就裝入接收緩沖器sbuf中。(4) tb8-發(fā)送數(shù)據(jù)位8在方式2和3中,tb8的內容是發(fā)送的第9位數(shù)據(jù),其值由用戶通過軟件設置,在雙機通信中,tb8一般作奇偶校驗位,在多機通信中,常以tb8的狀態(tài)表示主機發(fā)送的是地址幀還是數(shù)據(jù)幀。在方式0和1中,該位未用。(5) rb8-接收數(shù)據(jù)位rb8是接收數(shù)據(jù)的第9位,在方式2和3中,接收數(shù)據(jù)的第9位數(shù)據(jù)放在rb8中,它可能是約定的奇偶校驗位,也可能是地址/數(shù)據(jù)標志。 在方式1中,rb8存放的是接收的停止位。 在方式0中,該位未用。(6) ti-發(fā)送中斷標志 在方式0中,發(fā)送完第8位數(shù)據(jù)后,該位由硬件置1,在其他方式下

28、,發(fā)送位停止之前,由硬件置1,因此ti=1,表示幀發(fā)送結束,其狀態(tài)既可供軟件查詢使用,也可請求中斷。ti位必須由軟件清零。(7) ri-接收中斷標志 在方式0中,接收完第8位數(shù)據(jù)后,該位由硬件置1,在其他方式下,當接收位停止時,由硬件置1,因此ri=1,表示幀接收結束,其狀態(tài)既可供軟件查詢使用,也可請求中斷。ri位必須由軟件清零。電源控制寄存器pconpcon地址87h,不可位尋址。位號d7d6d5d4d3d2d1d0符號smod-gf1gf0pdid電源控制寄存器pcon中,與串口有關的是smod,稱為串行口波特率倍增位。當smod=1時,波特率倍增,系統(tǒng)復位時,smod=0.3. 串行口工

29、作方式方式0 方式0以8位數(shù)據(jù)為一幀進行傳輸,不設起始位和停止位,先發(fā)送或接收最低位,某一幀數(shù)據(jù)格式如下。.d0d1d2d3d4d5d6d7. 使用方式0實現(xiàn)數(shù)據(jù)的移位輸入/輸出時,實際是把串行口變成并行口使用。串行口為8位同步移位寄存器輸入/輸出方式,不適合用于兩個51單片機之間的直接數(shù)據(jù)通信,但可通過外接移位寄存器來實現(xiàn)。(不常用,未討論)方式1 方式1以10位數(shù)據(jù)為一幀進行傳輸,設有1個起始位0、8個數(shù)據(jù)位、1個停止位1,某一幀數(shù)據(jù)格式如下。起始d0d1d2d3d4d5d6d7停止(1)發(fā)送與接收 方式1為10位異步通信接口,txd和rxd分別用于發(fā)送與接收數(shù)據(jù),收發(fā)一幀數(shù)據(jù)為10位,數(shù)

30、據(jù)位是先低位,后高位。 發(fā)送時,時數(shù)據(jù)從txd(p3.1)輸出,當ti=0,將數(shù)據(jù)寫入發(fā)送緩沖器sbuf時,就啟動了串行口數(shù)據(jù)的發(fā)送操作,啟動發(fā)送后,串行口自動在起始位清零,然后是8位數(shù)據(jù)和一位停止位1,一幀數(shù)據(jù)位10位,一幀數(shù)據(jù)發(fā)送完畢,txd輸出線維持在1狀態(tài)下(停止位),并將scon寄存器的ti置1,以便查詢數(shù)據(jù)是否發(fā)送完畢或作為發(fā)送中斷的申請信號。 接收時,數(shù)據(jù)從rxd(p3.0)輸入,scon的ren應處于允許接收狀態(tài)ren=1,在此前提下,串行口采樣rxd端,當采樣到從1到0的狀態(tài)跳變時,就認定是接收到起始位,隨后在移位寄存器的控制下,把接收到的數(shù)據(jù)位移位到接收寄存器sbuf中,直

31、到停止位到來之后把停止位送入scon的rb8中,并置位直到標志位ri,通知cpu從sbuf取走接收到的一個字符。(2) 波特率的設定 方式1的波特率是可變的,且以定時器t1作為波特率發(fā)生器,一般選用t1為工作方式2,因為t1方式2具有直到加載功能,可避免程序反復裝入初值引起的定時誤差,使波特率更加穩(wěn)定。當選定t1工作方式2時,波特率計算公式: (x為計數(shù)初值,fosc為晶振頻率) 從而 或 方式2 方式2是11位為一幀的串行通信方式,即設有1個起始位0、9個數(shù)據(jù)位、1個停止位1,某一幀數(shù)據(jù)格式如下。起始d0d1d2d3d4d5d6d7d8停止 方式2和1基本類似,不同的只有在第9位數(shù)據(jù)上,串行

32、口把前8位數(shù)據(jù)送入sbuf,而把第9位送入rb8,在發(fā)送數(shù)據(jù)時,應預先在scon的tb8中把第9位的數(shù)據(jù)位內容準備好,使用如下語句完成: tb8=1 /tb8位置1 tb8=0 /tb8位清0 方式2多用于多機通信。 發(fā)送前,先根據(jù)通信協(xié)議設置好scon的tb8,一般規(guī)定tb8=1時發(fā)送的為地址,tb8=0時發(fā)送的數(shù)據(jù),然后將要發(fā)送的數(shù)據(jù)d0d7寫入sbuf,而d8位的內容則由硬件從tb8中直接送到發(fā)送移位寄存器的第9位,并以此啟動串行發(fā)送,一幀發(fā)送完畢,硬件將ti置1. 接收時,串行口把把接收到的8位數(shù)據(jù)寫入sbuf,把第9位數(shù)據(jù)送入rb8,然后根據(jù)sm2的狀態(tài)和接收到的rb8中的內容決定串行口在數(shù)據(jù)到來后是否是ri置1. 當sm2=0時,則接收到第9位數(shù)據(jù)rb8無論是0或1,都將接收到的數(shù)據(jù)裝入sbuf,在接收完當前幀后,產(chǎn)生中斷申請。 當sm2=1時,則只有接收到第9位數(shù)據(jù)rb8=1時,才將接收到的數(shù)據(jù)裝入sbuf,在接收完當前幀后,產(chǎn)生中斷申請。若接收到第9位數(shù)據(jù)rb8=0時,接收到的前八位摒棄,且不產(chǎn)生中斷申請。 方式2的波特率與pcon中的smod有關。當smod=0時,波特率=fosc/64

溫馨提示

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

評論

0/150

提交評論