版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、n10.1 定时/计数器的概念 n10.2 Intel 8253可编程定时/计数器 n10.3 Intel 8253控制字和任务方式n10.4 Intel 8253编程 开开 始始10.1 定时/计数器的概念 n实现定时和计数有两种方法:硬件定时和软件定时。1软件定时 软件定时是利用CPU每执行一条指令都需求几个固定的指令周期的原理,运用软件编程的方式进展定时。 2硬件定时 1简单硬件定时 经过数字电路来实现定时,通常是运用单稳延时电路。 2可编程定时 目前在控制系统中,通常采用可编程定时/计数芯片来实现延时。 前往本章首页前往本章首页10.2 Intel 8253可编程定时/计数器 n10.
2、2.1 Intel 8253的内部构造 n10.2.2 Intel 8253的功能 前往本章首页前往本章首页10.2.1 Intel 8253的内部构造 n8253是一种24引脚的双列直插式芯片,其中13条用于与CPU的衔接,另外9条分配给3个独立的16位定时/计数器也称为三个独立通道用于与外设的衔接。如图10-1所示。 D0 D1 D2 D3 D4 D5 D6 D7 RD WR A0 A1 CS Vcc 地 电源线 控制线 数据线 CLK0 GATE0 OUT0 GATE0 OUT0 CLK1 GATE1 OUT1 GATE1 OUT1 CLK2 GATE2 OUT2 GATE2 OUT2
3、计数器 0 号 计数器 1 号 计数器 2 号 9 11 10 15 14 13 18 16 17 8 7 6 5 4 3 2 1 22 23 19 2 21 24 12 图10-1 8253的引脚配置1与CPU相连的信号线n1数据总线D0D7;2写输入信号;n3读输入信号;4片选信号n5片内存放器地址输入信号A0、A1CSWRRDA0A1寄存器选择和操作0000000010111100001X00001111XXXXX10000000011111111无操作三态从计数器1中读出当前计数值从计数器0中读出当前计数值向计数器1写入初值设置控制字或者给一个命令从计数器1中读出当前计数值未选中,三态
4、向计数器2写入初值向计数器0写入初值无操作三态INTERNALBUSDATA BUSBUFFER8DO-D7DO-D7READ/WRITELOGICCONTROLWORDREGISTERRDRDWRWRA0A0A1A1CSCSCOUNTER#0CLK0CLK0GATE0GATE0OUT0OUT0COUNTER# 1COUNTER# 2CLK2CLK2CLK1CLK1GATE2GATE2GATE1GATE1OUT2OUT2OUT1OUT12计数器与外设相连的信号线计数器与外设相连的信号线每个计数器均有三条信号线与外设相连,它们分别是:1计数输入时钟信号CLK 2计数器输出信号OUT3选通讯号门控
5、输入GATE前往本节前往本节10.2.2 Intel 8253的功能 n8253的主要功能有:n1每个计数器有六种任务方式;n2计数脉冲可以是系统脉冲,也可以是外部事件;n3计数时可以运用二进制,也可以运用BCD码;n4触发方式可以是软件触发,也可以是硬件触发;n5最大计数范围可达065535;n6一切的输入输出与TTL兼容。 13个独立的16位计数器每个计数器内部都有一个8位的控制存放器、一个16位的计数初值存放器CR、一个16位的计数执行部件CE和一个16位的输出锁存器OL组成。初始化时,首先向计数初值存放器CR写入计数初值,然后送入计数执行部件CE。 计数执行部件CE实践上是一个16位的
6、减1计数器,当减至0时,输出端输出相应信号表示计数终了。 输出锁存器OL用来锁存计数执行部件CE的内容,假设要获取计数初值,那么从计数初值存放器中直接读出。CR、CE和输出锁存器OL均为16位存放器,也可以用作8位存放器,这样在8位数据总线的情况下8253依然可以运用。 8253逻辑构造如下图,内部有六个模块,分别是: 13个独立的16位计数器2控制字存放器3读/写逻辑4数据总线缓冲器2控制字存放器此存放器用来保管来自CPU送入的控制字。控制字将决议计数器的任务方式、计数方式及输出方式,也能决议应如何装入计数器初值。8253的3个控制字存放器只占用一个地址号,根据控制字中最高二位来指定当前的控
7、制字是发给哪一个计数器的。控制字存放器只能写入,不能读取。 3读/写逻辑读/写逻辑的义务是接纳来自CPU的控制信号,完成对8253各计数存放器的读/写操作。 4数据总线缓冲器这是一个双向、三态8位缓冲器,它用于8253和系统数据总线衔接。 前往本节前往本节10.3 Intel 8253控制字和任务方式n10.3.1 Intel 8253的控制字 n10.3.2 Intel 8253的任务方式 前往本章首页前往本章首页10.3.1 Intel 8253的控制字的控制字n18253的端口地址CSA1A0端口地址(符号) PC/XT使用的地址 扩展板使用的地址 功能 000COUNT0 40H304
8、H选中计数器0 001COUNT1 41H305H选中计数器1010COUNT2 42H306H选中计数器2 011COUNT3 43H307H选中控制寄存器 100器件未选中 28253的编程控制字1SC1SC0D7D6用于选择计数器。2M2M0D3D1用于选择计数器的任务方式。3RL1RL0D5D4用于控制计数器读/写的字节数1或2字节以及读/写高低字节的顺序。4BCDD0用于指定计数器的码制,是按二进制还是按BCD码进展计数。38253的读操作方法有两种:1读之前先停顿计数在读数之前,先使计数器停顿任务,然后读数,目前普通不会运用这种方法。2读之前先送计数值锁存命令这是常用的方法。在计数
9、过程中,CPU读取计数值时,读取的高低字节能够不是同一时辰的值,为了防止CPU读到这种无效值,CPU进展计数值读取时必需锁存。 当CPU向8253写入一个适宜的控制值即RL1RL0=00时,OLH和OLL锁存CE中的当前计数值,然后跟随计数执行部件CE变化,直到允许锁存供CPU读取当前计数值时才停顿。CPU读取之后又跟随CE变化。 前往本节前往本节10.3.2 Intel 8253的任务方式 n8253作为一个可编程的芯片,可以用6种方式任务,但不论运用哪种方式任务,都要遵守下面几条根本规那么: 1控制字写入计数器时,一切的控制逻辑电路立刻复位,输出端OUT进入初始形状高电平或低电平;2初始值
10、写入之后,要经过一个时钟的上升沿和下降沿,计数执行部件才开场计数;3通常,在时钟脉冲CLK的上升沿,选通讯号GATE被采样。 4在时钟脉冲的下降沿,计数器进展减1计数。0是计数器所能包容的最大初始值模16时,二进制的0相当于216;模10000时,BCD码的0相当于10000。 (MODE 0) CLOCKWRn#OUTPUT(中断中断43210n=4WRm#OUTPUT(中断中断GATE m=4543210方式方式0 0:减:减1 1计数到计数到0 0时发中断恳求时发中断恳求 WRn#GATE(TRIGGER)43210OUTPUT34210 (MODE 1) CLOCKGATE(TRIGG
11、ER)OUTPUT234方式方式1 1:可编程单脉冲输出:可编程单脉冲输出WRn#4321 0(3)OUTPUTGATE(RESET)OUTPUT(MODE 2) CLOCKn=4n=3 0(4)3212100(3)3210(3)210(3)210方式方式2 2:周期性时间间隔计时器频率发生器:周期性时间间隔计时器频率发生器 422 1 0(4)OUTPUT n=4GATE(RESET)OUTPUT n=4n=4n=3 0(4)2103210(4)21 331(MODE 3) CLOCKOUTPUT n=53210(5)43210(5)430(5)430方式方式3 3:方波发生器:方波发生器(
12、MODE 4) CLOCKWRn#WRn#n=4n=4OUTPUTOUTPUTn=4n=40 01 12 23 34 44 44 43 32 21 10 0LOADnLOADn GATEGATEOUTPUTOUTPUT方式方式4 4:软件触发选通:软件触发选通(MODE 5) CLOCKOUTPUT(n=4)OUTPUT(n=4)0 01 12 23 34 44 43 32 21 10 0GATEGATE GATEGATEOUTPUTOUTPUT4 43 3方式方式5 5:硬件触发选通:硬件触发选通前往本节前往本节10.4 Intel 8253编程 8253的控制存放器和3个计数器具有独立的编
13、程地址,并且根据控制字的内容可以确定所要操作的存放器,因此8253的编程比较灵敏。在编程时,只需两条规定必需严厉遵守:1对计数器设置初值之前必需先写好控制字;2设置初始值时,要符合控制字的格式。编程的命令有两类,一类是读出命令,用于读取计数器当前的值;一类是写入命令,用于设置控制字、初始值和锁存。 前往本章首页前往本章首页1,8253初始化编程写入控制字。端口地址为8253端口始地址3,由D7和D6位的组合区分运用哪一个计数器。写入计数初值。根据控制字中读写指示位D5RW1,D4RW0的编码决议,假设规定只写低8位,那么高8位自动置0;假设规定写16位,那么先写低8位,后写高8位。例1:置计数
14、器0在任务方式3,按二进制计数,计数初值200H。解:确定方式控制字为36H,实现程序如下:MOVAL,36HMOVDX,CtrlPortOUTDX, AL ;方式方式控制字为36H送端口MOVDX, Port0MOVAL, 00H;计数初值的低8位OUTDX,ALMOVAL,02H;计数初值的高8位OUTDX,AL2,8253初始化编程举例SC1 SC0 RW1 RW0 M2 M1 M0 BCD000011113,8253编程运用举例例2:在一个实践的数据采集系统中,要求每5秒采一个数,现场的主时钟的振荡频率为2.5MHz。解:假设外部时钟为2.5MHz,那么计数次数(计数初值)为5/(1/2.5*106)=1.25*107一个计数器最大的计数次数为65536,所以必需采用二次计数器。用计数器0的输出OUT0 接计数器1的输入时钟CLK1。假设计数器0的计数初值为50000;那么OUT0的输出脉冲频率为着(2.5*106)/(5*104)=50Hz。即周期为0.02s。为了每5秒产生一个脉冲输出,计数器1为分频器(方式2),计数次数为5s/0.02=250经以上分析,总结如下:计数器0:方式3,输出50Hz脉冲, 控制字36H , 计数初值C350H计数器1:方式2,分频, 控制字54H ,计数初
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《财产权公开》课件
- 统编人教九年级语文上册《写作 尝试创作》示范课教学课件
- 颅脑肿瘤的护理
- 劳动合同法律制度考点
- 91win就业协议签约流程和注意事项
- 房产律师调查令申请书
- 返聘合同案例
- 2025年丽水货运资格证考试题答案
- 2025年唐山道路运输从业资格证模拟考试年新版
- 2025年贵港货运从业资格考题
- 市场调研员工作流程图
- 生态毒理学-山西大学中国大学mooc课后章节答案期末考试题库2023年
- 煤矿安全检查工试题与答案
- 大事记编写规范
- 当代大学生国家安全教育学习通课后章节答案期末考试题库2023年
- 外立面泛光照明施工方案
- 住院患者非计划拔管危险因素评估量表
- 产品合格证标准模板
- 工业机器人技术与应用PPT完整全套教学课件
- 斯坦福大学人生设计课
- 人教版PEP英语四年级上册全册双减同步分层作业设计含答案
评论
0/150
提交评论