网站大量收购独家精品文档,联系QQ:2885784924

部分计控习题答案.doc

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
部分计控习题答案

第2章 【3】采用74LS138、DAC0832运算放大器和CD4051等设计D/A转换接口电路,设定DAC0832的端口地址为200H,CD4051的端口地址为201H,要求:(1) 画出D/A转换接口电路;(2) 编写D/A转换程序。 地址线A9 A8……A1 A0=10……00时端口地址0200H,选通DAC0832 地址线A9 A8……A1 A0=10……01时端口地址0201H 选通CD4051 程序参考P27页 问题:没有给出端口地址,程序改错, 【5】用8位A/D转换器ADC0809通过8255与PC总线工业控制机接口,实现8路模拟采集。请画出接口原理图,并编写8路模拟量A/D转换程序。 程序: MOV DX, 02C3H; 控制口地址 MOV AL,; 设PC0~PC3为输出口,PC4~PC7为输入,PA输入 OUT DX, AL MOV DX,02C2; 送通道号IN0并启动0809 OUT DX, AL CALL DELAY; 延时 IN AL, DX WAIT: MOV BL, AL TEST BL,; 判断EOC是否高电平,即模数转换是否结束 JZ WAIT MOV DX, 02C3H MOV AL,; 设PC0~PC3为输出,PC4~PC7为输出,PA输入 OUT DX, AL MOV DX, 02C2H; PC口 MOV AL; 选通OE,为读入数据准备 OUT DX, AL MOV DX, 02C0H; PA口 IN AL, DX; 将模数转换数据通过PA口读入CPU 【6】用12位A/D转换器AD574A通过8255与PC总线工业控制机接口,实现模拟量采集,请画出接口电路原理图,并设计A/D转换程序。 参考P39页图2-33,8通道模拟量电路原理图 【13】题参考P61页图2-63, 6位动态显示电路 图中添加PB6和PB7,依次接左边开始的第一个数码管,修改CH中数为80H 【17】参考P51页,采用8255端口构成的4×8矩阵键盘 根据图2-53流程图 采用8086汇编语言,写出示例程序如下。 …… KEY: PROC NEAR KEYSCAN: CAL L KEYCHK ;检查键盘有无按键 JNZ KSO ;有键按下,转KSO RET KSO: CALL DIY10MS ;延时,防按键抖动 CALL KEYCHK ;再次确认有无按键 JNZ KS1 ;有键按下,转KS1 RET KS1: MOV AH, 0FEH ;对应第一列扫描值 MOV AL, AH MOV DX, 800H ;送PA端口地址 KS2: OUT DX,AL INC DX INC DX IN AL, DX 从PC端口读入行值 AND AL, 0FH CMP AL, 0FH JNZ KS3 ;有键按下, 转KS3 ROL AH, 1 ;得到下一列扫描值 MOV AL, AH DEC DX DEC DX AND AL, 01H ;检查8列是否已扫描完成 JNZ KS2 ;没有继续检查下一列 RET KS3: MOV BH, AL ;保存已读入按键的行值到BH KS4: CALL DIY10MS CALL KEYCHK JNZ KS4 ;等待按键释放 CALL KEYP ;根据扫描所得按键的行、列值(分别存于BH、AH寄存器)做键盘处理 RET KEY: ENDP KEYCHK: PROC NEAR ;检查有无键按下子程序 MOV DX, 800H ;送PA端口地址 MOV AL, 00H ;列输出线全部为0 OUT DX, AL MOV DX, 802H ;送PC端口地址 IN AL, DX ;从PC端口读入行值 AND AL, 0FH CMP AL, 0FH RET KEYCHK: ENDP …… 主程序通过定时调用键盘扫描程序KEY,就可以,就可以监视有无按键操作。如果无键按下,则程序返回;如果有键按下,则读取按键的行值与列值,然后,调用按键处理子程序。 按键处理子程序的主要功能是,根据按键的行值与列值求得按键的键值,在根据键值转入对应按键的处理程序。按键处理的示例程序如下: KEYP: PROC NEAR KP1: MOV BL, 0 INC BL SHR AH, 1 JC KP1 DEC BL NOT BH ;根据按下键的行值和列值计算出键值 AND BH, 0FH DEC BH MOV AL, 08H MUL BH

文档评论(0)

tiangou + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档