




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、輸入輸入/ /輸出接口擴展輸出接口擴展v什么是輸入什么是輸入/ /輸出擴展輸出擴展vMCS-51MCS-51單片機為什么要擴展單片機為什么要擴展v常用的擴展方法常用的擴展方法v擴展實際應用擴展實際應用什么是擴展什么是擴展 單片機本身資源不足以滿足應用需求的情況下單片機本身資源不足以滿足應用需求的情況下,必必須借助外部器件對系統進行擴展須借助外部器件對系統進行擴展主要介紹主要介紹: : 并口、并口、RAMRAM、ROMROM、鍵盤、鍵盤、LEDLED、DACDAC、ADCADC 等接口的擴展與應用等接口的擴展與應用, ,其中涉及到其中涉及到 62646264、27642764、74LS37374
2、LS373、74LS24474LS244、74LS24574LS245、82558255、81558155、82798279、82538253、 DAC0832 DAC0832 、ADC0809ADC0809 等芯片。等芯片。問題的提出問題的提出v MCS-51MCS-51系列單片機內部有系列單片機內部有4 4個雙向的個雙向的8 8位并行位并行I/OI/O端口:端口:v P0P0、P1P1、P2P2和和P3P3口口。v 在實際的應用系統中,在實際的應用系統中,P0P0、P2P2、P3P3口往往用來代替系統口往往用來代替系統總線總線使用,數據口僅剩下使用,數據口僅剩下P1P1口口了。另外,單片機
3、內部了。另外,單片機內部I/OI/O口的功能也過于簡單,只有數據鎖存和緩沖功能,而沒有口的功能也過于簡單,只有數據鎖存和緩沖功能,而沒有狀態寄存和命令寄存功能,難以滿足復雜的狀態寄存和命令寄存功能,難以滿足復雜的I/OI/O操作的要操作的要求。求。v 鑒于鑒于單片機的單片機的I/OI/O資源比較有限資源比較有限,在實際應用中不得不使,在實際應用中不得不使用擴展的方法,以增加用擴展的方法,以增加I/OI/O口的數量,強化口的數量,強化I/OI/O的功能。的功能。常用的常用的I/OI/O擴展方法擴展方法v常用的常用的I/OI/O擴展有以下兩種形式:擴展有以下兩種形式:v 簡單簡單I/OI/O接口芯
4、片的擴展接口芯片的擴展v 可編程可編程I/OI/O接口電路的擴展接口電路的擴展常用的常用的I/OI/O擴展方法擴展方法v簡單芯片:簡單芯片:是指那些雖具有是指那些雖具有數據緩沖數據緩沖或鎖存功能,但自或鎖存功能,但自身僅有數據的輸入或輸出及選通端或時鐘端,卻身僅有數據的輸入或輸出及選通端或時鐘端,卻沒有地址沒有地址線和讀寫控制線,線和讀寫控制線,如采用如采用TTLTTL或或CMOSCMOS數字集成電路構成的數字集成電路構成的三態門、寄存器、三態緩沖寄存器等中小規模的集成電路三態門、寄存器、三態緩沖寄存器等中小規模的集成電路芯片。芯片。v可編程邏輯器件:可編程邏輯器件:v 不僅具有數據的輸入或輸
5、出、具有不僅具有數據的輸入或輸出、具有選通端選通端或或時鐘端時鐘端,而,而且還具有且還具有地址線地址線和和讀寫控制線讀寫控制線的芯片,他們一般具有片內的芯片,他們一般具有片內的的狀態字寄存器狀態字寄存器、命令字寄存器命令字寄存器,允許通過軟件編程來改,允許通過軟件編程來改變它的接口功能或狀態。如:變它的接口功能或狀態。如:Intel 8255Intel 8255、8155 8155 、8253 8253 、 8279 8279. .簡單簡單I/OI/O接口芯片的擴展接口芯片的擴展v 簡單的簡單的I/O口擴展通常是采用口擴展通常是采用TTL或或CMOS電路鎖存器、三態門電路鎖存器、三態門等作為擴
6、展芯片(等作為擴展芯片(74LS244、74LS245、74LS273、74LS373、74LS377等),通過等),通過P0口來實現擴展的一種方案。它具有電口來實現擴展的一種方案。它具有電路簡單、成本低、配置靈活的特點。路簡單、成本低、配置靈活的特點。v 簡單的簡單的I/O口擴展主要包括:口擴展主要包括:v 緩沖器擴展輸入口緩沖器擴展輸入口(三態門:(三態門: 74LS244、74LS245等)等)v 輸入接口的主要功能:解決數據輸入的緩沖問題,如輸入接口的主要功能:解決數據輸入的緩沖問題,如74ls244(具有三態緩沖功能,這樣才可以和數據總線相連具有三態緩沖功能,這樣才可以和數據總線相連
7、)。v 鎖存器擴展輸出口鎖存器擴展輸出口(鎖存器:(鎖存器: 74LS273、74LS373、 74LS377等)等)v 輸出接口的主要功能:進行數據的保持(數據鎖存)。輸出接口的主要功能:進行數據的保持(數據鎖存)。概述概述一、一、I/O 系統的組成系統的組成I/O 系統系統I/O 設備設備輸入:鍵盤、磁盤、光盤、掃描儀輸入:鍵盤、磁盤、光盤、掃描儀 輸出:顯示、打印機、筆繪儀、磁盤輸出:顯示、打印機、筆繪儀、磁盤 I/O 接口:接口:8155、8255、8253、8251、8279 I/O 管理部件:管理部件:IOP 8089、DMAC8237I/O 軟件軟件 BIOS(基本(基本I/O系
8、統)系統) CPU若沒有一個強大的若沒有一個強大的I/O系統的支持,系統的支持,CPU的高速度的高速度高性能就發揮不出來。高性能就發揮不出來。蘇青制作常用的接口器件有:常用的接口器件有:82558255:可編程通用并行接口電路:可編程通用并行接口電路 8253/8254 8253/8254:可編程定時:可編程定時/ /計數器計數器 8155/8156 8155/8156:可編程多功能擴展芯片:可編程多功能擴展芯片 8251 8251:可編程串行接口電路:可編程串行接口電路 8279 8279:可編程鍵盤顯示接口電路:可編程鍵盤顯示接口電路v Intel 8155Intel 8155是一個具有是
9、一個具有RAMRAM、I/OI/O和計數器的通用可編程接和計數器的通用可編程接口口多功能多功能芯片。其具有的資源為芯片。其具有的資源為 v 256B256B的靜態的靜態RAMRAM; 兩個可編程的兩個可編程的8 8位并行位并行I/OI/O口口PAPA和和PBPB; 一個可編程的一個可編程的6 6位并行位并行I/OI/O口口PCPC; 一個可編程一個可編程1414位減計數器位減計數器TCTC; 8 8位地址鎖存器。位地址鎖存器。可編程多功能芯片可編程多功能芯片81558155的擴展的擴展81558155的引腳封裝圖的引腳封裝圖AD012PA021AD113PA122AD214PA223AD315
10、PA324AD416PA425AD517PA526AD618PA627AD719PA728PB029CE8PB130RD9PB231WR10PB332IO/M7PB433ALE11PB534PB635PB736TM ROUT6PC037PC138TM RIN3PC239PC31PC42RESET4PC558155定時定時/計數器計數器輸入端輸入端PA1PA2PA3PA4PA5PA6PA7PA0PB1PB2PB3PB4PB5PB6PB7PB0PC1PC2PC3PC4PC5PC0AD1AD2AD3AD4AD5AD6AD7AD0TIMEINTIMEOUTALEIO/MRESETRDWRCE芯片引腳功
11、能芯片引腳功能:RAM及及IO選擇選擇地址鎖存線地址鎖存線三態地址三態地址/數據數據復用線復用線端口端口A,I/O線線端口端口B,I/O線線端口端口C,I/O線線讀選通信號線讀選通信號線寫選通信號線寫選通信號線片選線片選線定時定時/計數器計數器輸出端輸出端復位端復位端1IO0MCPU外設外設CBA256字節字節靜態靜態RAM14位位定時定時計數器計數器TIMER INTIMER OUTVCC(5 V)VSS(GND)PA0PA7IO/MCEALERDWRRESETAD0AD7PB0PB7PC0PC781558155的內部結構的內部結構v 81558155各引腳的功能為:各引腳的功能為: 地址地
12、址/ /數據線數據線AD0AD0AD7AD7(8 8條):條): 是低是低8 8位地址線和數據線的共用輸入總線,常和位地址線和數據線的共用輸入總線,常和 單片機的單片機的P0P0口相連,用于分時傳送地址和數據;口相連,用于分時傳送地址和數據; PA0PA0PA7PA7、PB0PB0PB7PB7: 為為A A、B B口線,用于和外設之間傳遞數據;口線,用于和外設之間傳遞數據; PC0PC0PC5PC5 為為C C端口線,既可與外設傳送數據,也可以作為端口線,既可與外設傳送數據,也可以作為A A、B B 口的口的控制聯絡線控制聯絡線; CSCS: 片選線,低電平有效。片選線,低電平有效。81558
13、155的各引腳的功能的各引腳的功能81558155的各引腳的功能的各引腳的功能 RESETRESET: 復位線,通常與單片機的復位端相連。復位線,通常與單片機的復位端相連。 ALEALE: 地址鎖存線,高電平有效。地址鎖存線,高電平有效。 IO/MIO/M: RAMRAM或或I/OI/O口的選擇線。當為口的選擇線。當為0 0時,選中時,選中81558155的的256B256B RAMRAM;當為;當為1 1時,選中時,選中81558155片內片內3 3個個I/OI/O端口以及命令端口以及命令/ /狀狀 態寄存器和定時態寄存器和定時/ /計數器。計數器。 RDRD和和WRWR: 讀讀/ /寫線,
14、控制寫線,控制81558155的讀、寫操作。的讀、寫操作。 TMRINTMRIN(TITI):): 定時定時/計數器的脈沖輸入端。計數器的脈沖輸入端。 TMROUTTMROUT(TOTO):):定時定時/計數器的輸出信號端。計數器的輸出信號端。 VCCVCC: 電源端。電源端。 GNDGND: 接地端。接地端。v 8155當當IO/M為為0時,單片機對時,單片機對8155的的RAM進行操作,共進行操作,共256B,低八位,低八位 v 的地址為:的地址為:00H0FFH。v 8155當當IO/M為為1時,單片機對時,單片機對8155的的I/O口進行操作。口進行操作。低八位地址低八位地址I/O口口
15、xxxxx000B命令命令/狀態口狀態口xxxxx001BPA口口xxxxx010BPB口口xxxxx011BPC口口xxxxx100B定時器定時器/計數器低字節寄存器計數器低字節寄存器xxxxx101B定時器定時器/計數器高字節寄存器計數器高字節寄存器81558155的的RAMRAM和和I/OI/O口地址編碼口地址編碼v 芯片芯片8155 的的I/O口口和和定時器定時器/計數器計數器的工作方式可以通過的工作方式可以通過v 對對8155的的命令寄存器命令寄存器寫入控制字來實現。寫入控制字來實現。v 8155的的命令寄存器命令寄存器和和狀態寄存器狀態寄存器使用同一個地址。使用同一個地址。v 81
16、55的命令字的命令字命令字主要規定了命令字主要規定了8155的的I/O口口和和定時器定時器的工作方式。的工作方式。v 8255的狀態字的狀態字狀態字的內容包含狀態字的內容包含8155的的I/O口口的的工作狀態標志工作狀態標志。8155的命令字和狀態字的命令字和狀態字TM1TM2IEBIEA PC2 PC1PAPAPBA口方式口方式B口方式口方式B B口口A A口口計數器計數器方式方式00:00:空操作空操作01:01:停止計數停止計數10:10:計滿后停止計滿后停止11:11:開始計數開始計數0:0:輸入輸入1:1:輸出輸出0:0:禁止中斷禁止中斷1:1:允許中斷允許中斷00110110 方式
17、方式1:A、B口基本口基本I/O;C口輸入口輸入方式方式2:A、B口基本口基本I/O;C口輸出口輸出方式方式3:A口選通口選通I/O;B口基本口基本I/O方式方式4:A、B口選通口選通I/O8155的命令字格式的命令字格式8155的命令字格式的命令字格式 D7 D6 D5 D4 D3 D2 D1 D0TM2 TM1 IEB IEA PC2 PC1 PB PA0 輸入輸入1 輸出輸出1 開中斷開中斷D0PAD1PBD3 D2 0 輸入輸入1 輸出輸出PC2 PC1 A、B、C口為基本口為基本I/O口口A、B 入入/出由出由D1D0確定,確定,C口入口入0 0A、B、C口為基本口為基本I/O口口A
18、、B 入入/出由出由D1D0確定,確定,C口出口出1 1 0 1 A口為選通方式,口為選通方式,B口為基本口為基本I/OPC0PC2口為口為PA口聯絡線口聯絡線PC3PC5為基本為基本I/O口口1 0 A口、口、B口為選通口為選通I/OPC0PC2口為口為PA口聯絡線口聯絡線PC3PC5為為PB口聯絡線口聯絡線0 關中斷關中斷0 0 空操作空操作0 1 停止計數停止計數1 0 時間到,停止計數時間到,停止計數1 1 置入方式控制字和置入方式控制字和 計數初值后,立即計數初值后,立即 啟動計數。啟動計數。 若正在計數,溢出若正在計數,溢出 后則按新的方式和后則按新的方式和 初值計數。初值計數。
19、由由CPU寫入寫入v 基本基本I/O方式:聯絡線由程序指定,對計數器輸入輸出不起控制作用,方式:聯絡線由程序指定,對計數器輸入輸出不起控制作用, v 沒有中斷能力,輸出聯絡線由軟件程序來控制。沒有中斷能力,輸出聯絡線由軟件程序來控制。v 選通選通I/O方式:由方式:由PC口的低三位作聯絡線使用,其余位作口的低三位作聯絡線使用,其余位作I/O線;輸入線;輸入v 聯絡線可以起選通數據鎖存作用;中斷時有中斷請求信聯絡線可以起選通數據鎖存作用;中斷時有中斷請求信v 號產生;各個聯絡線為:號產生;各個聯絡線為: INTRA: 中斷請求輸出標志。中斷請求輸出標志。 BFA: PA口緩沖器口緩沖器/空輸出信
20、號。空輸出信號。 STBA: 數據選通輸入信號。數據選通輸入信號。8155的的I/O的工作方式的工作方式1,8155基本基本I/O方式方式8I/O8I/O6I/O外設外設CPU8155PAPBPCAD0AD7WRRDALEIO/MCE8基本輸入時序 MOVX A,DPTRRDDB數據有效WR基本輸出時序 MOVX DPTR,A88端口數據線8端口數據線至CPU至外設自外設至CPU至外設自外設8155PAPBAD0AD7WRRDALEIO/MCEPC0PC1PC2PC3PC4PC52, 8155選通選通I/O方式方式邏輯結構CPUINPUT端口數據BFINTRRDSTBMOVX A,DPTR緩沖
21、器滿緩沖器空選通輸入時序:A口外口外設設B口外口外設設打入緩沖器聯絡線聯絡線CPU外設88端口數據線8端口數據線至CPU至外設自外設至CPU至外設自外設8155PAPBAD0AD7WRRDALEIO/MCEPC0PC1PC2PC3PC4PC5邏輯結構 CPU選通輸出時序:A口外設B口外設OUTPUT端口數據BFINTRWRSTBMOVX DPTR,A緩沖器滿緩沖器空MOVX DPTR,A端口數據打入外設帶聯絡信號的應答式輸出時序CPU外設TM1TM2IEBIEA PC2 PC1PAPAPBA口方式口方式B口方式口方式B B口口A A口口計數器計數器方式方式00:00:空操作空操作01:01:停
22、止計數停止計數10:10:計滿后停止計滿后停止11:11:開始計數開始計數0:0:輸入輸入1:1:輸出輸出0:0:禁止中斷禁止中斷1:1:允許中斷允許中斷00110110 方式方式1:A、B口基本口基本I/O;C口輸入口輸入方式方式2:A、B口基本口基本I/O;C口輸出口輸出方式方式3:A口選通口選通I/O;B口基本口基本I/O方式方式4:A、B口選通口選通I/O8155的狀態字格式的狀態字格式0 無中斷1 有中斷 D7 D6 D5 D4 D3 D2 D1 D00 空TIMER1 滿未用中斷標志由CPU讀出A A AINTRBFINTEB B BINTRBFINTE緩沖器滿空標志中斷允許0 關
23、中斷1 開中斷定時器中斷標志1 計數溢出時0 讀出狀態或復位時“只讀不寫”8155的狀態字格式的狀態字格式v 8155片內的定時器片內的定時器/計數器是計數器是 一個一個14位的位的減計數器減計數器。計數器分為高。計數器分為高6位和低位和低8位寄存器,它的計數初值有程序預置。位寄存器,它的計數初值有程序預置。8155的定時器的定時器/計數器計數器TIMERIN:定時器時鐘輸入端:定時器時鐘輸入端TIMEROUT:為定時器輸出,輸出各種波形:為定時器輸出,輸出各種波形可接系統時鐘,作定時器可接系統時鐘,作定時器也可接外部輸入,作計數器也可接外部輸入,作計數器AD012PA021AD113PA12
24、2AD214PA223AD315PA324AD416PA425AD517PA526AD618PA627AD719PA728PB 029C E8PB 130R D9PB 231W R10PB 332IO/M7PB 433ALE11PB 534PB 635PB 736TM R OUT6PC 037PC 138TM R IN3PC 239PC 31PC 42R ESET4PC 558155M2M1T13T12T11T10T9T8T7T6T5T4T3T2T1T0高字節寄存器高字節寄存器低字節寄存器低字節寄存器8155的定時器的定時器/計數器計數器(M2和和M1是工作方式碼,是工作方式碼,T0T13為計
25、數器的初值為計數器的初值 )M2 M1方方 式式波波 形形0 00 11 01 1單次方波單次方波連續方波連續方波單個脈沖單個脈沖連續脈沖連續脈沖8155定時器定時器/計數器四種操作方式和輸出波形計數器四種操作方式和輸出波形8155內部定時器內部定時器定時器14位計數器由04H和05H兩個地址組成。輸出四種波形:a 單次方波單次方波b 連續方波連續方波c 單次脈沖單次脈沖d 連續脈沖連續脈沖e 連續方波若常數為奇數,則方波不對稱。例如 954首先將計數常數及定時器輸出方式送入定時器口首先將計數常數及定時器輸出方式送入定時器口計數常數在計數常數在0002H3FFFH之間之間 D7 D6 D5 D
26、4 D3 D2 D1 D0T13 T12 T11 T10 T9 T8 T7 T6 T5 T4 T3 T2 T1 T00 0 單次方波單次方波0 1 連續方波連續方波1 0 單次脈沖單次脈沖1 1 連續脈沖連續脈沖 D7 D6 D5 D4 D3 D2 D1 D004H 計數器低8位TL05H 計數器高6位TH工作方式M2 M1地址 04H地址 05H8155內部定時器內部定時器MCS-51與與8155的接口方法和應用實例的接口方法和應用實例例例1: 8031與與8155接口并確定接口并確定RAM和和I/O口地址口地址8031的的P0.0P0.7 與與8155的的 AD0AD7 相連相連 51單片
27、機與單片機與8155接口連接,不需要任何附加邏輯即可增加:接口連接,不需要任何附加邏輯即可增加:256B RAM14 位定時器22根 I/O 口線8031的的P2.7 與與 8155 的的CE 相連相連8031的的P2.0 與與8155 的的IO/M 相連相連EA/VP31X119X218RESET9RD17WR16INT012INT113T014T115P101P112P123P134P145P156P167P178P0039P0138P0237P0336P0435P0534P0633P0732P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE
28、/P30TXD11RXD10U18031AD012PA021AD113PA122AD214PA223AD315PA324AD416PA425AD517PA526AD618PA627AD719PA728PB029CE8PB130RD9PB231WR10PB332IO/M7PB433ALE11PB534PB635PB736TMROUT6PC037PC138TMRIN3PC239PC31PC42RESET4PC55U28155 上頁下頁回目錄P2.7P2.0CEP00P01P02P03P04P05P06P07AD0AD1AD2AD3AD4AD5AD6AD7IO/M80318155ALEALE地址分配
29、:7F00H 命令狀態寄存器命令狀態寄存器7F01H PA口口7F02H PB口口7F03H PC口口7F04H 定時器低定時器低8位位7F05H 定時器高定時器高6位位 7E00H7EFFH上頁下頁回目錄P2.7 P2.0P0.7 P0.000RAM0 0 0 0 0 0 0 00 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1CEIO/M111 111AD7 AD08155 RAM 地址為:地地 址址00HFFH803181557 E 01I/O0 0 0命令狀態口0 0 1 A口0 1 0 B口0 1 1 C口1 0 0 TL81 0 1 TH6111 1117 F 8155
30、 I/O 地址為地址為: 將將8155片內片內RAM的的7E30H單元內容讀入單元內容讀入A累加器中累加器中程序段如下:MOV R0,#30H;30H(R0)MOV P2,#7EH;P2.7,P2.0置零,片選和選中片內置零,片選和選中片內RAMMOVX A,R0 ;(;(30H)A也可以:MOV DPTR,#7E30HMOVX A,DPTR例例2設A中的數據為5,并寫入8155的RAM中7EF0H單元程序段如下:MOV DPTR,#7EF0H;指向;指向8155 RAM的的7EF0H單元單元MOV A,#05H;數據送入;數據送入A累加器累加器MOVX DPTR,A;#05H7EF0H單元單
31、元例例3方法方法2 ?例例4 將將A口口定義為定義為基本輸入基本輸入方式,方式,B口口定義為定義為基本輸出基本輸出方式,方式, C口口定義為定義為輸入方式輸入方式,定時器定時器作為作為方波發生器方波發生器對輸入脈對輸入脈 沖沖24分頻(注意分頻(注意8155定時器最高計數頻率為定時器最高計數頻率為4MHz) , 讀讀A口數據送口數據送B口輸出。則口輸出。則8155 I/O口初始化程序如下:口初始化程序如下: TM2 TM1 IEB IEA PC2 PC1 PB PA命令字010 00 01 10C2HMOV DPTR,#7F04H ;指向定時器低;指向定時器低8位位MOV A,#18H ;計數
32、常數;計數常數18H=24MOVX DPTR,A ;送計數常數;送計數常數INC DPTR ;指向定時器高;指向定時器高8位位MOV A,#40H ;設定時器輸出連續方波;設定時器輸出連續方波MOVX DPTR,A ;送定時器高;送定時器高8位位 M2M1=01MOV DPTR,#7F00H ;指向命令口;指向命令口MOV A,#0C2H ;命令字設為;命令字設為A口,口,C口入口入 ; B口出,啟動口出,啟動 T/CMOVX DPTR,A ;并啟動定時器;并啟動定時器MOV DPTR,#7F01H ;指向;指向A口口MOVX A,DPTR ;讀;讀A口數據口數據INC DPTR ;指向;指向
33、B口口MOVX DPTR,A ;送;送B口輸出口輸出初始化程序如下初始化程序如下nv 程序為:程序為: . RAMWR:MOV R0,#30Hv MOV DPTR,#7E00H MOV R2,#50 RAMW:MOV A,R0 MOVX DPTR,A INC R0 INC DPTR v DJNZ R2,RAMW 思考:思考:如果如果要把要把8155 RAM中,從地址為中,從地址為7E00H開始的開始的50個數據存入個數據存入單片機的單片機的30H開開始的數據存儲始的數據存儲單元中,應該單元中,應該如何處理?如何處理?假定在假定在MCS-51單片機的內部單片機的內部RAM中,從中,從30H開始存
34、放一組數據,開始存放一組數據,字節數為字節數為50,要求將該組數據存入,要求將該組數據存入8155 RAM中,起始地址為中,起始地址為7E00H。例例5v 程序為:程序為:v ORG 0000H MOV DPTR,#7E00H MOV A,#02H MOV DPTR,A LOOP:v MOV DPTR,#7F01H MOVX A,DPTR v INC DPTR MOVX DPTR,Av v SJMP LOOP END寫命令字,送入命寫命令字,送入命令令/狀態寄存器狀態寄存器8155的的A口數據送入口數據送入ACCACC數據寫數據寫入入8155的的B口口循環執行循環執行假定假定8155的的PA口
35、接口接8個乒乓開關,個乒乓開關,8155的的PB口接口接8個指示燈,要求個指示燈,要求PB顯示顯示PA口的開關狀態。(口的開關狀態。( PA和和 PB為基本為基本I/O方式)。方式)。例例69.3 9.3 串行通信的基本概念串行通信的基本概念 9.3.1 串行數據傳送方式 9.3.2 波特率和發送/接收時鐘 9.3.3 串行通信的基本方式 9.3.4 信號調制與解調 9.3.5 串行接口的任務9.3.1 9.3.1 串行數據傳送方式串行數據傳送方式 1 1全雙工全雙工 2 2半雙工半雙工 1 1全雙工全雙工v 當數據的發送和接收分流,分別由兩根不同的傳輸線傳送時,通信雙方都能當數據的發送和接收
36、分流,分別由兩根不同的傳輸線傳送時,通信雙方都能在同一時刻進行發送和接收操作,這樣的傳送方式就是全雙工(在同一時刻進行發送和接收操作,這樣的傳送方式就是全雙工(Full Full DuplexDuplex)制。)制。 發送器發送器 發送器發送器 接收器接收器 接收器接收器 B站站 A站站圖圖9-9 全雙工方式示意圖全雙工方式示意圖2 2半雙工半雙工v 若使用同一根傳輸線既作接收又作發送,雖然數據可以在兩個方向上傳送,若使用同一根傳輸線既作接收又作發送,雖然數據可以在兩個方向上傳送,但通信雙方不能同時收發數據,這樣的傳送方式就是半雙工(但通信雙方不能同時收發數據,這樣的傳送方式就是半雙工(Hal
37、f DuplexHalf Duplex)制。制。 A站站 B站站 發送器發送器 發送器發送器 接收器接收器 接收器接收器圖圖9-10 半雙工方式示意圖半雙工方式示意圖9.3.2 9.3.2 波特率和發送波特率和發送/ /接收時鐘接收時鐘 1 1波特率波特率 2 2發送發送/ /接收時鐘接收時鐘 v 并行通信中,傳輸速度以每秒傳輸的字節(B/s)表示 。在串行通信中,傳輸速率用波特率來表示。v 所謂波特率,是指單位時間內傳送二進制數據的位數,單位為位/秒(b/s)。 v 每秒鐘所傳輸的字符數(字符速率)和波特率是兩種概念 1 1波特率波特率2 2發送發送/ /接收時鐘接收時鐘 發送端使用的用于決
38、定數據位寬度的時鐘稱為發送時鐘。 接收端使用的用于測定每一位輸入數據位寬度的時鐘稱為接收時鐘。 接收/ 發送時鐘頻率n波特率 (n1,16,32,64)9.3.3 9.3.3 串行通信的基本方式串行通信的基本方式 1 1異步通信異步通信 2 2同步通信同步通信 1 1異步通信異步通信 0 0/1 0/1 0/1 0/1 0/1 0/1 1 1 1 0 0/1 起起 始始 位位奇偶奇偶校驗校驗位位 (可有可無)(可有可無) 58位數據位(先送最低位)位數據位(先送最低位)LSBMSB 空空 閑閑 位位停止位停止位(1,11/2 或或2位)位) 第第n個字符(個字符(812位)位) 第第n1 個字
39、符個字符圖圖9-11 異步串行通信格式異步串行通信格式2 2同步通信同步通信v 同步通信的特點是不僅字符內部保持“同步”,而且字符與字符之間也是同步的。v 在這種通信方式下,收/發雙方必須建立準確的位定時信號,也就是收/發時鐘的頻率必須嚴格地一致。v 同步通信在數據格式上也與異步通信不同,每個字符不增加任何附加位,而是連續發送。9.3.4 9.3.4 信號調制與解調信號調制與解調v MODEM與計算機連接的方式分成內接式和外接式。v MODEM的調制方式有3種: 振幅調制(ASK):以兩種振幅的大小來區別數字信號“0”與“1”; 頻率調制(FSK):利用兩個固定的頻率來分別代表數字信號“0”與
40、“1”; 相位調制(PSK):利用相位的差異來區別信號,當相位差180時代表位值的變化。9.3.5 9.3.5 串行接口的任務串行接口的任務v 1 1進行串并轉換進行串并轉換v 2 2實現串行數據格式化實現串行數據格式化 v 3 3可靠性檢驗可靠性檢驗 v 4 4實施接口與通信設備之間的聯絡控制實施接口與通信設備之間的聯絡控制 9.4 9.4 可編程串行接口可編程串行接口8251A8251Av9.4.1 8251A的基本性能v9.4.2 8251A內部結構及引腳功能v9.4.3 8251A的控制字和狀態字v9.4.4 8251A的初始化編程v9.4.5 8251A應用舉例9.4.1 8251A
41、9.4.1 8251A的基本性能的基本性能v 1通過初始化編程,可以工作在同步通信或異步通信方式。 v 2同步方式時,可設定為內同步或外同步兩種做法,同步字符允許采用單同步字符和雙同步字符,由用戶選定。 v 3異步方式時,數據位仍可在58位范圍內選用,用1位作為奇偶校驗位或不設置奇偶位。v 48251A具有奇偶校驗、幀校驗和溢出校驗三種字符數據的校驗方式,校驗位的插入、檢查和出錯標志的建立均由芯片自動完成。v 58251A能與MODEM直接相連,接收和發送的數據均可存放在各自的緩沖器中,以便實現全雙工通信。 9.4.2 8251A9.4.2 8251A內部結構及引腳功能內部結構及引腳功能v82
42、51A內部結構v8251A引腳功能1 18251A8251A內部結構內部結構 RESET狀態狀態緩沖器緩沖器發送數據發送數據/命令命令緩沖器緩沖器接收數據接收數據緩沖器緩沖器外部數據總線外部數據總線內部數據總線內部數據總線讀讀/寫寫控制控制邏輯邏輯調制調制控制控制發送器發送器(PS)發送發送(控制)(控制)接收接收(控制)(控制)接收器接收器(SP)CLK C/D RD CS WR TxD TxRDY TxE TxC DTR DSR RTS CTS RxC RxC RxRDY SYN DET00001CSC/DRDWR010100111100功能CPU從8251A讀數據CPU從8251A讀狀態
43、CPU寫數據到8251ACPU寫命令到8251AUSART總線浮空(無操作)表9-2 8251A讀/寫操作2 28251A8251A的引腳功能的引腳功能56789101112123428272625242322212019181714131615 C/D RD WRCS TxCD4D7D6D5GNDRxDD3D2RxRDYD1D0Vcc(+5V) RxC DTR RTS DSRCTS RESETCLKTxDTxESYN DETTxRDY8251A9.4.3 8251A9.4.3 8251A的控制字和狀態字的控制字和狀態字 1 1方式控制字方式控制字 2. 2. 操作控制字操作控制字 3 3狀態
44、字狀態字 1 1方式控制字方式控制字D7 D6 D5 D4 D3 D2 D1 D0 S2 S1 EP PEN L2 L 1 B2 B1同步方式及同步方式及同步字符同步字符個數個數0:內同步:內同步1:外同步:外同步0:2個同個同步字符步字符1:1個同個同步字符步字符停止位位數停止位位數00:不確定:不確定01:1位位10:1.5位位11:2位位字符長度字符長度00:5位位01:6位位10:7位位11:8位位奇偶校驗奇偶校驗0:無校驗:無校驗01:奇校驗:奇校驗11:偶校驗:偶校驗工作方式及波工作方式及波特率因子特率因子00:同步方式:同步方式01:異步:異步110:異步:異步1611:異步:異
45、步64Y(同步)(同步)N(異步)(異步)D1D0=00?圖圖9-13 8251A方式控制字格式方式控制字格式2. 2. 操作控制字操作控制字發送允許發送允許1,允許發送,允許發送0,屏蔽發送,屏蔽發送 數據終端準備好數據終端準備好 1。迫使。迫使DTR低電平低電平 0,正常工作,正常工作接收允許接收允許1,允許接收,允許接收0,屏蔽接收,屏蔽接收 發中止字符發中止字符 1。迫使。迫使TxD為低電平為低電平 0,正常工作,正常工作D7 D6 D5 D4 D3 D2 D1 D0 EH IR RTS ER SBRK RxE DTR TxEN搜索同步字符搜索同步字符1,啟動搜索同步字符,啟動搜索同步
46、字符0,不搜索同步字符,不搜索同步字符 內部復位內部復位 1。內部軟復位以便。內部軟復位以便 重置方式控制字重置方式控制字 0,正常工作,正常工作請求發送請求發送1使使 RST低電平低電平0,正常工作,正常工作清除錯誤標志清除錯誤標志1使狀態寄存器中的使狀態寄存器中的 PE、OE、FE清零清零0,正常工作,正常工作圖圖9-14 操作控制字格式操作控制字格式3 3狀態字狀態字圖圖9-15 狀態字格式狀態字格式D7 D6 D5 D4 D3 D2 D1 D0 DSR SYNDET FE OE PE TxE RxRDY TxRDY數數傳傳機機就就緒緒 同同步步檢檢出出 格格式式錯錯 溢溢出出錯錯 奇奇
47、偶偶錯錯 發發送送器器空空 接接收收準準備備好好 發發送送準準備備好好 例例9-59-5,例例9-69-6 v 例9-5 串行通信時,在發送程序中,需查狀態字的D0位是否置1,即查TxRDY1?其程序段為:L: MOV DX,309H IN AL,DX AND AL,01H JZ Lv 例9-6 串行通信時,在接收程序中,需查狀態字的D1位是否置1,即查RxRDY1?其程序段為:L1:MOV DX,309H IN AL,DX AND AL,02H JZ L19.4.4 8251A9.4.4 8251A的初始化編程的初始化編程 例9-7 例9-8 例9-9 RESET 寫方式控制字寫方式控制字
48、異步方式?異步方式?輸入第一個同步字符輸入第一個同步字符 單同步?單同步? 輸入第二個同步字符輸入第二個同步字符 寫操作命令字寫操作命令字 RESET? 串行傳送數據串行傳送數據 完成?完成? N N NNY Y Y Y例例9-79-7v 編寫一段通過8251A采用查詢方式接收數據的程序。將8251A定義為異步傳送方式,波特率因子為64,采用偶校驗,1位停止位,7位數據位。v 設8251A數據口地址為04A0H,控制口地址為04A2H。 MOV DX,04A2H MOV AL,7BH ;寫方式控制字 OUT DX,AL MOV AL,14H ;寫操作控制字 OUT DX,AL WAIT: IN
49、 AL,DX ;讀入狀態字 AND AL,02H JZ WAIT ;檢查RxRDY是否為1 MOV DX,04A0H IN AL,DX ;輸入數據例例9-89-8v 編寫使8251A發送數據的程序。將8251A定義為異步傳送方式,波特率因子為64。采用偶校驗,1位停止位,7位數據位。8251A與外設有握手信號,采用查詢方式發送數據。v 設8251A數據口地址為04A0H,控制口地址為04A2H。 MOV DX,04A2H MOV AL,7BH ;寫方式控制字 OUT DX,AL MOV AL,31H ;寫操作控制字 OUT DX, WAIT:IN AL,DX ;讀入狀態字 AND AL,01H ;檢查TxRDY是否為1 JZ WAIT MOV DX,04A0H MOV AL,36H ;輸出的數據送AL OUT DX,,AL 例例9-99-9v 編寫接收數據的初始化程序。要求8251A采用同步傳送方式,2個同步字符,內同
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司演講活動策劃方案
- 公司節慶公關策劃方案
- 公司新員工軍訓活動方案
- 公司愛心藥箱活動方案
- 公司聚餐迎雙節活動方案
- 2025年中小學體育教育相關知識考試試卷及答案
- 2025年運動醫學與運動康復知識考試試題及答案
- 2025年心理健康教育研究者招聘考試試題及答案
- 慢性病管理體系創新-洞察及研究
- 社區品牌歸屬感塑造-洞察及研究
- 變電站二次系統介紹(大唐)
- 數智賦能教育新生態:高校教育數字化創新發展路徑
- 2024年山西焦煤集團招聘考試真題
- 對公賬戶提額合同協議
- 鍍鋁技能考試試題及答案
- 塑鋼門窗生產制作工藝定稿
- 車間工藝報警管理制度
- 中建二測2025題庫
- 制造業生產線質量管理措施
- 東方經(已經排好版)
- DB14-T 3225-2025 煤矸石生態回填環境保護技術規范
評論
0/150
提交評論