西工大 微机原理 试题 例题.docx
- 文档编号:26961573
- 上传时间:2023-06-24
- 格式:DOCX
- 页数:9
- 大小:88.42KB
西工大 微机原理 试题 例题.docx
《西工大 微机原理 试题 例题.docx》由会员分享,可在线阅读,更多相关《西工大 微机原理 试题 例题.docx(9页珍藏版)》请在冰豆网上搜索。
西工大微机原理试题例题
例12.4若DAC1210接口电路如图12.2所示,问此DAC1210工作在何种方式?
设模拟输出满量程为10V,试编写出利用它产生0V~10V三角波电压的程序段。
图12.2DAC1210接口电路图
解从几个控制信号的接法看出此DAC1210工作在单缓冲方式,通过对其中译码电路分析可知,DAC1210的端口地址为38H,产生三角波电压的程序段如下:
MOVAX,0
W1:
OUT38H,AX
NOP
NOP
INCAX
CMPAX,0FFFH;比较电压是否升到最高点
JNZW1;若不是最高点,继续上升
W2:
OUT38H,AX
NOP
NOP
DECAX
CMPAX,0;比较电压是否升到最低点
JNZW2;若不是最低点,继续下降
JMPW1
【评注】程序中所加的NOP指令用于延时,可以NOP的多少来调节输出电压波形的周期。
例12.5有如下接口原理图,如图12.3所示。
编写出对IN0~IN7八个模拟量各采样100个点的简化汇编源程序。
图12.30809接口图
解根据译码电路,ADC0809的START地址为85H,EOC地址为81H,OE地址为83H。
完成题目要求的程序如下:
.MODELSMALL
.DATA
BLOCKDB800DUP(?
)
.CODE
.STARTUP
LEADI,BLOCK
MOVCX,100;循环100次,次数送CX
PP:
MOVBL,0
LL:
MOVAL,BL;BL用来选择通道
OUT85H,AL;启动转换器
NOP
NOP;延迟,避免虚假EOC信号
W:
INAL,81H
TESTAL,01H
JZW;检测EOC,判断转换结束否?
;若转换未结束,继续检测
INAL,83H
MOV[DI],AL;若转换好,读数并存入内存
INCDI
INCBL;下一个通道
CMPBL,08H
JNZLL;八个通道是否转换完?
若否,
;继续下一个通道转换
LOOPPP
.EXIT
END
【评注】由于转换结束信号EOC的变低相对于启动信号START有2us+8个时钟周期的延迟,所以程序中在A/D启动后要加上NOP指令使它不致产生虚假的转换结束信号。
例12.6利用8255A间接与0809接口,接口图如图12.4所示。
采用查询方式,编写转换通道IN5的模拟量的程序。
图12.48255A间接与0809接口的接口图
解由接口图分析可知8255A的A口、B口、C口和控制口的地址分别为90H、94H、98H、9CH,程序片段如下:
;8255初始化
MOVAL,10011000B
OUT9CH,AL
;A/D转换
MOVAL,05H
OUT94H,AL;选IN5通道
MOVAL,01H;启动A/D
OUT9CH,AL
NOP;延时,避免虚假信号
NOP
W:
INAL,98H;测EOC
TESTAL,00100000B
JZW
MOVAL,00000101B;OE置1
OUT9CH,AL
INAL,90H
MOVBL,AL;转换结果存入BL中
MOVAL,00000000B;OE清0
OUT9CH,AL
【评注】注意ADC0809以异步查询方式与CPU通讯时的工作流程,8255A以此来进行接口控制。
例12.7有如图12.5所示的接口原理图。
设:
该系统8259A的八个中断类型码为70H~77H,边沿触发。
写出对IN1一个模拟量采样并转换十个点的程序片段。
图12.58259A与ADC0809的接口图
解由接口图分析可知ADC0809的START地址为89H,OE地址为98H;8259A的地址为A8H和A9H。
完成对IN1一个模拟量采样并转换十个点的程序片段如下。
;建立向量表
PUSHDS
MOVAX,0
MOVDS,AX
MOVBX,OFFSETXY;XY为中断服务程序首地址
MOV[01C8H],BX;72H×4=01C8H
MOVBX,SEGXY
MOV[01CAH],BX
POPDS
;初始化8259A
MOVAL,13H
OUT0A8H,AL;ICW1
MOVAL,70H
OUT0A9H,AL;ICW2
MOVAL,01H
OUT0A9H,AL;ICW4
MOVBX,OFFSETWP;设WP为内存缓冲区首地址
MOVCX,10
W:
OUT89H,AL;启动0809
NOP
NOP
HLT;等待中断
MOV[BX],AL
INCBX
LOOPW
;中断服务程序
XY:
INAL,98H;读转换好的数据
IRET
三、6、有接口电路如图12.6所示,用0809对接在IN3上的Vx(t)采样并转换10个点。
若每个点转换后的数大于0F0H,则送D/A,否则不送。
数都要保存在内存。
写出汇编源程序。
图12.6接口电路图
解:
根据译码电路分析可知,0809的START地址为86H,EOC地址为82H,OE地址为84H;D/A转换器的地址为88H。
程序如下:
.MODELSMALL
.DATA
BLOCKDB10DUP(?
)
.CODE
.STARTUP
MOVBX,OFFSETBLOCK
MOVCX,10
AGAIN:
MOVAL,03H
OUT86H,AL;启动0809,选择IN3
NOP
NOP;延时,避免虚假EOC信号
W:
INAL,82H
TESTAL,04H
JZW;检测EOC信号,若未转
;换完毕,继续检测等待
INAL,84H;若转换完,读数据
CMPAL,0F0H;转换数据与0F0H比较
JBEDOWN
OUT88H,AL;若大于0F0H,送D/A
DOWN:
MOV[BX],AL;数据存入内存
INCBX
LOOPAGAIN
.EXIT
END
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 西工大 微机原理 试题 例题 微机 原理