8251习题共22页PPT资料
《计算机基础》8251及AD、DA练习题及答案
《C语言基础》8251及A/D、D/A练习题及答案一、填空题1、如果禁止8251A接收数据,允许发送数据,则控制字的_______位分别为0,1。
2、、如果8251A设定为异步通信方式,发送器时钟输入端口接收器时钟输入端口都连接到频率为19.2kHz的输人信号,波特率为1200,字符数据长度为7位,1位停止位,采用偶校验。
则8251A的方式控制字为__________.3、当Intel 8251A工作在同步方式时,引脚同步检测SYNDET可作为输入输出信号使用.若工作在内同步方式,该引脚为_________.4、当Intel 8251A工作在同步方式时,引脚同步检测SYNDET可作为输入输出信号使用。
若工作在外同步方式,该引脚为_______.5、Intel 8251A工作在同步方式时,最大波特率为________.6、Intel 8251A工作在异步方式时,每个字符的数据位长度为_________.7、Intel 8251A从串行输人线上接收一个字符后,将信号________置为有效。
8、Intel 8251A工作在异步方式时,每个字符的数据位长度为_______.9、Intel 8251A工作在异步方式时,最大波特率为__________.10、Intel 8251A从串行输入线上接收好了一个字符后,将信号____置为有效。
11、Intel8251A工作在同步方式时,引脚同步检测SYNDET可作为输入或输出信号使用。
若工作在外同步方式,该引脚为________.12、如果8251A设定为异步通信方式,发送器时钟输入端和接收器时钟输入端都连接到频率为19.2kHz 的输入信号,波特率为1200,字符数据长度为7位,1位停止位,采用偶校验,则8251A的方式控制字为_________。
1、RS—232C(RS即RecommendedStandard推荐标准之意)是由美国电子工业协会(EIA--ectroniclndustriesAssociation)推荐的标准接口,它是应用于________交换的数据通信设备和数据终端设备之间的标准接口。
8251练习题
题型解析一、选择题1.串行接口器件8251( )。
A.只能作异步传送B.只能作同步传送C.A和 B均可D.可作并行传送2.串行接口中,并行数据和串行数据的转换是用( )来实现的。
A.数据寄存器B.移位寄存器C.锁存器D.A/D转换器3.串行异步通信的实现,必须作到( )。
A.通信双方有同步时钟的传送,以实现同步B.一块数据传送结束时,用循环冗余校验码进行校验C.以字符为传送信息的单位,按约定配上起始位、停止位和校验位D.块与块间用同步字符01111110隔开4. RS-232C标准的电气特性规定逻辑“0”电平为( )。
A.O~0.4VB.O~0.8VC.-3V~-15V C.+3V~+15V5.在异步串行通信中,使用波特率来表示数据的传送速率,它是指( )。
A.每秒钟传送的字符数B.每秒钟传送的字节数C.每秒钟传送的二进制位数D.每分钟传送的字节数6.在异步串行传输时,如果规定采用5位数据位、偶校验和2位停止位,在接收时,如果接收到5位数据和1位校验位后,再接收到一位高电平信号和一位低电平信号,其结果表示( )。
A.一个字符的数据已正确接收B.已经开始接收下一个字符C.传输中出现了奇偶错D.传输中出现了帧错二、简答题1.比较串行通信与并行通信的优缺点。
2.简要说明异步串行通信的帧格式。
三、应用题1.8251A工作于异步方式,波特率为1200b/s,收发时钟RxC=TxC,频率为76.8KHz,异步字符格式为:数据位7位,采用偶校验,两位终止位,CPU从8251A读入1O0个字符,存入变量INARY,8251A 的地址为80H与81H。
试对其进行初始化编程和数据输入程序段。
2 .已知 8251 发送的数据格式为:数据位 7 位、偶校验、 1 个停止位、波特率因子 64 。
设 8251 控制寄存器的地址是 3FBH ,发送 / 接收寄存器的地址码是 3FAH 。
试编写用查询法和中断法收发数据的通信程序。
【微机原理】8251习题
1 串行接口 8251A 习题8.2 设8251A 的控制和状态端口地址为52H ,数据输入/输出口地址为50H(输出端口未用),输入50个字符,将字符放在BUFFER 所指的内存缓冲区中。
请写出这段的程序1 8086系统中,8251A 的C/D 端应当和哪个信号相连,以便实现对状态端口、数据端口、控制端口的读/写?与地址线的低位相连。
2 什么是波特率?若要产生一个波特率为2400的串行信号,且波特率因子编程为16,那么串口发送/接收时钟的频率是多少?P221波特率是指单位时间内传送二进制数据的位数,以位/秒为单位。
38400Hz3 设计一个采用异步通信方式输入字符的程序段,规定波特率因子为64,7个数据位,1个停止位,偶校验,端口地址为40H 、42H ,待输入字符存放在2000H:4000H 单元。
MOV AL, 01111011BOUT 42H, ALMOV AL, 04HOUT 42H, ALMOV DI, 0MOV CX, 2000;发送2000个字符 MOV BX, 4000HL0: IN AL, 42H;读取状态字TEST AL, 02HJZ L0IN AL, 40H2 MOV [BX+DI], ALINC DIIN AL, 42HTEST AL, 38H;测试有无帧校验错 JZ ERRLOOP L0JMP EXITERR: CALL ERR-OUT;调出错处理 EXIT:...4 设8251A 为异步工作方式,波特率因子为16,7位数据位,奇校验,2位停止位。
8251A 端口地址为2A1H 、2A2H 。
编写程序从串口输出100个字符,设字符存放在BUF 开始的缓冲区中。
MOV AL, 0EAHMOV DX, 2A2HOUT DX, ALMOV AL, 11HOUT DX, ALMOV DI ,0MOV CX, 100MOV BX, OFFSET BUFBEG: IN AL, DXTEST AL, 01HJZ BEGMOV AL ,[BX+DI]3 MOV DX,2A1H OUT DX ,AL INC DIMOV DX ,2A2H IN AL,DXTEST AL,38H JZ ERROR LOOP BEG JMP EXITERROR:CALL ERR_OUT EXIT: ....。
芯片8251A介绍.ppt
以准备接收或发送数据 状态字:寄存8251A的工作状态
方式选择控制字格式
D7 D6 D5 D4 D3 D2 D1 D0
奇偶校验
X0:无校验 01:奇校验 11:偶校验
OUT DX,AL
INC DI
;修改指针
LOOP NEXT
HLT
设接收端8251A数据口地址为RDATA,控制口/状态口地址为 RCONT,接收数据缓冲区首地址为RBUFF
SRR: MOV DX,RCONT ;送方式选择控制字
MOV AL,7FH
OUT DX,AL
MOV AL,14H
;清除错误标志,允许接收
①通过编程,8251A可以工作在同步方式,波特率0~ 64K,也可以工作在异步方式,波特率0~19.2K; ②同步方式下可以用5~8位来表示字符,允许增加1 位奇偶校验位,能自动检测同步字符,实现收发同步;
③异步方式下用5~8位来表示字符,1位可选的奇偶校 验位,1位启动位,根据需要可设置1、1.5或2位停止位;
4. 信号的调制与解调
为在模拟信道上传输数字信号,必须把数字信号转换 成适于传输的模拟信号,而在接收端再将模拟信号转 换成数字信号。前一种转换称为调制,后一种转换称 为解调。完成调制、解调功能的设备叫做调制解调器 (Modem)。
三种主要的调制方式:
•幅移键控ASK •频移键控FSK •相移键控PSK
计
计
算 机
算
或
机
外
设
微机系统在串行通信时必须进行串行与并行的转换
2. 同步方式和异步方式 •异步串行方式
06-串行通信.8251-北科
27
1-串行通信
串行I/O的实现:软件 的实现:
数据的串、并行转换通过软件实现 数据的串、 优点: 优点:电路简单 缺点:但降低CPU CPU利用率 缺点:但降低CPU利用率
28
1-串行通信
串行I/O的实现:软件 的实现:
举例:CPU的数据通过电传打字机串行输出,一个字符用7位 举例:CPU的数据通过电传打字机串行输出,一个字符用7 的数据通过电传打字机串行输出 ASCII码 位奇偶校验位、 位起始位、 位停止位, 11位 ASCII码、1位奇偶校验位、1位起始位、2位停止位,共11位。若 电传打字机的速度为110波特,且要输出的字符已在寄存器DL中 电传打字机的速度为110波特,且要输出的字符已在寄存器DL中, 110波特 DL 软件实现串行输出的程序为 实现串行输出的程序为: 则软件实现串行输出的程序为:
9
1-串行通信
分析: 分析:
异步通信方式
波特率是指单位时间内传送的有效二进制数据位数。 A错~波特率是指单位时间内传送的有效二进制数据位数。 发时钟频率与波特率通常有下列关系: 发时钟= C错~收/发时钟频率与波特率通常有下列关系:收/发时钟=n× 波特率, 称为波特率因子。 波特率,n称为波特率因子。 D错~国际上标准的波特率系列为:110、300、1200、2400、 国际上标准的波特率系列为:110、300、1200、2400、 4800、9600和19200, 64bps不是标准波特率。 4800、9600和19200,而64bps不是标准波特率。 不是标准波特率 12位组成 B对~根据异步串行据信息格式,一般每帧信息可由7—12位组成, 根据异步串行据信息格式,一般每帧信息可由7 12位组成, 故B是对的。 是对的。
23
微机技术825140页PPT
01001001
8T
计
算
计
机
算
机
或
外
设
( (
( (
0
1
0
0 计1 算0 机0
1
D0 D1 D2 D3 D4 D5 D6 D7
控制(选通)
0
1
0计 0算 1机
0
0
或 外
1设
状态
T
(a)
(b)
(a) 串行通信; (b) 并行通信
9.3.1 串行通信概述
串行通信:将数据分解成二进制位用一条 信号线,一位一位顺序传送的方式
无 空(b) 闲 位
(2)数据传输速率
数据传输速率也称比特率(Bit Rate) 每秒传输的二进制位数bit 字符中每个二进制位持续的时间长度都一样,为 数据传输速率的倒数
当进行二进制数码传输,且每位时间长度相等时, 比特率还等于波特率(Baud Rate)
过去,串行异步通信的数据传输速率限制在50 bit 到9600 bit之间。现在,可以达到115200 bit或更高
❖若计算机数据传输的速率是120字符/s,而每个字符假如为 10个比特(bit)位,则其传输的波特率为
10 bit/字符×120字符/s=1200 bit/s
❖每一位的传输时间Td就是波特率的倒数,在上例中则为
Td=1/1200=0.833 ms ❖国际上规定了一个标准波特率系列,如110、300、600、
串行通信的优势:由于通信的线路少,因 而在远距离通信时可以极大地降低成本
串行通信适合于远距离数据传送,也常用 于速度要求不高的近距离数据传送
PC系列机上有两个串行异步通信接口:键 盘、鼠标器与主机间采用串行数据传送
微机原理计算机接口技术8251ppt2003
调制/解调的实现方法很多,如FSK ( Frequency Shift Keying ) 移频键控式是其中 常用的一种。它把数字信号的“1”和“0”调制 成不同频率的模拟信号,这两种不同频率的模 拟信号,分别由电子开关控制,在运算放大器 的输入端相加,而电子开关由要传输的数字信 号(即数据)控制。当信号为“1”时,控制上 面的电子开关导通,送出一串低频模拟信号, 于是在运算放大器的输出端,就得到了调制后 的信号。
RS-485标准的特点特点有: a. 由于RS-485标准采用差动发送/接 收,所以,共模抑制比高,抗干扰能力强。b. 传输速率高,它允 许的最大传输速率可达10Mb/s(传送15m)。传输信号的摆幅小 (200mV)。c. 传送距离远(指无MODEM的直接传输),采用 双绞线,在不用MODEM的情况下,当100Kb/s的传输速率时,可 传送的距离为1.2km,若传输速率下降,则传送距离可以更远。d. 能实现多点对多点的通信,RS-485允许平衡电缆上连接32个发送 器/接收器对。RS-485标准目前已在许多方面得到应用,尤其是在 多点通信系统中,如工业集散分布系统、商业POS收款机和考勤 机的联网中用的很多,是一个很有发展前途的串行通信接口标准。
始端的信息传送;通过差动接收器,把电位差变成逻辑电平,实 现终端的信息接收。RS-422A标准由于采用了双线传输,大大增 强了抗共模干扰的能力。因此最大传输速率可达10Mb/s(传送 15m时)。若传输速率降到90Kb/s时,最大距离可达1200m。该 标准规定电路中只许有1个发送器,可有多个接收器。该标准允许 驱动器输出为±2~±6V,接收器输入电平可以低到±200mV。
MC3487和MC3486的连接,如图9所示。
3. RS-485接口标准
串行通信和可编程接口芯片8251A优质获奖课件
各控制信号与所相应旳操作如表10-1所示。
表10-1 8251A旳控制信号与执行旳操作之间旳相应关系
CS
RD
WR
0
0
1
0
1
0
0
0
1
0
1
0
C/ D
执行旳操作
0
CPU由8251A输入数据
接受方,若干字符构成一种信息组,字符要一种接着一种传送; 没有字符时,也要发送专用旳“空闲”字符或者是同步字符。 同步传播旳特征是:在每组信息旳开始(常称为帧头)要加上l~2 个同步字符,背面跟着5~8位旳数据。同步通信旳数据格式如 图10.3所示。
传送时每个字符旳背面是否要奇/偶校验位,由初始化时设
RD (输入)、 WR (输入):读、写信号,低电平有效。
CLK(输入):时钟信号,用于芯片内部旳定时。
C/D(输入):控制/数据信号,分时复用。用来区别目前读/写 旳是数据还是状态/控制信息。当C/D为高电平时,读写旳是状 态信息或控制信息;当C/D为低电平时,读写旳是数据。一般, 它与地址线旳最低位相连。
10位/字符×120字符/秒=1200位/秒=1200波特 传送每位信息所占用旳时间为: 1秒/1200=0.833 毫秒
10.1.4 串行接口芯片UART和USART 常用旳通用串行接口芯片有两类,一种是仅用于异步通信旳
接口芯片,称为通用异步收发器UART;另一种芯片既能够工作 于异步方式,又可工作于同步方式,称为通用同步异步收发器 USART ,如:8251A。
国际上要求了一种原则旳波特率系列,原则波特率也是最 常用旳波特率。有110,300,600,1200,1800,2400,4800, 9600,19200。
辗转相除法欧几里得算法
(3)辗转相除法是当大数被小数除尽时,结束除法运算, 较小的数就是最大公约数.更相减损术是当大数减去小数的差 等于小数时减法停止.较小的数就是最大公约数.
求三个以上(含三个数)的数的最大公约数时,可依 次通过求两个数的最大公约数与第三数的最大公约数来求得.
S2:若m,n都是偶数,则不断用2约简,使它们不同时是偶数, 约简后的两个数仍记为m,n;
S3:d=m-n;
S4:判断“d≠n”是否成立。若是,则将n,d中的较大者记为 m,较小者记为n,返回s3;否则,2kd(k时约简整数的2的 个数)为所求的最大公约数。
第15页/共20页
开始
输m,n(m>n)
• 20723=4081×5+318; • 4081=318×12+265; • 318=265×1+53;
• 265=53×5+0. (53)
第6页/共20页
利用辗转相除法求最大公约数的步骤如下:
第一步:用较大的数m除以较小的数n得到一个商q0和一个 余数r0;(m=n×q0+r0)
第二步:若r0=0,则n为m,n的最大公约数;若r0≠0,则 用除数n除以余数r0得到一个商q1和一个余数r1;(n=r0×q1+r1)
S2:用大数除以小数,计算m除以n所得的余数;
S3:除数变成被除数,余数变成除数,即 m=n , n=r
S4:重复S2,直到余数为0,即 若r=0,则m, n 的最大公约数为m,否则返回S2
第8页/共20页
辗转相除法是一个反复执行直到余数表示出右边的过程
m=n×q+r
8251串行接口应用实验PPT24页
RxRDY
CS RD WR C/D#
RxCLK TxCLK
DSR DTR
CLK RESET
CTS RTS
图6 实验单元中的8251
TXD RXD GND
IRQ3(主8259) TXC/RXC
三、实验原理介绍
4、模拟示波器操作说明
启动示 波器
停止测量, 程序将被
终止
横向增加 示波器显
示比例
快速向左 移动游标
将串口输出连接到示波器上,用示波器观察数据输出产 生的波形。
图8 串行传输的数据格式
四、实验要求及实验步骤
2、 8251串行接口应用实验步骤:
1)按照实验要求自行设计硬件电路并连线,将8251的输出接 到模拟示波器上;
2)编写实验程序并检查无误,经汇编、连接后装入系统; 3)运行程序,在示波器上观察数据波形并进行分析; 4)改变发送的数据,运行程序,观察相应的波形。
GATE2
OUT2 CLK2
8253UNIT
TXD
TXC/RXC
8251UNIT
A B C IN0 D0 IN1 …… D7 CS WR RD
ADC UNIT
图9 实验接线图
XA0
XA1
CA2
XD0 系 …… 统 XD7 总 IOY7 线
XIOW
XIOR
图10 实验波形图1(55H)
起始 位“0”
图5 8251A 初始化流程
三、实验原理介绍
2、系统中的8251芯片介绍 系统中装有一片8251芯片,并和标准RS-232C接
口相连好。在系统中该电路用来完成同PC微机的 联机以及串行监控操作的实现。 端口地址为:
① 数据口:C0H ② 控制口:C1H
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
方式选择控制字为76H,操作命令控制字应为31H(异步, 所以EH=0,请求发送所以RTS=1,启动发送器所以 TXEN=1),故初始化为: MOV DX,01F1H
MOV AL,76H
OUT DX,AL
MOV AL,31H
OUT DX,AL
总结
异步方式下的初始化方法:
;变址寄存器初始化
MOV CX,80
;共收取80个字符
BEGIN: IN AL,42H ;读状态字
TEST AL,02H
JZ BEGIN
;测试状态字的RxRDY
IN
AL,40H
;读取字符
MOV DX,OFFSET BUFFER
MOV [DX+DI],AL
;传输字符
INC DI
;修改缓冲区指针
IN
AL,42H
利用状态字进行编程的举例P215
外设用8251A与系统相连,所以第一步对8251A进行 初始化
MOV AL,0FAH OUT 42H,AL ;设置模式字,异步模式,波
特率因子为16,7个数据 位,2个停止位,偶校验 MOV AL,37H OUT 42H,AL ;设置控制字,并启动接收器
MOV DI, 0
MOV DX,167H MOV AL,18H OUT DX,AL MOV AL,16H OUT DX,AL OUT DX,AL MOV AL,0B7H OUT DX,AL
总结
同步方式下的初始化方法:
先写模式字,然后同步字符,然后控制字,均 写到“奇”地址(A1=1)
模式字的值很容易确定 控制字中的 EH必为1,IR一般为0,SBRK一
先写模式字,然后控制字,均写到“奇”地址 (A1=1)
模式字的值很容易确定 控制字中的 EH必为0,IR一般为0,SBRK一
般为0
5、选用8251A进行同步方式的通信,规定用内同步方式, 同步字符为2个,用奇校验,7位数据位,端口地址为 166H和167H,试对8251A进行初始化编程。
解:同步,所以要写模式字、同步字符、和控制字,2个 同步字符可相同,也可不同,这里规定均为16H
;读取状态字
TEST AL,38H
;测试有无错误FE PE OE
JNZ ERROR
LOOP BEGIN ;如没有错,则接收下1个字符 CX-1
JMP EXIT ;如满80个字符,则结束
ERROR: CALL ERR_OUT ;调用出错处理程序
EXIT: …
注: 8251A没有收到字符时RxRDY为0,收到一个 字符时自动变为1,当CPU从8251A读取一个字 符后, RxRDY又自动变为0
JZ BEGIN
;测试状态字的RxRDY
TEST AL,38H
;测试状态字看有无错误
JNZ ERRORINຫໍສະໝຸດ AL,40H;读取字符
MOV [DX+DI],AL
;传输字符
INC DI
;修改缓冲区指针
LOOP BEGIN ;如没有错,则接收下1个字符 CX-1
JMP EXIT ;如满80个字符,则结束
ERROR: CALL ERR_OUT ;调用出错处理程序
解:异步初始化只写模式字和控制字且均写到奇地址
经过分析、可得方式选择控制字为FBH,操作命令控制 字应为15H (异步所以EH=0),故初始化为:
MOV DX,01F1H MOV AL,0FBH OUT DX,AL MOV AL,15H OUT DX,AL
4、与8086微机相联的一片8251A作发送数据用,异步发送, 波特率系数为16,偶校验,每个字符发6位,1个停止位, 要求复位出错标志,启动发送器,请求发送有效,试编 程初始化8251A(已知8251A数据端口地址为1F0H,控 制端口地址为1F1H)。
EXIT: …
利用状态字进行编程的举例P215
RxC#上时钟信号的频率为300×64=19.2kHZ TxC#上时钟信号的频率为1200×64=76.8kHZ
3、一块联机的8251A芯片作双向数据传送用,异步方式, 波特率系数为64,每字符收发7位,偶校验,两个停止位, 允许发送接收,所有错误标志复位,试编程初始化。 (已知8251A数据端口地址为01F0H,控制端口地址为 01F1H)
1、一块联接在8086微机上的8251A,其数据端口和控制端 口地址分别为130H、132H,已知其初始化编程如下,试 分析其工作状态: MOV DX,132H
MOV AL,9BH
OUT DX,AL
MOV AL,37H
OUT DX,AL
解:异步工作方式, 每字符收发7位二进制数, 奇校验,1.5 个停止位,波特率系数为64,
BUFFER DB 80 DUP(?)
利用状态字进行编程的举例 P215
解析 外设用8251A与系统相连,所以第一步对8251A进行
初始化 然后进行传输数据,又因为采用程序查询方式,所
以要不断检测状态字的RxRDY位,此部分流程图如 下
传送一个 字到 CPU
CPU从一外设读数据块至主存的查询方式流程
上一页的程序段有些问题
1. MOV DX,OFFSET BUFFER的位置? 2.检查出错的相关程序段的位置? 所以改写如下:
MOV DX,OFFSET BUFFER
MOV DI, 0
;变址寄存器初始化
MOV CX,80
;共收取80个字符
BEGIN: IN AL,42H
;读状态字
TEST AL,02H
般为0
利用状态字进行编程的举例 P215
此部分实际上是一个8251A应用的一个具体实例。 已知条件如下:
一串行外设用8251A与系统相,现要从此设输入80个 字符到BUFFER变量中,要求CPU和外设之间采用程 序查询方式进行通信。通信模式为异步模式,波 特率因子为16,每个字符有7个数据位,2个停止位, 偶校验
发送和接收允许有效, 数据终端准备好有效, 请求发送有效,复位出错标志。
2、如果8251A的工作方式寄存器内容为01111011,那么发
送的字符格式如何?为了使接收的波特率和发送的波特 率分别为300b/s和1200b/s,试问加RxC#和TxC#上时钟 信号的频率应为多少?
解: 寄存器内容:01111011: 有1bit停止位 EP=1 PEN=1 说明采用偶校验 L2L1=10 B2B1=11 数据位为7位,波特率因子为64