




已阅读5页,还剩57页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章 微型机接口技术,可编程定时/记数器 可编程并行接口 串行通信和串行接口 *模拟通道接口,概述,I/O接口的功能: 地址译码和I/O设备选择 信息的输入与输出 数据的缓冲及锁存 信息的转换,可编程定时/计数器,定时控制在微机系统中具有极为重要的作用,计数是许多过程控制领域常用的功能(P272) 定时器由数字电路中的计数电路构成,通过记录高精度晶振脉冲信号的个数,输出准确的时间间隔 计数电路用于记录外设提供的具有一定随机性的脉冲信号时,它主要反映脉冲的个数(进而获知外设的某种状态),常又称为计数器,定时功能的实现方法,软件延时 利用微处理器执行一个延时程序段实现 不用硬件,但占用CPU时间、定时精度不高,随系统时钟频率改变 不可编程的硬件定时 采用分频器、单稳电路或简易定时电路控制定时时间 定时电路简单、定时时间可以在一定范围改变 可编程的硬件定时 软件硬件相结合、用可编程定时器芯片构成一个方便灵活的定时电路 具有多种工作方式、能够输出多种控制信号,8253/8254定时计数器,3个独立的16位计数器通道 每个计数器有6种工作方式 按二进制或十进制(BCD码)计数,8254是8253的改进型,8253/8254的内部结构和引脚,1. 计数器,计数初值存于预置寄存器; 在计数过程中, 减法计数器的值不断递减, 而预置寄存器中的预置不变。 输出锁存器用于写入锁存命令时, 锁定当前计数值,计数器的3个引脚,CLK时钟输入信号 在计数过程中,此引脚上每输入一个时钟信号(下降沿),计数器的计数值减1 GATE门控输入信号 控制计数器工作,当GATE引脚为低电平时,禁止计数器工作;只有当GATE为高电平时,才允许计数器工作 OUT计数器输出信号 当一次计数过程结束(计数值减为0),OUT引脚上将产生一个输出信号,与处理器接口,D0 D7数据线 A0 A1地址线 CS*片选信号 RD*读信号 WR*写信号,8253/8254的工作方式,8253有6种工作方式,由方式控制字确定 每种工作方式的工作过程相类似: 设定工作方式 设定计数初值 硬件启动 计数初值进入减1计数器 每输入一个时钟计数器减1的计数过程 计数过程结束,方式0:计数结束中断, 设 定 工 作 方 式, 设 定 计 数 初 值, 计 数 值 送 入 计 数 器, 计 数 过 程, 计 数 结 束,方式0的主要特点,计数器只计数一遍,当计数到0时,并不恢复计数初值,且输出保持为高。 8253内部是在CPU写计数值的WR信号上升沿,将此值写入通道的预置寄存器,在WR信号上升沿后的下一个CLK脉冲,才将计数值由预置寄存器送至减1计数器作为初值,开始计数。所以,8253是在写计数值命令后经过一个输入脉冲,才将计数值装入减1计数器,下一个脉冲才开始计数。因此,如果设置计数初值为N,则输出信号OUT是在N+1个CLK脉冲之后才变高的。,在计数过程中,可由门控制信号GATE控制暂停。当GATE=0时,计数暂停;当GATE变高后,就接着计数,在计数过程中可以改变计数值。若是8位计数,则在写入新的计数值后,计数器将按新的计数值重新开始计数;如果是16位计数,在写入第一个字节后,计数器停止计数,在写入第二个字节后,计数器便按照新的数值开始计数,即改变计数值是立即有效的,方式1:可重复触发的单稳触发器, 设 定 工 作 方 式, 设 定 计 数 初 值, 硬 件 启 动, 计 数 值 送 入 计 数 器, 计 数 过 程, 计 数 结 束,方式1的主要特点,若设置的计数值为N,则输出的单拍脉冲的宽度即为N个输入脉冲间隔。 当计数到0后,可再次由外部GATE触发启动,于是可再输出一个同样宽度的单拍脉冲,而不用再次送入一个计数值。,在计数过程中,外部可发出门控脉冲进行再触发。在再触发脉冲上升沿之后的一个CLK脉冲的下降沿,计数器将重新开始计数。,在计数过程中,CPU可改变计数值,这时计数过程不受影响,计数到0后输出为高。若再次触发启动,则计数器将重按新输入的计数值计数,即计数值是下次有效。,方式2:频率发生器(分频器),方式2的主要特点,不用重新设置计数值,通道能够连续工作,输出固定频率的脉冲。 计数器写入控制字和计数初值后,如GATE一直处于高电平,则在下一脉冲开始计数。这种通过写入计数初值使计数器同步,称为软件同步,计数过程可由GATE控制脉冲。当GATE变低时,就暂停计数;在GATE变高后的下一个CLK脉冲使计数器恢复初值,重新开始计数。这种通过门控信号实现计数器的同步,称为硬件同步,在计数过程中可以改变计数值,这对正在进行的计数过程没有影响,但在计数到1时输出变低,过一个CLK周期输出又变高,计数器将按新的计数值计数,所以改变计数值是下次有效的,方式3:方波发生器,方式3和方式2的输出都是周期性的,它们的主要区别是:方式3在计数过程中输出有一半时间为高,另一半时间为低。 若计数值为N,则方式3的输出为方波,周期是N个CLK脉冲。在这种方式,当CPU设置控制字后,输出将为高,在写完计数值后就自动开始计数,输出保持为高;当计数到一半计数值时,输出变为低,直至计数到0,输出又变高,重新开始计数。,方式3的主要特点,若计数值为偶数,在装入计数值后,每一个CLK脉冲都使计数值减2,当计数值减到0时,一方面使输出改变状态,另一方面又重新装入计数值开始新的计数 若计数值为奇数,则在装入计数值后的第一个CLK脉冲使计数器减1,其后每一个CLK脉冲使计数器减2。当计数到0时,改变输出状态,同时重新装入计数值。这以后的第一个CLK脉冲使计数器减3,以后每一个CLK脉冲,计数器仍减2,直到计数器再次到0时,输出恢复为高。所以,如果计数值N是奇数,则输出有(N+1)/2个CLK脉冲周期为高,而在(N-1)/2脉冲周期为低。即OUT为高将比其为低多一个CLK周期时间。,GATE信号能使计数过程重新开始。GATE=1允许计数,GATE=0禁止计数。如果在输出OUT为低期间,GATE=0,OUT将立即变高,停止计数。当GATE变高以后,计数器将重新装入初始值,重新开始计数。,若在计数期间写入一个新的计数值,并不影响现行的计数过程。但是若在方波半周期结束之前和新计数值写入之后收到GATE脉冲,计数器将在下一个CLK脉冲时装人新的计数值并以这个计数值开始计数。否则,新计数值将在现行半周结束时装入计数器,方式4:软件触发选通信号,方式4的特点,CPU写入计数值后的下一个CLK脉冲,把计数值写入计数器,再下一个CLK脉冲开始减数。因此,若设置的计数值为N,则是在写了计数值后的N+1个脉冲,才输出一个负脉冲。 若计数值是双字节,则在设置第一字节时停止计数,在设置第二字节后,按照新的计数值开始计数,当GATE=1时允许计数,而GATE=0时禁止计数。所以,要做到软件启动,则GATE应保持为1,若在计数过程中,改变计数值,则按新的计数值重新开始计数。,方式5:硬件触发选通信号,方式5的特点,若设置计数值为N,则在门控脉冲触发后,经过N+1个CLK脉冲,才输出一个负脉冲 若在计数过程中使用门控脉冲,则使计数器重新开始计数,但对输出的状态没有影响,若在计数过程中改变计数值,只要没有门控信号的触发,不影响计数过程。当计数到0后,若有新的门控信号的触发,则按新的计数值计数 但若在写入了新的计数值后,在没有计数到0之前,有新的门控脉冲触发,则立即按新的计数值重新开始计数,各种工作方式的输出波形,8253/8254的编程,8253加电后的工作方式不确定 8253必须初始化编程,才能正常工作 写入控制字 写入计数初值 读取计数值,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),2. 写入计数值,选择二进制时 计数值范围:0000HFFFFH 0000H是最大值,代表65536 选择十进制(BCD码) 计数值范围:00009999 0000代表最大值10000,计数值写入计数器各自的I/O地址,3. 读取计数值,对8位数据线,读取16位计数值需分两次 计数在不断进行,应该将当前计数值先行锁存,然后读取: 向控制字I/O地址:给8253写入锁存命令 从计数器I/O地址:读取锁存的计数值,读取计数值,要注意读写格式和计数数制,8254,Intel 8254是Intel 8253的改进型,因此它的操作方式以及引脚与8253完全相同。它的改进主要反映在两个方面: (1)8254的计数频率更高。8254计数频率可达到6MHz,8254-2频率可高达10MHz。 (2)8254多了一个读回命令,可锁存最多三个计数器的当前计数值和状态信息,读回命令格式 A1A0=11,CS*=0,RD*=1,WR*=0,当读回命令把某通道的计数值和状态信息锁存后,对该端口第一次读操作读取状态字节,第二(或三)次读操作读取计数值 状态字格式 D5D0:写入此通道的控制字的相应部分。 D6: 反映预置寄存器中的计数值是否已经写入计数单元 D6=1:空计数值 D6=0:计数值有效 D7反映了该计数器的输出引脚OUT信号的状态,输出(OUT)为高电平,则D7=1;输出为低电平,则D7=0。,8253在IBM PC系列机上的应用,1. 定时中断和定时刷新,从阅读初始化程序段看计数器0作为定时中断的作用,将计数器1作为定时刷新看如何编写初始化程序段,计数器0:初始化程序,mov al,36h ;36H00 11 011 0B ;计数器0为方式3,采用二进制计数 ;先低后高写入计数值 out 43h,al ;写入方式控制字 mov al,0 ;计数值为0 out 40h,al ;写入低字节计数值 out 40h,al ;写入高字节计数值,计数器0:定时中断,计数器0:方式3,计数值:65536,输出频率为1.19318MHz6553618.206Hz的方波 门控为常启状态,这个方波信号不断产生 OUT0端接8259A的IRQ0,用作中断请求信号 每秒产生18.206次中断请求,或说每隔55ms(54.925493ms)申请一次中断 DOS系统利用计数器0的这个特点,通过08号中断服务程序实现了日时钟计时功能,计数器1:定时刷新,需要重复不断提出刷新请求,门控总为高,选择方式2或3,2ms内刷新128次,即15.6s刷新一次,计数初值为18,计数器1:初始化程序,mov al,54h ;54H01 01 010 0 B ;计数器1为方式2,采用二进制计数 ;只写低8位计数值 out 43h,al ;写入方式控制字 mov al,18 ;计数初值为18 out 41h,al ;写入计数值,2. 扬声器控制,计数器2的输出控制扬声器的发声音调 计数器2只能工作在方式3,才能输出一定频率的方波,经滤波后得到近似的正弦波,进而推动扬声器发声 扬声器还受控于并行接口(8255芯片) 必须使PB0和PB1同时为高电平,扬声器才能发出预先设定频率的声音,发音频率设置子程序,;入口参数AX1.19318106发音频率 speaker proc push ax mov al,0b6h ;b6h10110110b out 43h,al ;写入控制字 pop ax out 42h,al ;写入低8位计数值 mov al,ah out 42h,al ;写入高8位计数值 ret speaker endp,扬声器开子程序,speakon proc push ax in al,61h ;PB端口的地址为61H or al,03h ;D1D0PB1PB011B,其他位不变 out 61h,al pop ax ret speakon endp,扬声器关子程序,speakoff proc push ax in al,61h ;PB端口的地址为61H and al,0fch ;D1D0PB1PB000B,其他位不变 out 61h,al pop ax ret speakoff endp,例 扬声器声音的控制,;数据段 freq dw 1193180/600 ;代码段 mov ax,freq call speaker ;设置扬声器音调 call speakon ;打开扬声器声音 mov ah,1 ;等待按键 int 21h ;按键后 call speakoff ;关闭扬声器声音,3. 扩充定时计数器的应用,例 外部事件的计数,mov dx,203h ;设置方式控制字 mov al,10h out dx,al mov dx,200h ;设置计数初值 mov al,64h ;计数初值为100 out dx,al,输出:明确向哪个端口输出什么数据 输入:清楚从哪个端口输入什么数据,后面内容直接删除就行 资料可以编辑修改使用 资料可以编辑修改使用 资料仅供参考,实际情况实际分析,主要经营:课件设计,文档制作,网络软件设计、图文设计制作、发布广告等 秉着以优质的服务对待每一位客户,做到让客户满意! 致力于数据挖掘,合同简历、论文写作、PPT设计、计划书、策划案、学习课件、各类模板等方方面面,打造全网一站式需求,感谢您的观看和下载,The user can demonstrate on a projector or computer, or print the presentation and make it into a film to be used in a wider field,后面内容直接删除
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025安徽宣城市旌德县兴业融资担保有限公司招聘3人考前自测高频考点模拟试题及完整答案详解1套
- 2025年潍坊寒亭区(经济区)公开招聘中小学教师(11名)考前自测高频考点模拟试题附答案详解(考试直接用)
- 2025江苏南京白下人力资源开发服务有限公司招聘劳务派遣人员2人(二十五)模拟试卷有答案详解
- 2025湖北咸宁市通山县政金融资担保有限公司招聘工作人员3人模拟试卷及1套参考答案详解
- 2025年福建泉州市华侨大学分析测试中心招聘实验技术系列人员(4月)模拟试卷有完整答案详解
- 2025国内产品交易合同协议书
- 解除商品房租赁合同5篇
- 教资保育考试题库及答案
- 美术创意考试题库及答案
- 代理合同电线代理合同6篇
- 生产主管转正工作总结
- 2025-2026秋学生国旗下演讲稿:第4周涵养文明习惯点亮成长底色-养成教育
- 《陆上风电场工程概算定额》NBT 31010-2019
- 小学科学教学仪器配备标准
- 苏教版四年级(上)科学第二单元测试题(无答案)
- 辽宁省沈阳市基层诊所医疗机构卫生院社区卫生服务中心村卫生室名单目录信息
- 锅炉空预器清洗方案
- 《霜降-二十四节气》 课件
- 药敏试验结果的解读
- 冶金行业应用产品介绍(应用)
- 机械制造装备设计课后习题答案
评论
0/150
提交评论