RM新时代网站-首页

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

端口的輸入與輸出

汽車電子技術(shù) ? 來源:滑小稽筆記 ? 作者:滑小稽 ? 2023-03-02 09:56 ? 次閱讀

2.1 硬件原理圖

圖片

8086的輸入輸出控制是通過8255芯片控制的,用LED代表輸出的數(shù)據(jù),按鍵代表輸入的數(shù)據(jù),八個(gè)LED接在8255的PA端口上,八個(gè)按鍵接在PB端口上,通過8086控制8255A進(jìn)行數(shù)字量的輸入與輸出。

2.2 8255A簡(jiǎn)介

2.2.1 引腳圖

圖片

(1)片選信號(hào)CS:低電平有效,用于多片8255A連接時(shí)控制某一片8255;

(2)復(fù)位信號(hào)RESET:高電平有效,用于將8255A復(fù)位;

(3)讀數(shù)據(jù)信號(hào)RD:低電平有效,用于控制芯片進(jìn)入讀取模式;

(4)寫數(shù)據(jù)信號(hào)WR:低電平有效,用于控制芯片進(jìn)入寫入模式;

(5)兩個(gè)地址信號(hào)A0和A1:高電平有效,用于控制8255A內(nèi)部的四個(gè)寄存器,通過這兩個(gè)地址信號(hào),可以控制寫入的數(shù)據(jù)是給哪一個(gè)寄存器的;

(6)八位數(shù)據(jù)信號(hào)D0~D7:三態(tài)門輸入,用于和8086 CPU的數(shù)據(jù)總線相連,進(jìn)行數(shù)據(jù)的傳輸;

(7)三組IO端口PA、PB、PC:三態(tài)門,用于外設(shè)數(shù)據(jù)的輸入與輸出,其中PC端口可以單獨(dú)分解為高四位與低四位分別控制。

2.2.2 內(nèi)部結(jié)構(gòu)框圖

圖片

2.2.3 8255A寄存器詳解

(1)方式控制字

D7 D6 D5 D4 D3 D2 D1 D0
標(biāo)志位 PA控制 PA模式 PC高4位 PB控制 PB模式 PC低4位

D7:標(biāo)志位,直接置1即可

D6~D5:A組工作方式選擇

D6 D5 工作方式
0 0 PA端口與PC端口高4位工作在方式0
0 1 PA端口與PC端口高4位工作在方式1
1 0 PA端口工作在方式2
1 1

D4:PA端口輸入輸出控制

0:PA端口配置為輸出模式

1:PA端口配置為輸入模式

D3:PC端口高四位輸入輸出控制

0:PC端口高四位配置為輸出模式

1:PC端口高四位配置為輸入模式

D2:B組工作方式選擇

0:PB端口與PC端口低四位工作在方式0

1:PB端口與PC端口低四位工作在方式1

D1:PB端口輸入輸出控制

0:PB端口配置為輸出模式

1:PB端口配置為輸入模式

D0:PC端口低四位輸入輸出控制

0:PC端口低四位配置為輸出模式

1:PC端口低四位配置為輸入模式

(2)PC端口復(fù)位置位控制字

D7 D6 D5 D4 D3 D2 D1 D0
標(biāo)志位 保留 PC端口選擇 置/復(fù)位

D7:標(biāo)志位,直接置0即可

D3~D1:PC端口選擇

D3 D2 D1 PC端口
0 0 0 選擇PC0
0 0 1 選擇PC1
0 1 0 選擇PC2
0 1 1 選擇PC3
1 0 0 選擇PC4
1 0 1 選擇PC5
1 1 0 選擇PC6
1 1 1 選擇PC7

D0:置位復(fù)位選擇,寫0復(fù)位,寫1置位

2.2.4 8255A地址計(jì)算

8255A有三個(gè)引腳與地址有關(guān),分別是片選CS和兩個(gè)地址線A0、A1,其中A0和A1的組合方式有四種,如下表所示:
A1 A0 描述
0 0 選擇PA端口
0 1 選擇PB端口
1 0 選擇PC端口
1 1 方式字選擇

如果CS通過反相器與8086 CPU的A15連接,A0和A1與8086 CPU的A0,A1相連,那么對(duì)應(yīng)的地址分別是:

PA端口地址:1000 00000000 0000 B,即十六進(jìn)制的8000 H

PB端口地址:1000 00000000 0001 B,即十六進(jìn)制的8001 H

PC端口地址:1000 00000000 0010 B,即十六進(jìn)制的8002 H

控制寄存器地址:1000 0000 0000 0011 B,即十六進(jìn)制的8003 H

也就是說8255A的地址應(yīng)該根據(jù)硬件連接決定,而不是唯一的。

2.2.5 8255A控制步驟

(1)8086 CPU在T1和T2狀態(tài)通過20根地址線輸出20位的地址,通過鎖存器鎖存地址

(2)8086 CPU在T3和T4狀態(tài)通過16根數(shù)據(jù)下輸出16位數(shù)據(jù),通過地址總線傳送至8255A

(3)設(shè)置8255A端口為輸出模式

(4)給8255A寫輸出的數(shù)據(jù)

2.3 源代碼

例題1:利用8255的PA端口,控制8個(gè)LED循環(huán)點(diǎn)亮。

解析過程:由于原理圖中的CS直接接地,A0和A1接在8086地址的A1和A2上,所以,8255A的地址按照順序應(yīng)該是PA->0000H;PB->0002H;PC->0004H;控制寄存器->0006H,由于LED接在PA端口上,所以需要8086首先發(fā)送地址0000H,然后由于是配置PA端口為輸出端口,所以控制字可以不用設(shè)置,默認(rèn)為0即可。

代碼如下。

圖片

注:

(1)程序中使用的AL寄存器、DX寄存器和CX寄存器在8086CPU中有以下幾個(gè)特殊用途,如下表所示:

圖片

(2)移位指令比較

圖片

例題2:利用8255的PB端口的八個(gè)按鍵,控制PA端口8個(gè)LED。

解析過程:首先將PB端口配置為輸入模式,然后PA端口配置為輸出模式,而后將PB端口讀取的數(shù)據(jù)按位取反直接傳給PA即可,假設(shè)按鍵1按下的時(shí)候,PB端口讀取的數(shù)據(jù)是1111 1110,按位取反后變?yōu)?000 0001,剛好是第一個(gè)LED電亮。由于硬件與第一章的硬件完全一致,所以地址也一致,即PA->0000H;PB->0002H;PC->0004H;控制寄存器->0006H。程序如下。

圖片

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • led
    led
    +關(guān)注

    關(guān)注

    242

    文章

    23252

    瀏覽量

    660553
  • 按鍵
    +關(guān)注

    關(guān)注

    4

    文章

    223

    瀏覽量

    57595
  • 8086
    +關(guān)注

    關(guān)注

    1

    文章

    30

    瀏覽量

    18821
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    請(qǐng)問f429i DMA訪問外擴(kuò)SRAM是否與內(nèi)置SRAM的設(shè)置相同?

    什么區(qū)別?2.GPIO端口輸入/輸出數(shù)據(jù)寄存器可以以BYTE、WORD訪問嗎?DMA可以BYTE寬帶讀取GPIOx_IDR嗎,還是必須32bits訪問?謝謝!
    發(fā)表于 09-19 09:27

    請(qǐng)問如何在XST中有選擇地禁用IBUF/OBUF插入?

    / OBUF插入”任何人都可以詳細(xì)解釋我我們是否選擇性地禁用未連接到頂部模塊端口輸入/輸出端口上的IBUF / OBUF插入?如何使用“buffer_type”約束。對(duì)于XST ?
    發(fā)表于 03-06 09:24

    請(qǐng)問如何管理XDC文件和頂級(jí)中的生成時(shí)鐘?

    時(shí)鐘,所以我使用命令“create-generate-clock”生成所需的生成時(shí)鐘,并生成兩個(gè)時(shí)鐘。但我不知道如何在XDC中為每個(gè)時(shí)鐘分配合適的fpga端口? (輸入/輸出或主時(shí)鐘的相同端口
    發(fā)表于 04-26 08:08

    單片機(jī)反相器_小白學(xué)單片機(jī) :AT89S51單片機(jī)基本硬件結(jié)構(gòu)認(rèn)識(shí)(3)精選資料分享

    AT89S51 單片機(jī)I/O端口及工作原理AT89S51單片機(jī)有4個(gè)8位的并行I/O端口P0、P1、P2和P3。每個(gè)端口均由鎖存器、輸出驅(qū)動(dòng)器和輸入
    發(fā)表于 07-30 06:53

    輸入/輸出端口的作用和用法

    輸入輸出端口輸入/輸出端口的作用和用法輸入輸出端口
    發(fā)表于 09-10 09:14

    HC32L072PTAT 的PA11、PA12腳我程序不能用作普通IO用

    關(guān)閉 stcGpioCfg.enOD = GpioOdDisable; ///< 端口輸入/輸出值寄存器總線控制模式配置->AHB stcGpioCfg.enCtrlMode = GpioAHB
    發(fā)表于 12-19 09:46

    更高的帶寬! 說說筆記本的輸入輸出端口

    更高的帶寬! 說說筆記本的輸入輸出端口 Displayport端口將成為未來筆記本電腦的主流輸出端口。相對(duì)于目前主流的HDMI
    發(fā)表于 02-05 16:23 ?1553次閱讀

    MAX7313 16端口輸入/輸出擴(kuò)展器

    MAX7313是I2C兼容的串行接口外圍設(shè)備,可為微處理器提供16個(gè)I/O端口。每個(gè)I/O端口可以單獨(dú)配置為漏極開路輸出,額定輸出電流50mA/5.5V;也可以配置為具有瞬態(tài)檢測(cè)的邏輯
    發(fā)表于 07-27 10:29 ?1957次閱讀
    MAX7313 16<b class='flag-5'>端口</b><b class='flag-5'>輸入</b>/<b class='flag-5'>輸出</b>擴(kuò)展器

    產(chǎn)品說明書之外的收獲—IBIS

    當(dāng)您開始 PCB 設(shè)計(jì)時(shí),您需要解決數(shù)字引腳的信號(hào)完整性問題。在您需要的眾多基本信號(hào)完整性因素中,其中之一便是數(shù)字端口輸入輸出電容。如此細(xì)微的數(shù)據(jù),在產(chǎn)品說明書中可能
    發(fā)表于 01-17 11:46 ?1726次閱讀
    產(chǎn)品說明書之外的收獲—IBIS

    單片機(jī)反相器_小白學(xué)單片機(jī) :AT89S51單片機(jī)基本硬件結(jié)構(gòu)認(rèn)識(shí)(3)

    AT89S51 單片機(jī)I/O端口及工作原理AT89S51單片機(jī)有4個(gè)8位的并行I/O端口P0、P1、P2和P3。每個(gè)端口均由鎖存器、輸出驅(qū)動(dòng)器和輸入
    發(fā)表于 11-23 17:06 ?1次下載
    單片機(jī)反相器_小白學(xué)單片機(jī) :AT89S51單片機(jī)基本硬件結(jié)構(gòu)認(rèn)識(shí)(3)

    NAND閃存VDNF64G08xS50xx8V25-Ⅱ用戶手冊(cè)

    VDNF64G08XS50XX8V25-Ⅱ采用8Gx8bit,是一種64G位NAND閃存,具有備用容量2048M位。該裝置在3.3V電壓下工作。輸入/輸出引腳用作地址和數(shù)據(jù)的端口輸入/
    發(fā)表于 06-08 10:47 ?1次下載
    NAND閃存VDNF64G08xS50xx8V25-Ⅱ用戶手冊(cè)

    如何最好地實(shí)現(xiàn)精確的時(shí)間和同步

    軟件冗余的另一個(gè)優(yōu)點(diǎn)是它使整個(gè)設(shè)備完全冗余。主用單元和備用單元相同。每個(gè)功能都是冗余的,包括振蕩器、GNSS 接收器、端口輸入/輸出。對(duì)于硬件模塊,它只是對(duì)自己的功能是多余的,而不是單元的其余部分。
    的頭像 發(fā)表于 11-21 15:35 ?707次閱讀
    如何最好地實(shí)現(xiàn)精確的時(shí)間和同步

    什么是端口聲明

    模塊定義包括一個(gè)端口列表,該列表用括號(hào)括起來。端口用于將數(shù)據(jù)傳入或傳出模塊。模塊可以有四種類型的端口輸入、輸出、雙向
    的頭像 發(fā)表于 02-09 14:44 ?1051次閱讀
    什么是<b class='flag-5'>端口</b>聲明

    連續(xù)時(shí)間系統(tǒng)的時(shí)域分析

    系統(tǒng)數(shù)學(xué)模型時(shí)域表示:端口輸入-輸出)描述(一元n階微分方程)與狀態(tài)方程描述(n元聯(lián)立一階微分方程)
    的頭像 發(fā)表于 08-09 14:53 ?1519次閱讀
    連續(xù)時(shí)間系統(tǒng)的時(shí)域分析

    PLC輸入端口輸出端口的工作原理

    內(nèi)部邏輯運(yùn)算后,再通過輸出端口控制外部設(shè)備。因此,了解PLC輸入端口輸出端口的工作原理對(duì)于理解
    的頭像 發(fā)表于 06-19 14:11 ?2630次閱讀
    RM新时代网站-首页