chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

單片機串行口擴展的方法詳細說明

Wildesbeast ? 來源:單片機教程網 ? 作者:單片機教程網 ? 2020-06-07 12:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

單片機系統(tǒng)擴展是指單片機內部各功能部件不能滿足應用系統(tǒng)要求時,在片外連接相應的外圍芯片以滿足應用系統(tǒng)的要求。

對單片機系統(tǒng)擴展的方法有并行擴展和串行擴展兩種。

串行口的擴展方法

常用的標準51單片機內部僅含有一個可編程的全雙工串行通信接口,具有UART的全部功能。該接口電路不僅能同時進行數據的發(fā)送和接收,也可作為一個同步移位寄存器使用。當以此類型單片機構成分布式多級應用系統(tǒng)時,器件本身的串口資源就不夠用了。筆者在實際開發(fā)中,查閱了有關資料,總結出如下兩種常用而有效的串行通道擴展方法。

2.1 基于SP2538的擴展方法

SP2538是專用低功耗串行口擴展芯片,該芯片主要是為解決當前基于UART串口通信的外圍智能模塊及器件較多,而單片機或DSP原有的UART串口又過少的問題而推出的。利用該器件可將現有單片機或DSP的單串口擴展至5個全雙工串口。使用方法簡單、高效。

在應用SP2538擴展串行通道時,母串口波特率K1=2880*Fosc_in,單位是MHz,且Fosc_in小于20.0MHz, 在SP2538輸入時鐘Fosc_in =20.0MHz時母串口可自適應上位機的56000bps和57600bps兩種標準波特率輸入。子串口波特率K2=480*Fosc_in。

母串口和所有子串口都是TTL電平接口,可直接匹配其他單片機或TTL數字電路,如需連接PC機則必須增加電平轉換芯片如MAX202 、MAX232 等。SP2538具有內置的上電復位電路和可關閉的看門狗監(jiān)控電路。上位機寫命令字0x10可實現喂狗,寫命令字0x15關閉看門狗,初次上電后看門狗處于激活狀態(tài)或寫命令字0x20激活看門狗監(jiān)控功能。上位機可通過芯片復位指令0x35在任何時候讓芯片進行指令復位,也可通過芯片睡眠指令0x55在任何時候讓芯片進入微功耗睡眠模式以降低系統(tǒng)功耗。初次上電后芯片不會自行進入睡眠模式,但只能由上位機通過母串口任意發(fā)送一個字節(jié)數據將其喚醒,其他子串口不具備這一功能。

圖(1)是AT89C52單片機與SP2538的電路連接,圖中,AT89C52的全雙工串口與SP2538的母串口5相連,該串口同時也作為命令/數據口。SP2538的ADRI0、ADRI1、ADRI2分別與AT89C52的P2.3、P2.4、P2.5口相連,可用于選擇發(fā)送數據是選擇相應的串口0~4;ADRO0、ADRO1、ADRO2與P2.0、P2.1、P2.2相連,用于判斷接收的數據來自哪一個串口。 SP2538的時鐘頻率選為20.0MHZ,此時母串口5的波特率為57600bps,串口0~4的波特率為9600bps。

下面是與上述硬件電路相關的接口程序,該程序用A51匯編語言編制,程序僅說明了中斷方式下對子串口0(TX0、RX0)的操作,其它子串口類似。

TBLOCK DATA 20H

RBLOCK DATA 30H

LENGTH DATA 14H

TXR_REV_SEND: CLR ES

JBC RI,RECEIVE

CLR TI

MOV A,@R0

CLR P2.0 ; 寫數據到“SBUF”前必須先置欲發(fā)送子串口的地址

CLR P2.1

CLR P2.2

MOV SBUF,A

DJNZ R2,NEXT

SJMP $

NEXT: INC R0

RETI

RECEIVE: MOV A,P2

AND A,#31H ;判斷是否為子串口0

JNZ ELSE

MOV A,SBUF

MOV @R1,A

INC R1

RETI

圖(1) AT89C52與SP2538的電路連接

2.2 基于Intel8251的串行口擴展方法

上面基于SP2538的串口擴展方法可以說是一種串行的擴展方法,這里基于Intel8251的擴展方法則是一種并行的方法。Intel8251是一種通用的同步/異步發(fā)送器(USART),它的工作方式可以通過編程設置。能夠以同步或異步串行通信方式工作,能自動完成幀格式。

Intel8251具有獨立的接收/發(fā)送器。在異步方式下,用于產生8251內部時序的時鐘CLK輸入至少應為發(fā)送或接收時鐘的4.5倍。接收/發(fā)送(RXC/TXC)時鐘應為波特率的1倍、16倍或64倍(由8251的工作方式字設定)。

圖(2)是用Intel8251擴展一個串行通道的電路原理,圖中,11.0592MHZ晶振經ALE6分頻后于 、組合,產生1.8432MHZ的時鐘頻率,分別作為8251與8253的時鐘輸入,若設定8251通信波特率為9600bps,波特率因子為16,則需要 153.6KHZ的接收/發(fā)送時鐘頻率,該頻率可由8253的OUT0產生。

下面的A51程序段說明了如何設置8253使其產生153.6KHZ的方波,以及如何用8251收/發(fā)數據:

;設置8253的程序段:

MOV A,#36H ; 計數器0輸出方波控制字

MOV DPTR,#0FFFFH ; 指向控制字寄存器

MOVX @DPTR,A

MOV DPTR,#0FFFCH ; 指向0計數器地址

MOV A,#0DH

MOVX @DPTR,A

MOV A,#0

MOVX DPTR,A

SETB P1.0

;操作8251的程序段:

START: MOV DPTR,#7FFFH ;8251控制、命令口地址

MOV A,#5EH ;一個停止位,奇校驗,8位數據,異步*16

MOVX @DPTR,A ;寫入方式字

MOV A,#15H

MOVX @DPTR,A ;命令字,啟動發(fā)送和接收器

LOOP: SJMP LOOP ;等待8251中斷

8251_INT: ;現場保護

MOV DPTR,#7FFFH

MOV A,@DPTR

JB ACC.0,TX_INT

JB ACC.1,RX_INT

INT_EXIT: ;恢復現場

RETI

;發(fā)送數據

TX_INT: MOV DPTR,#7FFEH ;8251數據口地址

MOV A,20H

MOVX @DPTR,A

AJMP INT_EXIT

;接收數據

RX_INT: MOV DPTR,#7FFEH

MOVX A,@DPTR

MOV 30H,A

AJMP INI_EXIT

圖(2)用8251擴展串行通道的硬件電路原理

并行擴展是指利用單片機三組總線(AB,DB,CB)進行的系統(tǒng)擴展。

串行擴展是指利用SPI(Serial Peripheral Interface)三線總線和I2C雙總線的串行系統(tǒng)擴展。

1,外部并行擴展

單片機是通過芯片的引腳進行系統(tǒng)擴展的。為了滿足系統(tǒng)擴展的要求,MCS-51系列單片機芯片引腳可以構成可以構成下圖所示的三總線結構,單片機所有的外部芯片都是通過這三組總線進行擴展。

2,外部串行擴展

串行擴展包括SPI三線總線和I2C雙總線兩種。在單片機內不具有串行總線時,可利用兩根或三根I/O口線用軟件來虛擬串行總線的功能。下圖所示:

P2

ALE

P0

WR

RD

PSEN

EA

RESET

MCS-51

地址鎖存器

A8-A15

A0-A7

地址總線

D0-D7

數據總線

控制總線

MCS-51單片機的三總線結構

4.1單片機三總線的形成(外部并行擴展)

有I2C接口的主機

有I2C接口的RAM或I/O芯片

有I2C接口

的從機

SCL

SDL

Vcc

Rf

Rf

I2C總線

I2C 總線系統(tǒng)示意圖

AB,DB,CB 各自的作用

(AB,DB,CB)三組總線稱為系統(tǒng)總線。

系統(tǒng)總線的含義是指計算機各芯片之間的公共連線??偩€的根數(位數)稱為總線寬度。

地址總線:單片機外部有存儲器或接口芯片,其中都有存儲單元或寄存器單元,這些單元地位平等,需要被分配地址編號才能予以區(qū)分,分配地址當然也是以電信號形式給出,由于存儲器的容量很大,所以用于分配地址的線也較多,這些線被稱為地址線總線.51單片機的地址總線AB(address bus)為16位,可尋址216 (64K)存儲空間

數據總線:起著在CPU和存儲器或外圍接口電路之間傳遞數據的作用。我們常說的8位機,16位機,32位機,是說CPU的外數據總線(DB )(data bus) )寬度(位數)。

控制總線:通常包括時序信號(時鐘,定時,應答),數據傳送控制(如存儲器的讀寫,IO設備的讀寫)信號,中斷的請求和響應,總線請求,復位等信號,控制總線CB(control bus)隨CPU的不同而各具特色。

單片機的擴展

MCS-51單片機本身是一個基本的微型計算機,內部已經 具有一定數量的存儲單元和I/O接口,但在內部的資源不能夠滿足系統(tǒng)的需要時,就需要進行資源的擴展,單片機的擴展主要包括以下

兩方面的內容:

存儲器的擴展

I/O接口的擴展

注: MCS-51系列的單片機在進行擴展時,需要把P0口和P2口作為擴展總線使用,不能夠再作為一般的I/O口使用。

存儲器的擴展

在單片機系統(tǒng)中,存儲器的擴展包括:

程序存儲器擴展

隨著半導體技術的發(fā)展,單片機內部的程序存儲器數量越來越大,在一般的單片機系統(tǒng)中,對于程序存儲器的擴展已經使用的比較少。但對于一些比較早的片內沒有程序存儲器的單片機(8031,8032),在使用時還需要進行存儲器的擴展。

但建議用戶盡量避免外擴ROM,51系列單片機1000多種型號,一定可以找到內部ROM容量符合要求的單片機。即便是單片機略微貴點也值得。

數據存儲器擴展

在MCS-51系列單片機構成的系統(tǒng)中,內部RAM的數量比較有限(128B或256B),在面對大容量的數據處理時,就需要進行RAM的擴展。

程序存儲器擴展

常用的外部程序存儲器:

EPROM(紫外線可擦除)

常用的EPROM以27xx系列為主。

EEPROM(電可擦除)

目前的EEPROM分為:串行EEPROM和并行EEPROM,在使用時,常常把串行的EEPROM作為數據存儲器使用。以28xx系列為主。

FlashROM(快閃電可擦除)

主要以29Cxx系列為主。

常用的EPROM芯片引腳封裝示意圖

常用的EPROM芯片引腳封裝示意圖

不同容量的EPROM只是在地址線的數目和編程信號引腳有一點區(qū)別,各重要的引腳含義如下:

A0-Ai:地址輸入線,決定存儲器的容量;

Q0-Q7:雙向三態(tài)數據線;

E:片選信號輸入線;

G:讀選通輸入信號線;

P:編程脈沖輸入線;

VPP:編程電源輸入線;

VCC:工作電源輸入線(常為+5V);

GND/VSS:工作時接地線。

2817A

2864A

常用的EEPROM芯片引腳封裝示意圖

不同容量的EEPROM只是在地址線的數目和編程信號引腳有一點區(qū)別,各重要的引腳含義如下:

A0-Ai:地址輸入線,決定存儲器的容量;

I/O0- I/O7(D0-D7):雙向三態(tài)數據線;

CE:片選信號輸入線;

OE:讀選通輸入信號線;

WE:讀選通信號輸入線;

VCC:工作電源輸入線(常為+5V);

GND:工作時接地線。

29c256

29c512

常用的FlashROM芯片引腳封裝示意圖

2.程序存儲器擴展實例

MCS-51單片機與27256芯片的接口。

利用EPROM擴展一個存儲容量為32KB的程序存儲器

MCS-51單片機與2864芯片的接口。

由于2864不僅可以存放程序也可以在線寫入數據,可通過一定的方式來擴展一個程序存儲器和數據存儲器一體的存儲空間,其容量為8KB.

MCS-51單片機與27256芯片的接口

27256的基本地址范圍:0000H—7FFFH

P0連接:

74LS373的1D-8D

27256的DQ1-DQ8

PSEN接OE

CE接地

P2連接

27256的A8-A14

MCS-51單片機與2864芯片的接口

2864的基本地址范圍:0000H—1FFFH

P0連接:

74LS373的1D-8D

27256的DQ1-DQ8

P2連接

27256的A8-A12

PSEN和RD相與接OE,WR接WE,CE接P2.7

讀外部程序存儲器時序

ALE

PSEN

注意:上述時序是在取指令過程中自動產生

一個機器周期

送地址

取出指令

程序存儲器擴展實例思考:

MCS-51單片機與27256芯片的接口中,為什么片選信號可以直接接地 它的地址范圍還可以是多少

MCS-51單片機與2864芯片的接口中,EEPROM可以在線寫入數據,它能否像寫RAM一樣寫入 它的地址范圍還可以是多少

數據存儲器擴展

常用的數據存儲器:

靜態(tài)RAM

靜態(tài)RAM在應用時存取速度快,使用方便并且價格比較的低廉。但它具有在掉電時,內部的數據會丟失。典型的有6116,6264,62256等芯片。為了避免掉電數據丟失,出現了自動保護的靜態(tài)RAM,如:DS1225,DS1235.

串行EEPROM

串行EEPROM的與并行的EEPROM特性一樣,只是在數據的讀寫使用串行方式。常用的有24Cxx系列(I2C接口)和X25系列(SPI接口)的串行EEPROM.

一,靜態(tài)RAM

不同容量的靜態(tài)RAM只是在地址線的數目和編程信號引腳有一點區(qū)別,各重要的引腳含義如下:

A0-Ai:地址輸入線,決定存儲器的容量;

I/O0-I/O7:雙向三態(tài)數據線;

CE:片選信號輸入線;

OE:讀選通輸入信號線;

WE:寫選通輸入信號;

VPP:編程電源輸入線;

VCC:工作電源輸入線(常為+5V);

GND:工作時接地線。

6264

62256

常用的靜態(tài)RAM芯片引腳封裝示意圖

二,串行ROM

不同容量的串行ROM存儲容量上有區(qū)別,各重要的引腳含義如下:

A0,A1,A2:芯片的地址輸入線;

SDA:串行數據輸入端;

SCL:串行時鐘輸入端;

RESET:復位信號輸入;

WP:寫保護輸入端,為低電平時不允許寫數據;

SCK:串行時鐘輸入端;

SI:串行數據輸入端;

VCC:工作電源輸入線(常為+5V);

GND:工作時接地線。

AT24CXX和X25043的芯片引腳封裝示

意圖封裝

AT24Cxx

X25043

三,利用6116擴展一個2KB的

數據存儲器

在利用6116對MCS-51系列的單片機進行存儲器擴展時,基本的連接為:

OE與RD控制相連;

WE與WR控制相連;

CE與P2.7相連;

A0-A7與鎖存器74LS373的Q0-Q7相連;

A8-A10分別與P2.0-P2.2相連;

6116的基本地址范圍:0000H—07FFH.

MCS-51單片機與6116芯片的接口

6116的基本地址范圍:0000H—07FFH

P0連接:

74LS373的1D-8D

6116的DQ1-DQ8

OE接RD

WR接WD

P2連接片選和

6116的A8-A10

四,利用DS1235擴展一個32KB的數據存儲器

在利用DS1235對MCS-51系列的單片機進行擴展時,基本的連接為:

OE與RD控制相連;

WE與WR控制相連;

CE與P2.7相連;

A0-A7與鎖存器74LS373的Q0-Q7相連;

A8-A14分別與P2.0-P2.6相連;

DS1235的基本地址范圍:0000H—7FFFH.

MCS-51單片機與DS1235芯片的接口

DS1235的基本地址范圍:0000H—7FFFH

P0連接:

74LS373的1D-8D

DS1235的DQ1-DQ8

OE接RD

WR接WD

P2連接片選和

DS1235的A8-A14

DS1235數據存儲單元的操作方法

例1:從DS1235的地址單元2000H讀取數據到累加器ACC中。

例2:從累加器ACC向DS1235的地址為2000H的單元寫入數據。

讀取數據方法1

READB: MOV DPTR,#2000H

MOVX A,@DPTR

讀取數據方法2

READB: MOV P2,#20H

MOV R0,#00H

MOVX A,@R0

寫入方法1

WRITE: MOV DPTR,#2000H

MOVX @DPTR,A

寫入方法2

WRITE: MOV P2,#20H

MOV R0,#00H

MOVX @R0,A

P2口的地址由單片機自動產生

P2口的地址由P2口以I/O方式產生

P2口的地址由單片機自動產生

P2口的地址由P2口以I/O方式產生

讀/寫外部數據存儲器時序

PSEN

一個機器周期

ALE

一個機器周期

RD/WR

訪問ROM,取出MOVX指令

訪問RAM讀/寫數據

送地址

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • 接口電路
    +關注

    關注

    8

    文章

    471

    瀏覽量

    58325
  • 單片機
    +關注

    關注

    6074

    文章

    45369

    瀏覽量

    664610
  • uart
    +關注

    關注

    22

    文章

    1305

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    單片機系統(tǒng)進行擴展時需要遵循的原則有哪些

    一個單片機應用系統(tǒng)的硬件電路設計包含兩部門內容:一是系統(tǒng)擴展,即單片機內部的功能單元,如ROM、RAM、I/O、定時器/計數器、間斷系統(tǒng)等不能知足應用系統(tǒng)的要求時,必需在片外進行擴展,
    發(fā)表于 12-09 07:56

    單片機系統(tǒng)硬件的調試方法

    單片機的系統(tǒng)硬件調試,通常有靜態(tài)調試和動態(tài)調試兩種不同,前者是通過目測、萬能表測試、加電檢查、聯機檢查的方法,在加電于樣機之前.對樣機的型號規(guī)格,以及安裝要求等進行核對,同時檢查 電源 系統(tǒng).防止
    發(fā)表于 12-03 06:10

    單片機系列 的IO輸出阻抗是多少?

    通常單片機系列 的IO輸出阻抗是多少?
    發(fā)表于 11-24 06:16

    第1章 如何學習單片機

    ? 在錯誤的道路上日夜兼程,最終也無法成功,方法和思路絕對是最重要的。本章節(jié)講到的學習單片機方法,都是作者學習單片機的無數經驗和教訓總結出來的瑰寶。通過作者前面的披荊斬棘,開辟了道路
    的頭像 發(fā)表于 10-10 10:32 ?261次閱讀

    單片機采用什么電流輸出

    單片機的電流輸出特性與其內部電路設計和應用場景密切相關,既包含自身工作時的微弱電流,也涉及通過外部電路擴展后的驅動電流。了解單片機的電流輸出特點,是實現穩(wěn)定控制外部設備的基礎。 單片機
    的頭像 發(fā)表于 07-30 11:13 ?787次閱讀

    怎么測單片機系統(tǒng)頻率

    單片機系統(tǒng)頻率是指單片機工作時的時鐘頻率,它直接影響單片機的運行速度和處理能力,準確測量系統(tǒng)頻率對單片機應用開發(fā)、程序調試和性能優(yōu)化具有重要意義。測量
    的頭像 發(fā)表于 07-25 11:39 ?521次閱讀

    單片機怎么驅動電機?

    在各類自動化設備和智能裝置中,電機是重要的執(zhí)行部件,而單片機作為控制核心,需要通過特定的方式驅動電機運轉。單片機驅動電機并非直接連接即可,而是要根據電機類型和功率,搭配合適的驅動電路,才能實現穩(wěn)定
    的頭像 發(fā)表于 07-25 09:31 ?468次閱讀

    單片機原理及應用

    本書全面系統(tǒng)地介紹了 MCS-51 系列單片機的基本結構、工作原理及應用技術。主要內容包括:微型計算機的基礎知識、MCS-51 單片機的基本結構、匯編語言和 C51 語言程序設計方法、中斷系統(tǒng)
    發(fā)表于 06-16 16:58

    單片機串行口與PC通訊資料

    發(fā)表于 06-06 15:38

    貼片三極管上的印字與真實名稱的對照表詳細說明

      本文檔的主要內容詳細介紹的是貼片三極管上的印字與真實名稱的對照表詳細說明。
    發(fā)表于 05-28 09:05 ?110次下載

    C51單片機及C語言知識點必備秘籍

    定時/計數器實驗 21:單片機串行口介紹 系列四 22:單片機串行口通信程序設計 23:LED 數碼管靜態(tài)顯示接口與編 24:動態(tài)掃描顯示接口電路及程序 25:
    發(fā)表于 05-15 14:00

    單片機外圍電路設計 (第2版)

    及智能傳感器的接口技術。第4章闡述單片機測控系統(tǒng)的設計。第5章闡述數據采集系統(tǒng)及新穎檢測電路的設計。第6章講述智能儀器專用集成電路及其應用。第7章介紹一種基于串行口在線下載的單片機開發(fā)系統(tǒng)的設計。第8
    發(fā)表于 04-18 16:16

    新概念51單片機C語言教程入門、提高、開發(fā)、拓展全攻略

    資料介紹 從實際應用入手,以實驗過程和實驗現象為主導,循序漸進地講述51單片機C語言編程方法以及51單片機的硬件結構和功能應用。全書共分5篇,分別為入門篇、內外部資源操作篇、提高篇、實戰(zhàn)篇和拓展篇
    發(fā)表于 04-15 13:57

    UHV系列雷電沖擊電壓發(fā)生器試驗裝置詳細說明使用

    UHV系列 雷電沖擊電壓發(fā)生器試驗裝置產品詳細說明
    發(fā)表于 02-21 17:55 ?17次下載

    TLC5615與單片機通信時是不是用任意IO都可以通信,只要時序和數據是按說明書通信的?

    TLC5615與單片機通信時是不是用任意IO都可以通信,只要時序和數據是按說明書通信的?
    發(fā)表于 02-13 07:17