8253译码电路设计以及初始化编程讲解

先验知识回顾:知识点不清晰的时候可以查询相关知识点。
https://blog.csdn.net/qq_42604176/article/details/105810973

需掌握的主要知识点

1、译码电路设计
2、初始化编程

例题1

在以 8086构成的最大方式系统中,有一片8254的端口地址分别为301H、303H、305H和307H,给定的外部时钟为512kHz。 要求:、
(1)利用计数器0产生周期为1ms的周期信号,请编写初始化程序;利用这一计数器能产生的最低信号频率为_______, 这时的时常数CR。=________;
思路:
1、分析采用哪种方式
根据要求产生周期信号,采用方式2/3:分频器/周期性方波输出;
2、计算时常数CR0
CR0=输出信号周期/外部时钟周期=1ms/(1/512k)=512
3、了解该计数器的最大分频次数,计算最大分频次数
最大分频次数是62256次,这样可以获取最低频率:512k/62256=8.22Hz

MOV DX,307H;DX指向控制寄存器
MOV AL,0011 0110B;配置字:选择通道0, CR/OL使用16位,方式3,2进制计数
OUT DX,AL;	字配置完成
MOV DX,301H;DX指向通道0
MOV AX,512;设置时常数
OUT DX,AL;
XCHG AL,AH;
OUT DX,AL;	配置完成

(2)利用计数器1和2产生如图9. 17所示的周期信号,并编写初始化程序;
产生信号
产生这种非方波的周期信号,使用方式2,但是在方式2下,低电平时间仅为一个时钟周期。因此,利用一个计数通道无法实现。现在采用计数器1和计数器2联合,先利用计数器1产生周期为1.5ms的周期信号,然后将输出OUT1信号作为计数器2的时钟输入CLK2。
对于计数器1,工作方式可以选择方式2/3,一般选择方式3,这样可以使产生的信号近似对称,其时常数CR1=1.5ms/(1/512k)=768,采用16位的时常数表示。
对于计数器2,工作方式只能选择方式2,其时间常数CR2=(3s+1.5ms)/1.5ms=2001,所以也需要16位时常数表示。

;配置计数器1
MOV DX,307H;DX指向控制寄存器
MOV AL,0111 0110B;配置字:选择通道1, CR/OL使用16位,方式3,2进制计数
OUT DX,AL;	字配置完成
MOV DX,303H;DX指向通道1
MOV AX,768;设置时常数
OUT DX,AL;
XCHG AL,AH;
OUT DX,AL;	配置完成;配置计数器2
MOV DX,307H;DX指向控制寄存器
MOV AL,1011 0100B;配置字:选择通道2, CR/OL使用16位,方式2,2进制计数
OUT DX,AL;	字配置完成
MOV DX,305H;DX指向通道2
MOV AX,2001;设置时常数
OUT DX,AL;
XCHG AL,AH;
OUT DX,AL;	配置完成

(3)画出8253的端口译码电路(地址线只使用Ao~Ag)及其连接图。
译码电路地址要求:

A2A1ADDR(二进制)ADDR(16进制)
0011,0000,0001301H
0111,0000,0011303H
1011,0000,0101305H
1111,0000,0111307H

注意由于是奇地址,数据线和A0所做出的的更改:
电路

例题2

设8253的端口地址为260H ~ 263H,外部时钟信号为1MHz,要求产生如图所示的周期波形,画出8253的连接图,并编写初始化程序段。
题目
分析:
产生的信号低电平时间比高电平宽的多,所以不能直接采用方式2实现。如果可以增加外部器件,则可以在上一题的基础上,将OUT端信号非门取反。
1、由于要采用方式3,产生周期:1s+12ms=1012ms的方波信号,题目给定的外部时钟周期为1MHz,这时候需要的分频系数(时常数)为:1012ms/1us=1012000,显然这个超过了65536(2^16),所以通过一个计数通道无法实现,所以采用计数器0和计数器1联合产生。CR0=1000,CR1=1012,这样OUT0周期为1ms。
2、利用计数器2的方式1(可编程单稳脉冲)实现单脉冲形成一次作为要求产生信号的低电平,时常数CR2=1s/1ms-1=1000-1=999,计数器0 的OUT0信号作为计数器2的时钟输入信号,OUT1作为计数器2的硬件触发信号,确保周期为1012ms。这里注意,计数器的方式1的时常数确定的是输出低电平的时长,也就是所谓的单脉冲宽度.

MOV DX,263H;写计数器0方式控制字
MOV AL, 0011 0110B;计数器016位,方式三,二进制
OUT DX,AL;
MOV DX,260H;写计数器0的时常数
MOV AX,1000;
OUT DX,AL;
XCHG AL,AH;
OUT DX,AL;
MOV DX,263H;写计数器1方式控制字
MOV AL,0111 0110B;计数器116位,方式三,二进制
OUT DX,AL;
MOV DX,261H;写计数器1时常数
MOV AX,1012;
OUT DX,AL;
XCHG AL,AH;
OUT DX,AL;
MOV DX,263H;写计数器2方式控制字
MOV AL,1011 0010B;计数器216位,方式1,二进制
OUT DX,AL;
MOV DX,262H;写计数器2时常数
MOV AX,999;
OUT DX,AL;
XCHG AL,AH;
OUT DX,AL;

连接图
OUT0:输出的是周期为1ms的方波
OUT1:输出的是周期为1012ms的方波,也就是说每1012ms产生一个上升沿,这确定了计数器2的方式1一个周期宽度
OUT2:输出的是周期为1012ms,低电平时长为1000ms的脉冲。
我觉得最需要关注的两个连接点就是:OUT0->CLK1,OUT1->GATE2

例题3

在8088最小系统中,8253 的端口地址为284H~287H.系统提供的时钟为IMHz,要求在OUT0输出周期为20微秒的方波,在OUTI输出周期为200微秒,其中每周期为负的时间是180微秒的信号。请编写8253的初始化程序。
分析:这一题和上一题的思路很相似,主要的就是不需要联合。
1
通道0产生方波,可以使用方式3产生。
时常数CR0=输出信号周期/外部时钟周期=20us/(1/1M)=20;
通道2产生方波,可以使用方式3产生。
时常数CR2=输出信号周期/外部时钟周期=200us/(1/1M)=200;
通道1,采用方式1,时常数,CR1=180/20-1=8;

;配置计数器0
MOV DX,287H;DX指向控制寄存器
MOV AL,0001 0110B;配置字:选择通道0, CR/OL使用低8位,方式3,2进制计数
OUT DX,AL;	字配置完成
MOV DX,284H;DX指向通道0
MOV AL,20;设置时常数
OUT DX,AL;配置完成
MOV DX,287H;写计数器2控制方式字
MOV AL,1001 0110B;
OUT DX,AL;
MOV DX,286H;写计数器2时常数
MOV AL,200;
OUT DX,AL;
MOV DX,287H;
MOV AL,0101 0010B;
OUT DX,AL;
MOV DX,285H;
MOV AL,8;
OUT DX,AL;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/378530.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于图像处理的数码印花喷墨墨滴形状规范的研究(Python+OpenCV+Mysql)

大体思路:由于墨滴的不同参数会对墨滴的形态产生一定的影响,故如果通过研究墨滴的形态则通过海量的数据就可以大概确定墨滴的各项参数指标的范围。通过OpenCV对墨滴的喷出的形状进行图像处理,对墨滴图像进行一系列的分析,通过一系…

Opencv实战【4】——图片动漫化处理

博主联系方式: QQ:1540984562 微信:wxid_nz49532kbh9u22 QQ交流群:750313950 目录动漫化风格的特点处理手段代码实现效果总结动漫化风格的特点 (1)动漫中的细节相对少; (2)动漫中的边…

08-KNN手写数字识别

标签下载地址 文件内容备注train-images-idx3-ubyte.gz训练集图片:55000张训练图片,5000张验证图片train-labels-idx1-ubyte.gz训练集图片对应的数字标签t10k-images-idx3-ubyte.gz测试集图片:10000张图片t表示test,测试图片&…

MFC odbc访问远程数据库

首先,MFC通过ODBC访问数据库,主要使用两个类,一个是CDataBase,一个是CRecordset。第一个是用于建立数据库连接的,第二个是数据集,用来查询的。步骤如下:1.实例化一个CDataBase对象,并…

微机原理——扩展存储器设计

目录【1】存储器的层次结构【2】存储器的分类【3】SRAM1、基本原理:2、结构:3、芯片参数与引脚解读:4、CPU与SRAM的连接方式【4】DRAM1、基本原理:2、结构3、芯片引脚解读:【5】存储器系统设计【6】存储器扩展设计&…

09-CNN手写数字识别

CNN卷积神经网络的本质就是卷积运算 维度的调整: tf.reshape(imageInput,[-1,28,28,1]) imageInput为[None,784],N行* 784维 调整为 M28行28列*1通道 即:二维转化为四维数据 参数一:等价于运算结果M 参数二:28 28 表示…

Opencv将处理后的视频保存出现的问题

问题描述: 代码运行过程中,imshow出来的每帧的效果图是正确的,但是按照网上的方法保存下来却是0kb,打开不了。 参考的网上的一些方法,均是失败的,具体原因我也不清楚: 1、例如我这样设置&#x…

黑白图片颜色反转并保存

将图像的黑白颜色反转并保存 import cv2 # opencv读取图像 img cv2.imread(rE:\Python-workspace\OpenCV\OpenCV/YY.png, 1) cv2.imshow(img, img) img_shape img.shape # 图像大小(565, 650, 3) print(img_shape) h img_shape[0] w img_shape[1] # 彩色图像转换为灰度图…

家猫WEB系统

现在只放源码在些.为它写应用很简单有空整理文档演示地址:jiamaocode.com/os/ 源码:http://jiamaocode.com/ProCts/2011/04/14/1918/1918.html转载于:https://www.cnblogs.com/jiamao/archive/2011/04/16/2018339.html

plesk 运行不了php,如何在Plesk中使用composer(使用其他版本的PHP运行Composer)

对于基于Plesk的服务器, composer的默认安装将使用系统安装的PHP版本, 而不使用Plesk所安装的任何版本。尽管Composer至少需要PHP 5.3.2, 但是当你尝试在需要特定版本PHP的项目中安装依赖项时, 就会出现问题。例如, 如果你有一个至少需要PHP 7.2的项目, 并且系统的默认PHP安装是…

Error: Flash Download failed - Target DLL has been cancelled

博主联系方式: QQ:1540984562 QQ交流群:892023501 群里会有往届的smarters和电赛选手,群里也会不时分享一些有用的资料,有问题可以在群里多问问。 由于换了新电脑,keil重装了下,然而之前的MCU的支持包没有安装,以及一些其他的问题,导致可以编译但是不能将程序烧录到单片…

我也谈委托与事件

虽然在博客园里面已经有很多关于C#委托和事件的文章,但是为了自己在学习的过程中,加深对委托的理解,我还是决定写一下自己的心得体会。以备他日在回来复习。委托(delegate)是一个类,但是这个类在声明的时候…

设计合理的实验方案来研究阳离子改性棉织物与未改性棉的染色动力学性能

染色动力学性能研究染色的什么问题?设计合理的实验方案来研究阳离子改性棉织物与未改性棉的染色动力学性能?并指出如何计算反映染色动力学的主要参数? 标准答案: 染色动力学研究染色速率问题。 为了研究阳离子改性棉纤维及未改性棉纤维对活性染料染色动力学性能,首先要测…

SQL SERVER的锁机制(四)——概述(各种事务隔离级别发生的影响)

SQL SERVER的锁机制(一)——概述(锁的种类与范围) SQL SERVER的锁机制(二)——概述(锁的兼容性与可以锁定的资源) 本文上接SQL SERVER的锁机制(三)——概述&a…

如何测定拼色染液中,各染料在不同染色时间时,染液中残留染料量及织物上吸附上染的染料量?

如何测定拼色染液中,各染料在不同染色时间时,染液中残留染料量及织物上吸附上染的染料量? 标准答案: 通常依据各染料对特定波长光的吸光度具有加和性;吸光度值符合朗伯比尔定律,吸光度与浓度成正比;吸光度值分光光度计可以读出;通过联立方程,可以求出拼色各染料在染液中…

oracle云数据库 免费的吗,使用免费的Oracle云服务-创建ATP数据库

前面我们讲了在Oracle的云主机安装数据库,虽然现在安装数据库已经很简单了,但是真正要在生产环境使用,还是需要进行很多配置和优化的,这通常需要专业的人员。而ATP(自治事务性数据库服务)正是Oracle云提供的非常强大的数据库云服务…

请分析比较下列四种染料在相同浓度和相同温度的水染液中的聚集度大小?

请分析比较下列四种染料在相同浓度和相同温度的水染液中的聚集度大小? 标准答案: 染料聚集度从大到小的顺序为:3〉1〉4〉2 比较1-4染料结构差异,1、2共轭体系较短,3、4共轭体系较长,1、3磺酸基在端部,2、4磺酸基在中间; 染料3共轭体系长,范德华力大,而水溶性磺酸基团…

VC++动态链接库深入浅出(转)

1.概论  先来阐述一下DLL(Dynamic Linkable Library)的概念,你可以简单的把DLL看成一种仓库,它提供给你一些可以直接拿来用的变量、函数或类。在仓库的发展史上经历了“无库-静态链接库-动态链接库”的时代。 静态链接库与动态链…

《Two Dozen Short Lessons in Haskell》(二十)分数

《Two Dozen Short Lessons in Haskell》(Copyright © 1995, 1996, 1997 by Rex Page,有人翻译为Haskell二十四学时教程,该书如果不用于赢利,可以任意发布,但需要保留他们的copyright)这本书是学习 Ha…

数字图像课程工程大作业分析

试题分析: 在连续的视频中对火焰及水柱的轨迹检测,效果如图。 ** 提示: 1、火焰可利用亮度和颜色 2、水柱的轨迹需要先用背景差分获得水柱的连通域,然后利用连通域上的像素点进行曲线的拟合,水枪的位置视为已知&#…