可编程时序控制器

上传人:小** 文档编号:51983433 上传时间:2022-02-07 格式:DOC 页数:24 大小:675KB
收藏 版权申诉 举报 下载
可编程时序控制器_第1页
第1页 / 共24页
可编程时序控制器_第2页
第2页 / 共24页
可编程时序控制器_第3页
第3页 / 共24页
资源描述:

《可编程时序控制器》由会员分享,可在线阅读,更多相关《可编程时序控制器(24页珍藏版)》请在装配图网上搜索。

1、计算机科学与技术学院硬件课程设计报告姓名:王慧杰学号:08073454专业:计算机科学与技术班级:计算机07-4班设计题目:可编程作息时间控制器成员:王慧杰、胡江泉指导教师:王凯职称:2009年 1月1日徐州课程设计指导教师评阅书指导教师评语:成绩:指导教师签字:年月日可编程作息时间控制器计07-4班王彗木八、胡江泉概述1. 问题提出1.1 概要设计报告 作息时间控制系统主要有四大子系统功能实现 :1. 时间运行系统 2. 报时时 间值设置及调时系统 3. 时分显示系统 4. 报时响应系统。 时间运行系统让时间一 直运行着; 报时时间值设置及调时系统使得用户可以随时设置时间; 时分显示系 统让

2、用户可以清楚知晓当前系统时间, 报时响应系统完成当当前时间与报时时间 值一致时进行响应(如LED闪烁)。四大子系统的协调有序的运行,保证了作息 时间控制系统具有报时,调时,显时功能,还达到了与用户可交互的目的 .1.2 时间运行系统功能实现 时间运行与调节利用可编程的计数器 /定时器 8255 芯片的可编程使时钟频率经过在 8253 的处理而产生符合要求的脉冲送入 8255,进而执行计时子程序使 得改变时间参数而计时, 进行时间计算, 并用实时检测程序将时间参数用数码管 显示电路显示出小时与分钟以及秒钟数。 与此同时也进行与报时时间段程序的不 断调用,使得在规定时刻进行报时。可选择5253通道

3、0与通道1实现60秒定时,通道1输出outl接8255的输出端 口,完成上述连接后, 编程实现小时, 分钟的变化的子程序, 以及对 8253, 8255 进行初始化编程,计时程序实现时间运行(每次执行中断服务程序时,使得MINUTE参数+1,当到达59时,重新返回到零,并使得 hour参数+1,)1.3 报时时间设置及调时功能实现1)每次程序运行前,彻底清除以前的报时时间设置值,恢复系统默认报时 时间值。2)程序运行后,用户可一次性设定报时时间值(一旦有设定操作,则原有 的默认报时时间值全部清零) 。此为最新值,报时以新时间为准。报时时间设置 结束以后要进行一次校时设置。3)设定完所有报时时间

4、值后, 可通过按 “ D”( display )显示已经设定好的 完整的报时时间值, 要求每间隔 5秒钟依次显示报时时间值。 用户可通过此键来 查看所有的报时时间值,以避免有错误的报时时间值存在而产生错误的响应。1.4 时分显示系统时分显示系统只显示小时和分钟, 每当将内存中的时分参数通过 I/O 端口传 送给LED显示电路,这样即可以实现(具体实现有待进一步完善)。数码管显示 电路的显示具有存储功能, 只要将其输入端口的数值改变就可以实现变化数字的 显示了,这可以在计数器发出 MINUTE加1脉冲时在程序中实现。设定完所有报 时时间值后,可通过按“ D” ( display )显示已经设定好

5、的完整的报时时间值, 要求每间隔 5 秒钟依次显示报时时间值。 用户可通过此键来查看所有的报时时间 值,以避免有错误的报时时间值存在而产生错误的响应。多路转换LED显示器驱动电路及数码管显示电路所示本系统采用七段LED显示器显示时分参数。七段 LED显示器由七个发光段构成,每段均是一个LED 二极管,可显示16进制的09与ABCDE此外数码管显示电路中还有一个小数 点DP位段,用来分隔小时与分钟。8255的A 口与C 口都作为输出口, CPU俞出 的时间参数,经A 口送到74LS240的8个输入端,且并行地接到4个LED显示的 各输入端(也称为段总线),同名端联在一起。每一位共阳极 LED的阳

6、极电路中 都串接一个晶体管Q,晶体管起开关作用,并由8255A来控制其导通,是相应的 LED显示器的阳极与+5V电压接通,LED显示器才有可能点亮;基极的高电平输 入使晶体管截止,+5V断开,LED显示器不能点亮。通过编程,可以使各个晶体 管轮流导通,让7个LED轮流点亮。但任何时候只让一个晶体管导通, 即只有一 个LED点亮,这样可使功耗显著降低。二、 需求分析1. 业务流程图以中国矿业大学夏季作息时间作为参考系统默认报时时间值。如下所示上午:08:00-08:50第一节课8 :00 上课报时8:50下课报时08:55-09:45箔一 第二节课8 :55 上课报时9:45下课报时10:15-

7、11:05第三节课10:15 上课报时11:05下课报时11 : 1 0-12:00第四节课11:10 上课报时12:00 下课报时下午:14:30-15:20第五节课14 :30 上课报时15:20 下课报时1 5:25-16:15第六节课15 :25 上课报时16:15 下课报时1 6: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第十节课20 :25 上课报时21:15 下课报时2. 所需芯片介绍及芯片

8、原理图及控制字一、 8255 芯片介绍8255A 是 INTEL 系列的并行接口芯片,由于它是一种可编程的外部接口部 件,通常作为微机系统总线与外部设备的接口控制部件, 可通过软件来设置芯片 的工作方式,用 8255A 连接外部设备时,通常不需要附加外部电路,给使用带 来很大的方便。8255A的结构和功能&0丽Vft矗组XiUlLJ师 (8AP7*v PAO数据/JA/ PCa/L-KVPC0读有匿辑师丁 4RESETPB7A/ PBO口 (8)CB1、数据端口 A、B、C8255有3个8位的I/O端口,设计人员可以用软件使它们分别作为输入端口 或输出端口。端口 A :对应了 1个8位的数据输

9、入锁存器和1个8位的数据输出锁存/缓 冲器。所以口 A作为输入或输出时,数据均受到锁存。(PA0PA7)端口 B:对应了 1个8位的数据输入缓冲器和1个8位的数据输出锁存器/ 缓冲器。所以口 B作为输入端口时,不会对数据进行锁存,而作为输出端口时, 数据会受到锁存。(PB0PB7)端口 C :与口 B基本一致,对应了一个8位数据输入缓冲器和1个8位的数 据输出锁存/缓冲器。所以口 C作为输入端口时,对数据不作锁存,而作为输出 端口时,对数据进行锁存(PC0PC7)2、A组和B组控制逻辑8255在使用时,常用端口 A与端口 C的高4位组成一个带控制信号的端 口,称为A组。由A组控制逻辑管理;用端

10、口 B与端口 C的低4位也可以组成一个带控制信号的端口, 称为B 组。由B组控制逻辑管理。其中,A组由端口 A作为与外设交换数据的输入/输出接口,C 口的高4 位作为外设连接的控制信号线和状态信号线,以配合A 口工作。同理,B组由端口 B作为与外设交换数据的输入/输出接口,C 口的低4位 作为外设连接的控制信号线和状态信号线,以配合B 口工作。3、数据总线缓冲器8255的数据总线缓冲器是双向三态的 8位数据缓冲器,通过它直接与系 统的数据总线(D0D7)相连。输入/输出数据、CPU发给8255的控制字都是 通过这个缓冲器传送的。4、读/写控制逻辑电路读/写控制逻辑电路负责管理8255的数据传输

11、过程。它接收 CS及来自系统 地址总线A1,A0( 8086系统中为A2,A1)和控制总线的输入信号 RESET, WR, RD,将这些信号组合后,得到对 A组控制部件和B组控制部件的控制命 令,并将命令发送给这两个部件,以完成对数据、状态信息和控制信息的传输。一、8255A的结构和功能说明:(1)A1A0端口口线00端口 APA7PA001端口 BPB7PB010端口 CPC7PC011对控制端口写控制字(2)端口 C又可以分成“上C 口”和“下C 口” 2个部分,可以用作A 口和B 口的控制信号线,所以把 A 口 +上 C 口称为A组,B 口 +下C 口称为B组。(3) A 口:输入有锁存

12、器,输出有锁存器和缓冲器,B和C 口:输入有缓冲器, 输出有锁存器和缓冲器。PC7PC4APB0PB2PC0PC3f ,、。I I I I I I I I I I I I I D S DA0 A1NPA0PA3A.20 19 18 116 15 14 112 11 109876543218255A2122 23 225 26 27 28 2930 3132 3334 3536 37 I f_;PA4PA7J PB7PB3 VccDD7R WES R E二、8255A的控制字8255A可通过指令在控制端口中设置控制字来决定它的工作。 其控制字可分 为两类(个),都写入控制字寄存器(A1A0=11

13、)芯片各端口的工作方式控制字端口 C按位置1/置 0控制字1方式选择控制字 8255A具有3种基本的工作方式:方式0:基本输入输出方式( A、B、C 口) 方式1:选通输入输出方式(A、B 口)方式2:双向总线I/O方式(仅A 口)2. 端口 C按位置1/置0控制字它可使端口 C中的任何一位进行置位(1)或复位(0)。三、8255A的工作方式1. 工作方式0:基本的输入/输出方式。A 口、B 口、上C 口、下C 口都可以独立设置作为输入或输出使用。适合用于无条件或查询式传送。方式0的输入不能锁存。2. 工作方式1:应答式输入或输出方式。A 口、B 口可以分别作为数据口工作在方式 1。需要使用C

14、 口中特定的引脚作为选通和应答使用。C 口中其余的引脚仍可工作在方式 0,定义为输入或输出。适合用于中断式传送和程序查询方式I/O传送。C 口中特定的引脚作为选通和应答使用时,视 A 口 (或B 口)为输入还是输出 的不同,有两个引脚的含义有所不同。A 口选通输入方式过程当外设数据准备好以后,发出一个负脉冲选通信号STBA,使A 口打开输入锁存器接收数据。A 口接收到数据以后,发出IBFA数据写完后,STBA撤销即变为无效STBA和IBFA都变为高电平以后,如果INTEA允许,则8255A发出中 断请求信号,希望 CPU接收数据。CPU读数据的RD信号的下降沿使 INTRA 和IBFA恢复低电

15、平。PS:只可以通过对PC4的置位和复位来设置INTEA。同样B 口作为选通输入接口时道理是一样的,只不过是这些信号使用的是 C 口的 PC2,PC1 和 PC0。二、可编程计数器/定时器8253介绍8253的工作原理计数器/定时器的功能:对外部事件发生次数进行计数;产生计算机系统需要的定时信号。计数和计时本质上是相同的,它们都是对一个输入脉冲进行计数。计数器的输入信号可以是随机信号,定时器的输入信号要求具有固定周期。如果输入脉冲的频率一定,那么记录脉冲的个数与所需的时间是一一对应的关 系。例如输入脉冲频率为2MHz,那么计数2 106计时1秒。因此,使用同一个芯片,既可以用来计数,又可以用来

16、定时。计数器/定时器8253 可以通过编程,从6种工作方式中选择一种工作方式。一个计数器/定时器的组成:控制字寄存器一一决定工作模式(8位)状态寄存器反映工作状态初值寄存器一一计数的初值(16位)计数输出寄存器一一CPU从中读当前计数值(16位)。计数器执行计数操作,CPU不能访问。(16位)RDWRA1A0CS、8253A的内部结构和引脚信号控制字寄存器18253管脚图124223 1322 148253 21520 1619 1718 1817 1916 11015 11114 11213 ,D7 D6 D5 D4 D3D2D1 D0CLKO OUTQ GATE匸GND VCCWRRDCS

17、A1A0一CLK2OUT2一GATE2CLK1OUT1GATE18253 的三个计数通道在结构上和功能上完全一样,每个通道均有两个输入引脚CLK和GATE, 个输出信号 引脚OUT。二、8253 的初始化步骤和门控信号的功能1. 初始化步骤:(1)写入控制字;(2)按控制字要求写入计数初值。?计数初值 N=fCLK/fOUT =TOUT/TCLK2. 门控信号控制功能:门控信号GATE的控制功能如教材P310表8-2所示,由表可知: 方式 0, 4 时:门控信号为电平触发方式 1, 5时:门控信号为上升沿触发方式 2, 3 时:门控信号为电平或上升沿触发三、8253的工作方式 工作方式决定以下

18、内容:1)门控信号的影响高电平允许:当GATE=0,即使出现CLK,也不计数一一方式0, 2, 3, 4上升沿允许(上升沿触发) 方式 1, 5, 2, 32)OUT信号的状态写入控制字后,OUT的状态 计数过程中,OUT的状态 计数终了, OUT的状态3)计数操作可否重复不可重复 模式 0, 4自动重复 模式 2, 3条件重复 模式 1, 51. 方式 0:计数结束中断方式 特点:计数器只计数一遍,不循环计数过程中,可由门控信号控制暂停计数 在计数过程中可改变计数值。写入新值后,计数器按新值重新开始计 数2. 方式 1 :可编程单稳态输出方式特点:若计数值为N,则输出脉冲宽度为N*CLK计数

19、到 0,可由 GATE 上升沿再次触发,输出一个脉冲,不需重新赋 值若计数过程中,门控信号再次触发,计数器在触发信号的下一个 CLK 重新开始计数若计数过程中, CPU 改变计数值, 但计数过程不受影响, 再次触发后, 按新值重新计数3. 方式 2:比率发生器(分频器)特点:不需重新赋值,计数器能连续工作计数过程中,若GATE变低,计数器暂停工作,GATE变高后,计数器 重新取出初值,开始计数4. 方式3:方波发生器特点:同方式2的三个特点,不同的是:初值为偶数时,每来一个脉冲,计数值减 2初值为奇数时,第一个CLK使计数器减1”其后每一个CLK使计数器减2” 到“”后,改变输出状态,同时重新

20、装入计数值。接着第一个 CLK使计数值 减“”以后每个CLK使计数值减2”直到计数值为0”重复上述过程5. 方式4:软件触发选通特点:N值写入后,如Gate为高,则下一个CLK开始计数,相当于软件启 动写一次初值,只计一次;计到0时,产生低电平维持一个周期GATE= T,允许计数,GATE= “”,禁止计数,因此,要做到软件启动, 必须使GATE= 1 ”计数过程中改变计数值,按新值重新计数到06. 方式5:硬件触发选通特点:N值写入后,计数器并不计数,当GATE的上升沿出现时,取出初值开始 计数计数过程中改变计数值,若没有GATE的触发,不影响计数过程,当计数 到0”后,若有GATE触发,则

21、按新的计数值计数三、0832D/A转换器芯片介绍0832 D/A转换器内部结构 转换时间1 I s,双缓冲输入 数 据启动 转D78位8位8位输入DACD/A奇存N寄存转换器o器o 器47 | |1316LE2LE18V REF12Q I OUT2110 I OUT1WR2WRi&ILE 八90I 189丁oRfbXFER 0VccD GND工作方式:直通式、单缓冲式、双缓冲式(1) 直通式:ILE接高电平,CS、WR1、WR2、XFER接低电平即:使两个内部寄存器都处于直通状态。模拟输出始终跟随输入变化。不能直接与数据总线连接,需外加并行接口 (如74LS373、8255等)。因此,很少 用

22、。(2) 单缓冲式:将两个寄存器中的一个接成直通方式。CPU只需一次写入即开始 转换,控制比较简单。(3) 双缓冲式:转换要有两个步骤:将数据写入输入寄存器,CS=O、WR1 =0、ILE=1将输入寄存器的内容写入 DAC寄存器, WR2 =0、XFER =0优点:a)数据接收与D/A转换可异步进行;b)可实现多个DAC同步转换输出分时写入、同步转换。双缓冲式:WMOVDX,320H;指向输入寄存器MOVAL,DATA;输入被转换的数据OUTDX,AL;数据打入输入寄存器INCDX;指向DAC寄存器OUTDX,AL;选通DAC寄存器,相当于启动D/A转换器ILE3路DAC系统图:80H81H8

23、2H83HWR三、总体设计1电路图2芯片功能模块图及说明绸ICS XFER WRi WR2 / 二 一 丄D7盘貫宜!Ri 丫只? /丄7i R2_XtxILECS XFERfRl (R2ILE专题设计部分四、芯片详细设计1.软件程序流程图及详解;可编程作息时间控制器,只要实现器件8255, 8253STACK SEGMENT STACKDW 64 DUPSTACK ENDS;8255初始化,控制字即二进制 10001001CODE SEGMENT ASSUME CS:CODESTART: MOV AL,89HMOV DX,203HOUT DX,ALL0:MOV CX,1;上课铃声第一次打响,

24、黄灯亮MOV AL,40H MOV DX,200H NOT ALOUT DX,AL;0832电机数模转换MOV DX,210HMOV AL,0FH OUT DX,ALCALL YDEC CXJZ L1L1: MOV CX,5淀时5秒后实现下课铃声,即绿灯亮S0: MOV AL,00H MOV DX,200H NOT AL OUT DX,AL;0832 电机数模转换MOV DX,210HMOV AL,2FH OUT DX,ALCALL YDEC CXJNZ S0;当 CX 不为 0 是跳转L2: MOV CX,2;定时 2 秒后实现上课铃声,即黄灯亮S1: MOV AL,20HMOV DX,20

25、0HNOT ALOUT DX,AL;0832 电机数模转换MOV DX,210HMOV AL,1FHOUT DX,ALCALL YDEC CXJNZ S1JZ L0;当CX为0是跳转到L0 ,及循环执行Y PROC;延时子程序,延时 1 秒, 8253 实现PUSH AXMOV DX,20BHMOV AL,35H;方式 2OUT DX,ALMOV AL,00H;计数初值MOV DX,208HOUT DX,ALMOV AL,50HOUT DX,ALMOV DX,20BHMOV AL,71H;方式 0OUT DX,ALMOV DX,209HMOV AL,00HOUT DX,ALMOV AL,04H

26、OUT DX,ALKK:; 不是高电平就继续检测MOV DX,202HIN AL,DXAND AL,02HJZ KKPOP AXRETY ENDPCODE ENDSEND START2. 功能说明作息时间控制系统主要有四大子系统功能实现 :1. 时间运行系统 2. 报时时 间值设置及调时系统 3. 时分显示系统 4. 报时响应系统。 时间运行系统让时间一 直运行着; 报时时间值设置及调时系统使得用户可以随时设置时间; 时分显示系 统让用户可以清楚知晓当前系统时间, 报时响应系统完成当当前时间与报时时间 值一致时进行响应(如LED闪烁)。四大子系统的协调有序的运行,保证了作息 时间控制系统具有报

27、时,调时,显时功能,还达到了与用户可交互的目的 . 四、 分析与测试( 1)、键盘程序测试按图4连接好电路,调试此程序(JIANPAN.ASM)从小键盘输入一个数字,DOS界面输出显示该数字。( 2)、数码管显示程序测试按图 3相应部分连接本部分的电路图,调试程序 (XIANSHI,ASM), 4位七段 数码管,分别显示 1、2、3、4 四个数字。( 3)、计时程序测试按图6连接电路,调试程序(JISHI.ASM),DOS界面输出显示的数字以1递增。( 4)、到时程序测试连接相应的电路,调试程序(DAOSHI.ASM指示红灯亮。五、课程设计结论6.1、本设计的可行性与优点分析在本设计的过程中,

28、我们遇到了一些困难但通过努力终于比较完整的完成了 此次设计的任务:在键盘扫描程序中,其中最为重要的是当有键按下,如何确定 是哪一个键被按下,采用逐行扫描法 能够比较容易实现而且比较容易被人所理 解;在按键显示程序中,其中最重要的是要4位七段数码管轮流显示不同的按键 值,利用人的眼睛就因视觉惰性而无法察觉显示的变化,当轮循显示周期的数目大于每秒50次时,从而感觉到现实的事多位静止的 7段数。在计时程序设计中, 最重要的是如何判断定时时间到,用设定时间与系统时间比对,直到相同为止即 定时时间到。6.2、设计中的不足分析与改进本设计也存在缺陷:首先,这个设计不够精确,定时只到分,而忽略了秒。因此可改

29、进为时分秒定时的更精确的设计:改用六位七段数码管,用8255A的PC 口连接键盘的行列,PB 口输出到七段数码管上,PA 口实现六位七段数码管的 位选。键盘的部分查找按键号及其相应 LED显示码的程序改为如下所示:通过逐 行逐列扫描,键号存入BL中,行号加1,BL加4,列号加1,BL加1,最终确定 按下键的号,再在LED显示码表中找到相应的显示码,输出显示。六、课程设计体会(1)、键盘程序测试按图4连接好电路,调试此程序(JIANPAN.ASM)从小键盘输入一个数字, DOS界面输出显示该数字。(2)、数码管显示程序测试按图3相应部分连接本部分的电路图,调试程序(XIANSHI,ASM), 4位七段 数码管,分别显示1、2、3、4四个数字。(3) 、计时程序测试按图6连接电路,调试程序(JISHI.ASM),DOS界面输出显示的数字以1 递增。(4) 、到时程序测试连接相应的电路,调试程序(DAOSHI.ASM指示红灯亮

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!