可编程作息时间控制器设计与制作共20页.doc
《可编程作息时间控制器设计与制作共20页.doc》由会员分享,可在线阅读,更多相关《可编程作息时间控制器设计与制作共20页.doc(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、如有侵权,请联系网站删除,仅供学习与交流可编程作息时间控制器设计与制作【精品文档】第 20 页淮北师范大学 硬件课程设计 可编程作息时间系统目 录引言31、概述 3 1.1、概要设计报告3 1.2、时间运行系统功能实现3 1.3、报时时间设置及调时功能实现3 1.4、时分显示系统42、总体设计 4 2.1、业务流程图4 2.2、所需芯片介绍及芯片原理图及控制字5 2.2.1、8255A的结构和功能5 2.2.2、8255A的控制字7 2.2.3、8255A的工作方式8 2.3、可编程计数器/定时器8253介绍9 2.3.1、8253的内部结构和引脚信号 9 2.3.2、8253的初始化步骤和门
2、控信号的功能10 2.4、0832D/A转换器芯片介绍133、芯片详细设计 15 3.1、软件程序流程图及详解15 3.2、功能说明184、 分析与测试185、课程设计结论 18 5.1、本设计的可行性与优点分析18 5.2、设计中的不足分析与改进196、 课程设计体会19 参考文献19 致谢20引言 随着计算机技术的发展和 在控制系统中的广泛应用,以及设备向小型化,智能化发展,作为高新技术之一的单片机以其体积小,功能强,价格低廉,使用灵活等优势,显示出很强的生命力。其功耗低,超高型,成本低,功能完整,在国内越来越受到用户的重视和广泛使用1、概述 1.1、概要设计报告作息时间控制系统主要有四大
3、子系统功能实现:1.时间运行系统 2.报时时间值设置及调时系统 3.时分显示系统 4.报时响应系统。时间运行系统让时间一直运行着;报时时间值设置及调时系统使得用户可以随时设置时间;时分显示系统让用户可以清楚知晓当前系统时间,报时响应系统完成当当前时间与报时时间值一致时进行响应(如LED闪烁)。四大子系统的协调有序的运行,保证了作息时间控制系统具有报时,调时,显时功能,还达到了与用户可交互的目的.1.2、时间运行系统功能实现时间运行与调节利用可编程的计数器/定时器8255芯片的可编程使时钟频率经过在8253的处理而产生符合要求的脉冲送入8255,进而执行计时子程序使得改变时间参数而计时,进行时间
4、计算,并用实时检测程序将时间参数用数码管显示电路显示出小时与分钟以及秒钟数。与此同时也进行与报时时间段程序的不断调用,使得在规定时刻进行报时。可选择5253通道0与通道1实现60秒定时,通道1输出out1接8255的输出端口,完成上述连接后,编程实现小时,分钟的变化的子程序,以及对8253,8255进行初始化编程,计时程序实现时间运行(每次执行中断服务程序时,使得MINUTE参数+1,当到达59时,重新返回到零,并使得hour参数+1,)1.3报时时间设置及调时功能实现 1)每次程序运行前,彻底清除以前的报时时间设置值,恢复系统默认报时时间值。 2)程序运行后,用户可一次性设定报时时间值(一旦
5、有设定操作,则原有的默认报时时间值全部清零)。此为最新值,报时以新时间为准。报时时间设置结束以后要进行一次校时设置。 3) 设定完所有报时时间值后,可通过按“D”(display)显示已经设定好的完整的报时时间值,要求每间隔5秒钟依次显示报时时间值。用户可通过此键来查看所有的报时时间值,以避免有错误的报时时间值存在而产生错误的响应。1.4时分显示系统时分显示系统只显示小时和分钟,每当将内存中的时分参数通过I/O端口传送给LED显示电路,这样即可以实现(具体实现有待进一步完善)。数码管显示电路的显示具有存储功能,只要将其输入端口的数值改变就可以实现变化数字的显示了,这可以在计数器发出MINUTE
6、加1脉冲时在程序中实现。设定完所有报时时间值后,可通过按“D”(display)显示已经设定好的完整的报时时间值,要求每间隔5秒钟依次显示报时时间值。用户可通过此键来查看所有的报时时间值,以避免有错误的报时时间值存在而产生错误的响应。 多路转换LED显示器驱动电路及数码管显示电路所示本系统采用七段LED显示器显示时分参数。七段LED显示器由七个发光段构成,每段均是一个LED二极管,可显示16进制的09与ABCDE。此外数码管显示电路中还有一个小数点DP位段,用来分隔小时与分钟。8255的A口与C口都作为输出口,CPU输出的时间参数,经A口送到74LS240的8个输入端,且并行地接到4个LED显
7、示的各输入端(也称为段总线),同名端联在一起。每一位共阳极LED的阳极电路中都串接一个晶体管Q,晶体管起开关作用,并由8255A来控制其导通,是相应的LED显示器的阳极与+5V电压接通,LED显示器才有可能点亮;基极的高电平输入使晶体管截止,+5V断开,LED显示器不能点亮。通过编程,可以使各个晶体管轮流导通,让7个LED轮流点亮。但任何时候只让一个晶体管导通,即只有一个LED点亮,这样可使功耗显著降低。2、总体设计2.1、业务流程图以淮北师范大学夏季作息时间作为参考系统默认报时时间值。如下所示:上午: 08:00-08:50 第一节课 8:00上课报时 8:50 下课报时08:55-09:4
8、5 第二节课 8:55上课报时 9:45 下课报时 10:15-11:05 第三节课 10:15上课报时 11:05 下课报时11:10-12:00 第四节课 11:10上课报时 12:00下课报时下午:14:30-15:20 第五节课 14:30上课报时 15:20下课报时15:25-16:15 第六节课 15:25 上课报时 16:15下课报时16:45-18:35 第七节课 16:45上课报时 18:35下课报时18:40-18:30 第八节课 18:40上课报时 18:30下课报时晚上:19:30-20:20 第九节课 19:30上课报时 20:20下课报时20:25-21:15 第十
9、节课 20:25上课报时 21:15 下课报时 2. 2、所需芯片介绍及芯片原理图及控制字 2.2.1 8255A的结构和功能图2-1 8255A的结构(1)、 数据端口A、B、C8255有3个8位的I/O端口,设计人员可以用软件使它们分别作为输入端口或输出端口。端口A:对应了1个8位的数据输入锁存器和1个8位的数据输出锁存/缓冲器。所以口A作为输入或输出时,数据均受到锁存。(PA0PA7)端口B:对应了1个8位的数据输入缓冲器和1个8位的数据输出锁存器/缓冲器。所以口B作为输入端口时,不会对数据进行锁存,而作为输出端口时,数据会受到锁存。(PB0PB7)端口C:与口B基本一致,对应了一个8位
10、数据输入缓冲器和1个8位的数据输出锁存/缓冲器。所以口C作为输入端口时,对数据不作锁存,而作为输出端口时,对数据进行锁存(PC0PC7)(2)、A组和B组控制逻辑8255在使用时,常用端口A与端口C的高4位组成一个带控制信号的端口,称为A组。由A组控制逻辑管理;用端口B与端口C的低4位也可以组成一个带控制信号的端口,称为B组。由B组控制逻辑管理。其中,A组由端口A作为与外设交换数据的输入/输出接口,C口的高4位作为外设连接的控制信号线和状态信号线,以配合A口工作。同理,B组由端口B作为与外设交换数据的输入/输出接口,C口的低4位作为外设连接的控制信号线和状态信号线,以配合B口工作。(3)、数据
11、总线缓冲器8255的数据总线缓冲器是双向三态的8位数据缓冲器,通过它直接与系统的数据总线(D0D7)相连。输入/输出数据、CPU发给8255的控制字都是通过这个缓冲器传送的。(4)、读/写控制逻辑电路读/写控制逻辑电路负责管理8255的数据传输过程。它接收CS及来自系统地址总线A1,A0(8086系统中为A2,A1)和控制总线的输入信号RESET,WR,RD,将这些信号组合后,得到对A组控制部件和B组控制部件的控制命令,并将命令发送给这两个部件,以完成对数据、状态信息和控制信息的传输。8255A的结构和功能说明:(1)A1A0 端口口线 00 端口A PA7PA0 01 端口B PB7PB0
12、10 端口C PC7PC0 11 对控制端口写控制字(2)端口C又可以分成“上C口”和“下C口”2个部分,可以用作A口和B口的控制信号线,所以把A口+上C口称为A组,B口+下C口称为B组。(3)A口:输入有锁存器,输出有锁存器和缓冲器, B和C口:输入有缓冲器,输出有锁存器和缓冲器。RESETWRRDCSGNDA1A093231302928272625140239338437536635734833242322211718192013141516101112PB7PB3PB0PB2PC0PC3PC7PC4PA0PA3D0D7PA4PA78255AVCC图2-2 8255A芯片2.2.2、825
13、5A的控制字8255A可通过指令在控制端口中设置控制字来决定它的工作。其控制字可分为两类(个),都写入控制字寄存器(A1A0=11) 芯片各端口的工作方式控制字端口C按位置1/置0控制字(1)、方式选择控制字8255A具有3种基本的工作方式: 方式0:基本输入输出方式( A、B、C口) 方式1:选通输入输出方式( A、B口) 方式2:双向总线I/O方式(仅A口)D7=1图2-3 8255A选择方式(2)、 端口C按位置1/置0控制字它可使端口C中的任何一位进行置位(1)或复位(0)。D7=0图2-4 端口C的控制2.2.3 、8255A的工作方式(1)、 工作方式0:基本的输入/输出方式。A口
14、、B口、上C口、下C口都可以独立设置作为输入或输出使用。 适合用于无条件或查询式传送。方式0的输入不能锁存。(2)、 工作方式1:应答式输入或输出方式。A口、B口可以分别作为数据口工作在方式1。需要使用C口中特定的引脚作为选通和应答使用。 C口中其余的引脚仍可工作在方式0,定义为输入或输出。适合用于中断式传送和程序查询方式I/O传送。C口中特定的引脚作为选通和应答使用时,视A口(或B口)为输入还是输出的不同,有两个引脚的含义有所不同。A口选通输入方式过程 当外设数据准备好以后,发出一个负脉冲选通信号STBA ,使A口打开输入锁存器接收数据。 A口接收到数据以后,发出IBFA 数据写完后, ST
15、BA撤销即变为无效 STBA和IBFA都变为高电平以后,如果INTEA允许,则8255A发出中断请求信号,希望CPU接收数据。CPU读数据的RD信号的下降沿使INTRA 和IBFA恢复低电平。PS: 只可以通过对PC4的置位和复位来设置INTEA。同样B口作为选通输入接口时道理是一样的,只不过是这些信号使用的是C口的PC2,PC1和PC0。 2.3、可编程计数器/定时器8253介绍8253的工作原理计数器/定时器的功能: 对外部事件发生次数进行计数; 产生计算机系统需要的定时信号。计数和计时本质上是相同的,它们都是对一个输入脉冲进行计数。计数器的输入信号可以是随机信号,定时器的输入信号要求具有
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 可编程 作息 时间 控制器 设计 制作 20
限制150内