2940.可编程作息时间控制器 设计报告包含源代码设计背景完整报告等内容.doc
《2940.可编程作息时间控制器 设计报告包含源代码设计背景完整报告等内容.doc》由会员分享,可在线阅读,更多相关《2940.可编程作息时间控制器 设计报告包含源代码设计背景完整报告等内容.doc(64页珍藏版)》请在三一办公上搜索。
1、计算机科学与技术学院硬件课程设计报告姓 名: 专 业: 计算机科学与技术 班 级: 设计题目: 可编程作息时间控制器 成 员: 指导教师: 职 称: 2008年 6月30日 课程设计指导教师评阅书指导教师评语:成 绩: 指导教师签字: 年 月 日可可编程作息时间控制器摘 要在本次可编程作息时间控制器的设计的过程中我们三人分工合作,完成了:1、键盘的扫描程序的设计,利用8255A并行口做一个扫描键盘程序,把按键输入的键码,通过8255 PC口输出显示在七段数码管上。8255PA口低4位做键盘行的输入线,PB口低4位作为键盘的列输入线,同时其高4位读取键盘的行信息,这样一来,用输入指令读取B口状态
2、时,可同时读取键盘的行列信息。8255 PA口高4位作为四位七段数码管的位选线。编写程序通过逐行逐列扫描,可获得所按键的行列信息,及该键所对应的键号并利用查表找出其所对应的数码管显示码。将该信息通过8255 PC口输出到七段数码管上,显示当前按键值。每次按键输出键值时,通过改变8255 PA口高4位状态,使四位七段数码管轮流显示不同的键值。 2、定时计时程序,通过上述所设计的键盘输入定时时间,计算初值,利用可编程的计数/定时器8253A进行计时,实现定时报告。完成可编程作息时间控制器的设计。 本设计实现了设定时间的显示,到时提示等功能,基本上到达了我们最初设计的要求。 3、本设计中所用芯片:8
3、255,8253,74LS138; 利用了44矩阵的小键盘,及指示灯。所用做图工具:PROTELL99SE、WORD关键词8255A ;8253 ;键盘 ;设置定时时间 ;计数定时目 录总体设计部分1 设计任务与要求1 1.1、题目理解1 1.2、任务要求12 总体方案1 2.1、设计思路1 2.2、总体设计电路图13硬件方案2 3.1、所用芯片简介2 3.1.1、8255芯片简介2 3.1.2、8253芯片简介4 3.2、各部分电路图 7 3.2.1、键盘部分电路图7 3.2.2、键盘及显示部分电路图9 3.2.3、计时部分电路图10 4软件方案1041、设计的原理104.1.1、键盘的设计
4、原理104.1.2、显示部分的设计原理124.1.3、计时部分的设计原理134.2、程序流程图144.2.1、键盘扫描流程图144.2.2、显示部分程序图15专题设计部分1 硬件(软件)详细设计161.1、程序清单及相应的说明16 1.2、设计方案测试22 1.2.1、单个程序测试22 1.2.2、总体程序测试232总结23 2.1、本设计的可行性与优点分析232.2、设计中的不足分析与改进233.心得体会26参考文献26总体设计部分1 设计任务与要求1.1、题目理解可编程作息时间控制器可理解为可编程即可设置且可重置的闹钟。设置一个时间,到设置时间时机器自动叫响且伴有指示灯亮。1.2、任务要求
5、 利用键盘输入预设定的时间,设计一个具有时.分计时,4位数字显示的时钟电路,能按设定时间自动叫响且伴有指示灯亮.2 总体方案2.1、设计思路利用8255A设计4行4列的矩阵键盘,并与4位七段数码管相连,实现按键的判断及显示。8255A是的A口低4位连接键盘的行,C口低4位连接键盘的列;A口高4位连接4位七段数码管的位选端口,实现数码管的选择;B口8位连接七段数码管的8个段信号引脚。输入4个数字由4个七段数码管分别显示,前两位为小时,后两位为分钟。在由此及与系统时间的比较,判断到时转8253程序控制指示灯亮。选用8253的0、1、2计数器,0计数器采用方式2,用系统时钟脉冲f=1MHZ,计数初值
6、为2000,其输出端作为1计数器的输入脉冲,1计数器采用方式2,计数初值为2000,输出一个周期为2S的时钟脉冲。2计数器采用方式0,产生定时中断,其OUT端连接一个发光二极管,到设定时间时发光。2.2、总体设计电路图 CS 8253实现计数定时 CS 8255实现键盘设置闹铃时间显示时间300-307308-315CSCS 3 硬件方案3.1、所用芯片简介3.1.1、8255芯片简介(1)、8255可编程并行接口芯片简介:8255是一种通用可变成并行输入输出接口芯片,通过对它进行编程,芯片可工作于不同的工作方式,用8255作接口时,通常不需要附加外部逻辑电路就可直接为CPU与外设之间提供数据
7、通道。8255可编程并行接口芯片有三个输入输出端口,即A口、B口和C口,对应于引脚PA7PA0、PB7PB0和PC7PC0。其内部还有一个控制寄存器,即控制口。通常A口、B口作为输入输出的数据端口。C口作为控制或状态信息的端口,它在方式字的控制下,可以分成4位的端口,每个端口包含一个4位锁存器。它们分别与端口A配合使用,可以用作控制信号输出或作为状态信号输入。(2)、8255可编程并行接口芯片方式控制字格式说明:8255有两种控制命令字;一个是方式选择控制字;另一个是C口按位置位复位控制字。其中C口按位置位复位控制字方式使用较为繁难,说明也较冗长,故在此不作叙述。方式控制字格式说明如表1:表1
8、 D7D6D5D4D3D2D1D0 D7:设定工作方式标志,1有效。 D6、D5:A口方式选择 0 0 方式0 0 1 方式1 1 方式2 D4:A口功能 (1=输入,0=输出) D3:C口高4位功能 (1=输入,0=输出) D2:B口方式选择 (0=方式0,1=方式1) D1:B口功能 (1=输入,0=输出)D0:C口低4位功能 (1=输入,0=输出) (3)、8255可编程并行接口芯片工作方式说明: 方式0:基本输入输出方式。适用于三个端口中的任何一个。每一个端口都可以用作输入或输出。输出可被锁存,输入不能锁存。 方式1:选通输入输出方式。这时A口或B口的8位外设线用作输入或输出,C口的4
9、条线中三条用作数据传输的联络信号和中断请求信号。方式2 :双向总线方式。只有A口具备双向总线方式,8位外设线用作输入或输出,此时C口的5条线用作通讯联络信号和中断请求信号。3.1.2、8253芯片简介(1)、可编程计数器/定时器8253芯片简介8253是一种利用硬件电路和中断方法控制定时,定时时间和范围完全由软件来确定和改变,并有微处理器的时钟信号提供时间基准。但该时钟信号频率太高,所以还可用8253进行分频。8253内部有3个独立的16位计数器通道,通过对他进行编程,每个计数器通道均可按6种不同的方式工作,并且都可以按2进制或10进制格式进行计数,最高计数频率能达到2MHZ.8253还适用于
10、许多其他场合,如用作可编程方波频率产生器、分频器、程控单脉冲发生器等等。(2)、8253A控制字的格式说明在对8253进行编程时,由CPU用输出指令向他写入控制字,来选定计数器通道,规定各计数器通道的工作方式,读写格式和数制。控制字格式如表2:表2: -通道选择位,00,01,10分别表示向8253的计数器通道0-2写入控制字,11无效。-读/写操作位,01表示只读/写低8位字节数据,只写入低8位时,高8位自动置为0;10表示只读/写高8位字节数据,只写入高8位时,低8位自动置为0;11允许读/写16位数据。00把通道中当前数据寄存器的值送到16位锁存器中,供CPU读取该值。BCD-计数方式选
11、择位。1表示采用BCD码计数; 0表示采用二进制格式计数。-工作方式选择位。 000 方式0 001 方式1 X10 方式2 X11 方式3100 方式4101 方式5(3)、8253 六种工作方式的说明8253有6种工作方式,对它们的操作遵守以下3条基本原则: (1)当控制字写入8253时,所有的控制逻辑电路自动复位,这时输出端OUT进入初始态。 (2)当初始值写入计数器以后,要经过一个时钟周期,减法计数器才开始工作,时钟脉冲的下降沿使计数器进行减1计数。计数器的最大初始值是0,用二进制计数时0相当于216,用BCD码时,0相当于104。 (3)对于一般情况下,在时钟脉冲CLK的上升沿时,采
12、样门控信号。对门控信号(GATE)的触发方式是有具体规定的: 门控信号为电平触发的有:方式0,方式4。 门控信号为上升沿触发的有:方式1,方式5。 门控信号可为电平触发也可为上升沿触发的有:方式2,方式3。 计数方式的有:方式0,方式1,方式4,方式5 定时方式的有:方式2,方式3。8253的工作方式:方式0(计数结束产生中断的计数器)- - -写入方式控制字后,输出端OUT为低电平;写入计数常数后,开始计数。计数器减为0之前,输出端OUT维持低电平。当计数值为0时,输出端OUT才变为高电平,向CPU发出中断请求,直到CPU写入新的控制字或者写入新的计数值为止。方式0可由门控信号控制暂停,GA
13、TE为低电平时,计数器暂停,GATE信号变高后,就接着计数。方式1(可重复编程的单脉冲)- -设定工作方式和写入计数值后,OUT输出高电平,GATE(触发信号)变为高电平后,OUT变为低电平,开始计数。当计数器减到0时,OUT才输出高电平。输出低电平期间,写入新计数值,不会影响原记数过程。只有第一次计数完,GATE再来一个正跳变时才使用新的计数值计数若在第一次计数末完成之前,GATE又产生正跳变(即下一个脉冲信号又到来)时,则从新的GATE的上升沿以后,开始重新计数,OUT端输出的低电平保持不变,2次的计数过程合在一起,因此使输出的负脉冲宽度加宽了方式2 (分频器)-写入方式2的控制字后,OU
14、T变高,设GATE为高先到,计数器对CLK计数,设计数初值为N。当计数器计到(N一1)个CLK信号时,OUT输出变低,计数器的值为l。最后一个CLK信号输入后,计数器减到0,OUT回到高,计数器又自动从初值开始计数。因此OUT端在每N个CLK信号中输出一个宽度等于CLK信号周期的负脉冲。负脉冲的周期=计数值N时钟CLK的周期T。计数过程中要求门控脉冲GAT置保持为高,当GATE为低电平时,则计数被中止暂停,在GATE再变高后,计数器又被置入初值,重新计数。方式3(方波发生器)-写入方式3的控制字后,OUT变高,设GATE为高电平,则在写入计数初值后的下一个时钟脉冲时,将计数初值装入执行部件,并
15、开始计时。与方式2类似,但输出端得到的是方波或基本对称的矩形波。初值为偶数时,每输入一个时钟脉冲,均使计数值减2,减为0时,OUT输出引脚由高电平变低电平,同时自动重新装入计数初值,继续计数。初值为计数时,第一个时钟脉冲使计数器减1,以后均减2.方式4(软件触发选通)-写入方式4的控制字后,OUT变高,设GATE为高电平,则在写入计数初值后的下一个时钟脉冲时,将计数初值装入执行部件,并开始计时。当计数初值减为0时,OUT端输出变低,经一个时钟周期又回到高电平,形成一个负脉冲。一次计数,重新装入初值才可继续计数。方式5(硬件触发选通)-写入方式5的控制字后,OUT变高,装入计数初值后,只有当GA
16、TE从到到高跳变时才能在下一个时钟脉冲后把计数初值装入执行部件,并开始计时。当计数初值减为0时,OUT端输出变低,经一个时钟周期又回到高电平,形成一个负脉冲。自动重新装入初值,当再经历GATE从低到高跳变时继续减1计数。3.2、各分电路图3.2.1、键盘部分电路图.PA0PA1PA2PA38255APB7PB6PB5PB4PB3PB2PB1PB010K10K40159O637C28+5V键盘各键作用说明:0-9数字键O(0A)四个数输入完成,(小时、分钟各两位)执行显示程序C(0B)输入显示完成,执行计数程序0C-0F未用3.2.2、键盘及显示部分电路图3.2.3、计时部分电路图4 软件方案4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2940.可编程作息时间控制器 设计报告 包含源代码,设计背景完整报告等内容 2940. 可编程 作息 时间 控制器 设计 报告 包含 源代码 背景 完整 内容
链接地址:https://www.31ppt.com/p-4146092.html