文章目录

  • 一. 实验目的
  • 二. 实验内容
    • 实验4-1 8254计数器实验
    • 实验4-2 8254定时器实验

一. 实验目的

  1. 掌握8253/8254计数特点和编程方法。
  2. 掌握8253/8254工作方式3的基本工作原理、计数特点和编程方法。

二. 实验内容

8253/8254的初始化命令字如下图所示:

实验4-1 8254计数器实验

按电路图连接电路,将计数器0设置为方式2,计数器初值为N(N<0FH),用手逐个输入单脉冲,编程使计数值在屏幕上显示,用逻辑笔观察OUTO电平变化,当输入N+1个脉冲后OUTO变为高电平,并将计数过程记录下来。

电路图:

接线:

汇编代码:

io8253a equ 283h
io8253b equ 280hcode segmentassume cs:codestart:MOV AL,14H        ;设置8253通道0工作方式2,二进制计数,0001 0100MOV DX,io8253a    ;将io8253a对应的283H端口送入DX中OUT DX,AL         ;送工作方式控制字MOV AL,0FH        ;设置初始值0FH,0000 1111MOV DX,io8253b    ;将io8253b对应的280H端口送入DX中OUT DX,AL         ;送初始值lll: IN AL,DX          ;读计数初值call disp         ;调用显示子程序push dx           ;将dx中数据入栈mov ah,06h        ;调用DOS的6号功能,直接读写mov dl,0ffh       ;输入,dl为输入字符的ASCII码int 21h           ;中断,输出pop dx            ;将dx中数据出栈jz lll            ;跳转至lllmov ah,4ch        ;返回DOSint 21h           ;中断,退出disp PROC NEAR        ;显示子程序disp开始定义PUSH DX           ;将dx中数据入栈AND AL,0FH        ;将高四位清零MOV DL,AL         ;将更新后的AL送入DL中CMP DL,9          ;将DL中值与'9'进行比较,判断是否小于'9'的ASCII码JLE NUM           ;如果比'9'小,则在'0'-'9',跳转到NUMADD DL,7          ;否则为'A'-'F',需要加37H,A为65HNUM: ADD DL,30H        ;将DL中的ASCII码值加30HMOV AH,02H        ;调用DOS的2号功能,显示INT 21H           ;中断,输出mov dl,0dh        ;加回车符int 21h           ;中断,输出mov dl,0ah        ;加换行符int 21h           ;中断,输出pop dx            ;将dx中数据出栈ret               ;子程序返回disp endp             ;显示子程序disp结束定义code ends
end start

运行结果:

连接好实验箱后,运行程序,屏幕上显示初值F,持续按下按钮,屏幕上的示数依次从F递减至1,效果如下所示:

实验4-2 8254定时器实验

按照电路图连接电路,将计数器0、计数器1分别设置工作方式,CLK0连接时钟1MHz,由T01000分频后变为1000Hz,再由T1进行1000分频后得到1Hz。

电路图:

接线:

汇编代码:

io8253a equ 280h
io8253b equ 281h
io8253c equ 283hcode segmentassume cs:codestart:mov dx,io8253c    ;将io8253c对应的283H端口送入DX中mov AL,37h        ;设置通道0的工作方式3,0011 0111out dx,al         ;向8253写控制字mov ax,1000h      ;写入初始值1000h(二进制计数)mov dx,io8253a    ;将io8253a对应的283H端口送入DX中out dx,al         ;写入低字节mov al,ah         ;out dx,al         ;写入高字节mov dx,io8253c    ;将io8253c对应的283H端口送入DX中mov al,76h        ;设置通道1为工作方式3,0111 0110out dx,al         ;向8253写控制字mov ax,1000d      ;写入初始值1000d(BCD计数)mov dx,io8253b    ;将io8253b对应的283H端口送入DX中out dx,al         ;写入低字节mov al,ah         ;out dx,al         ;写入高字节mov ah,4ch        ;程序退出int 21h           ;中断,退出code ends
end start

运行结果:

连接好实验箱后,运行程序,屏幕上显示运行成功,观察实验箱逻辑笔的LED灯变化,发现每隔1秒黄色LED计数灯闪一次,对应着1Hz的频率。旁边的红色LED显示累积计数情况,其数值在00、01、10、11四种情况之间不断循环,效果如下所示:




【接口技术】实验四:8254定时器与计数器相关推荐

  1. 南航计算机硬件实验,南航80X86微机原理及接口技术实验指导书.pdf

    80X86 微机原理及接口技术实验 指导书 卓然 编著 2015-3-1 序 错误!未定义书签. 第一章 TD-PIT++实验系统简介 3 1. 概述 3 2. 系统总线电路单元 5 3. 接口实验单 ...

  2. 关于微型计算机原理的文献,关于微型计算机原理论文范文资料 与微型计算机原理和接口技术实验教学体系改革有关论文参考文献...

    <微型计算机原理和接口技术实验教学体系改革>:这是一篇与微型计算机原理论文范文相关的免费优秀学术论文范文资料,为你的论文写作提供参考. [摘 要] 本文结合上海星研微机原理实验教学仪器-S ...

  3. 计算机接口实验1,计算机接口技术实验一.doc

    计算机接口技术实验一.doc 数学与计算机学院 <计算机接口技术 实验报告 专业:网络工程 班级:1202 学号:1205110121 姓名:吴天亮 郭峰林 实验1定时与中断接口程序设计 一实验 ...

  4. 定时器计数器实验C语言程序,实验二 单片机定时器和计数器编程

    仲恺农业工程学院实验报告纸 信息学院 (院.系)专业班组单片机原理及接口技术课实验二单片机定时器/计数器编程 一.实验目的 1.掌握单片机定时器/计数器的工作方式: 2.掌握单片机定时器/计数器的编程 ...

  5. 微机原理与接口技术实验:子程序设计实验

    学生实验报告 实验课名称:微机原理与接口技术 实验项目名称:子程序设计实验 实验名称:单指令功能的实现 一. 实验目的 1.掌握汇编语言源程序子程序设计方法:. 二.实验内容 设计一个程序,将所有的小 ...

  6. 微机原理与接口技术实验:宏实现1+2+3...+100

    学生实验报告 实验课名称:微机原理与接口技术 实验项目名称:宏 实验名称:宏实现1+2+3-+100 一. 实验目的 掌握重复宏的简单使用,并实现1+2+3-+100 二.实验内容 设计一个程序,利用 ...

  7. 微型计算机标致寄存器实验报告,微型计算机原理与接口技术实验报告册.doc

    微型计算机原理与接口技术实验报告册 河南省高等教育自学考试 实 验 报 告 册 汽车检测与维修专业(本科) <微型计算机原理与接口技术> 市 地:_______________ 考生姓名: ...

  8. 实验四 MCS-51内部定时/计数器实验(2)

    实验四 MCS-51内部定时/计数器实验(2) 一.实验目的 二.知识要点 三.实验内容 总结 一.实验目的 进一步掌握定时/计数器的4种工作方式的应用 掌握查询控制的定时/计数器的编程 二.知识要点 ...

  9. 接口技术实验:七段码显示

    实验题目1:七段码显示 完成七段码的显示验证(8255作为七段码显示器的驱动).下图仅供参考. LED数码管(LED Segment Displays)由多个发光二极管封装在一起组成"8&q ...

最新文章

  1. 工具类:关于如何找到两个List数组中不同的数据的算法!
  2. springmvc十: @RequestMapping其他参数
  3. ubuntu16.04设置ssh免密码登录
  4. LeetCode——数学
  5. numpy数组基础语法
  6. 数学--数论--莫比乌斯函数
  7. java el ognl_EL和OGNL表达式的区分
  8. 一起学习C语言:结构体(二)
  9. vector<int> v, vector<int> v(n) 与vector<int> v[n]的区别
  10. nginx 多个root_dockerfile定制自己的nginx
  11. python3安装uwsgi(编译的方式)
  12. Mysql 免安装版本
  13. 改了后台登陆地址后无法上传图片_如何找到路由器后台管理账号及密码 找回路由器后台管理账号及密码方法【介绍】...
  14. 微信关注公众号跳转关注页面
  15. API-天气预报接口详情
  16. CTF-Crypto学习1(软件加壳、反汇编、Babe64、Rijndael密码算法)
  17. 双馈风机DFIG并网(Matlab Simulink) 有详细说明
  18. 隐藏的区别:display:none 和visibility:hidden
  19. 筑基八层 —— 问题思考分析并解决
  20. 固体火箭发动机常用设计参数

热门文章

  1. beamer笔记——幻灯片比例改为16:9
  2. eclipse怎样设置字体及推荐字体
  3. 读取xml文件转成ListT对象的两种方法
  4. 使用Locust进行性能测试,Locust启动失败
  5. ZYNQ学习之路19.在SDx中使用xfOpenCV图像加速处理
  6. Win10系统上设置Microsoft store的默认下载路径
  7. Telegram普通账号定时发布信息、签到
  8. CATIA软件VBA二次开发:Excel文件中点坐标数据导入与生成点应用程序编写
  9. el-table表格某列添加icon图标
  10. 修改Linux下只读文件的权限