32位微型计算机原理与接口技术(3节)陈书谦尹琦傅扬烈课件.ppt

上传人:rrsccc 文档编号:10271448 上传时间:2021-05-04 格式:PPT 页数:42 大小:1.10MB
返回 下载 相关 举报
32位微型计算机原理与接口技术(3节)陈书谦尹琦傅扬烈课件.ppt_第1页
第1页 / 共42页
32位微型计算机原理与接口技术(3节)陈书谦尹琦傅扬烈课件.ppt_第2页
第2页 / 共42页
32位微型计算机原理与接口技术(3节)陈书谦尹琦傅扬烈课件.ppt_第3页
第3页 / 共42页
32位微型计算机原理与接口技术(3节)陈书谦尹琦傅扬烈课件.ppt_第4页
第4页 / 共42页
32位微型计算机原理与接口技术(3节)陈书谦尹琦傅扬烈课件.ppt_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《32位微型计算机原理与接口技术(3节)陈书谦尹琦傅扬烈课件.ppt》由会员分享,可在线阅读,更多相关《32位微型计算机原理与接口技术(3节)陈书谦尹琦傅扬烈课件.ppt(42页珍藏版)》请在三一文库上搜索。

1、第 7 章,定时计数控制接口,第7章:定时计数控制接口,8253的引脚和六种工作方式,8253的编程,8253在IBM PC系列机上的应用,教学重点,第7章:定时器和计数器,定时控制在微机系统中具有极为重要的作用,计数是许多过程控制领域常用的功能 它们都是由数字电路中的计数电路构成 定时器由数字电路中的计数电路构成,通过记录高精度晶振脉冲信号的个数,输出准确的时间间隔 计数电路如果记录外设提供的具有一定随机性的脉冲信号时,它主要反映脉冲的个数(进而获知外设的某种状态),常又称为计数器,第7章:定时功能的实现方法,软件延时 利用微处理器执行一个延时程序段实现 不用硬件,但占用CPU时间、定时精度

2、不高,随系统时钟频率改变 不可编程的硬件定时 采用分频器、单稳电路或简易定时电路控制定时时间 定时电路简单、定时时间可以在一定范围改变 可编程的硬件定时 软件硬件相结合、用可编程定时器芯片构成一个方便灵活的定时电路 具有多种工作方式、能够输出多种控制信号,第7章:7.3 8253/8254定时计数器,3个独立的16位计数器通道 每个计数器有6种工作方式 按二进制或十进制(BCD码)计数,8254是8253的改进型,第7章:7.3.1 8253/8254的内部结构和引脚,第7章:1. 计数器,计数初值存于预置寄存器; 在计数过程中, 减法计数器的值不断递减, 而预置寄存器中的预置不变。 输出锁存

3、器用于写入锁存命令时, 锁定当前计数值,第7章:计数器的3个引脚,CLK时钟输入信号 在计数过程中,此引脚上每输入一个时钟信号(下降沿),计数器的计数值减1 GATE门控输入信号 控制计数器工作,可分成电平控制和上升沿控制两种类型 OUT计数器输出信号 当一次计数过程结束(计数值减为0),OUT引脚上将产生一个输出信号,第7章:2. 与处理器接口,D0 D7数据线 A0 A1地址线 CS#片选信号 RD#读信号 WR#写信号,第7章:7.3.2 8253/8254的工作方式,8253有6种工作方式,由方式控制字确定 熟悉每种工作方式的特点才能根据实际应用问题,选择正确的工作方式 每种工作方式的

4、过程类似: 设定工作方式 设定计数初值 硬件启动 计数初值进入减1计数器 每输入一个时钟计数器减1的计数过程 计数过程结束,第7章:方式0:计数结束中断, 设 定 工 作 方 式, 设 定 计 数 初 值, 计 数 值 送 入 计 数 器, 计 数 过 程, 计 数 结 束,无第三步骤,第7章:方式1:可编程单稳脉冲, 设 定 工 作 方 式, 设 定 计 数 初 值, 硬 件 启 动, 计 数 值 送 入 计 数 器, 计 数 过 程, 计 数 结 束,第7章:方式2:频率发生器(分频器),第7章:方式3:方波发生器,第7章:方式4:软件触发选通信号,第7章:方式5:硬件触发选通信号,第7章

5、:各种工作方式的输出波形,讨论: 计数开始的时刻,第7章:7.3.3 8253/8254的编程,8253加电后的工作方式不确定 8253必须初始化编程,才能正常工作 写入控制字 写入计数初值 读取计数值,第7章:1. 写入方式控制字,00 计数器0 01 计数器1 10 计数器2 11 非法,00 计数器锁存命令 01 只读写低字节 10 只读写高字节 11 先读写低字节 后读写高字节,000 方式0 001 方式1 010 方式2 011 方式3 100 方式4 101 方式5,0 二进制 1 十进制,控制字写入控制字I/O地址(A1A011),示例,第7章:2. 写入计数值,选择二进制时

6、计数值范围:0000HFFFFH 0000H是最大值,代表65536 选择十进制(BCD码) 计数值范围:00009999 0000代表最大值10000,计数值写入计数器各自的I/O地址,示例,第7章:3. 读取计数值,对8位数据线,读取16位计数值需分两次 计数在不断进行,应该将当前计数值先行锁存,然后读取: 向控制字I/O地址:给8253写入锁存命令 从计数器I/O地址:读取锁存的计数值,读取计数值,要注意读写格式和计数数制,第7章:8.3.4 8253在IBM PC系列机上的应用,第7章:7.3.5 定时中断和定时刷新,从阅读初始化程序段 看计数器0作为定时中断的作用,将计数器1作为定时

7、刷新 看如何编写初始化程序段,第7章:计数器0:初始化程序,mov al,36h;36H00 11 011 0B ;计数器0为方式3,采用二进制计数 ;先低后高写入计数值 out 43h,al;写入方式控制字 mov al,0;计数值为0 out 40h,al;写入低字节计数值 out 40h,al;写入高字节计数值,第7章:计数器0:定时中断,计数器0:方式3,计数值:65536,输出频率为1.19318MHz6553618.206Hz的方波 门控为常启状态,这个方波信号不断产生 OUT0端接8259A的IRQ0,用作中断请求信号 每秒产生18.206次中断请求,或说每隔55ms(54.92

8、5493ms)申请一次中断 DOS系统利用计数器0的这个特点,通过08号中断服务程序实现了日时钟计时功能,第7章:计数器1:定时刷新,需要重复不断提出刷新请求,门控总为高,选择方式2或3,2ms内刷新128次,即15.6s刷新一次,计数初值为18,第7章:计数器1:初始化程序,mov al,54h;54H01 01 010 0 B ;计数器1为方式2,采用二进制计数 ;只写低8位计数值 out 43h,al;写入方式控制字 mov al,18;计数初值为18 out 41h,al;写入计数值,第7章: 8.3.5 扬声器控制,计数器2的输出控制扬声器的发声音调 计数器2只能工作在方式3,才能输

9、出一定频率的方波,经滤波后得到近似的正弦波,进而推动扬声器发声 扬声器还受控于并行接口(8255芯片) 必须使PB0和PB1同时为高电平,扬声器才能发出预先设定频率的声音,第7章:发音频率设置子程序,;入口参数AX1.19318106发音频率 speakerproc push ax mov al,0b6h;b6h10110110b out 43h,al;写入控制字 pop ax out 42h,al;写入低8位计数值 mov al,ah out 42h,al;写入高8位计数值 ret speakerendp,第7章:扬声器开子程序,speakonproc push ax in al,61h;P

10、B端口的地址为61H or al,03h ;D1D0PB1PB011B,其他位不变 out 61h,al pop ax ret speakonendp,第7章:扬声器关子程序,speakoffproc push ax in al,61h;PB端口的地址为61H and al,0fch ;D1D0PB1PB000B,其他位不变 out 61h,al pop ax ret speakoffendp,第7章:例题1 扬声器声音的控制,;数据段 freqdw 1193180/600 ;代码段 mov ax,freq call speaker;设置扬声器音调 call speakon;打开扬声器声音 m

11、ov ah,1;等待按键 int 21h;按键后 call speakoff;关闭扬声器声音,第7章:7.4 可编程硬件延时,利用日时钟每隔55ms中断一次不变的特点,可以编写一段不随系统时钟频率变化的固定延时程序 由于日时钟中断的时间单位是55ms,所以无法实现更短时间的延时 这时只有利用实时时钟中断,不过它的最短延时约是1ms(976 s),第7章: 7.5 扩充定时计数器的应用,第7章:例题2 外部事件的计数,mov dx,203h;设置方式控制字 mov al,10h out dx,al mov dx,200h;设置计数初值 mov al,64h;计数初值为100 out dx,al,

12、输出:明确向哪个端口输出什么数据 输入:清楚从哪个端口输入什么数据,第7章:第7章教学要求,1. 掌握8253引脚,尤其是CLK、OUT、GATE引脚的功能 2. 掌握8253的六种工作方式、编程和在IBM PC系列机上的应用,计数开始的时刻,需要注意: 处理器写入8253的计数初值只是写入了预置寄存器,之后到来的第一个CLK输入脉冲(需先由低电平变高,再由高变低)才将预置寄存器的初值送到减1计数器。 从第二个CLK信号的下降沿,计数器才真正开始减1计数。,实验: 计数开始的时刻,实验结果1,实验结果2,8253/8254的I/O地址,0 1 0 0 0,0 1 0 0 1,0 1 0 1 0

13、,0 1 0 1 1,0 0 1 0 0,0 0 1 0 1,0 0 1 1 0,功 能,对计数器0设置计数初值,A1,A0,对计数器1设置计数初值,对计数器2设置计数初值,设置控制字,从计数器0读出计数值,从计数器1读出计数值,从计数器2读出计数值,8253的控制字编程,;某个8253的计数器0、1、2端口和控制端口地址依次是40H43H ;设置其中计数器0为方式0,采用二进制计数,先低后高写入计数值 mov al,30h ;方式控制字:30H00 11 000 0B out 43h,al ;写入控制端口:43H,8253的计数初值编程,;某个8253的计数器0、1、2端口和控制端口地址依次是40H43H ;设置计数器0采用二进制计数,写入计数初值:1024(400H) mov ax,1024;计数初值:1024(400H) ;写入计数器0地址:40H out 40h,al;写入低字节计数初值 mov al,ah out 40h,al;写入高字节计数初值,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1