循环灯实验报告与代码.doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
循环灯实验报告与代码

合肥工业大学 计算机与信息学院 课程设计 课 程:微机原理与接口技术设计 专业班级:计算机科学与技术12-1班 学 号: 2012211599 姓 名: 柏恩慈 设计题目及要求: 题目: 利用8255A和8253使发光二极管按一定规律轮流点亮 要求:发光二极管的点亮方式:将发光二极管分为n组,每组12/n个灯管,每组灯管发光时间没t。设有8种组合:(1) n=12, t=1s: 每个灯管单独一组,间隔1秒循环点亮。(2) n=12, t=2s: 每个灯管单独一组,间隔2秒循环点亮。(3) n=6, t=1s: 每两个灯管一组,间隔1秒循环点亮。(4) n=6, t=2s: 每两个灯管一组,间隔2秒循环点亮。(5) n=4, t=1s: 每三个灯管一组,间隔1秒循环点亮。(6) n=4, t=2s: 每三个灯管一组,间隔2秒循环点亮。(7) n=3, t=1s: 每四个灯管一组,间隔1秒循环点亮。(8) n=3, t=2s: 每四个灯管一组,间隔2秒循环点亮。 要求: 按键盘的“A”, “B”, “C”, “D”分别表示选择的灯管数目(一个一组,两个一组,三个一组,四个一组),按键盘的“E”, “F”,表示选择时间(一秒两秒)。程序启动时默认按第一种方式进行循环,当按动“A~F”时,根据设定情况随时改变循环方式,当按“0”键退出程序,所有灯管熄灭。 提示: 1:主程序为键盘输入按’A’~’D’命令分支到各点亮功能程序段,按’0’退出。 2:定时时间1秒2秒可由8253产生定时中断,通过IPQ2引起中断请求。8253的定时器工作可参考“定时/计数器:8253方波”。 3:在中断服务程序中,通过8255A的端口B的PB4-PB7,端口C的PC0—PC7来设置发光二极管下一组灯点亮,其他灯都暗。次序可从左到右,也可以从右到左。 4: 8255A输出点亮发光二极管可参考 “8255A” 并行口实验(三)。 设计思想: 使用8259中断服务子程序,来去执行中断,用8253方波计时器来去产生1秒和两秒的时间间隔。把8253和8259结合正好可以把间隔一秒和两秒的计时器导入程序之中。利用5255A交通灯的特性,把交通灯按要求轮流点亮。 (一)可编程并行接口芯片8255 系统中的8255线路8255的数据线片选信号线、地址线、读写控制线等分别与系统总线相连,其A、B、C三个端口以排针形式引出供825实验使用。可编程并行接口Intel8255A,其内部结构如图所示,由以下 4个部分组成:数据总线缓冲器。这是一个三态双向8位缓冲器,它是8255A与CPU系统数据总线的接口。所有数据的发送与接收, 以及CPU发出的命令字和从8255A来的状态信息都是通过该缓冲器传送的。读/写控制逻辑。读/写控制逻辑由读信号RD,写信号WR,选片信号CS以及端口选择信号A0、A1等组成。读/写控制逻辑控制了总线的开放、关闭和信息传送的方向,以便把CPU的控制命令或输出数据送到相应的端口;或把外设的信息或输入数据从相应的端口送到CPU。8255A的基本操作及在TP86A、PC/TX和扩展板上的端口地址如下表所示。输入/输出端口A、B、C。8255A包括3个8 位输入输出端口(port)。每个端口都有一个数据输入寄存器和一个数据输出寄存器,输入时端口有三态缓冲器的功能,输出时端口有数据锁存器功能。在实际应用中,PC口的8位可分为两个4位端口(0 方式下),也可以分成一个5位端口和一个3位端口(2方式下)来使用。A组和B组控制电路。控制A,B,C三个端口的工作方式,A 组控制A口和C-4-口的上半部(PC4-PC7),B组控制B口和C口的下半部(PC0-PC3)的工作方式和输入输出。A组和B组的命令寄存器还接收按位控制命令,以实现对PC口的按位置位/复位操作。Intel8253可编程定时/计数器1片8253内部有3个计数器,分别称为计数器0、1、2,其结构完全,互相之间工作完全独立。每个计数器有三个引脚和外部联系CLK:计数脉冲输入,计数器对该引脚出现的信号进行计数,最高计数速率为2.6MHZ。Gate:门控输入,用于控制计数器是否对CLK计数。OUT:输出信号端。每个计数器内部都有1个8位的控制寄存器,三个控制寄存器使用同一端口地址,在编程结构图中,画为1个控制寄存器。每个计数器内部还有1个计数初值寄存器(CR)、1个计数执行部件(CE)和1个输出锁存器(OL),它们都是16位的。执行部件(CE)是1个16位减法计数器,其起始值等于初值寄存器(CR)的值。CR的值通过程序设置。输出寄存器(OL)用来锁存执行部件(CE)的值,以便CPU读出。通过Intel8253可编程定时/计数器方式3方波发生器与方式0计数结时产生中断风别产生的方波和中断来

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档