目录

  • 实验目的
  • 实验内容
  • 报告要求

已知8253的两个计数器CLK0=1MHZ,CLK1=1KHZ,现系统要求8253的OUT1产生0.1s的定时方波信号。
(1):应如何实现?
(2):说明两个计数器的工作方式并计算计数初值
(3):编写初始化程序(8253的端口地址80H-83H,均采用二进制计数)


CLK0(通道0)

输入信号:1MHz
输出信号:1KHz
分频系数:1MHz/1KHz=1000

工作方式:方式2(分频器方式)或方式3(方波发生器

       D7、D6:通道0,所以是00

       D5、D4:既写计数器低8位,又写计数器高8位,所以是11

       D3、D2、D1:工作方式的选择:如果是方式2,则为010.如果是方式3,则为011。
       D0:二进制计数:0。

方式2:

D7 D6 D5 D4 D3 D2 D1 D0
0 0 1 1 0 1 0 0

方式3:

D7 D6 D5 D4 D3 D2 D1 D0
0 0 1 1 0 1 1 0

通道0的初始化:
                    1、写控制字
                    2、计数初值

控制字:0011 0100B=34H

MOV AL,34H
OUT 83H,AL  ;将控制字写入控制端口进行初始化MOV AX,1000 ;将计数初值放入AX,然后out到80H端口
OUT 80H,AL  ;将低八位out出去MOV AL,AH
OUT 80H,AL  ;将高八位out出去

控制字:0011 0110B=36H

MOV AL,36H
OUT 83H,AL  ;将控制字写入控制端口进行初始化MOV AX,1000 ;将计数初值放入AX,然后out到80H端口
OUT 80H,AL  ;将低八位out出去MOV AL,AH
OUT 80H,AL  ;将高八位out出去

CLK1(通道1)
输出信号:10Hz
输入信号:1KHz
分频系数:1MHz/1KHz=1000
T=0.1s,f=10Hz
由题可知:OUT1产生0.1s的定时方波信号。所以,选择方式3(方波发生器)。

       D7、D6:通道1,所以是01

       D5、D4:既写计数器低8位,又写计数器高8位,所以是11

       D3、D2、D1:工作方式的选择:方式3,为011。

       D0:二进制计数:0。

D7 D6 D5 D4 D3 D2 D1 D0
0 1 1 1 0 1 1 0

通道1的初始化:
                    1、写控制字
                    2、计数初值

控制字:0111 0110B=76H

MOV AL,76H   ;将控制字写入控制端口进行初始化
OUT 83H,AL  MOV AX,100  ;把它的低八位通过81端口写出去,通道1的端口地址是81H。
OUT 81H,ALMOV AL,AH
OUT 81H,AL  ;把AH中的高8位放回到AL里边,一样的办法送到81H端口去

实验目的

练习定时计数器8254的使用。尤其是方式2、方式3分频器的使用。
练习分频系数比较大的处理方法。

实验内容

要求:使用8254产生频率为1Hz的信号,驱动发光二极管亮灭闪烁。
已知:8254控制寄存器地址:283H
         计数器通道0地址:280H
         计数器通道1地址:281H

分析:

CLK0连接时钟1MHz,要使输出信号为1Hz,需要100 0000分频,而计数寄存器最多为16位的值,也就是最多65536分频,做不到106分频这么多。所以使用两个计数通道接续分频

首先:
通道0方式2初值可以取1000,产生1KHz的方波信号
然后:
将1KHz的输出接入通道1的CLK1端,再使用初值1000,产生分频后的输出就是1Hz。


硬件电路连接:

8254的CS----------- 280H
      CLK0--------- 1MHz
      GATE0-------- +5v
      OUT0--------- CLK1
      GATE1-------- +5v
      OUT1--------- L0

报告要求

1、写出8253的几个控制字及其意义。

2、介绍8253的方式2和方式3的使用原理。通过图来表示,并加以说明。

3、写出该实验中分频结果的计算步骤。
分频系数:1MHz/1KHz=1000Hz,1KHz/1000Hz=1Hz。
4、写出程序并适当加注释。

data segmentpkey db "press any key...$"
endsstack segmentdw   128  dup(0)
endscode segmentASSUME CS:code,DS:data
start:CLK0:MOV AL,34H          ;将控制字34H写入283H这个控制端口MOV DX,283hOUT DX,AL          MOV AX,1000           ;将计数初值放入AX,out到280H这个端口MOV DX,280H           OUT DX,AL           ;计数初值先写低八位后写高八位MOV AL,AH         ;把AH中的高8位放回到AL里边OUT DX,AL
CLK1:MOV AL,76H       ;将控制字76H写入283H这个控制端口MOV DX,283HOUT DX,ALMOV AX,1000         ;将计数初值放入AX,out到281H这个端口MOV DX,281HOUT DX,AL          ;计数初值先写低八位后写高八位MOV AL,AH        ;把AH中的高8位放回到AL里边OUT DX,AL
ends
end start 

实验七:定时/计数器8253、8254相关推荐

  1. [芯片] 2、接口技术·实验二·定时/计数器8253

    目录 一.实验目的和要求 二.实验原理与背景 三.实验具体的内容 3-1.计数器方式0实验 3-2.计数器方式3实验 3-3.计数器级联实验 四.实验的代码说明 4-1.计数器方式0实验代码及说明 4 ...

  2. 可编程定时/计数器 8253/8254

    在微机应用系统中,定时控制具有重要的作用.经常会有这样的应用要求:一种是要求有一些外部实时时钟,以实现延时控制或定时:另一种是要求能对外部事件计数的计数器.在微机系统中,常采用以下三种方法实现:软件定 ...

  3. 单片机实验七 NE555脉冲发生器实验(定时/计数器)

    实验七 NE555脉冲发生器实验(定时/计数器) 一.实验目的 1.熟悉实验软件和硬件,进行正确的接线: 2.1602显示脉冲频率,调节电位器可改变频率. 二.实验软硬件 1.Keil uVision ...

  4. 微机 —— 可编程定时器/计数器 8253/8254

    可编程定时器/计数器 8253/8254介绍 一.8253芯片引脚 二.8253芯片的内部结构 三.8253的初始化编程(重点) 四.8253的工作方式(重点) 五.8253六种工作方式的比较: 六. ...

  5. 计算机组成原理实验四微程序,计算机组成原理实验七微程序计数器.doc

    文档介绍: 计算机组成原理实验七微程序计数器.docEvaluationWarning:ThedocumentwascreatedwithSpire..洛阳理工学院实验报告七系别计算机系班级 学号姓名 ...

  6. 实验六、8254定时/计数器实验

    实验六.8254定时/计数器实验 1.实验目的 了解定时计数器8254的初始化及用法. 了解定时计数器8254各种工作方式的特点. 2.实验内容 编写程序,使8254的计数器1 分别工作在方式 0.1 ...

  7. 微机原理与接口技术 学习笔记(五) 8255(可编程并行接口芯片) 与 8253(可编程定时/计数器)

    文章目录 一,可编程并行接口芯片8255A 1. 8255A的结构 1.1 数据端口 1.2 端口控制逻辑 1.3 数据总线缓冲器 1.4 读/写控制逻辑 2. 方式选择 2.1 方式选择控制字 2. ...

  8. 8254定时/计数器实验

    转载的: https://blog.csdn.net/as1072966956/article/details/80718843 8254定时/计数器应用实验 1 实验目的 掌握8254的工作方式及应 ...

  9. 汇编语言--8254定时/计数器实验

    实验题目 计数应用实验 编写程序,应用8254的计数功能,使用单次脉冲模拟计数,使每当按下'KK1+'5次后,产生一次计数中断,并在屏幕上显示一个字符'M': 认识8254 8254是Intel公司生 ...

最新文章

  1. NHibernate初学二之简单执行SQL及HQL、Linq
  2. 学习busybox源码与移植
  3. 【CSDN】设置图片大小
  4. 动态后台获取_后台管理系统的权限以及vue处理权限的思路
  5. android studio怎么输入中文,Android studio 模拟器中输入中文
  6. Spring学习总结(22)——Spring-framework-bom解决spring的不同模块依赖版本不同问题
  7. Spring3中js/css/jpg/gif等静态资源无法找到(No mapping found for HTTP request with URI)问题解决(转)...
  8. 生意做到一定规模,老板想面面俱到,亲力亲为就不可能了
  9. amd服务器开启虚拟化,记一次 AMD 虚拟化 IOMMU 开启过程
  10. centos6.5 搭建时间服务器
  11. Ps 初学者教程,如何用文字增强您的照片?
  12. Fullpage:基础学习
  13. 循环map 取得键和值_Java 从 Map 到 HashMap 的一步步实现
  14. 软考程序员Java答题速成_软考程序员考试下午考题解答技巧方法
  15. vos3000 2009 3000 4.0-8.0客户端下载
  16. php b框架,thinkphp_bjui
  17. AOP切面编程的理解
  18. 第二届中国计量大学ACM程序设计竞赛个人赛(同步赛)B-Little Gyro and Sets【两个等差数列公式】
  19. JAVA|大小写英文字母表
  20. Amazon EKS 版本管理策略与升级流程

热门文章

  1. Azure BareMetal 裸金属
  2. ssh-agent与ssh-sshd,开启ssh服务
  3. 苹果刷机未知错误75_苹果iPhone6用iTunes刷机报错未知错误53解决方法
  4. idea恢复误删文件
  5. 【C++】7-41 互评成绩(PTA)
  6. java 统计阅读量_使用redis实现【统计文章阅读量】及【最热文章】功能
  7. 【JAVA虚拟机】java虚拟机
  8. Sql - EXISTS 用于子查询
  9. 游戏运营技术之----运用箱线图分析PCU和DAU(一)
  10. 程序员专属表情包,正在疯传中!