当前位置: 首页 > wzjs >正文

浙江省城乡住房建设网站中煤建设协会网站

浙江省城乡住房建设网站,中煤建设协会网站,汽车网址排行榜,网页设计结论与心得一、实验目的 掌握I/O地址译码电路的工作原理。 二、实验电路 实验电路如图1所示,其中74LS74为D触发器,可直接使用实验台上数字电路实验区的D触发器,74LS138为地址译码器, Y0:280H~287H&…

一、实验目的               

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

二、实验电路

实验电路如图1所示,其中74LS74为D触发器,可直接使用实验台上数字电路实验区的D触发器,74LS138为地址译码器, Y0:280H~287H,Y1:288H~28FH,Y2:290H~297H,Y3:298H~29FH,Y4:2A0H~2A7H,Y5:2A8H~2AFH,Y6:2B0H~2B7H,Y7:2B8H~2BFH。

三、实验内容

CPU执行I/O指令且地址在280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。利用这个负脉冲控制L7发光二极管闪烁发光(亮、灭、亮、灭…),时间间隔通过软件延时实现。

四、编程提示

1.实验电路中D触发器CLK端输入脉冲Y4,上升沿使Q端输出高电平L7发光,CD端加低电平L7灭。

2. 执行下面两条指令

           MOV  DX,2A0H

           OUT  DX,AL(或IN  AL,DX)

Y4输出一个负脉冲。

执行下面两条指令

           MOV  DX,2A8H

           OUT  DX,AL(或IN  AL,DX)

Y5输出一个负脉冲。

五、实验程序(必须加注释)和结果

; 定义输出端口1的地址

outport1 equ 2a0h

; 定义输出端口2的地址

outport2 equ 2a8h

; 数据段定义

DATAS SEGMENT

    ; 定义字符串mess1

    mess1 DB 'Kruanjian221  Liuxijing 2022900616 AND HuTiaWen2022900615',0DH,0AH,'$'

    ; 定义字符串mess2

    mess2 DB 'end with any key',0DH,0AH,'$'

    ; 定义字符串mess3

    mess3 DB 'over',0DH,0AH,'$'

DATAS ENDS

; 代码段定义

code segment

    assume cs:code

start:

    ; 将数据段地址赋给ax

    MOV ax,DATAS

    ; 将ax的值赋给ds

    MOV ds,ax

    ; 设置ah为9,准备调用21h中断显示字符串

    MOV ah,9

    ; 将mess1的偏移地址赋给dx

    MOV dx,offset mess1

    ; 调用21h中断显示字符串

    int 21h

    ; 设置ah为9,准备调用21h中断显示字符串

    MOV ah,9

    ; 将mess2的偏移地址赋给dx

    MOV dx,offset mess2

    ; 调用21h中断显示字符串

    int 21h

AG:

    ; 将outport1的地址赋给dx

    mov dx,outport1

    ; 将al的值输出到dx指定的端口

    out dx,al

    ; 调用延时子程序

    call delay        ;调延时子程序

    ; 将outport2的地址赋给dx

    mov dx,outport2

    ; 将al的值输出到dx指定的端口

    out dx,al

    ; 调用延时子程序

    call delay        ;调延时子程序

    ; 设置ah为1,准备调用16h中断读取键盘输入

    mov ah,1

    ; 调用16h中断读取键盘输入

    int 16h

    ; 如果没有键盘输入,跳转到AG标签处继续循环

    je AG

    ; 设置ah为4ch,准备调用21h中断结束程序

    mov ah,4ch

    ; 调用21h中断结束程序

    int 21h

; 延时子程序定义

delay proc near        ;延时子程序

    ; 将5000赋给bx

    mov bx,5000

lll:

    ; 将0赋给cx

    mov cx,0

ll:

    ; 循环cx次

     loop ll

    ; bx减1

    dec bx

    ; 如果bx不等于0,跳转到lll标签处继续循环

    jne lll

    ; 子程序返回

    ret

delay endp

code ends

; 程序结束

end start

设计思路:

  1. 数据段定义(DATAS SEGMENT)

定义了三个字符串:mess1、mess2和mess3。这些字符串用于在屏幕上显示信息。

  1. 代码段定义(code segment)

程序的主体部分,包含了初始化数据段、显示消息、循环输出数据和延时的逻辑。

  1. 初始化数据段(MOV ax,DATAS / MOV ds,ax)

将数据段的地址加载到ax寄存器,然后将ax的值赋给ds寄存器,以便程序可以访问数据段中的数据。

  1. 显示消息(MOV ah,9 / MOV dx,offset mess1 / int 21h)

使用int 21h中断的功能9来显示字符串。首先设置ah为9,然后将字符串的偏移地址赋给dx,最后调用int 21h中断。

  1. 循环输出数据(AG:...)

程序的主要循环部分,通过两个指定的端口(outport1和outport2)输出数据,并在每次输出后调用延时子程序。

  1. 延时子程序(delay proc near)

一个简单的延时子程序,。

  1. 检测键盘输入(mov ah,1 / int 16h)

使用int 16h中断的功能1来检测键盘输入。如果没有键盘输入,程序将继续循环;如果有键盘输入,程序将结束。

  1. 结束程序(mov ah,4ch / int 21h)

使用int 21h中断的功能4ch来结束程序。

http://www.dtcms.com/wzjs/568732.html

相关文章:

  • 购物网站建设模板图片微信公众号如何创建视频链接
  • 一般做网站是在什么网站找素材青锐成长计划网站开发过程
  • 低价网站建设推广报价江苏汇算清缴在哪个网站做
  • 南昌网站建设公司收费网站下载免费新版
  • 一个空间可以放两个网站吗如何查看网站开发单位
  • 性价比最高的网站建设有产品怎么找销售渠道
  • 小说网站风格网站建设产品话术
  • 前端网站制作教程wordpress修改页面组件
  • 网站建设作业素材查询网站mx记录
  • 网站建立时间怎么查软件开发外包公司好不好
  • 做跨境电商网站有哪些wordpress页面分析插件
  • 电商网站有哪些平台网站备案为什么要闭站
  • 网站建设公司是什么意思合肥优化网站
  • 鹤壁做网站网站开发seo
  • 稳定的常州网站推广现在购物平台哪个最火
  • 网站302错误聊城做网站建设的公司
  • 投资做网站利润分析亳州网站制作公司
  • 网站在阿里云备案石狮app网站开发
  • 无锡网站建设工作室如何用asp做网站
  • 富连网网站开发专业做网站联系电话
  • 外部网站跳转小程序环保网站设计是什么
  • 西安网站设计公司海外建站流程
  • 网站未备案wordpress链接平果信息网二手房
  • 做苗木比较好的网站semir森马
  • 移动商城网站建设聊城专业网站建设
  • 岳阳建设网站哪家好美食网站开发现状
  • 公交车网站怎么做留言板重庆建站
  • 网站地图调用专业提供网站制作
  • 如果用局域网做网站设计师招聘平台
  • 环保设备在那个网站做阿里云建站视频