实验一-流光发生器设计7页

上传人:文库****9 文档编号:170624561 上传时间:2021-03-03 格式:DOC 页数:7 大小:326.50KB
返回 下载 相关 举报
实验一-流光发生器设计7页_第1页
第1页 / 共7页
实验一-流光发生器设计7页_第2页
第2页 / 共7页
实验一-流光发生器设计7页_第3页
第3页 / 共7页
实验一-流光发生器设计7页_第4页
第4页 / 共7页
实验一-流光发生器设计7页_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《实验一-流光发生器设计7页》由会员分享,可在线阅读,更多相关《实验一-流光发生器设计7页(7页珍藏版)》请在金锄头文库上搜索。

1、实 验 报 告( 2014 2015 学年 第 一 学期)课程名称 微型计算机接口技术实验名称流光发生器设计实验时间2014年 11月25 日指导单位指导教师学生姓名班级学号学院(系)计算机软件专 业软件工程实 验 报 告实验名称流光发生器设计指导教师韩崇实验类型验证实验学时2实验时间2014.11.25一、 实验目的和要求1.掌握8254的结构、工作原理、工作方式、初始化编程及使用方法。 2.完成相应的硬件电路连线并编写程序,使8254的三个计数器输出不同周期的方波信号,控制三个发光二极管,达到流光效果。二、实验环境(实验设备)PD-32开放式微型计算机教学实验装置、8254定时器/计数器模

2、块Windows 操作系统三、实验原理及内容8254有3个独立的16位计数器,每个计数器有3个引脚,GATE、CLK、OUT。每个计数器有6种工作方式,其中方式2、3有具有初值自动重装功能,所以可以选择计数器工作在方式3,输出的是连续信号,输出信号的周期Tout =NTCLK,。初始化编程时,程序员向计数初值寄存器写入的计数初值,将自动送入16位减1计数器。当GATEi=1时,每一个CLKi信号的下降沿使减1计数器减1,当计数器见到某个规定的数值时,OUTi端产生输出信号。在计数过程中,锁存器随减1计数器的变化而变化。8254使用单一+5v电源有24个引脚,采用双列直插式封装。8254的3个计

3、数器均有6种工作方式,其主要区别在于:(1)输出波形不同;(2)启动计数器的触发方式不同;(3)计数过程中门控信号GATE对计数操作的影响不同;(4)有的工作方式具备“初值自动重装”功能。初值自动充装的功能是:当计数器减到规定的数值后,计数初值将会自动地装入计数器重新计数。8254 的6种工作方式分别是:方式0计数结束输出正跃变信号。其工作特点是:(1)写入控制字后,OUT端输出低电平,写入计数初值后,OUT端保持低电平,计数器开始对CLK脉冲进行减1计数。当计数值减为0时,OUT端输出变为高电平。此信号可用于向CPU发出中断请求。(2)在计数过程中,如果改变计数初值,则在写入新的计数初值后,

4、计数器将以新的值为计数初值,重新开始减1计数。(3)GATE为计数控制信号,当GATE=1时,允许计数;GATE=0时,停止计数。 方式1单脉冲发生器。其工作特点是:(1)写入控制字后,OUT端输出高电平,写入计数初值后,OUT端保持高电平,计数器由GATE的上升沿启动。GATE启动后,OUT变为低电平,每来一个CLK脉冲,计数器减1,当计数器减到0时,OUT端输出高电平,在OUT端输出一个负脉冲,负脉冲宽度为计数初值乘以CLK脉冲周期。(2)在计数器未减到0时,如果门控信号GATE再来一个正脉冲,计数初值将重新装入计数器,计数器从初始值开始重新作减1计数。(3)在计数过程中,程序员可装入新的

5、计数初值,但计数过程不收影响。只有当GATE再一次出现01的跃变后,计数器才能按照新的计数初值作减1计数。 方式2分频器。其工作特点是:(1)写入控制字后,OUT端输出为高电平,写入计数初值后,如果GATE为高电平,计数器开始减1计数,当计数器减到1时,OUT端输出低电平,经过一个CLK周期,又变为高电平,并且计数初值自动重装,计数器开始重新计数,周而复始。OUT端输出时连续的负脉冲,负脉冲宽度为一个CLK周期。(2)如果在减1计数过程中,GATE变低,则暂停计数,GATE的上升沿使计数器恢复初值,并从初值开始减1计数。(3)在计数过程中,如果GATE为高电平,程序员写入新的计数初值,不会影响

6、正在进行的减1计数过程,只有计数器减到1之后,计数器才装入新的计数初值,并且按新的计数初值开始计数。 方式3方波发生器。其工作特点是:(1)当计数初值为偶数时,每来一个CLK脉冲,计数值减2,当计数值减到0时输出端改变极性,内部完成初值自动安装,继续计数。输出端为1:1的方波,正负脉冲的宽度均为N/2个CLK周期。(2)如果计数初值为奇数,输出正脉冲宽度=Tclk(N+1)/2,;输出负脉冲宽度=Tclk(N-1)/2。实验证明:实际装入的初值以及自动重装的初值,均为编程时写入的初值减1。 方式4软件触发的单脉冲发生器。其工作特点是:(1)写入控制字后,OUT端输出高电平,若当前GATE为高电

7、平,写入计数初值后,开始作减1计数,当计数值减到0时,OUT变低,在OUT端输出一个宽度为一个CLK周期的负脉冲。(2)当GATE=1时,允许计数,GATE=0时,停止计数。(3)在计数过程中,如果改变计数值,则按新的计数值重新开始计数。 方式5硬件触发的单脉冲发生器。其工作特点是:(1)写入控制字后,OUT端输出为高电平。写入计数初值后,只有在GATE端出现01跃变时,计数初值才能装入计数器,开始作减1计数,当计数值减为0时,OUT端输出一个CLK周期的负脉冲。(2)在计数过程中,若GATE端再次出现01跃变,则计数初值重新装入计数器,作减1计数。(3)在计数过程中,如果改变计数初值,不影响

8、当前计数过程;若有GATE上升沿触发,则按新的计数初值重新开始计数。 一个 详细程序为: CDPORT3 EQU 212H ; CHDBIT1 EQU 00H CHDBIT2 EQU 00H START: NOP ;启动延时 MOV DX,CCONPORT ;写入控制字(计数器0) MOV AL,CCONBIT1 OUT DX,AL MOV DX,CDPORT1 ;写入初值(计数器0) MOV AL,CHDBIT1 OUT DX,AL MOV DX,CCONPORT ;写入控制字(计数器1) MOV AL,CCONBIT2 OUT DX,AL MOV DX,CDPORT2 ;写入初值(计数器1

9、) MOV AL,CHDBIT1 NOP NOP OUT DX,AL MOV DX,CCONPORT ;写入控制字(计数器2) MOV AL,CCONBIT3 OUT DX,AL MOV DX,CDPORT3 ;写入初值(计数器2) MOV AL,CHDBIT2 OUT DX,AL WT: NOP JMP WT CODE ENDS END BEG 四、实验小结(包括问题和解决方法、心得体会、意见与建议等)该实验在施行第二种方案时,出现了许多问题。1. 一开始编程,计算初值使用公式:Tout =NTCLK,.,由于未考虑到人们视觉能分辨的闪烁时间为0.4秒而设置过小的时间间隔,没有达到实验要求效果,而后通过计算得N=23500和N=32900。2 . 未考虑到8254内部的计数器是16位,将十进制数误当成二进制的放到 EAX中,正确的输入为 MOV AX,VALUE1 OUT DX,AL MOV AL,AH OUT DX,AL .3. 要正确设置读/写方式,先读低8位后读高8位。4. 编程过程中,要使用NOP 语句,避免运行时间过短。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号