版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、淮北师范大学硬件课程设计可编程作息时间系统目录引言31、概述 31.1、概要设计报告31.2、时间运行系统功能实现31.3、报时时间设置及调时功能实现31.4、时分显示系统42、总体设计 42.1、业务流程图42.2、所需芯片介绍及芯片原理图及控制字52.2.1、8255A 的结构和功能52.2.2、8255A 的控制字72.2.3、8255A 的工作方式8精选文库2.3、可编程计数器 / 定时器 8253 介绍92.3.1、8253 的内部结构和引脚信号 92.3.2、8253 的初始化步骤和门控信号的功能102.4、0832D/A 转换器芯片介绍133、芯片详细设计 153.1、软件程序流
2、程图及详解153.2、功能说明184、 分析与测试185、课程设计结论 185.1、本设计的可行性与优点分析185.2、设计中的不足分析与改进196、 课程设计体会19参考文献19致谢20引言随着计算机技术的发展和在控制系统中的广泛应用,以及设备向小型化,智能化发展,作为高新技术之一的单片机以其体积小,功能强,价格低廉,使用灵活等优势,显示出很强的生命力。其功耗低,超高型,成本低,功能完整,在国内越来越受到用户的重视和广泛使用1、概述1.1 、概要设计报告作息时间控制系统主要有四大子系统功能实现:1. 时间运行系统2. 报时时间值设置及调时系统 3. 时分显示系统 4. 报时响应系统。时间运行
3、系统让时间一直运行着;报时时间值设置及调时系统使得用户可以随时设置时间;时分显示系统让用户可以清楚知晓当前系统时间,报时响应系统完成当当前时间与报时时间值一致时进行响应(如LED-2精选文库闪烁)。四大子系统的协调有序的运行,保证了作息时间控制系统具有报时,调时,显时功能,还达到了与用户可交互的目的.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加 1 脉冲时
6、在程序中实现。设定完所有报时时间值后,可通过按“D”( display )显示已经设定好的完整的报时时间值,要求每间隔5 秒钟依次显示报时时间值。用户可通过此键来查看所有的报时时间值,以避免有错误的报时时间值存在而产生错误的响应。多路转换 LED显示器驱动电路及数码管显示电路所示本系统采用七段LED显示-3精选文库器显示时分参数。七段LED显示器由七个发光段构成,每段均是一个LED二极管,可显示 16 进制的 09 与 ABCDE。此外数码管显示电路中还有一个小数点DP位段,用来分隔小时与分钟。8255 的 A 口与 C口都作为输出口,CPU输出的时间参数,经 A 口送到 74LS240的 8
7、 个输入端,且并行地接到 4 个 LED显示的各输入端(也称为段总线) ,同名端联在一起。每一位共阳极 LED的阳极电路中都串接一个晶体管 Q,晶体管起开关作用,并由8255A来控制其导通, 是相应的 LED显示器的阳极与 +5V电压接通, LED显示器才有可能点亮;基极的高电平输入使晶体管截止,+5V 断开, LED 显示器不能点亮。通过编程,可以使各个晶体管轮流导通,让7 个 LED轮流点亮。但任何时候只让一个晶体管导通,即只有一个 LED点亮,这样可使功耗显著降低。2、总体设计2.1 、业务流程图以淮北师范大学夏季作息时间作为参考系统默认报时时间值。如下所示:上午:08:00-08:50
8、第一节课8:00 上课报时8: 50下课报时08:55-09:45第二节课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 上课
9、报时20:20 下课报时20:25-21:15第十节课20: 25 上课报时21:15下课报时2. 2、所需芯片介绍及芯片原理图及控制字的结构和功能-4精选文库图 2-1 8255A的结构(1)、 数据端口 A、B、C8255 有 3 个 8 位的 I/O 端口,设计人员可以用软件使它们分别作为输入端口或输出端口。端口 A :对应了 1 个 8 位的数据输入锁存器和 1 个 8 位的数据输出锁存 /缓冲器。所以口 A 作为输入或输出时,数据均受到锁存。 (PA0PA7)端口 B:对应了 1 个 8 位的数据输入缓冲器和1 个 8 位的数据输出锁存器 /缓冲器。所以口 B 作为输入端口时, 不会
10、对数据进行锁存, 而作为输出端口时, 数据会受到锁存。(PB0PB7)端口 C:与口 B 基本一致,对应了一个 8 位数据输入缓冲器和 1 个 8 位的数据输出锁存 /缓冲器。所以口 C 作为输入端口时,对数据不作锁存,而作为输出端口时,对数据进行锁存 (PC0PC7)(2)、 A 组和 B 组控制逻辑8255 在使用时,常用端口A 与端口 C 的高 4 位组成一个带控制信号的端口,称为A 组。由 A 组控制逻辑管理;用端口 B 与端口 C 的低 4 位也可以组成一个带控制信号的端口,称为B 组。由 B-5精选文库组控制逻辑管理。其中 ,A 组由端口 A 作为与外设交换数据的输入/输出接口,
11、C 口的高 4 位作为外设连接的控制信号线和状态信号线,以配合A 口工作。同理 ,B 组由端口 B 作为与外设交换数据的输入 /输出接口, C 口的低 4 位作为外设连接的控制信号线和状态信号线,以配合 B 口工作。(3)、数据总线缓冲器8255 的数据总线缓冲器是双向三态的8 位数据缓冲器,通过它直接与系统的数据总线 (D0D7)相连。输入 /输出数据、 CPU 发给 8255 的控制字都是通过这个缓冲器传送的。(4)、读 /写控制逻辑电路读/写控制逻辑电路负责管理 8255 的数据传输过程。它接收 CS 及来自系统地址总线 A1, A0( 8086 系统中为 A2 ,A1 )和控制总线的输
12、入信号 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 口:输入有锁存器,输出有锁存器和缓冲器,B 和 C 口:输入有缓冲器,输出有锁存器和缓冲器。-6
13、精选文库PB0PB2PC0PC3PC7 PC4G03A 1CRPA PAA 0NSD201918116151411211109876543218255A212223 225262728 293031323334353637383940V CCD0D7R WPB7 PB3ES R47PA PAE图 2-2 8255A芯片、 8255A 的控制字8255A 可通过指令在控制端口中设置控制字来决定它的工作。其控制字可分为两类(个),都写入控制字寄存器(A1A0=11)芯片各端口的工作方式控制字端口 C 按位置 1/置 0 控制字(1)、方式选择控制字8255A 具有 3 种基本的工作方式:?方式 0
14、:基本输入输出方式(A 、B、C 口)? 方式 1:选通输入输出方式( A 、B 口)? 方式 2:双向总线 I/O 方式(仅 A 口)-7精选文库D7=1图 2-3 8255A 选择方式(2)、 端口 C 按位置 1/置 0 控制字它可使端口 C 中的任何一位进行置位 (1)或复位 (0)。D7=0图 2-4 端口 C 的控制、8255A 的工作方式(1)、工作方式 0:基本的输入 /输出方式。A 口、B 口、上 C 口、下 C 口都可以独立设置作为输入或输出使用。适合用于无条件或查询式传送。-8精选文库方式 0 的输入不能锁存。(2)、 工作方式 1:应答式输入或输出方式。A 口、 B 口
15、可以分别作为数据口工作在方式1。需要使用 C 口中特定的引脚作为选通和应答使用。C 口中其余的引脚仍可工作在方式0,定义为输入或输出。适合用于中断式传送和程序查询方式I/O 传送。C 口中特定的引脚作为选通和应答使用时,视 A 口(或 B 口 )为输入还是输出的不同,有两个引脚的含义有所不同。A 口选通输入方式过程? 当外设数据准备好以后,发出一个负脉冲选通信号STBA ,使 A 口打开输入锁存器接收数据。A 口接收到数据以后,发出IBFA? 数据写完后, STBA 撤销即变为无效? STBA 和 IBFA 都变为高电平以后, 如果 INTEA 允许,则 8255A 发出中断请求信号,希望 C
16、PU 接收数据。 CPU 读数据的 RD 信号的下降沿使 INTRA 和 IBFA 恢复低电平。PS: 只可以通过对 PC4 的置位和复位来设置INTEA 。同样 B 口作为选通输入接口时道理是一样的,只不过是这些信号使用的是C 口的PC2,PC1和 PC0。2.3、可编程计数器 /定时器 8253 介绍8253 的工作原理计数器 /定时器的功能 :?对外部事件发生次数进行计数;?产生计算机系统需要的定时信号。计数和计时本质上是相同的,它们都是对一个输入脉冲进行计数。计数器的输入信号可以是随机信号,定时器的输入信号要求具有固定周期。如果输入脉冲的频率一定,那么记录脉冲的个数与所需的时间是一一对
17、应的关系。例如输入脉冲频率为2MHz ,那么计数 2 106计时 1 秒。因此,使用同一个芯片,既可以用来计数,又可以用来定时。计数器/定时器 8253可以通过编程,从6 种工作方式中选择一种工作方式。一个计数器 /定时器的组成 :控制字寄存器 决定工作模式( 8 位)-9精选文库状态寄存器 反映工作状态初值寄存器 计数的初值( 16 位)计数输出寄存器 CPU 从中读当前计数值 (16 位 )。计数器 执行计数操作, CPU 不能访问。( 16 位)8253的内部结构图图 2-5 8255A 的工作原理、 8253A 的内部结构和引脚信号-10精选文库8253管脚图D7124VCCWRD62
18、23D5322RDD44825321CSA1D3520D2619A0D1718CLK2D0817OUT2CLK0916GATE2OUT01015CLK1GATE01114OUT1GND1213GATE1图 2-6 8253A的内部结构和引脚信号8253的三个计数通道在结构上和功能上完全一样,每个通道均有两个输入引脚CLK和 GATE,一个输出信号引脚 OUT 。、8253 的初始化步骤和门控信号的功能(1)、 初始化步骤:a、 写入控制字;b、 按控制字要求写入计数初值。计数初值 N=fCLK/fOUT =TOUT/TCLK(2)、门控信号控制功能:门控信号 GATE 的控制功能如教材P310
19、 表 8-2 所示,由表可知:方式 0, 4 时:门控信号为电平触发方式 1, 5 时:门控信号为上升沿触发方式 2, 3 时:门控信号为电平或上升沿触发(3)、 8253 的工作方式工作方式决定以下内容:1)门控信号的影响-11精选文库?高电平允许 :当 GATE=0,即使出现 CLK ,也不计数 方式 0,2,3,4?上升沿允许(上升沿触发) 方式 1,5,2,32) OUT 信号的状态写入控制字后,OUT 的状态计数过程中,OUT 的状态计数终了,OUT 的状态3)计数操作可否重复不可重复 模式 0,4自动重复 模式 2, 3条件重复 模式 1, 5a、方式 0:计数结束中断方式特点:计
20、数器只计数一遍,不循环计数过程中,可由门控信号控制暂停计数在计数过程中可改变计数值。写入新值后,计数器按新值重新开始计数b、方式 1:可编程单稳态输出方式特点:若计数值为N,则输出脉冲宽度为N*CLK计数到 0,可由 GATE 上升沿再次触发,输出一个脉冲,不需重新赋值若计数过程中,门控信号再次触发,计数器在触发信号的下一个CLK 重新开始计数若计数过程中, CPU 改变计数值,但计数过程不受影响,再次触发后,按新值重新计数c、方式 2:比率发生器(分频器)特点:不需重新赋值,计数器能连续工作计数过程中,若 GATE 变低,计数器暂停工作,GATE 变高后,计数器重新取出初值,开始计数d、方式
21、 3:方波发生器特点:同方式 2 的三个特点,不同的是:初值为偶数时,每来一个脉冲,计数值减2初值为奇数时,第一个 CLK 使计数器减 “1”,其后每一个 CLK 使计数器减 “2”,到“0”-12精选文库后,改变输出状态,同时重新装入计数值。接着第一个CLK 使计数值减 “3”,以后每个CLK 使计数值减 “2”,直到计数值为 “0”,重复上述过程e、方式 4:软件触发选通特点: N 值写入后,如 Gate 为高,则下一个CLK 开始计数,相当于软件启动写一次初值,只计一次;计到0 时,产生低电平维持一个周期GATE=“1”,允许计数,GATE=“0”,禁止计数,因此,要做到软件启动,必须使
22、GATE=“1”计数过程中改变计数值,按新值重新计数到0f、方式 5:硬件触发选通特点: N 值写入后,计数器并不计数 ,当 GATE 的上升沿出现时 ,取出初值开始计数计数过程中改变计数值, 若没有 GATE 的触发 ,不影响计数过程 ,当计数到 “0”后 ,若有 GATE 触发 ,则按新的计数值计数2.4 、0832D/A 转换器芯片介绍-13精选文库0832 D/A 转换器内部结构转换时间1s,双缓冲8输入数据启动转8位8位8位V REF4712输入DACD/AIOUT2D7D 0寄存寄存转换11器器I器OUT1131619ooILE&LE1LE29RFB13CSo &A
23、 GNDWR1o202V CC18o10WR2DGNDo &XFER17换图 2-7 0832D/A 转换器工作方式:直通式、单缓冲式、双缓冲式(1) 直通式 : ILE 接高电平,CS、 WR1、WR2、XFER接低电平即:使两个内部寄存器都处于直通状态。模拟输出始终跟随输入变化。不能直接与数据总线连接,需外加并行接口(如74LS373、8255等)。因此,很少用。(2) 单缓冲式 : 将两个寄存器中的一个接成直通方式。 CPU只需一次写入即开始转换,控制比较简单。(3) 双缓冲式 : 转换要有两个步骤:将数据写入输入寄存器,CS=0、WR1 =0、ILE=1将输入寄存器的内容写入D
24、AC 寄存器,WR2 =0、 XFER =0优点: a) 数据接收与 D/A 转换可异步进行;b) 可实现多个 DAC 同步转换输出 分时写入、同步转换。-14精选文库(3) 双缓冲式 :DAC 0832ILEV REFD7D0+地址总线320CS WR 1 XFER WR 2地址H321IOHW图 2-8 DAC 0832MOVDX,320H;指向输入寄存器MOVAL,DATA;输入被转换的数据OUTDX,AL;数据打入输入寄存器INCDX;指向 DAC 寄存器OUTDX,AL;选通 DAC 寄存器,相当于启动 D/A 转换器ILED7D 03路DAC系统图:+地址80HCS XFER WR
25、 1 WR 281HILE82HD7D 083H+译CSXFERWR 1 WR 2ILED7D 0+CSXFERWR 1 WR 2WR-15精选文库图 2- 9 3路 DAC系统图3、芯片详细设计3.1、软件程序流程图及详解; 可编程作息时间控制器,只要实现器件 8255,8253STACK SEGMENT STACK DW 64 DUP(?)STACK ENDS CODE SEGMENTASSUME CS:CODESTART:MOV AL,89H ;8255 初始化,控制字即二进制 10001001 MOV DX,203HOUT DX,ALL0:MOV CX,1;上课铃声第一次打响,黄灯亮M
26、OV AL,40HMOV DX,200HNOT ALOUT DX,AL;0832 电机数模转换MOV DX,210HMOV AL,0FHOUT DX,ALCALL YDEC CXJZ L1L1:MOV CX,5;定时 5 秒后实现下课铃声,即绿灯亮S0:MOV AL,00HMOV DX,200HNOT ALOUT DX,AL-16精选文库;0832 电机数模转换MOV DX,210HMOV AL,2FHOUT DX,ALCALL YDEC CXJNZ S0;当 CX不为 0 是跳转L2:MOV CX,2;定时 2 秒后实现上课铃声,即黄灯亮S1:MOV AL,20HMOV DX,200HNOT
27、 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,AL-17精选文库MOV DX,20BHMOV AL,71H;方式 0OUT DX,ALMOV DX,209HMOV AL,00HOUT DX,ALMOV AL
28、,04HOUT DX,ALKK:;不是高电平就继续检测MOV DX,202HIN AL,DXAND AL,02HJZ KKPOP AXRETY ENDP CODE ENDSEND START3.2、功能说明作息时间控制系统主要有四大子系统功能实现:1. 时间运行系统2. 报时时间值设置及调时系统 3. 时分显示系统 4. 报时响应系统。时间运行系统让时间一直运行着;报时时间值设置及调时系统使得用户可以随时设置时间;时分显示系统让用户可以清楚知晓当前系统时间,报时响应系统完成当当前时间与报时时间值一致时进行响应(如LED闪烁)。四大子系统的协调有序的运行,保证了作息时间控制系统具有报时,调时,显
29、时功能,还达到了与用户可交互的目的.4、分析与测试4.1、键盘程序测试按图 4 连接好电路,调试此程序(JIANPAN.ASM),从小键盘输入一个数字,DOS界面输出显示该数字。-18精选文库4.2、数码管显示程序测试按图 3 相应部分连接本部分的电路图,调试程序 (XIANSHI,ASM),4 位七段数码管,分别显示 1、 2、 3、 4 四个数字。4.3、计时程序测试按图 6 连接电路,调试程序 (JISHI.ASM) ,DOS界面输出显示的数字以1 递增。4.4、到时程序测试连接相应的电路,调试程序(DAOSHI.ASM),指示红灯亮。5、课程设计结论5.1、本设计的可行性与优点分析在本设计的过程中, 我们遇到了一些困难但通过努力终于比较完整的完成了此次设计的任务:在键盘扫描程序中,其中最为重要的是当有键按下,如何确定是哪一个键被按下,采用逐行扫描法能够比较容易实现而且比较容易被人所理解;在按键显示程序中,其中最重要的是要4 位七段数码管轮流显示不同的按键值,利用人的眼睛就因视觉惰性而无法察觉显示的变化,当轮循显示周期的数目大于每秒50 次时,从而感觉到现实的事多位静止的 7 段数。在计时程序设计中,最重要的是如何判断定时时间到,用设定时间与系统时间比对,直到相同为止即定时时间到。5.2、设计中的不足分析与改进本设计也存在缺陷:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 财贸双机位考试试题及答案
- 2026三年级数学下册 位置与方向单元测试
- 2026五年级数学下册 观察物体应用题
- 保安服务管理三项制度
- 济宁结业考试题库及答案
- 绿化工高级工试题及答案
- 企业安全生产上墙制度
- 如何给孩子定制奖惩制度
- 科室发文章奖惩制度
- 班级量化管理奖惩制度
- 商业银行公司治理评价表
- 初中地理命题的原则和技巧课件
- 常用Y系列电机型号参数表
- 葫芦岛九江220千伏输变电工程环评报告
- 2022年浙江纺织服装职业技术学院单招职业适应性测试试题及答案解析
- GB/T 26514-2011互叶白千层(精)油,松油烯-4-醇型茶树(精)油
- GA/T 1028.4-2017机动车驾驶人考试系统通用技术条件第4部分:道路驾驶技能考试系统
- 除灰点检技术标准
- 04第四章-火箭导弹的气动布局
- 齐鲁医学妊娠期急腹症
- 【部编版】六年级道德与法治下册全册课件
评论
0/150
提交评论