当前位置:首页 > 微机接口课后答案 - 图文
OUT DX,AL
OUT DX,AL ;向控制口写入三个0 MOV AL,40H
OUT DX,AL ;写入复位字 MOV AL,01011010B
OUT DX,AL ;写入方式字 MOV AL,00010101B
OUT DX,AL ;写入命令字
15. RS-232C的逻辑高电平与逻辑低电平的范围是多少?怎么与TTL电平的器件相连?规定 用什么样的接插件?最少用哪几根信号线进行通信?
答:逻辑高电平:有负载时为-3V~-15V,无负载时为-25V 逻辑低电平:有负载时为+3V~+15V,无负载时为+25V 通常用±12V作为RS-232C的电平。
计算机及其接口芯片多采用TTL电平,即0~0.8V为逻辑0,+2.0V~+5V为逻辑1, 与RS-232C电平不匹配,必须设计专门的电路进行电平转换,常用的电平转换电路为 MAX232和MAX233。
RS-232C使用25芯的D型插头插座和9芯的D型接插件。
常用的信号线有:TxD 发送数据,RxD 接收数据,RTS请求发送,CTS清除发送, DSR数据装备准备好等信号。
16. 某微机系统用串行方式接收外设送来的数据,再把数据送到CRT去显示,若波特率为 1200,波特率因子为16,用8253产生收发时钟,系统时钟频率为5MHz,收发数据个数为 COUNT,数据存放到数据段中以BUFFER为始址的内存单元中。8253和8251A的基地址
分别为300H和304H。
(1)画出系统硬件连线图。
(2)编写8253和8251A的初始化程序。 (3)编写接收数据的程序。 答:(1)8251的接收时钟RxC=1200*16=19200Hz,用8253产生收发时钟,使用通道0产 生频率为19200Hz的方波,故计数初值为n0=5MHz/19200Hz≈260
(2)8253的初始化
程序
MOV DX,303H
MOV AL,00110111B
OUT DX,AL ;8253控制字,通道0,方式3,BCD计数 MOV DX,300H
MOV AL,60H ;初值低字节 OUT DX,AL
MOV AL,02H ;初值高字节 OUT DX,AL
8251A的初始化程序 MOV AL,0 MOV DX,305H OUT DX,AL OUT DX,AL
OUT DX,AL ;向控制口写入3个0 MOV AL,40H ;复位字 OUT DX,AL
MOV AL,01111010B ;方式字,异步,1停止位,偶校验,7位数据 OUT DX,AL MOV AL,14H
OUT DX,AL ;输出命令字,清错误标志,允许接收 (3)接收数据的程序 采用查询方式,异步传送
LEA DI,BUFFER ;接收数据缓冲区 MOV CX,COUNT ;接收数据个数 MOV DX,305H
NEXT:IN AL,DX ;读入状态字 TEST AL,02H ;RxRDY有效吗 JZ NEXT ;否,循环等待
TEST AL,38H ;是,检查是否有错 JNZ ERROR ;有错,转出错处理程序 MOV DX,303H ;数据端口
IN AL,DX ;无错,读入一个数据 MOV [DI],AL ;送缓冲区 INC DI
MOV DX,305H
LOOP NEXT ;数据没传完则继续 ?.. ;完成
ERROR:?? ;出错处理
第十一章
1. 包含A/D和D/A的实时控制系统主要由哪几部分组成?什么情况下要用多路开关?什么 时候要用采样保持器?
答:
对多个变化较为缓慢的模拟信号进行A/D转换时,利用多路开关将各路模拟信号轮流 与A/D转换器接通,使一个A/D转换器能完成多个模拟信号的转换,节省硬件开销。 一个模数转换器完成一次模数转换,要进行量化、编码等操作,每种操作均需化费一定 的时间,这段时间称为模数转换时间tc。在转换时间tc内, 输入模拟信号x(t)变化速率较高 时,在转换过程中,输入模拟量有一个可观的△x,结果将会引入较大的误差。也就是说, 在A/D转换过程中,加在转换器上的电平在波动,这样,就很难说输出的数字量表示tc期 间输入信号上哪一点的电压值,在这种情况下就要用采样保持器来解决这个问题。 2. 什么叫采样、采样率、量化、量化单位?12位D/A转换器的分辨率是多少?
答:采样就是按相等的时间间隔t从电压信号上截取一个个离散的电压瞬时值,t越小,采 样率fs越高。
对一个被采样的信号电压的幅度变化范围进行分层,确定某一个采样电压所在的层次, 该分层的起始电平就是该采样的数字量,此过程称为量化,每个分层所包含的最大电压值与 最小电压值之差,称为量化单位,用q表示,量化单位越小,精度越高。 12位D/A转换器,2n=4096,其分辨率为1/4096*FSR=0.0244%FSR
3. 某一8位D/A转换器的端口地址为220H,已知延时20ms的子程序为DELAY_20MS, 参考电压为+5V,输出信号(电压值)送到示波器显示,试编程产生如下波形: (1)下限为0V,上限为+5V的三角波 (2)下限为1.2V,上限为4V的梯形波。 答:(1)由于1LSB=5V/256=0.019V,所以下限电压对应的数据为 0/0.019V=0
上限电压对应的数据为 5V/0.019V=256 程序段如下:
BEGIN:MOV AL,0 ;下限值 MOV DX,220H
UP: OUT DX,AL ;D/A转换 CALL DELAY
INC AL ;数值增1
CMP AL,00H ;超过上限了吗? JNZ UP ;没有,继续转换
DEC AL ;超过了,数值减量
DOWN:OUT DX,AL ;D/A转换 CALL DELAY
DEC AL ;数值减1
CMP AL,00H ;低于下限了吗? JNZ DOWN ;没有
JMP BEGIN ;低于,转下一个周期
(2)下限电压对应的数据为1.2V/0.019V=61=3DH 上限电压对应的数据为4V/0.019V=205=0CDH 产生梯形波的程序如下:
BEGIN:MOV AL,3DH ;下限值 MOV DX,220H
UP: OUT DX,AL ;D/A转换 CALL DELAY
INC AL ;数值增1
CMP AL,0CDH ;到达上限了吗? JNZ UP ;没有,继续转换 OUT DX,AL
CALL DELAY_20MS ;到达上限延时输出方波 DEC AL
DOWN:OUT DX,AL ;D/A转换 CALL DELAY
DEC AL ;数值减1
CMP AL,3DH ;到达下限了吗? JNZ DOWN ;没有,继续 OUT DX,AL
CALL DELAY_20MS ;到达下限延时输出方波 INC AL JMP UP
4. 利用DAC0832产生锯齿波,试画出硬件连线图,并编写有关的程序。
答:
共分享92篇相关文档