可编程作息时间控制器_第1页
可编程作息时间控制器_第2页
可编程作息时间控制器_第3页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

可编程作息时间控制器一.设计概述思路综述可编程作息时间控制器:作息时间控制系统主要有四大子系统功能实现:1.时间运行系统;报时时间值设置及调时系统;时分显示系统;报时响应系统。LED。四大子系统的协调有序的运行,与用户可交互的目的。2.合作与分工共同完成实验!二.需求分析一芯片需求:PCIntel8086(主控芯片)82538279二芯片详述1.Intel8086(主控芯片)Intel808616位的通用寄存器,也能够当作八个8位寄存器来存取,以及四个16指标)。资料寄存器通常由指令隐含地使用,针对暂存值需要复杂的寄存器配置。它提供64K8位元的输出输入(或32K位元),以及固定的向量中断。大部分的指令只能够存取一个内存位址,所以其中一个操作数必须是一个寄存器。运算结果会储存在操作数中的一个。数据寄存器组:AX、BX、CX、DX;指示器变址寄存器组:SI、DI、SP、BP段寄存器组:CS、DS、ES、SS2.82531).8253A的内部结构和引脚信号图示D7124D6223D5322D44825321

VCCWRRDCSA1A0CLK2OUT2GATE2CLK1OUT1GATE1D3520D2619D1718D0817CLK09D3520D2619D1718D0817CLK0916OUT01015GATE01114GND12131.初始化步骤:写入控制字;按控制字要求写入计数初值。计数初值N=fCLK/fOUT=TOUT/TCLK初始化程序:MOV DX,203H ;8253初始MOV AL,控制字OUT DX,AL3).门控信号控制功能:门控信号的控制功能如教材P3108-20,4时:门控信号为电平触发方式1,5时:门控信号为上升沿触发方式2,3时:门控信号为电平或上升沿触发4).8253的工作方式工作方式决定以下内容:门控信号的影响:当GTE=CL——方式,2,3,4上升沿允许(上升沿触发)——方式1,5,2,3OUT信号的状态写入控制字后,OUT的状态计数过程中,OUT的状态计数终了,OUT的状态不可重复——0,4自动重复——条件重复——0:计数结束中断方式特点:计数器只计数一遍,不循环,计数过程中,可由门控信号控制暂停计数,在计数过程中可改变计数值。写入新值后,计数器按新值重新开始计数1:可编程单稳态输出方式特点:若计数值为,则输出脉冲宽度为0,若计数过程中,门控信号再次触发,计数器在触发信号的下CLK重新开始计数。若计数过程中,CPU改变计数值,但计数过程不受影响,再次触发后,按新值重新计数2:比率发生器(分频器)特点:不需重新赋值,计数器能连续工作。计数过程中,若初值,开始计数3:方波发生器22CLK使计数器减“”,其后每一个CLK”后,改变输出状态,同时重新装入计数值。接着第一个CLK使计3CLK2“04:软件触发选通特点:N值写入后,如GateCLK开始计数,相当于软件启动,写一次初值,只计一次;计到0时,产生GTE禁止计数,因此,要做到软件启动,必须使GTE=“105:硬件触发选通,GATE的上升沿出现时,的触发,不影响计数过程,当计数到“0”后,若有触发,则按新的计数值计数。3).8253功能实现时间运行与调节利用芯片8253的处理而产生符合要求的脉实时检测程序将时间参数用数码管显示电路显示出小时与分钟8253011out1LED8253,8255计数器/定时器的功能:对外部事件发生次数进行计数;产生计算机系统需要的定时信号。计数和计时本质上是相同的,它们都是对一个输入脉冲进行计数。计数器的输入信号可以是随机信号,定时器的输入信号要求具有固定周期。间是一一对应的关系。例如输入脉冲频率为1秒。计数器/8253可以通过编程,从6工作方式。一个计数器/定时器的组成:控制字寄存器——决定工作模式(8位)状态寄存器——反映工作状态初值寄存器——计数的初值(16位)计数输出寄存器——CPU从中读当前计数值(16位)。计数器——执行计数操作,CPU不能访问。(16位)3.82798279的内部结构和引脚信号图示8279是可编程的键盘、显示接口芯片。它既具有按键处理内部有键盘先进先出堆栈8*864B8*8=64个按键或8*8阵列方式的传感器。该芯片能自动消抖并具有双键锁定保护功能。显示RAM容量为16*816位LED数码显示。数据线DB0→DB7是双向三态数据总线,在接口电路中与系统数据总线相连,用以传送CPU8279之间的数据和命令。地址线/CS=08279A0=1时,为命令字及状态字地址;当A0=082792个端口地址。控制线CLK:8279的时钟输入线。IRQ:中断请求输出线,高电平有效。/RD、/WR:读、写输入控制线。SL0---SL3:扫描输出线,用来作为扫描键盘和显示的代码输出或直接输出线。RL0---RL7:回复输入线,它们是键盘或传感器矩阵的信号输入线。键盘数据的次高位即D6位的状态,该位状态控制键盘上/功能。在传感器方式和选通方式中,该引脚无用。CNTL/S:控制/选通输入线,高电平有效。键盘方式时,键盘数据最高位(D7)的信号输入到该引脚,以扩充键功能;选通方式时,当该引脚信号上升沿到时,把RL0---RL7入FIFORAM中。4位输出线。OUTB0---OUTB34位输出线。/BD=0时将显示全熄灭。三.电路图8253定时、计数:8279键盘显示:四.软件功能该软件通过8253与8279的定时与键盘的设定可以实现给用户提供时间提醒。作息时间控制系统主要有四大子系统功能实现:1.时间运行系统;2.3.4.报时响应系统。时间运行系统让时间一直运行着;报时时间值设置及调时系统使得用户可以随时设置时间;时分显示系统让用户可以清楚知晓当前系统时间,报时响应系统完成当当前时间与报时时间值一致时进行响应(LED闪烁。四大子系统的协调有序的运行,保证了作息时间控制系统具有报时,调时,显时功能,还达到了与用户可交互的目的可编程作息时间控制器82531.时间运行系可编程作息时间控制器82531.时间运行系2.报时时间值3.时分显示系统8279将键盘初始化和赋值当前时间与报时时间值一致时进(LED闪烁)五.流程图及代码1.8253的设计流程图开始开始8253初始化门控值为高电平输入频率,载入计数初值低四位赋值高四位赋值灯亮同时铃响结束2.8253代码STACKSEGMENTSTACKDW64DUP(?)STACKENDSCODE SEGMENTASSUME CS:CODE,DS:CODE;8253计时程序BEGIN PROC NEARMOV AL,36H;00110110B ;计数器0,16位,方式3,二进MOV DX,20BHOUT DX,ALMOV AX,2000MOV DX,开始8279制定时器模式及开始8279制定时器模式及常数读键盘mNY灯亮,铃响Y等待输入N结束MOV AL,AHOUT DX,ALMOV AL,76H;MOV DX,20BHOUT DX,ALMOVAX,2000MOVDX,OUTDX,ALMOVAL,AHOUTDX,ALJMP $BEGIN CODEENDSENDBEGIN3.8279的设计流程图

;计数器低字节;计数器高字节;计数器1,16位,方式3,二进制;计数器低字节;计数器高字节4.8279代码Z8279EQU212HD8279EQU210HLEDMODEQU00;左边输入,八位显示,外部译码八位显示LEDFEQ EQU 38H;扫描频CODE SEGMENTASSUME CS:CODE,DS:CODESTART: ;初始化PUSH CSPOP DSMOV DX,212HMOV AL,00OUT DX,ALMOV AL,38HOUT DX,ALMOV DX,210HMOV AL,7FHOUT DX,ALMOV DX,210HMOV AL,7FHOUT DX,ALMOV DX,210HMOV AL,7DHOUT DX,ALMOV DX,210HMOV AL,7FHOUT DX,ALMOV DX,210HMOV AL,70HOUT DX,ALMOV DX,210HMOV AL,5BHOUT DX,ALMOV DX,210HMOV AL,70HOUT DX,ALMOV DX,210HMOV AL,76HOUT NOPMOV DX,212HMOV OUT DX,AL

;以上为写(ZK88);置空FIFO寄存器WAIIT:

NOP

IN AL,DXMOV BL,ALAND AL,80HCMP AL,80HJE ;FIFO正在清除期间则跳转等待MOV AL,BLAND AL,0FHCMP AL,00HJE MOV OUT DX,ALMOV IN AL,DXNOPCMP AL,3BHJE FINILEA MOV DX,210HOUT DX,ALMOV DX,212HMOV AL,0C2HOUT DX,ALJMP FINI: MOV DX,212HMOV AL,0D3HOUT DX,ALJMP $LED: DB 07H,66H,06H,3FHDB 00H,00H,00H,00HDB DB 00H,00H,00H,00HDBDBDBDBDB DB 00H,00H,00H,00HDB 77H,7CH,39H,5EH

;无键按下则等待;写读FIFORAM命令字;读入FIFORAM内容;查表,将键码放入AL中;将AL中内容写到数码管上;清FIFORAM寄存器;等待下一次键输入DB00H,00H,00H,00HDBDBDBDBCODEENDSEND 总体流程图开始8279开始8279制定时器模式及常数8253初始化读键盘门控值为高电平输入频率,门控值NmY低四位赋值高四位赋值灯亮,铃响Y等待输入N结束825382798279控制键盘输出的数据直接传输给8253,通过其脉冲控制输入频率,控制彩灯以及响铃的频率,就可以达到我们要求的键盘控制时间来设定作息时间。总体设计代码:STACKSEGMENTDW64DUP(?)STACKENDSDATASECDB20DUP(?)DATAENDSCODESEGMENTASSUMECS:CODE;8279键盘程序START: ;初始化PUSH CSPOP DSMOV DX,212HMOV AL,00OUT DX,ALMOV AL,38HOUT DX,ALMOV DX,210HMOV AL,7FHOUT DX,ALMOV DX,210HMOV AL,7FHOUT DX,ALMOV DX,210HMOV AL,7DHOUT DX,ALMOV DX,210HMOV AL,7FHOUT DX,ALMOV DX,210HMOV AL,70HOUT DX,ALMOV DX,210HMOV AL,5BHOUT DX,ALMOV DX,210HWAIIT:

NOP

MOV AL,70HOUT DX,ALMOV DX,210HMOV AL,76HOUT DX,AL ;以上为写NOPMOV DX,212HMOV AL,0C2HOUT DX,AL FIFOIN AL,DXMOV BL,ALAND AL,80HCMP AL,80HJE WAIIT ;FIFOMOV AL,BLAND AL,0FHCMP AL,00HJE WAIIT ;无键按下则等待MOV AL,40H FIFORAMOUT DX,ALMOV DX,210H FIFORAMNOP

IN AL,DXMOV CMP AL,3BHJE FINILEA XLAT

;查表,将键码放入AL中;将键盘值读入SEC中MOV DX,210H ALOUT DX,ALMOV DX,212H FIFORAMMOV AL,0C2HOUT DX,AL;MOV AL,BL;AND AL,0FHCMP AL,00HJNZ FINI: MOV DX,212HMOV AL,0D3HOUT DX,ALJMP $LED: DB 07H,66H,06H,3FHDBDBDBDBDBDBDBDBDBDBDBDBDBDBDB;8253计时程序BEGIN PROCNEARMOVAL,36H;0011011

温馨提示

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

评论

0/150

提交评论