2025年北京邮电大学微机原理实验教程与硬件实践解析_第1页
2025年北京邮电大学微机原理实验教程与硬件实践解析_第2页
2025年北京邮电大学微机原理实验教程与硬件实践解析_第3页
2025年北京邮电大学微机原理实验教程与硬件实践解析_第4页
2025年北京邮电大学微机原理实验教程与硬件实践解析_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微机原理

硬件试验汇报

试验一I/O地址译码

一、试验目的

1、掌握I/O地址译码电路的工作原理。

二、试验内容及原理

试验电路如图1-1所示,其中74LS74为D触发器,可直接使用试验台上数字电路试验

区的D触发器[4LS138为地址译码器。译码输出端Y0〜Y7在试验台上“I/O地址“输出

端引出,每个输出端包括8个地址,YO:280H〜287H,Yl:288H〜28FH,……当CPU

执行I/O指令且地址在280H〜2BFH范围内,译码器选中,必有一根译码线输出负胧冲。

根据图1-1,我们可以确定A9~A3,AEN,IOW,I0R的值。要使译码电路正常工作,

必须使处在低电平有效。因而可以确定A6=A8=0,A7=A9=I,AEN=0,IOW与IOR不可

同步为1(即不能同步读写)。当要从Y4输出低脉冲时,A5A4A3=100;从Y5输出时,

A5A4A3=101。综上所述,Y4输出时,应设置值2A0H(A9~A0=B);Y5输出时,应设

置值2A8H(A9~A0=B)。

执行下面两条指令

MOVDX,2A0H

OUTDX,AL(或INAL,DX)

Y4输出一种负脉冲到D触发器的CLK上,由于D=1(接了高电平+5V),因此Q被赋

值为1.

延时一段时间(delay);

执行下面两条指令;

MOVDX,2A8H

OUTDX,AL(或INAL,DX)

Y5输出一种负脉冲到CD,D触发器被复位,Q=0o

再延时一段时间,然后循环上述环节。

运用这两个个负脉冲控制L7闪烁发光(亮、灭、亮、灭、……),时间间隔通过软

件延时实现。

三、硬件接线图与软件流程图

A3

A4

A5

A6

A7

A8

A9

硬件接线:

Y4/I0地址接CLK/D触发器

Y5/IO地址接C/D触发器

D/D触发器接SD/D角发器接+5V

Q/D触发器接L7(LED灯)或逻辑笔

软件流程图:

四、源程序

OUTPORT1EQU2A0H;预置,以便修改

OUTPORT2EQU2A8H

CODESEGMENT

ASSUMECS:CODE

START:MOVDX,OUTPORT1;根据原理图设定A9~A0的值(Y4)

OUTDX,AL;让译码器Y4口输出一种负脉冲

CALLDELAY,延时

MOVDXQUTPORT2;根据原理图设定A9~A0的值(Y5)

OUTDX,AL;让译码器Y5口输出一种负脉冲

CALLDELAY:延时

MOVAH』;调用I号DOS功能,等待键盘输入

INT16H

JESTART;若有键盘输入则退出程序,否继续循环

MOVAH,4CH

INT21H

DELAYPROCNEAR;延时子程序

MOVBX,200时延长度(200)

A:MOVCX,()

B:LOOPB

DECBX

JNEA

RET

DELAYENDP

CODEENDS

ENDSTART

五、试验成果

LED灯处在闪烁状态,键盘有输入后,成功退出。

六、试验总结

碰到的问题:需要合理设置时延值。

七、试验收获与心得体会

这是第一次进行微机原理的硬件试验,熟悉了使用的试验系统,学习了最基本的

硬件测试措施,学会了在试验的环境下进行单步调试,对接口的地址、LED灯的控制有

了初步的理解。为后续试验做了准备。

试验二简朴并行接口

一、试验目的

I、掌握简朴并行接口的工作原理及使用措施。

二、试验内容及原理

1、按下面图2-1简朴并行输出接口电路图连接线路(74LS273插通用插座,

74LS32用试验台上的“或门”)。74LS273为八D触发器,8个D输入端分别接数

据总线DO〜D7,8个Q输出端接LED显示电路L0〜L7。

2、编程从键盘输入一种字符或数字,将其ASCII码通过这个输出接口输出,根

据8个发光二极管发光状况验证对的性。

三、硬件接线图与软件流程图

D3D1Q1

0二L0

D4D2Q2

1一L1

7D3Q3

D2e8L2

D33D4Q4L3

D4r1D5Q5feL4

14B

D5D6Q6L5

D6二1?D7Q7L6

713D9Q07

D■-L

11CLK

所>

0

JRZ

r9

&;

.

.

5*

I

u.一

2a8H~j♦Tou

图2-1

软件流程图:

1

(结束)

四、源程序

CODESEGMENT

ASSUMECS:CODE

START:MOVCX,0FFH

LOOP1:MOVAH,1

INT21H

CMPALJBH

JZEND1

MOVDX,2A8H

OUTDX,AL

LOOPLOOPI

END1:MOVAX,4C00H

INT21H

CODEENDS

ENDSTART

五、试验成果

键盘输入一种字符,LED灯显示对应的ASCII码。键入ESC后成功退出°

六、试验收获与心得体会

本次试验让我对硬件试验有「愈加深刻的理解,硬件试验需要常常读取硬件的状

态,根据其状态采用对应的控制方案,同步需要向接口输出数据和控制信息,卵动硬件

正常工作。通过键盘的输入还记下了某些字符的ASCII码。

试验三可编程并行接口8255

一、试验目的

1、通过试验,掌握8255工作于方式0以及设置A口为输出口,C口为输入口的措施。

二、试验内容及原理

1、8255芯片工作原理:

1)8255的工作方式:

一片8255内部有3个端口,A口可以工作在方式0、方式1或方式2,B口可以工作在

方式0、方式1,C口可以工作在方式0。

方式0是基本型输入;输出。这种方式和外设互换数据时,8255端口与外设之间不使

用联络线。

方式1为选通型输入;输出。用这种方式和外界互换数据时,端口和外设之间要有联

络信号。

方式2是双向数据传送,仅A口有这项功能。当A口工作在方式2时,B口仍可以工作

在方式0或方式1,但此时B口方式1只能用查询方式与CPU互换信息。

2)工作方式选择字

8255工作方式选择字共8位(如图3-1),寄存在8255控制寄存器中。最高位D7为标

志位,D7=l表达控制寄存器中寄存的是工作方式选择字,D7=0表达控制寄存器中寄存

的是C口置位/复位控制字。

D7D6D5D4D3D2DIDO

•方式0A口C|_|同四位0•方式。B口C口低四位

16-方式11:输入1:入1彷式11:人L:入

k•方式2。:输出0:出0:出0:出

根据上图,方式控制字应为:10000000B,即80H。

8255控制寄存器端口地址-28BH,A口的地址-288H,B口的地址--289H,C口的地址

—28AH。

3)C口置/复位控制字

8255的C口可进行位操作,即:对口可进行位操作,即:对8255C口的每一位

进行置或清零操作,该操通过设置C口置/复位字实现的(图)。复位字实现的(图)。

C口置/复位宇共8位,各位含义如下:

D7D6D5D4D3D2D1DO

0000:PCO1:置位

001:PC10:复位

标志位XXX

111:PC7

2、8255A的控制信号与传播动作的对应关系

A1A0/RD/WR/CS工作状态

00010A口数据f数据总线

01010B口数据f数据总线

10010C口数据一数据总线

00100数据总线fA口数据

01100数据总线一B口数据

10100数据总线一C口数据

11100数据总线一控制寄存器

XXXX1数据总线一三态

11010非法状态

XX110数据总线一三态

3、命令字与初始化编程

8255有两个命令字,即方式选择控制字和CU置0/置1控制字,初始化编程的环节是:

①向8255控制寄存器写入”方式选择控制字”,从而预置端口的工作方式;

②当端口预置为方式1或方式2时,再向控制寄存器写入“C口置0/置1控制字“。这一操

作的重要目的是使对应端口的中断容许触发器置0,从而严禁中断,或者使对应端口的

中断容许触发器置1,从而容许端口提出中断祈求;

注意:“C口置0/置1控制字”虽然是对C口进行操作,不过该控制器是命令字,因此要写

入控制寄存器,而不是写入C口控制寄存器。

③向8255数据寄存器写入“数据”或从8255数据寄存器读出“数据”。

三、硬件接线图与软件流程图

硬件接线图:

VA___一■•PC0PA0__.•———■L0

K1♦—————PC1PA1―•-----•L1

K2-PC2PA2―•-----•L2

K3-—PC3PA3―•-----•L3

K4•—PC4PA4―•-----•L4

K5•——一<•—PC5PA5—•-----•L5

K6——PC6PA6—•--------♦L6

K7-—PC7PA7—•-----•L7

U188255

288H♦——•——CS

软件流程图

开始

设置8255c口

四、源代码

CODESEGMENT

ASSUMECS:CODE

START:MOVAL,89H

MOVDX,28BH

OUTDX,AL

LOOP1:MOVDX,28AH

INAL,DX

MOVDX,288H

OUTDX,AL

MOVAH,1

INT16H

JZLOOPI

CODEENDS

ENDSTART

五、试验成果

将一种拨码开关推上去,其对应的LED灯亮。

六、试验收获与心得体会

这个试验比较简朴,代码也很简短,但通过这个试验对8255有了初步的理解,对于

接下来的试验有很大协助。

试验四七段数码管

一、试验目的

1、掌握数码管显示字的原理。

二、试验内容及原理

1、静态显示:将8255的A口PAO〜PA7分别与七段数码管的驱动输入分

别与七段数码管的驱动输入端a〜dp相连,位码驱动输入端SO、SI、S2、S3接

PC0、PCI、PC2、PC3,编程在数码管显示自己的学号后四位。(或编上循环“程

在数码管显示自己的学号后四位。(或编上循环“程在数码管显示自己的学号后四位。

(或编上循环“()0-99",位码驱动输入端SO、S1接PCO、PCI;S2、S3接

地。)接地。)

2、试验台上的七段数码管为共阴型,段码采用同相驱动,输入端加高电平,选中的

数码管亮,位码加反相驱动器,位码输入端高电平选中。七段数码管的字型代表码如下:

显示字形gefdcba段码

001111113fh

a

1000011006h

fb

210110115bhg

310011114fh

4110011066h

三、硬件接线图与软件流程图

硬件接线图:

接线:

PA7〜PA0/8255接dp〜a/LED数码管

PC3~PC0/8255接S3-S0/LED数码管

CS/8255接Y1/I0地址

软件流程图:

四、源代码

CODESEGMENT

ASSUMECS:CODE

START:MOVAL,80H

MOVDX,28BH

OUTDX,AL

LOOP1:MOVDX,28AH;数码管清零

MOVAL.00H

OUTDX,AL

MOVDX,288H;送出段码

MOVAL,3FH;0的段码

OUTDX,AL

MOVDX,28AH;送出位码

MOVAL,08H;最高位显示

OUTDX,AL

MOVDX,28AH;数码管清零

MOVAL,OOH

OUTDX,AL

MOVDX,288H;送出段码

MOVAL.07H;7的段码

OUTDX,AL

MOVDX,28AH;送出位码

MOVAL.04H;次高位显示

OUTDX,AL

MOVDX,28AH;数码管清零

MOVAL,OOH

OUTDX,AL

MOVDX,288H;送出段码

MOVAL,4FH;3的段码

OUTDX,AL

MOVDX,28AH;送出位码

MOVALO2H;第3位显示

OUTDX,AL

MOVDX,28AH;数码管清零

MOVAL,()()H

OUTDX,AL

MOVDX,288H;送出段码

MOVAL,06H;l的段码

TDX,AL

MOVDX,28AH;送出位码

MOVAL,01H;第4位显示

OUTDX,AL

MOVAH,I;调用DOS功能,监视键盘与否有输入

INT16H

JZLOOP1;键盘有输入跳出循环,否则继续显示

MOVAH,4cH;返回DOS

INT2IH

CODEENDS

ENDSTART

五、试验成果

数码管上静态显示我的学号后四位0731o

六、试验总结

在本试验中数码管的显示是一位写,当然也可以用查表措施来进行。在本试验中

数码管的显示是一位写,当然也可以用查表措施来进行。

七、试验收获与心得体会、试验收获与心得体会

这是第一次在硬件试验中使用到数码管,的显示需要位和段输这是第一次在硬件

试验中使用到数码管,的显示需要位和段输送。这次试验也真正地通过8255控制外

设的动作。懂得了置控制外设的动作。懂得了置8255的工作方式以及C口的置/复

位的措施。

试验八可编程定期器/计数器(8253/8254)

一、试验目的

1.掌握8253用作定期器的编程原理;

二、试验内容及原理

1、8253芯片

1)8253初始化

使用8253前,要进行初始化编程。初始化编程的环节是:

A、向控制寄存器端口写入字对使用的计数规定其方式等。

B、向使用的计数器端口写入初值。

2)8253控制字:

D7D6D5D4D3D3D1DO

计数器选择读写方式选择工作方式选择数制选择

D7D6=00:使用0号计数器,D7D6=01:使用1号计数器

D7D6=10:使用2号计数器,D7D6=11:无效

D5D4=00:锁存当前计数值

D5D4=O1:只写低8位(高8位为0),读出时只读低8位

D5D4-10:只写高8位(低8位为0),读出时只读高8位

D5D4=11:先读/写低8位,后读/写高8位计数值

D3D2Dl=000:选择方式0,D3D2Dl=001:选择方式1

D3D2D1=X1O:选择方式2,D3D2D1=X11:选择方式3

D3D2Dl=100:选择方式4,D3D2D1=1O1:选择方式5

D0=0:计数初值为二进制,D0=l:计数初值为BCD码数

附:

8253控制寄存器地址283H计数器0地址280H

计数器1地址281H计数器2地址282H

定期器可工作在方式3下。

综上所述,设置控制字为:00II1110B,即选择零号计数器先读/先写低8

位、再读/写高8位,选择方式3,计数初值为二进制。

2、音乐产生原理

由参照资料中的音符与频率对应表,根据计数器的性质,运用公式,使用

MATLAB矩阵运算可以迅速计算出七种音符在高中低音时计数器应当对应的初始计数

值,如下表所示。

音符频率对照

音符1(do)2(re)3(mi)4(fa)5(so)6(la)7(si)i(do)

频率256288320341384426.6480512

(Hz)

三、硬件接线图与软件流程图

硬件接线图:

16K253

CIKO-—一1M时钟

5V

(1ATE0"♦一丁

Se」一喇叭或蜂鸣器

接线:

CS/8253接YO/IO地址

GATEO/8253接+5V

CLKO/8253接1M时钟

OUTO/8253接喇叭

软件流程图:

四、源程序

DATASEGMENT

BUFDB322、欢乐颂乐谱

LTHEQUS-BUF;乐谱长度

ENDS

STACKSEGMENT

DB100DUP(?)

STACKENDS

CODESEGMENT

ASSUMECS:CODE,DS:DATA,SS:STACK

DELAYPROCNEAR;延时子程序

PUSHCX;防止变化原始CX值,将其压入堆栈

MOVCX,0FFFFH;光靠设置CX的值延时还不够长

L:乂0丫庆*,50;嵌套循环,总循环长度为人乂气^

WA:DECAX

JNZWA

LOOPL

POPCX;提取原CX值

RET

DELAYENDP

START:

MOVAX,DATA

MOVDS.AX

MOVAU80H

MOVDX,28BH

OUTDX,AL;初始化8255

MOVDX,283H

MOVAUOOHIUOB

OUTDX,AL;初始化8254

BEGIN:

MOVBX,OFFSETBUF;载入音谱

MOVCX,LTH;根据音谱长度设定循环变量

PRO:

MOVAUIBXJ;载入音符

ADDBX,1;准备载入下一种音符

CMPAL3H;通过比较ASCII码,读取单个音符

JZNI;跳往DO

CMPAL,32H

JZN2

CMPAL,33H

JZN3

CMPAL.34H

JZN4

CMPAL,35H

JZN5

CMPAL,36H

JZN6

CMPAL,37H

JZN7

CMPAL,38H

JZN8

PR02:

LOOPPRO

JMPFIN;音乐播完

Nl:JMPDO;由于程序过长,此处设置跳转中

N2:JMPRE

N3:JMPMI

N4:JMPFA

N5:JMPSO

N6:JMPLA

N7:JMPSII

N8:JMPDOI

DO:MOVDX,280H;设置零号计数器的初始值

MOVAL,42H;42H是通过公式算得的初始值低8位

OUTDX,AL

MOVAL.OFH;高8位

OUTDX,AL

MOVDX.28AH;数码管清零

MOVAL,00H

OUTDX,AL

MOVDX,288H;给数码管送出1的段码

MOVAL,06H

OUTDX,AL

MOVDX.28AH;给数码管送出位(最高显示)

MOVAL,08H

OUTDX,AL

CALLDELAY;调用延时子程序,以免乐谱播放过快

JMPPRO2;准备接受下一种音符

;如下代码解释类似

RE:MOVDX,28()H

MOVAL,90H

OUTDX.AL

MOVAL,0DH

OUTDX,AL

MOVDX,28AH

MOVAL,OOH

OUTDX.AL

MOVDX,288H

MOVAL,5BH

OUTDX,AL

MOVDX,28AH

MOVAL,08H

OUTDX,AL

CALLDELAY

JMPPRO2

MI:MOVDX,280H

MOVAL,34H

OUTDX,AL

MOVAL,0CH

OUTDX,AL

VDX,28AH

MOVAL,OOH

OUTDX,AL

MOVDX,288H

MOVAL,4FH

OUTDX,AL

MOVDX,28AH

MOVAL,08H

OUTDX,AL

CALLDELAY

JMPPRO2

FA:MOVDX,28()H

MOVAL,74H

OUTDX.AL

MOVAL,0BH

OUTDX,AL

MOVDX,28AH

MOVAL,OOH

OUTDX.AL

MOVDX,288H

MOVAL,66H

OUTDX,AL

MOVDX,28AH

MOVAL,08H

OUTDX,AL

CALLDELAY

JMPPRO2

SO:MOVDX,28()H

MOVAL,2CH

OUTDX,AL

MOVAL,0AH

OUTDX,AL

MOVDX,28AH

MOVAL,OOH

OUTDX,AL

MOVDX,288H

MOVAL,6DH

OUTDX,AL

MOVDX,28AH

MOVAL,08H

OUTDX,AL

CALLDELAY

PPRO2

N9:JMPBEGIN;代码跳转中处

LA:MOVDX,280H

MOVAL.28H

OUTDX,AL

MOVAL.09H

OUTDX,AL

MOVDX,28AH

MOVAL.OOH

OUTDX,AL

MOVDX,288H

MOVAL,7DH

OUTDX,AL

MOVDX.28AH

MOVAL,08H

OUTDX,AL

CALLDELAY

JMPPRO2

SIT:MOVDX,280H

MOVAL,24H

OUTDX,AL

MOVAL,08H

OUTDX,AL

MOVDX,28AH

MOVAL.OOH

OUTDX,AL

MOVDX,288H

MOVAL,07H

OUTDX,AL

MOVDX,28AH

MOVAL,08H

OUTDX,AL

CALLDELAY

JMPPRO2

DOI:MOVDX,280H

MOVAL.0A2H

OUTDX,AL

MOVAL,07H

OUTDX,AL

MOVDX,28AH

MOVAL.00H

OUTDX,AL

VDX,288H

MOVAL,75H

OUTDX,AL

MOVDX.28AH

MOVAL,08H

OUTDX,AL

CALLDELAY

JMPPRO2

FIN:MOVDX,280H;乐谱播完,进入静音状态设置初值

MOVAL.0AH;发出超声波(人耳听不到),低8位

OUTDX,AL

MOVAL,00H;高8位

OUTDX,AL

MOVAHO1H;调用1号DOS功能,等待缝盘输入

1NT21H

CMPALJBH;与否输入“ESC”

JNZN9;是则退出,否进行下一次播放

MOVAH.4cH;程序结束,返回DOS界面

INT21H

CODEENDS

ENDSTART

五、思索题

写出8253计数初值、输入频率和输出频率的关系。

答:计数初值=输入频率/输出频率

六、试验现象

8253可以对的播放出寄存在数据段的歌曲《欢乐颂》,同步数码管可以对的显示出

音符。

七、试验总结

在编程时首先要进行8253的初始化,包括计数器的选择、读入计数初值的方式、

工作方式的选择以及计数的方式等等。试验开始之前自己是想设计出一种播放器,可以

比较精确的播放出歌曲,数据段存储其音符、音高以及节拍,不过调试到最终也没有成

功,于是最终只是进行了功能十分简朴的音乐播放,应当说这是一种遗憾。

八、试验收获与心得体会

进行试验的时候还没有学习过8253,因此在进行试验的时候经历了许多周折。但最

终完毕了音乐的播放,也算是一种成功吧,在这次试验中我学会了8253的设置以及编程

实现,对之后的理论课学习有非常大的协助。试验中对每一种音符的计数初值是一种一

种写入的,其实也可以通过查表的措施进行,在尝试写功能比较完备的音乐播放时就用

了杳表的措施。

试验十六串行通信8251

试验目的

1、理解串行通讯的基本原理;

2、掌握串行接口芯片8251的工作原理和编程措施。

二、试验内容及原理

1、8251A的基本性能:

可以工作在同步或异步方式下,两种方式下的字符位数5-8个;同步方式时传

播速率可达0—64K,异步方式时传播速率可达0—19.2K:异步传播时,可自动产生一

种起始位,程控产生1个、1.5个、2个停止位;具有奇偶错、数据丢失和帧错误和检

测能力;同步方式时,可自动检测,插入同步字符。

2、8251A的工作原理:

I)异步接受方式

当8251A工作于异步方式且容许接受和准备好接受数据时:它监视RXD线。在

没有字符信息时,RxD为高电平。一旦8251A检测到RxD线为低电平,即认为是起

始位(Space)抵达,便启动内部计数器开始计数。假设接受时钟频率为波特率的16倍

频,8251A的内部寄存器计数接受一直的第8个脉冲时,乂一次采样RXD线,看两

次采样的信号与否一致。假如相似,即都为低,则表达一种起始位的到来。此后,每隔

一位的时间,在每个数据中间的一种接受时钟的上升沿采样一次RxD线作为输入信

号,送至串一并移位寄存器。在移位寄存器中数据被转换成并行,并且进行奇偶校验并

清除停止位后,经8251A内部数据总线送至接受缓冲器,同步发出RxRDY信号,表

达一种字符的接受和转换所有完毕。

假如在第二次采样RxD线发现为高电平,则也许是一种干扰噪声。于是8251A将不

予理会,重新进行下一次的采样。

2)异步发送方式

异步发送时,首先必须由程序设置TxEN(TransmitterEnable-----发送容许)和

(ClearToSend一一由外设发来的对CPU祈求发送信号的响应信号)有效后,方可发

送。发送时,发送器为每个字符自动地加上1位起始位,并按照程序的规定加上1位

奇偶校验位,1、1.5、或2位停止位,在发送时钟的下降沿经发送移位寄存器从线发出。

3)同步接受方式

常用的串行同步通信数据格式分为单、双、外同步和SDLC/HDLC四种格式。

单同步数据格式的串行同步通信方式,布内同步方式容许接受后,8251A由编程命

令进入搜索方式。它监视RxD线,每出现一种数据位就把它移一位,然后把接受寄存器

与具有同步字符(由程序给定)的寄存器相比较,假如相似,表达接受和发送方已同步,

接受以便使SYNDET信号输出为高。假如不一样,则接受下一种数据并重新进行比较

过程。

假如采用双同步数据格式传送,则在比较第一和同步字符相似后,进行第二个同

步字符的比较,若相等,则表达己同步。假如不相等,则重新比较输入移位寄存器和第

一种同步字符寄存器的内容,相等,已同步。否则重新进行下一种数据的比较过程。

对于外同步的状况,则有所区别。它是由外加同步信号使同步输入端SYNDET变

为高电平实现的。在数据格式中没有同步字符。SYNDET加上高电位后来,立即发送对

应宇符数据。

SDLC/HDLC的状况与其他同步接受方式有所区别,但也是以同步字符(称为标志)

作为数据同步的。其同步字符格式固定为01111110。当接受方收到该标志时,进入同步,

从而完毕对应的SDLC/HDLC操作。

在实现同步后来,通信双方即进行数据的传播,8251A运用接受时钟采样和移位

RxD线上的数据位,且按规定的位数,把它送至接受数据缓冲器,并在RxRDY线上发出

一种信号,告知CPU接受到一种有效的字符。

4)同步发送方式

与一步发送方式同样,同步发送方式是在TxEN和有效后开始的。首先发送的是

用以同步的一种或两个字符,随即就是有效数据位,在数据中也许具有一种奇/偶校验

位,也也许没有,由程序设定。对SDLC/HDLC在发完同步字符后,还要发送地址、控

制两个场的规定信息,然后才是有效数据信息。

在传送过程中,也许会出现CPU来不及将新的字符数据输出给8251A的状况。为

此,8251A能自动地在TxD线上插入同步字符,从而使字符之间没有间隙存在。

3、8251A的初始化

在初始化编程时,向8251A发的控制字分为两类:方式控制字和命令控制字。

1)方式控制字

由于同步和异步方式在操作上区别很大,因此方式控制字的基本格式为;异步方

式控制字格式和同步方式控制字格式。CPU向其设置时,用的端口地址是相似的,都是

c/=u两种方式控制字的区别在最低两位:低两位为00是同步方式控制字;否则是异

步方式控制字.

方式控制字的基本格式如图所示。

D?|D<SDim0332(DIDt

UJ

:算步方式,D1DONOQ》

Rt(ix)

X,外克同学也幽

I-SYYDET为增人字行次度

蜂上SG

O-SYNDET%

5位

7色

口,.同步字符

3位

|一色同抄字苻

0w双鹿步字制

叮畦允许r-允许。一蓼

行调校冷|丁且咬的/

。=奇咬样

从图中可知:

D0D1:首先辨别发送方式,另一方面是在异步条件下的输入时钟频率与波特率之

间的系数。接受和发送的波特率可以不一样,接受时钟和发送时钟的频率也可以不一样,

不过接受和发送的波特率系数只能是同一种。

D3D2:确定每个字符的位数。字符长度值可以从5位到8位不等。当程序制定字符

位数不不小于8位时,有效数据位右对齐,高位以0补充。

D4:决定与否使用奇偶校验位,D5表达校验的方式。注意,校验位仅仅足提供传

送过程中与否有出错的鉴定,当对的接受到有效数据后,检查位的作用完毕。因此,从

RxD上接受的奇偶校验信号是不会进入CPU的。

D7D6:与采用的传播方式有关。当D1D0W00为异步方式时,表达停止位的个数,

其中D7D6=00时无效。当D1D0=O0为同步方式时,D6=l为外同步,D6=l为内同步。

D7表达同步字符的个数,D7=l为单同步,D7=0为双同步。假如为外同步方式,则D7

无效。

2)命令控制字

CPU向8251A发命令控制字,控制8251A的实际操作。发命令控制字时用的端口地

址与方式控制字的地址相似,它们的区别是靠发送的前后次序。其格式如图所示。

D706D5D40302DIDO

格式中,TxEN和RxE位分别是发送容许和接受容许位,在发送和接受之前应发对应

位为“1”的命令字,当然两位也可同步为“1”。和位分别控制和端的输出状态,要

根据通信与否受这些信号的控制来选择这两位的值。SBRK位为1时将使TxD输出低电平

作为“间断”信号。ER位为“1”将使状态信息中的错误标志PE、0E清除为0,IR位为

“1”的命令字用于使8251A复位,与RESET端加高电平作用同样。8251A复位后来,等

待设置方式控制字。在设置为同步方式后,第一种命令字的EH为应当为1,称为ENTER

HUNT(进入搜索方式)命令。这个命令之后,8251A进入测试同步字符的操作状态。

3)状态字

8251A内部设有状态寄存器,CPU可由读指令IN获取状态寄存器的内容,鉴定8251A

目前的工作状态。状态寄存器各位的定义如图9-27所示。

DI(RxRDY)、DO(TxRDY)位可供CPU查询。状态位TxRDY和输出弓|脚TxRDY

有所不一样。状态位TxRDY并不受命令控制字中容许发送位TxEN和输入的容许发送引

脚的控制,它只反应发送命令/数据缓冲器的状态,只要数据缓冲器一空就置位;而输

出引脚TxRDY却要受到上述内部和外部两个条件限制,它不只反应发送过程中数据缓冲

器的状态。

OSRSYNDffroePET*EJRxRDYTxR6

•冷TNDY外.与譬为定N3同

奇且后误d”也《八

电平”.徐急僮DSR-IW检瑞到布1播谟时堡标上.

七由命令甫令中力DJ(ER)过烫口

俱堵不公匕32"A工作.

:'i精$、Fjivi”Error>

d〜乐力穴)Hr-步方三

在任一早开的修尾&布々揖刊有Q依出$京

的呼止(2时・这个标击五位.就诉在下一个弟、字符变为邛用IT.

5出台勺拈令中侪仪「ER>ftK12.CPV*有汜了打*走尿自我氏・

出"核带出并不紫匕82$1人工作.令令盾令中笫DUER)也显(1.比

田寺芹不静止般SIA[作.但发生比中

在发送前和发送后TxRDY的状态位和输出引脚的状态也许不一致,在发送过程中两

者总是一致的。前者可供CPU查询,后者可作为向CPU发出的中断申请信号。

状态位的置位比状态的出现总是要滞迟后,最坏状况下要延迟28个时钟脉(CLK

端)。在读状态的操作过程中,状态位是不变的。

注意:多种控制字发送后,由于内部操作需要一定的时间,因此最佳设置几条空操

作指令,然后再设置其他指令。

4、8251A初始化编程措施

由上所知,8251A要工作在规定的状态中,必须进行初始化。初始化的过程就是按

照方式和命令控制字的格式,向方式寄存器和命令寄存器中写入控制字。由于方式或命

令控制字均没有表达其标志的信息位,因此只能依托不一样的端口地址进行区别。不过

有的端口地址具有一种不一样内容的寄存器,如方式控制字端口地址中尚有同步字符寄

存器等。这时写入8251A的控制字的次序是非常重要的。对8251A初始化流程图如图9一

28所示。

8251A初始化编程总是从设置方式控制字开始,随即是命令控制字。方式控制字必

须紧跟在复位之后设置。

由图16-4可见,当硬件复位或者通过软件编程对8251A复位后,便向方式寄存器中

写入方式控制字,设置8251A工作在同步或异步方式。假如是同步方式,则必须指出同

步字符的个数,并随即将同步字符送入8251A的同步字符寄存器中。

无论是异步方式还是同步方式,在设置方式控制字之后,应当写命令控制字。命令

控制字中包括8251A操作的多种控制命令。其中假如D6位(IR)为1,虽然8251A复位,

则8251A将回到初始化状态,重新进入方式字、命令字的设置。否则将进入数据传送阶

段。当数据传送完毕之后,8251A回到写入命令字状态(注意,不是方式字状态),可

以通过变化命令字的值,变化8251A的操作。

由于命令指令和发送的数据共同发送数据/命令缓冲器,因此,在发送数据过程中,

假如CPU向8251A输出一种命令控制字,将会覆盖存在数据缓冲器中等待发送的任何字

符。这就规定CPU必须竿到TxRDY输出上升沿或出现TxRDY状态位置位时,即保证缓

冲器中已空,才能输出,以免破坏了原有的数据字符。同步,在命令控制字输出后来,

必须不等发送缓冲器空立即输出下i种要发送的数据.

在由两个独立的程序控制一种8251A时,也许会出现当8251A等待装入同步字符时,

一种内部复位命令来了。这时,这个命令将被视作一种同步字符而不是进行复位。处理

的措施:在发送复位命令前线发送三个全“0”的命令给8251A,使其避开这种也许性。

使用8251A时应当注意:8251A具有发送持续的Space电平的能力。因此8251A只能

靠接受到一连串字符持续出现帧错误(无停止位)来识别终止符。假如在终止符之后接

着接受有效字符,就需要尤其注意识别终止符的最终一种字符。

及魂MESET

率:C命令精令

8251初始化流程

三、硬件接线图与软件流程图

硬件接线图:

D0M一

OUT0D1JJTxD

D2OO

GATESD3XXRxD

H"

D4

CLK0<D5

D6TxRDV

D7

8251

U5--RxRDV

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论