- 268
- 0
- 约8.28千字
- 约 20页
- 2017-01-12 发布于重庆
- 举报
微机原理跑马灯课设报告.
微机原理
课程设计说明书
设计题目:跑马灯
学 院 计算机科学与工程学院
专 业 计算机科学与技术专业
班 级
学 生
学 号
同组者
指导教师
2014 年 春季 学期
目录
一、 实验简介 3
1、基本要求 3
2、设计提示 3
3、进一步设计要求 3
二、 实验原理 3
1、 实验原理描述 3
2、8254芯片 4
2.1、8254芯片组成部分 4
2.2、8254芯片工作方式 4
3、8255芯片 5
3.1、8255芯片的组成部分 5
3.2、8255芯片工作方式 6
4、实验原理图 7
三、 实验流程图与源程序 7
1、 流程图 7
1.1、 主程序流程图 8
1.2 Appmain 子程序流程图 8
1.3 灯跳转阶段流程图 10
2、源程序(见附录) 11
四、 实验结果与测试 11
五、 实验提高与扩展 11
六、 个人心得与体会 12
附录 13
实验简介:
1、基本要求:
采用8254精确定时,LED的点亮规律为LED7---LED0,每一个LED的点亮时间间隔由逻辑电平开关K1、K2、K3选择,K1的时间间隔为0.5s,K2的时间间隔为1.0s,K3的时间间隔为1.5s。当主机键盘按下任意键时停止演示。
2、设计提示:
采用8255的A口接LED灯,B口接逻辑电平开关K1、K2与K3。在8254的中断服务程序中完成对灯的控制,主程序检测灯的变化,改变点亮LED的时间间隔。
3、进一步设计要求:
将LED的点亮规律变为LED7---LED0---LED7。
实验原理:
实验原理描述:
该实验中跑马灯采用8255和8254芯片来实现,利用8254芯片来做定时器,采用8254的方式3(方波发声器),因此在8254芯中采用级联的方法,以此来控制跑马灯中实现0.5s,1.0s,1.5s的效果片;在8255芯片中将A口当做输出口连接LED灯,B口一个输入口来掌控三个逻辑开关的打开与关闭,选择三种不同的时间间隔,C7口作为另一个输入口连接着8254芯片的OUT1口来读从8254芯片传来的三种不同大小的频率之一,以此来实现具有三种不同时间间隔跳转的跑马灯。
2、8254芯片:
2.1、8254芯片组成部分:
(1)数据总线缓冲器:
数据总线缓冲器是一个三态、双向8位寄存器主要作用是与cpu进行数据交换,8位数据线D7~D0与CPU的系统数据总线连接,构成CPU和8254之间信息传送的通道,CPU通过数据总线缓冲器向8254写入控制命令、计数初始值或读取计数值。
(2)读写逻辑:
读写逻辑是芯片的控制部分,编程人员通过控制信号的选择来选择芯片的工作方式。读/写控制逻辑用来接收CPU系统总线的读、写控制信号和端口选择信号,用于控制8254内部寄存器的读/写操作。
(3)控制字寄存器:
控制寄存器是一个只能写不能读的8位寄存器,系统通过指令将控制字写入控制寄存器,设定8254的不同工作方式。
(4)计数器;
8254内部有三个结构完全相同而又相互独立的16位减“1”计数器,每个计数器有六种工作方式,各自可按照编程设定的方式工作。
2.2、8254芯片工作方式:
8254芯片共有六种工作方式,分别对应与六种不同的用途。
(1)方式0:计数结束中断方式,写入N后开始计数计数器为0 ,OUT输出H.
(2)方式1:可编程单稳态,外部GATE触发 OUT输出单拍负脉冲宽度N个CLK.
(3)方式2:速率发生器,每N个CLK输一个宽度为一个CLK周期的负脉冲 ,不断重复.
(4)方式3:方波发生器,N=偶,N/2个1,N/2个0N=奇,(N+1)/2个1,(N-1)/2个0 不断重复.
(5)方式4:软触发选通,写入N后开始计数计数器为0,OUT输出一个宽度为CLK周期的负脉冲.
(6)方式5:硬触发选通,写入N后GATE上升沿,开始计数计数器为0 ,写入N后GATE上升沿,开始计数计数器为0 ,OUT输出一个宽度为CLK,周期的负脉冲,OUT输出一个宽度为CLK,周期的负脉冲.
本次课设中,只是使用到了8254的工作方式3,将其当做一个方波发生器来使用,为8255提供固定频率的方波信号,8255以此来控制灯的点亮情况。使用8254的计数0和计数器1来进行级联,从out1中输出方波信号。
3、8255芯片:
3.1、8255芯片的组成部分:
原创力文档

文档评论(0)