国产成人av人人爽人人澡-亚洲国产日韩欧美一区-好吊日视频这里只有精品-日本高清精品视频在线

你好!歡迎來到深圳市穎特新科技有限公司!
語言
當(dāng)前位置:首頁 >> 技術(shù)中心 >> 單片機(jī)入門 >> 單片機(jī)串行通信控制寄存器的使用

單片機(jī)串行通信控制寄存器的使用

作者:admin 來源:不詳 發(fā)布時(shí)間:2018-05-08  瀏覽:23
  1.功能
  MCS-5l單片機(jī)中的異步通信串行口能方便地與其他計(jì)算機(jī)或串行傳送信息的外圍設(shè)備(如串行打印機(jī)、CRT終端等)實(shí)現(xiàn)雙機(jī)、多機(jī)通信。
  串行口有四種工作方式,如表所示:

SM0

SM1

工作方式

功能

波特率

0

0

方式0

移位寄存器方式,用于并行I/O擴(kuò)展

fosc/12

0

1

方式1

8 位通用異步接收器/發(fā)送器

可變

1

0

方式2

9 位通用異步接收器/發(fā)送器

fosc/1 或 fosc/24

1

1

方式3

9 位通用異步接收器/發(fā)送器

可變

  2.結(jié)構(gòu)
  由發(fā)送數(shù)據(jù)緩沖器、發(fā)送控制器、輸出控制門、接收數(shù)據(jù)緩沖器、接收控制器、輸入移位寄存器等組成。發(fā)送數(shù)據(jù)緩沖器只能寫入,不能讀出,接收數(shù)據(jù)緩沖器只能讀出,不能寫入,二者共用一個(gè)符號(hào) — 特殊功能寄存器 SBUF,共用一個(gè)地址 — 99H。串行口中還有兩個(gè)特殊功能寄存器SCON、PCON,分別用來控制串行口的工作方式和波特率。波特率發(fā)生器由定時(shí)器/計(jì)數(shù)器1構(gòu)成。
  3.串行口控制寄存器SCON
  串行口控制寄存器SCON的格式如下:


 。╨)工作方式選擇位SMO、SM1:SMO、SM1由軟件置 “1” 或清 “0” ,用于選擇串行口的 4種工作方式。
  (2)多機(jī)通信控制位SM2:SM2=“1” 時(shí),接收到一幀信息,如果接收到的第 9位數(shù)據(jù)為1,硬件將RI置“1” ,申請(qǐng)中斷;如果第九位數(shù)據(jù)為“0” ,則 RI不置“1” ,且所接收的數(shù)據(jù)無效。
  SM2=“0” 時(shí),只要接收到一幀信息,不管第九位數(shù)據(jù)是0還是1,硬件都置RI =“1”,并申請(qǐng)中斷。RI由軟件清“0”,SM2由軟件置“1”或清“0”。
  多機(jī)通信時(shí),各從機(jī)先將SM2置“l(fā)”。接收并識(shí)別主機(jī)發(fā)來的地址,當(dāng)?shù)刂放c本機(jī)相同時(shí),將 SM2清“0”,與主機(jī)進(jìn)行數(shù)據(jù)傳遞。各機(jī)所發(fā)送的數(shù)據(jù)第 9位必須為“0”。
  (3)允許接收控制位REN:REN=“1” 時(shí)允許并啟動(dòng)接收,REN =“0”時(shí)禁止接收。REN由軟件置“1”或清“0”。
  (4)發(fā)送數(shù)據(jù)D8位TB8:TB8是方式2、方式3中要發(fā)送的第九位數(shù)據(jù),事先用軟件寫入1或0。方式0、方式1不用。
  (5)接收數(shù)據(jù)D8位RB8:方式2、方式3中,由硬件將接收到的第九位數(shù)據(jù)存入RB8。方式1中,停止位存入RB8。
  (6)發(fā)送中斷標(biāo)志位TI:發(fā)送完一幀信息,由硬件使TI置“1”, TI必須由軟件清“0”。
  (7)接收中斷標(biāo)志位RI:接收完一幀有效信息,由硬件使RI置“1”, RI必須由軟件清“0” 。
  4.串行口數(shù)據(jù)寄存器 SBUF
  串行口數(shù)據(jù)寄存器SBUF由串行輸出移位寄存器和兩級(jí)緩沖的串行輸入寄存器組成。當(dāng)數(shù)據(jù)寫入SBUF時(shí)啟動(dòng)串行數(shù)據(jù)發(fā)送,連同此前置入的TB8,按設(shè)定波特率串行輸出。串行數(shù)據(jù)移入串行輸入寄存器完成后,自動(dòng)將數(shù)據(jù)并行送入接收SBUF,并置“1”通知 CPU讀取數(shù)據(jù),CPU應(yīng)該在下一個(gè)串行數(shù)據(jù)接收完成之前讀出。
  5.串行口的工作方式
 。1)方式0:同步移位寄存器方式
  波特率固定為fosc/12
  RXD —— 接收發(fā)送數(shù)據(jù)
  TXD —— 產(chǎn)生同步移位脈沖
  接收/發(fā)送完,置位RI/TI ,(要求SM2 = 0)
 。2)方式1:8位UART
  波特率為(2 SMOD×T1的溢出率)/32 ,可變。
  一幀信息10位。
  接收到有效數(shù)據(jù)完畢,置位RI的條件:
  REN = 1,RI = 0 且SM2 = 0或接收到第9位數(shù)據(jù)為1,此時(shí),數(shù)據(jù)裝載SBUF,RI置1,第9位數(shù)據(jù)(TB8) RB8。
  6.多機(jī)通信
  多機(jī)通信系統(tǒng)有1個(gè)主機(jī)與多個(gè)從機(jī),從機(jī)數(shù)最多256個(gè),地址編為00H至0FFH。距離近,可直接以TTL電平通信,距離遠(yuǎn)可轉(zhuǎn)換RS485標(biāo)準(zhǔn)進(jìn)行通信。為了區(qū)分是數(shù)據(jù)信息還是地址信息,主機(jī)用第9位數(shù)據(jù)TB8作為地址/數(shù)據(jù)的識(shí)別位,地址幀的TB8 =“1” ,數(shù)據(jù)幀的 TB8 =“0”。各從機(jī)的 SM2必須置“1”。在主機(jī)與某一從機(jī)通信前,先將該從機(jī)的地址發(fā)送給各從機(jī)。由于各從機(jī)SM2=“1”,接收到的地址幀 RB8=“1”,所以各從機(jī)的接收信息都有效,送入各自的接收緩沖器,并置RI=“1” 。各從機(jī) CPU響應(yīng)中斷后,通過軟件判斷主機(jī)送來的是不是本從機(jī)地址,如是本從機(jī)地址,就使SM2=“0”,否則保持 SM2 =“l(fā)”。
  7.波特率
  串行口每秒鐘發(fā)送或接收的數(shù)據(jù)位數(shù)稱為波特率。 假設(shè)發(fā)送一位數(shù)據(jù)所需時(shí)間為T, 則波特率為 1/T。 
  (1) 模式0 的波特率等于單片機(jī)晶振頻率的 1/12, 即每個(gè)機(jī)器周期接收或發(fā)送一位數(shù)據(jù)。 
  (2) 模式2的波特率與電源控制器PCON的最高位SMOD的寫入值有關(guān):即SMOD=0, 波特率為(1/64) f OSC ; SMOD=1, 波特率為(1/32)f OSC 。
  (3) 模式 1 和模式 3 的波特率除了與SMOD位有關(guān)之外, 還與定時(shí)器 T1 的溢出率有關(guān)。 定時(shí)器 T1 作為波特率發(fā)生器, 常選用定時(shí)方式 2(8位重裝載初值方式), 并且禁止 T1 中斷。此時(shí) TH1 從初值計(jì)數(shù)到產(chǎn)生溢出, 它每秒鐘溢出的次數(shù)稱為溢出率。 于是

編輯:admin  最后修改時(shí)間:2018-05-08

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤(rùn)豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號(hào)-4