8253练习题(8253端口地址怎么求?怎么求初值?怎么看出工作方式)

news2024/9/24 19:21:47

目录

一:简单(题目把计数初值和工作方式都给你了)

二:给了你输入时间周期和初值,你会不会求输出?

三:简单

四:初值计数方式都不给,初值还是给的时间和频率混合

五:(中等)不给出端口地址?

 六:(计数初值为65536的情况)

七:给出时间求初值


计数器8253 含有4个端口,分别是计数器0,计数器1,计数器2,控制口,三个计数器接口工作方式完全相同。  2:计数初值=输入频率/输出频率,频率和时间是倒数关系   所以还有一个公式 计数初值=输出时间/输入时间  3:记住每个工作方式的特点,方式0-方式5。重点掌握方式3,方波   4: 0为最大计数初值 

一:简单(题目把计数初值和工作方式都给你了)

    (1) 控制字   

     0101 0000(50H)

;送控制字
MOV DX,107H
MOV AL,50H
OUT DX,AL
;送初值
MOV DX,105H
MOV AL,128
OUT DX,AL

(2) 控制字

0011 0011(33H) 

MOV DX,107H
MOV AL,33H
OUT DX,AL
;送初值
MOV DX,104H
MOV AX,3000H
OUT DX,AL;送低位
MOV AL,AH
OUT DX,AL;送高位

   (3)计数初值1011 0100(B4)


MOV DX,107H
MOV AL,B4H
OUT DX,AL
;送初值
MOV DX,106H
MOV AX,02F0H
OUT DX,AL
MOV AL,AH
OUT DX,AL

二:给了你输入时间周期和初值,你会不会求输出?

(1) 把控制字展开  77H 

0111 0111 

对通道1进行初始化 

(2)因为是先送低8位后送高8位,使用十进制数计数  。 那么这个0就是最大值  ,常数10000

(3)计数初值=输入频率/输出频率 

      而时间和频率互为倒数  

     也就是  计数初值=输入时间分之一/输出时间分之一 = 输出时间/输出时间

    10000=?/1μs

     ?=10000μs

      则输出OUT的周期为10000μs

三:简单

 分析一下   让计数器0输出, 要输出方波,所以选工作方式3,BCD计数最后一位是1。 

 在算一下初值

 初值=输入频率/输出频率   

  100KHZ /10KHZ=10

 初值是10H, 一个字节容得下那么只需要送低八位就可以了

 上面分析清楚了,直接写控制字

  0001 0111(17H)

 初始化程序

;送控制字
MOV DX,203H
MOV AL,17H
OUT DX,AL
;送初值
MOV DX,200H
MOV AL,10H;BCD码计数后面一定别把H给丢了
OUT DX,AL

四:初值计数方式都不给,初值还是给的时间和频率混合

 (1):可以产生负脉冲的工作方式为 2,4,5,其中可以产生周期方式的只有方式2

题目中给出了,输入频率,直接求输出频率即可。10ms分之一,(10×10^-3分之1)输出频率为100HZ

用输入频率/输出频率=2MHZ/100HZ=20000(计数初值)。 开始求控制字  0011 0100=34H

开始写初始化程序

MOV DX,0123H;取控制口地址
MOV AL,34H;
OUT DX,AL;
MOV AX,20000;注意这里不要写H
MOV DX,0120H;
OUT DX,AL;
MOV AL,AH;
OUT DX,AL;

(2):输出方波,只有工作方式3,求计数初值 2MHZ/10KHZ=200

求控制字   0101 0110=56H 

MOV DX,0123H
MOV AL,56H
OUT DX,AL
MOV AL,200
MOV DX,0121H
OUT DX,AL

(3): 输出高电平,选方式0, 求输出频率  5ms分之1  =200     计数初值 2MHZ/200HZ=10000  

控制字  1011 0000 =B0H

MOV DX,0123H
MOV AL,B0H
OUT DX,AL
MOV AX,10000
MOV DX,0122H
OUT DX,AL
MOV AL,AH
OUT DX,AL

五:(中等)不给出端口地址?

8253端口地址怎么求?

 

(1):G1是高电平有效  所以A9到A7是 111

A6没有使用为0

38译码器需要Y4输出,那么 A5,A4,A3 必须是 100

A2没有使用A2是0

A1和A0是片内,决定端口

11 1010 0000(3A0H)   计数器0

11 1010 0001  (3A1H) 计数器1

11 1010 0010  (3A2H) 计数器2

11 1010 0011 (3A3H)  控制口

(2)

分析

初值=输入频率/输出频率=1MHZ/1KHZ=1000, 一个字节装不下,所以先送低位后送高位

往计数器0里面送

产生方波计数方式3

0011 0110(36H) 

;送控制字
MOV DX,3A3H
MOV AL,36H
OUT DX,AL
;送初值
MOV DX,3A0H
MOV AX,1000
OUT DX,AL;送低位
MOV AL,AH
OUT DX,AL;送高位

 六:(计数初值为65536的情况)

 控制字  0011 0110 (36H)

虽然写的是0但是也要要先送低位,在送高位

;送控制字
MOV AL,36H
OUT 43H,AL
;送初值
MOV AX,0;0就65536
MOV 40H,AL
MOV AL,AH
MOV 40H,AL

七:给出时间求初值

这个说是级联,但是输出的都是1直接。直接把题拆卡算就可以

 初值=输入频率/输出频率

     时间和频率互为倒数

     第一个空

  第二个空

两个都是时间就用这个公式

 初值=输出时间/输入时间

秒输入,小时输出。把小时转换成秒一除就完事

补充:分清楚

容量

2^10=1K

2^20=1M

速度,频率

10^3=1K

10^6=1M

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

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

相关文章

前端_swapCache方法 发布文章

swapCache方法 swapCache方法用来手工执行本地缓存的更新,它只能在applicationCache对象的updateReady事件被触发时调用,updateReady事件只有服务器上的manifest文件被更新,并且把manifest文件中所要求的资源文件下载到本地后触发。顾名思义…

[极客大挑战 2019]Secret File(BUUCTF)

前言: 这篇文章还是是为了帮助一些 像我这样的菜鸟 找到简单的题解 题目描述 解题工具: fiddler或burpsuite抓包 解题过程: 又是要找秘密, 先检查一下源代码 发现了一个链接与背景颜色融合了 点进去看看 找到了SECRET但肯定没这么简单 点击SECRET页面发生…

15. 我是怎么用一个特殊 Cookie ,限制住别人的爬虫的

爬虫训练场,第15篇博客。 博客详细清单,参考 https://pachong.vip/blog 本次案例,用定值 Cookie 实现反爬 文章目录Cookie 生成Python Flask 框架生成 CookieFlask make_response 加载模板Flask 判断指定 cookie 是否存在补充知识点Cookie 生…

【AcWing每日一题】4818. 奶牛大学

Farmer John 计划为奶牛们新开办一所大学! 有 N 头奶牛可能会入学。 每头奶牛最多愿意支付 ci 的学费。 Farmer John 可以设定所有奶牛入学需要支付的学费。 如果这笔学费大于一头奶牛愿意支付的最高金额,那么这头奶牛就不会入学。 Farmer John 想赚…

C++ New和Delete

目录 前言 New Delete 前言 new是c中用于动态申请空间的运算符,malloc也是用于动态申请空间的,但malloc是函数。 New new是用来开辟一段新空间的,和一般申明不同的是,new开辟的新空间是在堆上,而申明的变量是在栈上…

【自学Java】Java注释

Java注释 Java注释教程 用于注解说明解释程序的文字就是注释,注释可以提高代码的阅读性。同时,注释也是一个程序员必须要具有的良好的编程习惯。我们首先应该将自己的思想通过注释先整理出来,再用代码实现。 在 Java 语言 中,一…

(二)Qt多线程实现海康工业相机图像实时采集

系列文章目录 提示:这里是该系列文章的所有文章的目录 第一章: (一)QtOpenCV调用海康工业相机SDK示例开发 第二章: (二)Qt多线程实现海康工业相机图像实时采集 文章目录系列文章目录前言一、项目…

C语言中指针常见问题集

1. 我想声明一个指针并为它分配一些空间,但却不行。这些代码有什么问题? char *p; *p malloc(10);答:你所声明的指针是p, 而不是*p, 当你操作指针本身时你只需要使用指针的名字即可:cp malloc(10);当你操作指针指向的内存时,你才需要使用*作为间接操…

坚果的2022年终总结

人生天地之间,若白驹过隙,转眼间,这一年又快要过去了,按照惯例还是写一篇年终总结,同时也看一下自己是否又成长,是否有哪些事情没做好,给自己做一个复盘。一、缘起OpenHarmony我是从去年开始参加…

Webpack 钩子介绍、手写 Webpack Plugin

目录 1. Plugin 用作和工作原理 1.1 Plugin 的作用 1.2 Plugin 的工作原理 2. Webpack 底层逻辑和钩子介绍 2.1 Webpack 内部执行流程 2.2 Webpack 内部钩子 2.2.1 钩子是什么 2.2.2 Tapable —— 为 Webpack 提供 Plugin 钩子 数据类型接口 定义 2.2.3 Compiler Hook…

C#,图像二值化(08)——灰度图像二值化,全局算法,全局阈值优化算法及其源代码

1、全局阈值算法 基于灰度直方图的优化迭代算法之一。 Iterative Scheduler and Modified Iterative Water-Filling In the downlink, the inter-cell interference is only function of the power levels and is independent of the user scheduling decisions. This suggest…

俺的2022年

年末将至,还是要写点总结性的内容,以回顾过去一年做的各种事情。工作之外从客观数据上看,今年的收入水平略差于去年,主要是工作外的收入有所减少,其核心原因是没有录制新的课程内容进行变现,原本的计划是&a…

【自学Python】Python介绍

Python教程 什么是编程语言 编程语言(programming language),是用来定义计算机程序的形式语言。它是一种被标准化的交流技巧,用来向计算机发出指令。 也可以说,计算机语言让程序员能够准确地定义计算机所需要使用的…

拓展交流空间,分享开发精彩 | 开发者说·DTalk 鉴赏

日月其迈,岁律更新,时间的洗礼让开发者们更加坚韧,持续探索,不断追求,同样也激励着我们为开发者提供更多的帮助与支持。不断迭代的技术产品是开发者们的趁手工具,定期更新的政策助力打造安全可靠的生态&…

基础数学(4)——线性回归复习

文章目录课程回顾基础知识回归模型的建模过程一元线性回归模型线性回顾进行极大似然估计(例题(必考))极大似然估计极大似然估计的性质线性性无偏性最优性(记住即可,没有推导)方差计算一元线性回…

智能制造 | AIRIOT智慧工厂管理解决方案

工厂生产运转中,设备数量多,环境复杂、企业往往需要承担很高的维修、保养、备件和人力成本。传统的工厂改革遇到了诸多前所未有的挑战: 1、管理系统较多,数据隔离,系统集成困难重重; 2、大量老旧设备无法联…

QT使用log4cpp日志库

文章目录QT使用log4cpp日志库1. 从官网下载log4cpp源码2. 编译项目3. 在QT中使用log4cpp4. log4cpp4.1. Category4.2. Appender4.3. Layout4.4. Priority4.5. 使用宏定义为日志加上文件名 函数名 行号等QT使用log4cpp日志库 1. 从官网下载log4cpp源码 log4cpp官方网址 下载后…

MyBatisPlus ---- 常用注解

MyBatisPlus ---- 常用注解1. TableNamea>问题b>通过TableName解决问题c>通过全局配置解决问题2. Tablelda>问题b>通过TableId解决问题c>TableId的value属性d>TableId的type属性e>雪花算法3. TableFielda>情况1b>情况24. TableLogica>逻辑删除…

LeetCodeday03

203.移除链表元素 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回 新的头节点 。 示例 1: 输入:head [1,2,6,3,4,5,6], val 6 输出:[1,2,3,4,5] 示例 2&#xff1…

基于springboot+mybatis+mysql+html实现医院预约挂号管理系统

基于springbootmybatismysqlhtml实现医院预约挂号管理系统一、系统简介二、系统主要功能界面2.1登陆2.2首页(留言板、我的预约)--用户2.3就诊预约--用户2.4我的预约--用户2.5我参与的评介--用户2.6我的预约日程--医生2.7对我的评介--医生2.8医生管理--管…