《微机原理及接口技术》第七章
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、可编程计数/定时控制器
在微机应用系统中,常常要求有一些实时时钟,以实现对外部事件进行定时或 对微机外部输入的脉冲进行计数。一般有3种方法可实现定时/计数的要求。 1、软件方法 通过编制一个延时程序段让微处理器执行,利用执行程序所需时钟状态,得到定 时的时间。这种方法通用性和灵活性好,但占用CPU时间。 2、不可编程的硬件方法 采用分频器、单稳电路或简易定时电路控制定时时间,例如555定时电路,这种 方法不占用CPU时间,但通用性、灵活性差。 3、可编程计数器/定时器方法 软件硬件相结合、用可编程定时器芯片构成一个方便灵活的定时电路,可由软件 设定定时与计数功能,设定后与CPU并行工作,不占用CPU时间,使用灵活。
1 * 655 36 0.065 536 秒 100 0000
J X G
16/20
J X G
微机原理及接口技术
7.3 8253 的应用
一、8253 在PC机上的应用 微型计算机使用一片8253。3条计数通道分别用于日时钟计时、DRAM刷新定时 和扬声器发声。 计数器0、计数器1和计数器2的计数通道地址分别为40H、41H、42H,方式控制 字的端口地址为43H。三条计数器通道的时钟输入CLK均从Intel8284A时钟发生器 PLCK端经二分频得到,频率为1.19318MHz.周期838ns。这里重点介绍计数器2的作用, 连接如图。 计数器2的输出加到扬声器上并控制其发声,作为机器的报警或伴音信号。门
1、000:方式 0(计数结束产生中断) 2、001:方式1(可编程单拍脉冲) 3、010:方式2(分频器或脉冲信号发生器) 4、011:方式3(方波发生器) 性质:输出周期性方波,若计数值为N,则输出的方波周期是N个CLK周期。CPU写入 控制字后OUT变高,写完计数值后自动开始计数,输出保持高电平。当计到一 半计数值时,输出变低,直到计数到0,输出又变为高,重新开始计数。 特点:计数初值装入计数器,由GATE信号控制,若GATE=0暂停计数,GATE=1允许计 数。计数过程中,新装入值不影响原计数过程。计数为偶数,计数器减2,到 0,OUT改变,计数值重新装入,反复工作。为奇数,则第一次减1,以后减2。
;读8255的B口原输出值 ;保存 ;PB0.PB1同为1,打开GATA2 ;输出方波到扬声器发声 ;循环计数,最大值65535 ;延时 ;发声子程序入口条件 ;B1=6发长声,B1=1短声
J X G
;恢复8255原值
18/20
J X G
微机原理及接口技术
习 题 七
1. 试说明定时和计数在实际系统中的应用?这两者之间有何联系和差别?
⑥ 计数结束(0)
特点:计数器只计一遍。计数过程GATE控制,GATE=0 暂停计数,GATE=1 接着计 数。装入计数值为8位时,立即开始计数;装入16位计数值时,在写入第一
J X G
个字节后停止计数,等第二个字节写入后开始新的计数。
7/20
J X G
微机原理及接口技术 一、8253的工作方式2
第十章
1/20
J X G
微机原理及接口技术 第七章、可编程计数/定时控制器8253
本章要点:
计数器/定时器基本概念 可编程计数器/定时器8253的工作原理 可编程计数器/定时器8253结构、功能 可编程计数器/定时器8253的应用
J X G
2/20
J X G
微机原理及接口技术
7.1 可编程计数/定时控制器8253的结构
J X G
微机原理及接口技术 本课程教学模块
第一章、微型计算机基础知识
第二章、微型计算机的组成及工作原理
第三章、汇编语言程序设计 第四章、输入/输出接口 第五章、存储器及其结构 第六章、中断控制系统
第七章、可编程计数/定时控制器8253
第八章、数/模及模/数转换器 第九章
J X G
微型计算机外部设备简介 微型计算机开发应用
J X G
10/20
J X G
微机原理及接口技术 一、8253的工作方式5
1、000:方式 0(计数结束产生中断) 3、010:方式2(分频器或脉冲信号发生器) 5、100:方式4(软件触发选通) 写入控制字,OUT端为高电平,写入计数初值后立即开始计数(相当软件触发启 动),计数器计到0时,OUT变为低电平,经过一个CLK脉冲周期,OUT又变高,计数器 停止计数,只有写入新计数值才能开始新的计数。要求GATE一直为高电平。 2、001:方式1(可编程单拍脉冲) 4、011:方式3(方波发生器)
MOV OUT MOV OUT MOV OUT IN MOV OR OUT SUB GO: DEC JNZ MOV OUT AL,0B6H 43H,AL AX,1983 42H,AL AL,AH 42H,AL AL,61H AH,AL AL,03H 61H,AL CX,CX LOOP GO B1 GO AL, AH 61H,AL ;计数器2为方式3,用二进制计数 ;按先低后高写入16位计数初值 ;1.19NHz÷600Hz=1983 ;送16位初值到计数器2
出一个脉冲,脉冲宽度等于CLK周期。
特点:计数初值装入计数器后,由GATE信号控制,若GATE信号为0时,暂停计数, 当变为高电平的下一个CLK脉冲又开始重新计数。计数过程中,CPU可随时改
变计数值,当计数器减为0时,又按新的计数值分频。
J X G
9/20
J X G
Βιβλιοθήκη Baidu
微机原理及接口技术 一、8253的工作方式4
2、读/写控制逻辑: 8253内部操作的控制部分。
按照CPU发来的读写信号及地址信号产生相应的控制信号, 来选择读/写操作的端口、控制数据的传送方向,以及对控制寄存器的写入。
3、控制字寄存器: 控制字寄存器是8位的,只能写不能读。
在初始化编程时,CPU写入方式控制字到控制字寄存器中,
用以选择计数通道及其相应的工作方式。
8253-工作方式与门控信号的关系 方式 0 1 2 GATE=0及下降沿 暂停计数 不受影响 停止计数 GATE=1 允许计数 不受影响 允许计数 GATE上升 不受影响 从初值开始重新计数 从初值开始重新计数
3
4
停止计数
暂停计数
允许计数
允许计数
从初值开始重新计数
不受影响
5
不受影响
不受影响
从初值开始重新计数
J X G
3/20
J X G
微机原理及接口技术
二、8253内部功能结构
8253采用+5V单一电源,NMOS工艺制成,24引脚DIP封装
J X G
4/20
J X G
微机原理及接口技术
二、8253内部功能结构
1、数据总线缓冲器: 8位双向三态缓冲器。
通过编写程序向8253写入确定8253工作方式的命令; 向计数寄存器装入计数初值;读出当前计数值。
写入控制字,OUT变高,写入计数初值后,由GATE信号的上升沿触发开始计数。计
到0后,OUT变为低电平。经一个CLK周期后,OUT又变为高电平,并停止计数,等下 次GATE触发才能再计数。
J X G
12/20
J X G
微机原理及接口技术 一、8253的工作方式
8253-工作方式与输出波形
方式 0 功 能 输出波形 触发性质
控信号GETA2接并行口8255的PB0位,8255的PB端口地址61H。输出OUT2经过一个与门,
这个与门受PB1位控制。即扬声器可由8255的PB0或PB1分别控制发声。 控制程序:计数器2工作在方式3,作为方波发声器输出约1KHz的方波。
J X G
17/20
J X G
微机原理及接口技术
7.3 8253 的应用
计数结束产生 写初值后 , 经 N+1 个时钟周期 OUT 端变为高 软触发单次负脉冲 中断 电平, GATE=0停止计数 可重触发单稳 输出宽度为N个时钟周期的负脉冲,只要有新 硬触发单次负脉冲 态触发器 的GATE脉冲,重新计数 分频器 输出宽度为一个时钟周期的负脉冲, N为偶数,占空比为1/2; N为奇数, N+1/2个正 脉冲,N-1/2个负脉冲 自动触发连续的脉冲波
J X G
存命令(RW1RW0 = 00)后读入计数器当前值的方法。
15/20
J X G
微机原理及接口技术
二、8253的控制字和编程
例7-1:设CLKo输入方波为1MHz,计数器0#的定时时间范围可这样确定:若计数初 值为0(计数器#0是16位的,故计数初值0对应最大计数值216=65536),即 CLKo端输入65536个方波后,OUTo输出定时时间到信号。 定时时间为:
J X G
11/20
J X G
微机原理及接口技术 一、8253的工作方式6
1、000:方式 0(计数结束产生中断) 3、010:方式2(分频器或脉冲信号发生器) 5、100:方式4(软件触发选通) 2、001:方式1(可编程单拍脉冲) 4、011:方式3(方波发生器) 6、101:方式5(硬件触发选通)
1、000:方式 0 (计数结束产生中断) 2、001:方式1(可编程单拍脉冲) 性质:写入控制字,OUT端为高电平,计数初值装入该计数器后,在GATE信号的上
升沿后的下一个CLK脉冲的下降沿开始计数,OUT变为低电平。在整个计数过程中,
OUT保持低电平,当计数器减为0时,OUT变为高电平,输出一个单脉冲,若GATE信 号再由低变高,可再产生一个单脉冲,相当一个单稳态。
1
2
3
方波发生器
自动触发连续的方波
4
软件触发的选 写入初值后,经N个时钟周期, OUT变低一个 软触发单次单拍负脉冲 通信号 时钟周期 硬件触发的选 门控触发后,经N个时钟周期, OUT变低一个 硬触发单次单拍负脉冲 通信号 时钟周期
5
J X G
13/20
J X G
微机原理及接口技术 一、8253的工作方式
工作过程:
1)设定工作方式 〔 3) 硬件启动 〕
J X G
2)设定计数初值 4)计数初值进入减1计数器 6)计数过程结束
5)每输入一个时钟计数器减1的计数过程
6/20
J X G
微机原理及接口技术
一、8253的工作方式1
1、000:方式 0 (计数结束产生中断) 性质:写入控制字,OUT端为低电平,计数初值装入该计数器后,等待到GATE输入 高电平时,计数器开始递减计数。在整个计数过程中,OUT保持低电平,当 计数器减为0时,OUT输出高电平。 ① 设定工作方式(0) ② 设定计数初值(4) [3硬件启动(GATE=1)] ④ 计数值(4)送入计数器 ⑤ 计数过程(-1)
2. 定时和计数有哪几种实现方法?各有什么特点?
J X G
定时系数 = 要求定时时间 / 时钟脉冲周期
5/20
J X G
微机原理及接口技术
7.2
一、8253的工作方式
Intel 8253的每个计数通道都有6种工作方式。这6种主要有五点不同。
1)启动计数器的触发方式不同; 2)OUT输出波形不同;
8253的工作方式及控制字
3)计数过程中门控信号GATE对计数操作的影响不同; 4)在计数过程中重新写入计数初值对计数过程的影响不同; 5)计数过程结束,减法计数器是否恢复计数初值并自动重复计数过程不同。
① 设定工作方式(1)
② 设定计数初值(4) [3硬件启动(GATE=1)]
④ 计数值(4)送入计数器
⑤ 计数过程(--1) ⑥ 计数结束(0)
J X G
特点:GATE上升沿触发,计数值可重复使用。
8/20
J X G
微机原理及接口技术 一、8253的工作方式3
1、000:方式 0(计数结束产生中断) 3、010:方式2(分频器或脉冲信号发生器) 性质: 8253相当于一个分频脉冲产生器,若计数值为N,则每输入N个CLK脉冲,输 2、001:方式1(可编程单拍脉冲)
J X G
14/20
J X G
微机原理及接口技术
二、8253的控制字和编程
1、8253的方式
控制字格式
2、8253的编程
先初始化,步骤如下: 写入方式控制字,以选择计数通道,确定其工作方式。
写入计数初值到对应的计数通道中,确定计数定时时间。
读计数器的当前值,在计数中,CPU可以随时读取且不影响现行计数。 为了计数过程照常进行和保证CPU读到正确的计数器当前值,常常采用先写入锁
4、计数器0、计数器1、计数器2: 内部结构相同、功能相同,有各自独立的端口地址。
每个计数通道都由计数初值寄存器、减法计数器和计数值锁存器这三个组成。
作计数/定时器时,计数次数/定时系数提前预置到计数器,计数/时钟以脉冲方式从
CLK端输入,每输入一个脉冲计数器减1,减到0,OUT端有输出,计数结束/定时时间到。
在微机应用系统中,常常要求有一些实时时钟,以实现对外部事件进行定时或 对微机外部输入的脉冲进行计数。一般有3种方法可实现定时/计数的要求。 1、软件方法 通过编制一个延时程序段让微处理器执行,利用执行程序所需时钟状态,得到定 时的时间。这种方法通用性和灵活性好,但占用CPU时间。 2、不可编程的硬件方法 采用分频器、单稳电路或简易定时电路控制定时时间,例如555定时电路,这种 方法不占用CPU时间,但通用性、灵活性差。 3、可编程计数器/定时器方法 软件硬件相结合、用可编程定时器芯片构成一个方便灵活的定时电路,可由软件 设定定时与计数功能,设定后与CPU并行工作,不占用CPU时间,使用灵活。
1 * 655 36 0.065 536 秒 100 0000
J X G
16/20
J X G
微机原理及接口技术
7.3 8253 的应用
一、8253 在PC机上的应用 微型计算机使用一片8253。3条计数通道分别用于日时钟计时、DRAM刷新定时 和扬声器发声。 计数器0、计数器1和计数器2的计数通道地址分别为40H、41H、42H,方式控制 字的端口地址为43H。三条计数器通道的时钟输入CLK均从Intel8284A时钟发生器 PLCK端经二分频得到,频率为1.19318MHz.周期838ns。这里重点介绍计数器2的作用, 连接如图。 计数器2的输出加到扬声器上并控制其发声,作为机器的报警或伴音信号。门
1、000:方式 0(计数结束产生中断) 2、001:方式1(可编程单拍脉冲) 3、010:方式2(分频器或脉冲信号发生器) 4、011:方式3(方波发生器) 性质:输出周期性方波,若计数值为N,则输出的方波周期是N个CLK周期。CPU写入 控制字后OUT变高,写完计数值后自动开始计数,输出保持高电平。当计到一 半计数值时,输出变低,直到计数到0,输出又变为高,重新开始计数。 特点:计数初值装入计数器,由GATE信号控制,若GATE=0暂停计数,GATE=1允许计 数。计数过程中,新装入值不影响原计数过程。计数为偶数,计数器减2,到 0,OUT改变,计数值重新装入,反复工作。为奇数,则第一次减1,以后减2。
;读8255的B口原输出值 ;保存 ;PB0.PB1同为1,打开GATA2 ;输出方波到扬声器发声 ;循环计数,最大值65535 ;延时 ;发声子程序入口条件 ;B1=6发长声,B1=1短声
J X G
;恢复8255原值
18/20
J X G
微机原理及接口技术
习 题 七
1. 试说明定时和计数在实际系统中的应用?这两者之间有何联系和差别?
⑥ 计数结束(0)
特点:计数器只计一遍。计数过程GATE控制,GATE=0 暂停计数,GATE=1 接着计 数。装入计数值为8位时,立即开始计数;装入16位计数值时,在写入第一
J X G
个字节后停止计数,等第二个字节写入后开始新的计数。
7/20
J X G
微机原理及接口技术 一、8253的工作方式2
第十章
1/20
J X G
微机原理及接口技术 第七章、可编程计数/定时控制器8253
本章要点:
计数器/定时器基本概念 可编程计数器/定时器8253的工作原理 可编程计数器/定时器8253结构、功能 可编程计数器/定时器8253的应用
J X G
2/20
J X G
微机原理及接口技术
7.1 可编程计数/定时控制器8253的结构
J X G
微机原理及接口技术 本课程教学模块
第一章、微型计算机基础知识
第二章、微型计算机的组成及工作原理
第三章、汇编语言程序设计 第四章、输入/输出接口 第五章、存储器及其结构 第六章、中断控制系统
第七章、可编程计数/定时控制器8253
第八章、数/模及模/数转换器 第九章
J X G
微型计算机外部设备简介 微型计算机开发应用
J X G
10/20
J X G
微机原理及接口技术 一、8253的工作方式5
1、000:方式 0(计数结束产生中断) 3、010:方式2(分频器或脉冲信号发生器) 5、100:方式4(软件触发选通) 写入控制字,OUT端为高电平,写入计数初值后立即开始计数(相当软件触发启 动),计数器计到0时,OUT变为低电平,经过一个CLK脉冲周期,OUT又变高,计数器 停止计数,只有写入新计数值才能开始新的计数。要求GATE一直为高电平。 2、001:方式1(可编程单拍脉冲) 4、011:方式3(方波发生器)
MOV OUT MOV OUT MOV OUT IN MOV OR OUT SUB GO: DEC JNZ MOV OUT AL,0B6H 43H,AL AX,1983 42H,AL AL,AH 42H,AL AL,61H AH,AL AL,03H 61H,AL CX,CX LOOP GO B1 GO AL, AH 61H,AL ;计数器2为方式3,用二进制计数 ;按先低后高写入16位计数初值 ;1.19NHz÷600Hz=1983 ;送16位初值到计数器2
出一个脉冲,脉冲宽度等于CLK周期。
特点:计数初值装入计数器后,由GATE信号控制,若GATE信号为0时,暂停计数, 当变为高电平的下一个CLK脉冲又开始重新计数。计数过程中,CPU可随时改
变计数值,当计数器减为0时,又按新的计数值分频。
J X G
9/20
J X G
Βιβλιοθήκη Baidu
微机原理及接口技术 一、8253的工作方式4
2、读/写控制逻辑: 8253内部操作的控制部分。
按照CPU发来的读写信号及地址信号产生相应的控制信号, 来选择读/写操作的端口、控制数据的传送方向,以及对控制寄存器的写入。
3、控制字寄存器: 控制字寄存器是8位的,只能写不能读。
在初始化编程时,CPU写入方式控制字到控制字寄存器中,
用以选择计数通道及其相应的工作方式。
8253-工作方式与门控信号的关系 方式 0 1 2 GATE=0及下降沿 暂停计数 不受影响 停止计数 GATE=1 允许计数 不受影响 允许计数 GATE上升 不受影响 从初值开始重新计数 从初值开始重新计数
3
4
停止计数
暂停计数
允许计数
允许计数
从初值开始重新计数
不受影响
5
不受影响
不受影响
从初值开始重新计数
J X G
3/20
J X G
微机原理及接口技术
二、8253内部功能结构
8253采用+5V单一电源,NMOS工艺制成,24引脚DIP封装
J X G
4/20
J X G
微机原理及接口技术
二、8253内部功能结构
1、数据总线缓冲器: 8位双向三态缓冲器。
通过编写程序向8253写入确定8253工作方式的命令; 向计数寄存器装入计数初值;读出当前计数值。
写入控制字,OUT变高,写入计数初值后,由GATE信号的上升沿触发开始计数。计
到0后,OUT变为低电平。经一个CLK周期后,OUT又变为高电平,并停止计数,等下 次GATE触发才能再计数。
J X G
12/20
J X G
微机原理及接口技术 一、8253的工作方式
8253-工作方式与输出波形
方式 0 功 能 输出波形 触发性质
控信号GETA2接并行口8255的PB0位,8255的PB端口地址61H。输出OUT2经过一个与门,
这个与门受PB1位控制。即扬声器可由8255的PB0或PB1分别控制发声。 控制程序:计数器2工作在方式3,作为方波发声器输出约1KHz的方波。
J X G
17/20
J X G
微机原理及接口技术
7.3 8253 的应用
计数结束产生 写初值后 , 经 N+1 个时钟周期 OUT 端变为高 软触发单次负脉冲 中断 电平, GATE=0停止计数 可重触发单稳 输出宽度为N个时钟周期的负脉冲,只要有新 硬触发单次负脉冲 态触发器 的GATE脉冲,重新计数 分频器 输出宽度为一个时钟周期的负脉冲, N为偶数,占空比为1/2; N为奇数, N+1/2个正 脉冲,N-1/2个负脉冲 自动触发连续的脉冲波
J X G
存命令(RW1RW0 = 00)后读入计数器当前值的方法。
15/20
J X G
微机原理及接口技术
二、8253的控制字和编程
例7-1:设CLKo输入方波为1MHz,计数器0#的定时时间范围可这样确定:若计数初 值为0(计数器#0是16位的,故计数初值0对应最大计数值216=65536),即 CLKo端输入65536个方波后,OUTo输出定时时间到信号。 定时时间为:
J X G
11/20
J X G
微机原理及接口技术 一、8253的工作方式6
1、000:方式 0(计数结束产生中断) 3、010:方式2(分频器或脉冲信号发生器) 5、100:方式4(软件触发选通) 2、001:方式1(可编程单拍脉冲) 4、011:方式3(方波发生器) 6、101:方式5(硬件触发选通)
1、000:方式 0 (计数结束产生中断) 2、001:方式1(可编程单拍脉冲) 性质:写入控制字,OUT端为高电平,计数初值装入该计数器后,在GATE信号的上
升沿后的下一个CLK脉冲的下降沿开始计数,OUT变为低电平。在整个计数过程中,
OUT保持低电平,当计数器减为0时,OUT变为高电平,输出一个单脉冲,若GATE信 号再由低变高,可再产生一个单脉冲,相当一个单稳态。
1
2
3
方波发生器
自动触发连续的方波
4
软件触发的选 写入初值后,经N个时钟周期, OUT变低一个 软触发单次单拍负脉冲 通信号 时钟周期 硬件触发的选 门控触发后,经N个时钟周期, OUT变低一个 硬触发单次单拍负脉冲 通信号 时钟周期
5
J X G
13/20
J X G
微机原理及接口技术 一、8253的工作方式
工作过程:
1)设定工作方式 〔 3) 硬件启动 〕
J X G
2)设定计数初值 4)计数初值进入减1计数器 6)计数过程结束
5)每输入一个时钟计数器减1的计数过程
6/20
J X G
微机原理及接口技术
一、8253的工作方式1
1、000:方式 0 (计数结束产生中断) 性质:写入控制字,OUT端为低电平,计数初值装入该计数器后,等待到GATE输入 高电平时,计数器开始递减计数。在整个计数过程中,OUT保持低电平,当 计数器减为0时,OUT输出高电平。 ① 设定工作方式(0) ② 设定计数初值(4) [3硬件启动(GATE=1)] ④ 计数值(4)送入计数器 ⑤ 计数过程(-1)
2. 定时和计数有哪几种实现方法?各有什么特点?
J X G
定时系数 = 要求定时时间 / 时钟脉冲周期
5/20
J X G
微机原理及接口技术
7.2
一、8253的工作方式
Intel 8253的每个计数通道都有6种工作方式。这6种主要有五点不同。
1)启动计数器的触发方式不同; 2)OUT输出波形不同;
8253的工作方式及控制字
3)计数过程中门控信号GATE对计数操作的影响不同; 4)在计数过程中重新写入计数初值对计数过程的影响不同; 5)计数过程结束,减法计数器是否恢复计数初值并自动重复计数过程不同。
① 设定工作方式(1)
② 设定计数初值(4) [3硬件启动(GATE=1)]
④ 计数值(4)送入计数器
⑤ 计数过程(--1) ⑥ 计数结束(0)
J X G
特点:GATE上升沿触发,计数值可重复使用。
8/20
J X G
微机原理及接口技术 一、8253的工作方式3
1、000:方式 0(计数结束产生中断) 3、010:方式2(分频器或脉冲信号发生器) 性质: 8253相当于一个分频脉冲产生器,若计数值为N,则每输入N个CLK脉冲,输 2、001:方式1(可编程单拍脉冲)
J X G
14/20
J X G
微机原理及接口技术
二、8253的控制字和编程
1、8253的方式
控制字格式
2、8253的编程
先初始化,步骤如下: 写入方式控制字,以选择计数通道,确定其工作方式。
写入计数初值到对应的计数通道中,确定计数定时时间。
读计数器的当前值,在计数中,CPU可以随时读取且不影响现行计数。 为了计数过程照常进行和保证CPU读到正确的计数器当前值,常常采用先写入锁
4、计数器0、计数器1、计数器2: 内部结构相同、功能相同,有各自独立的端口地址。
每个计数通道都由计数初值寄存器、减法计数器和计数值锁存器这三个组成。
作计数/定时器时,计数次数/定时系数提前预置到计数器,计数/时钟以脉冲方式从
CLK端输入,每输入一个脉冲计数器减1,减到0,OUT端有输出,计数结束/定时时间到。