第九章 计数器和定时器电路 第一节 概述 第二节 Intel 8253的控制字 第三节 Intel 8253的工作方式 第九章 计数器和定时器电路 第一节 概述 第二节 Intel 8253的控制字 第三节 Intel 8253的工作方式 第四节 Intel 8253在IBM PC机上的应用.

Slides:



Advertisements
Similar presentations
微型计算机原理及应用.
Advertisements

第一章 计算机基础知识 计算机的发展简史 1 计算机软件系统 6 计算机的定义和分类 2 微型计算机的组成 7 计算机的特点和用途 3
输入输出程序设计 输入输出的基本概念 无条件方式输入输出 查询方式输入输出 中断方式输入输出.
微型计算机技术 教 学 指 导(七) 太原广播电视大学 郭建勇.
第10章 DOS功能调用与BIOS中断调用.
第四章 汇编语言 程序设计 任课教师:王晓甜
大连理工大学软件学院 软件工程系 赖晓晨 计算机组成与结构 大连理工大学软件学院 软件工程系 赖晓晨
输入/输出及接口 输入/输出的传送方式 中断技术 80x86/Pentium中断系统 8259A可编程中断控制器 中断程序设计
本周实验安排 实验内容:(P231)人名排序的例子。
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年10月30日.
得技通电子 问题 1 右何者非為假指令 (1) XRL (2) EQU (3) MACRO (4) ORG.
第7章 常用数字接口电路.
单片机原理与应用.
第3章 80x86汇编语言程序设计(下).
4.1 汇编语言 4.2 顺序结构程序 4.3 分支程序设计 4.4 循环程序设计 4.5 子程序设计
9.1 可编程并行输入/输出接口芯片8255A 9.2 可编程计数器/定时器 可编程串行输入/输出接口芯片8251A
3.3.5 程序控制指令 控制转移指令分为: 转移指令 循环控制指令 调用和返回指令 中断指令.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月26日.
第7章 中断与异常.
第5章 循环与分支程序设计  循环程序设计  分支程序设计.
汇编语言程序设计 Assembly Language Programming
第三章 寻址方式与指令系统 3.1 寻址方式 一条指令通常由两大部分构成: 操作码 操作数
微机原理与接口技术 第3章 8086指令系统 朱华贵 2015年09月25日.
第6章 DMA传输 6.1 DMA传输原理 6.2 DMA控制器8237A A的编程使用 欢迎辞.
第7章 并行接口 7.1 简单并行接口 7.2 可编程并行接口8255A 7.3 键盘接口 7.4 LED显示器接口.
第2章 MCS-51单片机指令系统与汇编语言程序设计
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年12月10日.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月05日.
输入输出与中断 主要内容 CPU与外设之间数据传送方式 中断技术 8086中断系统和中断处理.
第八章 输入输出程序设计 总线 CPU MEM I/O接口 I/O设备.
第4章 汇编语言程序设计 4.1 程序设计语言概述 4.2 汇编语言的程序结构与语句格式 4.3 汇编语言的伪指令
微机原理及应用 主讲:谢维成 西华大学 电气信息学院 1.
第七章 MCS-51并行口的扩展 MCS51单片机内部有4个并行口,当内部并行口不够用时可以外扩并行口芯片。可外扩的并行口芯片很多,分成2类:不可编程的并行口芯片(74LS3734和74LS245)和可编程的并行口芯片(8255)。 7.1 不可编程并行口芯片的扩展 7.2 可编程并行口芯片的扩展.
微机原理及应用 主讲:郑海春.
第一章 8086程序设计 第二章 MCS-51程序设计 第三章 微机基本系统的设计 第四章 存贮器与接口 第五章 并行接口
微机原理与接口技术 第9章 计时/计数接口.
第8章 PCH中的常规接口.
汇编语言程序设计课程设计 第二次实验 DEBUG基本命令与算术运算指令
本 章 重 点 单片机的简单I/O扩展 8255A可编程并口芯片 8279可编程键盘/显示器接口芯片 单片机键盘接口技术
第7章 微型机接口技术 可编程定时/计数器 可编程并行接口 串行接口与串行通信(概念) DMA控制器接口(不做要求) 模拟量输入/输出接口.
微型计算机原理及应用.
第3章 微型计算机输入输出接口 3.1 输入/输出接口 3.2 输入输出数据传输的控制方式 3.3 开关量输入输出接口 欢迎辞.
第六章 子程序结构 §6.1 子程序的设计方法 §6.2 嵌套与递归子程序 §6.3 子程序举例 §6.4 DOS系统功能调用.
第 13 章 中断系统.
第二章 模拟量输出通道 本章要点 1.模拟量输出通道的结构组成与模板通用性; 2.8位D/A转换器DAC0832的原理组成及其接口电路
6.1 输入/输出 6.2 CPU与外设数据传送方式 6. 3 MCS-51中断系统 6. 4 中断应用举例
條件處理.
第 12 章 8237A DMA控制器及其应用 中国科学技术大学 何克东.
第九章 高级宏汇编语言 9.1 结构 结构就是将逻辑上有一定关系的一组数据,以某种方式组合在一起所形成的数据形式。
第5章 循环与分支程序设计 学习目标: 了解并掌握循环程序的构造方法,尤其是对循环控制条件的设置以及可能出现的边界情况的考虑。掌握起泡排序算法这种多重循环程序设计中的常用方法。交换标志位的设置在此算法中更能提高效率。学会在数组排序算法中采用折半查找法来提高查找效率。学会使用跳跃表法实现CASE结构。
第6章作业 3、 需要128块芯片 片内译码地址线:10条 片选择地址线:至少4条
4.1 汇编语言程序格式 4.2 MASM中的表达式 4.3 伪指令语句 4.4 DOS系统功能调用和BIOS中断调用
第7章 I/O接口和总线 7.1 I/O接口 7.2 总线.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月19日.
第五章:输入输出基本技术 主讲教师:范新民.
第4章 汇编语言程序格式  汇编程序功能  伪操作  汇编语言程序格式  汇编语言程序的上机过程.
第10章 可编程外围接口芯片8255A及其应用 10.1 概述 A的工作原理 A的应用举例.
习题3 1、 分别说明下列指令的原操作数和目的操作数各采用什么寻址方式。 设定如下: ①立即寻址 ② ① ②寄存器寻址
可编程定时计数器.
第九章 BIOS和DOS中断 在存储器系统中,从地址0FE000H开始的8K ROM(只读存储器)中装有BIOS(Basic Iuput /output System)例行程序。驻留在ROM中的BIOS给PC系列的不同微处理器提供了兼容的系统加电自检,引导装入,主要I/O设备的处理程序以及接口控制等功能模块来处理所有的系统中断。使用BIOS功能调用,给程序员编程带来很大方便,程序员不必了解硬件操作的具体细节,直接用指令设置参数,然后中断调用BIOS中的子功能,所以利用BIOS功能编写的程序简洁,可读性好,
《微型计算机原理与接口技术》 第4版 王良 宁德师范学院 吴宁 乔亚男 编著 清华大学出版社 出版
第5章 循环与分支程序设计  循环程序设计  分支程序设计.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年12月17日.
第八章 中断系统.
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年11月06日.
第6章 子程序结构 在程序设计中,我们会发现一些多次无规律重复的程序段或语句序列。解决此类问题一个行之有效的方法就是将它们设计成可供反复调用的独立的子程序结构,以便在需要时调用。在汇编语言中,子程序又称过程。 调用子程序的程序称为主调程序或主程序。 2019/7/20 ch6.
微机原理与接口技术 第5章 汇编语言程序设计 西安邮电大学计算机学院 王 钰.
第4章 MCS-51汇编语言程序设计 教学基本要求: (1)、了解MCS-51汇编语言程序设计的特点;
第8章 并行接口芯片 并行接口一般具有两个或两个以上的8位I/O接口。各个口的工作方式可由程序分别确定或改变,使用灵活,便于和各种外部设备连接。因此,又称可编程的外部接口(PPI) 目前各主要微处理器厂商都有自己的PPI产品,但它们的功能基本类似.
第4章 汇编语言程序格式  汇编程序功能  伪操作  汇编语言程序格式  汇编语言程序的上机过程
Presentation transcript:

第九章 计数器和定时器电路 第一节 概述 第二节 Intel 8253的控制字 第三节 Intel 8253的工作方式 第九章 计数器和定时器电路 第一节 概述 第二节 Intel 8253的控制字 第三节 Intel 8253的工作方式 第四节 Intel 8253在IBM PC机上的应用 第五节 8253的应用

第一节 概述 定时/计数器可以实现定时与计数两个功能,可用于: 系统时钟 DRAM刷新定时 定时采样 实时控制 脉冲的计数 。。。

如何实现定时? 软件方法:用一段程序实现延时 硬件方法:定时/计数器电路 利用程序循环延迟指定的时间 缺点:CPU占用率?延时精度?兼容? 利用脉冲计数在设定的时间输出定时信号 ● 8253是一种硬件定时/计数器芯片

外部引线及内部结构 8253概貌 3个16位的定时/计数器(通道) 24引脚双列直插式 最高计数频率2MHz TTL电平兼容 单电源+5V供电

3个独立的16位计数器通道 每个通道都可以通过编程设定为6种工作方式之一 可设定为按二进制计数或二―十进制计数 8253的基本功能 3个独立的16位计数器通道 每个通道都可以通过编程设定为6种工作方式之一 可设定为按二进制计数或二―十进制计数

8253的内部结构和引脚信号 A0 A1 CS 计数器 1 2 CLK0 GATE0 OUT0 CLK1 GATE1 OUT1 数据 总线 1 2 CLK0 GATE0 OUT0 CLK1 GATE1 OUT1 数据 总线 缓冲器 读/写 控制 电路 RD WR A0 A1 CS 内部总线 D7-D0

外部引线及内部结构 连接系统端的主要引线: D7~D0 CS RD WR A1,A0 A1 A0 选 择 0 0 计数通道0 用于选择四个编址部件之一 A1 A0 选 择 0 0 计数通道0 0 1 计数通道1 1 0 计数通道2 1 1 控制寄存器

外部引线及内部结构 计数通道的主要引线(每通道均相同): CLKn 时钟脉冲输入,计数器的计时基准。 GATEn 门控信号输入,控制计数器的启停。 OUTn 计数器输出信号,不同工作方式下 产生不同波形。 (n = 0~2)

图9-1 计数器逻辑图

定时/计数器的工作过程 1. 设置8253的工作方式 2. 设置计数初值到初值寄存器 3. 第一个CLK信号使初值寄存器的内容置入 计数寄存器 4. 以后每来一个CLK信号,计数寄存器减1 5. 减到0时,OUT端输出一特殊波形的信号 注:以上计数过程中还受到GATE信号的控制

CPU通过OUT指令把控制字写入控制寄存器。 第二节 Intel 8253的控制字 用于确定各计数器的工作方式。 8253必须先初始化才能正常工作。 每个计数器都必须初始化一次。 CPU通过OUT指令把控制字写入控制寄存器。

控制字寄存器 (A1A0 = 1 1 ) SC1 SC0 RL1 RL0 M2 M1 M0 BCD 1 BCD码计数 0 2进制计数 0 2进制计数 00 计数器0 01 计数器1 10 计数器2 1 1 无效 计数器选择: 000 方式 0 001 方式 1 10 方式 2 11 方式 3 100 方式 4 101 方式 5 方式选择 读写操作 00 计数器锁存,供CPU读 01只读/写计数器低字节 10只读/写计数器高字节 11先读/写计数器低字节, 后读/写高字节 8253控制字

若要用通道1,工作在方式2,按二--十进制计数,计数值为1005H,端口地址为04H~07H,则初始化编程为: MOV AL,75H OUT 07H,AL MOV AL,05H OUT 05H,AL MOV AL,10H

读取通道0的16位计数值: MOV AL,00H OUT 07H,AL IN AL,04H MOV CL,AL MOV CH,AL

工作方式 第三节 Intel 8253的工作方式 方式1——可重复触发的单稳态触发器 方式2——频率发生器 方式3——方波发生器 方式0——计数结束中断 方式1——可重复触发的单稳态触发器 方式2——频率发生器 方式3——方波发生器 方式4——软件触发选通 方式5——硬件触发选通

8253的工作方式 1、方式0 CW=10 LSB=4 WR CLK GATE OUT 4 3 2 1 FF FE 图9-4 方式0的波形

图9-5 方式0 GATE信号的作用

图9-6 方式0 在计数过程改变计数值

方式0特点: (1)计数器只计数一遍 (2)输出信号OUT会在N+1个CLK脉冲后变高 (3)GATE变低电平可以停止计数过程 (4)改变计数立即有效

2、方式1 CW=12 LSB=3 WR CLK GATE OUT FF 3 2 1 3 2 图9-7 方式1的波形

图9-8 方式1 GATE信号的作用

LSB=4 图9-9 方式1在计数过程改变计数值

方式1特点: (1)计数到0后,如果有外部触发,就可以按原来的计数初值工作 (2)计数过程中GATE信号可以用作重新触发,计数器重新计数 (3)改变计数初值并不是立即有效

3、方式2 CW=14 LSB=3 WR CLK GATE OUT 3 2 1 0 2 1 图9-10 方式2的波形

图9-11 方式2  GATE信号的作用

图9-12 方式2在计数过程中改变计数值

方式2特点: (1)不用重新设置计数值,计数器可以连续工作 (2)以GATE信号停止计数。在GATE变成高电平后的下一个CLK脉冲,计数器恢复原来的初值,重新计数 (3)改变计数值不是立即有效

4、方式3 CW=16 LSB=4 WR CLK GATE OUT 4 2 4 2 4 2 4 2 4 2 图9-13 方式3波形(计数值为偶数)

图9-14 方式3波形(计数值为奇数)

图9-15 方式3 GATE信号的作用

方式3特点: (1)GATE信号由低变高可以使计数过程重新开始 (2)改变计数初值并不影响现行的计数过程

5、方式4 CW=18 LSB=3 WR CLK GATE OUT 3 2 1 FF FE FD 图9-16 方式4的波形

图9-17 方式4 GATE信号的作用

图9-18 方式4在计数过程中改变计数值

方式4特点: (1)如果设置计数初值为N,则输出信号OUT会在N+1个CLK脉冲后输出一个负脉冲。 (2)改变计数值为立即有效

6、方式5 CW=1A LSB=3 WR CLK GATE OUT 3 2 1 FF 3 图9-19 方式5的波形

图9-20 方式5 GATE信号的作用

图9-21 方式5在计数过程中改变计数值

方式5特点: (1)若设置计数值为N,则经过N+1个CLK脉冲后OUT引脚输出一个负脉冲 (2)GATE信号重新触发,可以令计数器重新计数 (3)改变计数初值并不是立即有效

工作方式总结

第四节 Intel 8253在IBM PC机上的应用

编程控制计算机扬声器发声: (1)通过PB1对扬声器控制 PB0=0使得8253计数器2的OUT2输出为高电平。然后通过编程使得PB1不断进行反相操作,高低电平分别持续相同的时间,使得输出一定频率的方波,驱动扬声器发声

参考程序

(2)通过8253计数器2对扬声器控制 8255PB0端口输出为高电平,使能8253计数器2;PB1端口也为高电平,打开与门。计数器2工作在方式3,通过预置合适的计数初值,使得计数器2输出一定频率的方波

参考程序

第五节 8253的应用 一、计算机钢琴程序 1、设计要求: 第五节 8253的应用 一、计算机钢琴程序 1、设计要求: 利用8253定时器的作用,通过控制计算机内部的扬声器,当键盘输入为数字键1~8的时候,依次发出1~8八个音调。当键盘输入为CTRL+C时推出“钢琴”状态

2、设计思路 各音符的频率值 键入字符 1 2 3 4 5 6 7 8 音符 频率值 524 588 660 698 784 880 988 1048 要使计算机成为可以弹奏的钢琴,需要使用系统调用的01H功能以接收键入字符,可以通过建立一张键入字符与频率值相关的表,在程序中通过查表的方法将键入字符转化成频率值

结束 键入字符值转化为查表偏移量 相除得到计数初值 初始化8253计数器2 延时 关闭与门,切断脉冲信号源 接收键入字符 是CTRL+C键? Y 结束 N 键入字符值转化为查表偏移量 常数120000H作为被除数 查表所得频率值作为除数 相除得到计数初值 初始化8253计数器2 设置8255PB1=PB0=1 延时 关闭与门,切断脉冲信号源

DATA SEGMENT TABLE DW 524,588,660,784,880,988,1048 DATA ENDS STACK SEGMENT STA DB 20 DUP (?) TOP EQU LENGTH STA STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACK,ES:DATA START:MOV AX,DATA MOV DS,AX MOV AX,STACK MOV SS,AX MOV AX,TOP MOV SP,AX

SING:MOV AH,01H INT 21H ;接收键入字符 CMP AL,03H ;是CTRL+C键? JZ DONE ;是则结束 SUB AL,31H SHL AL,01 ;转化为查表偏移量(每一表项占两字节) MOV BL,AL MOV AX,0000H MOV DX,12H MOV BH,00 DIV WORD PTR [TABLE+BX] ;相除求得频率值 MOV BX,AX MOV AL,10110110B OUT 43H,AL ;设置8253计数器控制字 MOV AX,BX OUT 42H,AL

MOV AL,AH OUT 42H,AL IN AL,61H OR AL,03H OUT 61H,AL ;打开与门 CALL DELAY ;软件延时 AND AL,0FCH OUT 61H,AL JMP SING DONE:MOV AX,4C00H ;结束 INT 21H DELAY PROC NEAR PUSH CX PUSH AX MOV AX,03H

LOOP1:MOV CX,0FFFFH LOOP2:DEC CX JNZ LOOP2 DEC AX JNZ LOOP1 POP AX POP CX RET DELAY ENDP CODE ENDS END START

二、自动计数系统。   当工件从光源与光敏电阻之间通过时,CLK0端即可接收到一个脉冲信号,由计数器0计数。每当有80个工件通过后,由输出端OUT0输出一个负脉冲作为中断请求信号通知CPU。CPU在处理该中断的中断服务程序中启动计数器1,由OUT1产生2000Hz的方波驱动蜂鸣器发声,提示工件以满80个,5秒后扬声器停止发声。

光敏电阻 驱动器 扬声器 CLK1 GATE1 5MHz 8255PA1 OUT0 TNT OUT1 光源 工件 R +5V