- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计数器系统设计
设计题目: 计数器系统设计
目 录
第1章 内容提要 1
第2章 正文 2
2.1 课程设计目的 2
2.2 系统的主要功能及使用方法 2
2.3 硬件电路设计与描述 3
2.4 软件设计流程与描述 4
2.5 源程序代码 5
第3章 结论 16
第4章 参考文献 17
第1章 内容提要
《微机原理与接口技术》是一门实践性和实用性都很强的课程,学习的目的在于应用。本课程设计的题目是计数器系统设计,基于精简的8086CPU实验平台而设计开发,用到的主要器件为可编程并行接口8255A、中断控制器8259A、计数器/定时器8253和共阴4位7段数码管。
基于本实验平台,本设计的基本思想是通过对计数器/定时器8253的初始化使其工作在计数器2的方式0,并给予计数初值,GATE门位拉高,在2MHZ的时钟控制下使其在一毫秒后,计数初值减为0,从而使OUT2从低电平转为高电平,这样就产生了一个上升沿的中断触发信号,传给中断控制器8259A的IRQ7(7号中断),产生一个中断并执行中断服务程序。在这一中断服务程序中把事先存放在内存中的数码管显示所需要的数据从内存中读出,送给可编程并行接口8255A的A口,然后从其B口把数据送给数码管,并且编程控制其PC0--PC3口,用以控制数码管的位线。
为实现上述功能,要把可编程并行接口8255A初始化为方式0(基本的输入输出方式)的A口入,B口出状态。把中断控制器8259A的中断触发方式置为上升沿触发,并打开它的7号、6号、以及3号(5号中断线与6号中断线靠的太近,不容易连线)中断。中断控制器8259A的6号中数据接KK1的上升沿,用以使数码管显示的数据清0,并将连接到蜂鸣器的可编程并行接口8255A的PC6拉高1秒钟,产生清0报警的功能。3号中断接KK2的上升沿,用以实现计数的调整功能。
另外为了实现每1毫秒计数器/定时器8253都能产生一个OUT2由低到高的上升沿送给中断控制器8259A产生一次中断,需要在每一次进入中断服务程序时再次对计数器/定时器8253初始化一次。具体实现见以后章节。
第2章 正文
2.1 课程设计目的
《微机原理与接口技术》是一门实践性和实用性都很强的课程,学习的目的在于应用。通过对本计数器实验,进一步加强对8253、8255、8259等各芯片的学习与掌握,深化对课本知识的理解与实际运用。这次实验起到巩固课堂和书本上所学知识,加强综合能力,提高系统设计水平,启发创新思想的效果。通过本课程设计我们将达到以下目地:
培养资料搜集和汇总的能力。
培养总体设计和方案论证的意识。
提高硬件、软件设计与开发的综合能力。
对8253、8255、8259、LED8段数码管等的理解与运用
2.2 系统的主要功能及使用方法
主要功能:
用汇编语言对并行接口8255A、定时器8253和中断控制器8259A编程,通过8253的方式0产生中断信号,送给8259A(上升沿触发),执行相应的中断服务程序,从内存中把要在LED上显示的数据读出,经8255送与LED数码管显示当前计数数值,数值从0000开始,大约每1秒钟变化一次。8255的PC0~PC4控制数码管的位选线。并具有数值调整、清零报警和暂停计数功能,输入和定时中断LED7的开关为高时开始计时,为低时停止计时,KK1闭合时间清0,并发出警报声。按KK2实现调数功能。
使用方法:
系统加电运行程序后,将8253的GATE门位所连接的开关打开,使之为高电平状态,计数开始。将8259的6号中断所连接的KK1按键反复按下,对LED显示的数值进行调整。将8259的7号中断所连接的KK2按键按下,实现计数清零并伴随1秒的响铃提醒。将8253的GATE门位所连接的开关关闭,使之为低电平状态,计数暂停。
2.3 硬件电路设计与描述
如图2.3.1所示,芯片8359打开了3个中断,分别为IRQ7、IRQ6、IRQ3三个中断入口。其中IRQ7连接到芯片8253的OUT2端口。芯片8253工作在计数器2的方式0模式,它的CLK2端接2Mhz的时钟信号源,GATE位接一个拔动开关,以控制计数的开始和暂停,GATE位为高电平时,每一个时钟信号使8253的计数初值减1,当计数初值减为0时,OUT2的输出由低电平转为高电平,经IRQ7送8259一个上升沿中断触发信号,执行一段中断服务程序。芯片8255 D0~D7(系统内部已经连好)用以从内存中把数码管所要显示的数据从内存中读出,它的PB0~PB7接数码管的8位数据线(段选线),PC0~PC3接数码管的4根位选线,利用人眼的视觉残留效应,每1毫秒内把四个数码管轮流点亮一次,使每个数码管都显示不同的数据,但由于人眼分别不出这种变化,总体效果就是,数码管同时在亮,但每一个显示的数据却不同。
2.4
文档评论(0)