路灯控制课程设计_第1页
路灯控制课程设计_第2页
路灯控制课程设计_第3页
路灯控制课程设计_第4页
路灯控制课程设计_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

中文摘要 随着科学技术的迅猛发展,微型计算机普遍应用在各行各业中,在短短的20多年间,微型计算机一直以令人目不暇接的态势飞速发展。微型计算机的速度越来越快、性能越来越高、应用范围越来越广、对社会和人类文明的发展影响越来越大。因此,可以说学习微型计算机的基础知识,掌握微型计算机的基本使用技术,已成为现代社会人才应具备的基本素质之一。微型计算机是以微处理器为核心,配以大规模集成电路存储器、输入输出接口电路及系统总线所组成的计算机。微型计算机的产生与发展是与组成微型计算机的核心部件微处理器的产生与发展紧密相关的。每当一种新型的微处理器出现时, 就会带动微型计算机中其他部分的相应发展。例如,微型计算机体系结构的进一步优化,存储器存储容量不断增大,存取速度不断提高,外转设备性能不断改进及新的设备的出现等都是与微处理器的发展相适应的。本次设计的程序为路灯控制设计,此程序是通过中断控制器8259和并行接口芯片8255与8088计算机的硬件连接,以及延时方法,使用中断来模拟夜晚路灯亮灭的控制。硬件接线如图所示,输入、中断、输出由软件编程实现。程序主要分三大部分:初始化部分,中断部分,输出部分。程序循环进入空操作时通过中断K+来中断循环空操作,表示天黑需要路灯亮。结合所学知识和相关资料编制一个方便、可靠、实用的程序。 关键词:LOOP JNZ JMP 自减 循环 中断 1 设计任务描述1.1设计题目路灯控制设计1.2设计内容 1)天黑时路灯电亮,天亮时路灯关闭。2)用中断模拟天黑。1.2.1 设计目的通过课程设计使学生更进一步掌握微机原理及应用课程的有关知识,提高应用微机解决问题的能力,加深对微机应用的理解。通过查阅资料,结合所学知识进行软、硬件的设计,使学生初步掌握应用微机解决问题的步骤及方法。为以后学生结合专业从事微机应用设计奠定基础1.2.2 设计要求 1)通过K+来输入。2)用LED指示灯显示结果。3)输出为1灯亮,输入为0灯灭。2设计思路本次微机原理课程设计我设计的是路灯控制器,在设计题目出来后,我们找到了一篇关于路灯设计的程序,它的设计思路是按一个按钮然后灯就亮,再按灯就灭了。我看了之后立刻就觉得这个程序的关键是中断程序的设计。我们用到的芯片是中断控制器8259和重点学习的可编程并行接口8255这两种芯片再外加一个LED显示单元。用中断控制器8259的控制字来设置单片、边沿触发、非缓冲、非自动,用ICW4来设置IR7非屏蔽。设置中断控制器8255的控制字,让它A口输出来显示灯亮,B口输入来接收春夏秋冬四个季节。由于我们没用到C口,所以让C口高低四位均输出。设置完控制字后,再使A口输出全为0(这时路灯初始状态为灭),接着让程序循环进入空操作。当天黑需要路灯亮时,按下中断(代表天黑),程序从循环执行空操作中中断出来,使A口输出从全为0变成全为1(这时路灯全亮)。最后到了程序该结束的时候了,A口输出从全1再次变为全0(这时路灯全灭,代表夜晚已过,天亮了)。这时程序本该结束了。大体上程序分为三部分:初始化部分,中断部分,输出部分。运用所学课本知识,再经过大量的查找资料,把这几部分合理的串联到一起组成完整的程序。3 主要元器件介绍3.1 所用芯片8259简介:3.1.1 8259的外部引线D0D7为双向数据信号线,与系统总线的数据线相连接。WR、RD为写和读控制信号,与系统总线的读写信号相连接。CS为片选信号,只有CS为低电平时,才能实现CPU对8259的写或读操作。A0是8259内部寄存器的选择信号。它的不同状态,对应不同的内部寄存器。INT为8259的中断请求输出信号。可直接接到CPU的INTR输入端。INTA为中断响应输入信号。在中断响应过程中CPU的中断响应信号由此端进入8259.CAS0CAS2为级联控制线。当多片8259级联工作时,其中一片为主控级联芯片,其他均为从属级芯片。主控级芯片的CAS0CAS2作为输出,连接到个从属级芯片的CAS0CAS2上。当某从属8259提出中断请求时,主控级8259通过CAS0CAS2送出相应的编码给从属级,是从属级中断被允许。SP/EN为双功能引线。当工作在缓冲模式时,它为输出,用以控制缓冲传送;在非缓冲模式时,它用作输入。当SP=1时,指定8259芯片为主控级;SP=0时,指定它为从属级。IR0IR7中断请求输入端。其他外设中断请求可加在8259的IR0IR7的任一端上。该信号可以使上升沿有效,也可以时高电平有效。8259的内部有多个寄存器,其中包括:中断请求寄存器(IRR),其内部保存着所有外部中断源IR0IR7的中断请求状态。任何一个中断源发生请求,其相应位为1;一旦得到响应,则相应位复位。中断服务寄存器(ISR),用来保存所有正在服务的中断源。当8259受到中断结束命令时,其寄存的状态进行调整。中断屏蔽寄存器(IMR),保存着被屏蔽的所有中断源。其屏蔽功能可用命令修改。1 282 273 264 255 246 237 8259 228 219 2010 1911 1812 1713 1614 15CS VCCWR A0RD INTAD7 IR7D6 IR6D5 IR5D4 IR4D3 IR3D2 IR2D1 IR1D0 IR0CAS0 INTCAS1 SP/EN地 CAS28259引线图3.1.2 8259的内部控制字CPU命令分为两大类:一类时初始化命令字(ICW),主要使8259处于初始状态;另一类是操作命令字(OCW),使处于初始状态的8259去执行具体的某种操作方式。操作命令字可在8259初始化后的任何时刻写入。(1) 初始化命令字初始化命令字ICW1A0=0为偶地址。在A0=0,D4=1时为写入。A00D7 D6 D5 D4 D3 D2 D1 D01LTIMASIC4 1:需要ICW4 0:不需要ICW4 低8编程位 1:单片8259下,中断低口 0:多片8259级联8080/85模式 1:间隔为4 0:间隔为8 仅用于8080、85模式 1:电平触发 0:边沿触发初始化命令字ICW1初始化命令字ICW2A0=1为奇地址。初始化命令字ICW3A0=1为奇地址。该字是用于多片8259级联的。在主控8259中,ICW3的每一位对应一个IR输入。哪一位为1,表示相应的IR接从属8259.从属8259的ICW3的最低三位的编码用以表示该从属8259接至主控8259的IR编号。主控ICW3A01D7 D6 D5 D4 D3 D2 D1 D0 1:相应IR接从属8259 0:不接8259从属ICW3A01D7 D6 D5 D4 D3 D2 D1 D000000 3位编码对应从属8259 接主控的IR编号初始化命令字ICW3初始化命令字ICW4 A0=1为奇地址。A01D7 D6 D5 D4 D3 D2 D1 D0000SFNMBUFM/SAEOIPM 1:8086/88模式 0:8088/85模式 1:自动EOI 0:非自动结束 0X:非缓冲方法 10:缓冲方式从属片 11:缓冲方式主控片 1:特殊全嵌套方式 0:一般嵌套方式初始化命令字ICW4(2)操作命令字OCW 操作命令字OCW1。当这个8位的操作命令字的某一位置1时,它就屏蔽相对的IR输入。操作命令字OCW2。A00D7 D6 D5 D4 D3 D2 D1 D0RSLEOI00L2L1L0 编码对应IR的最低优先级0 0 1 一般EOI 中断结束命令0 1 1 特殊EOI 1 0 1 循环优先级的一般EOI命令 1 0 0 在自动EOI下置循环优先级 自动循环0 0 0 在自动EOI下清循环优先级 1 1 1 循环优先级的特殊EOI命令 1 1 0 设置优先级 特殊循环 0 1 0 无效操作命令字OCW2该命令字用来设置优先级是否循环、循环的方式及中断结束的方式。R为优先级循环控制位,R=1为循环优先级;R=0为固定优先级。L2、L1、L0为系统最低优先级编码,用它们来指定哪个IR优先级最低。EOI是中断结束命令。OCW2控制格式D7 D6 D5 D4 D3 D2 D1 D0功能R SL EOI 0 0 L2 L1 L00 0 1 0 0 - 一般中断结束EOI命令,使正执行的IS复位0 1 1 0 0 L2 L1 L0特殊结束SEIO命令,使L2 L1 L0指定的IS复位1 0 1 0 0 -一般自动循环命令,使正执行的IS复位且优先级最低1 0 0 0 0 -设置自动循环的命令0 0 0 0 0 -清除自动循环的命令,变为固定优先级1 1 0 0 0 L2 L1 L0优先级设置命令,L2 L1 L0所指定的IR优先级最低1 1 1 0 0 L2 L1 L0使L2 L1 L0所指定的IS复位并变为最低优先级0 1 0 -无效操作命令字OCW3。A00D7 D6 D5 D4 D3 D2 D1 D00ESMMSMM01PRRRIS 0X:无效0X:无效 10:可读IRR10:复位特殊屏蔽 11:可读ISR11:设置特殊屏蔽 1:允许查询 0:不查询操作命令字OCW38259寄存器及命令的访问控制A0D4D3RDWRCS操作0010读出ISR、IRR的内容1010读出IMR的内容000100写入OCW2001100写入OCW301X100写入ICW11XX100写入OCW1、ICW2、ICW3、ICW43.1.3 8259的初始化顺序写入ICW1写入ICW2写入ICW4是级联工作?写入ICW3需要ICW4?YYNN准备好接收中断请求3.2 所用芯片8255简介:3.2.1 外部引线D0D7为双向数据信号线,用来传送数据和控制字。、RD为读信号线,与其它信号线一起实现对8255接口的读操作通常接系统总线的IOR信号。WR为写信号线,与其它信号一起实现对8255的写操作,通常接系统总线的IOW。CS为片选信号线,当它为低电平(有效)时,才能选中该8255芯片,也才能对8255进行操作。、A0,A1为口地址选择信号线。8255内部有3个口;A口,B口,C 口,还有一个控制寄存器,它们可由程序寻址。A0,A1上的不同编码可分别寻址上述3个口和一个控制寄存器,具体规定如下: A1 A0 选择 0 0 A口0 1 B口1 0 C口1 1 控制寄存器通常 A0,A1分别接系统总线A0和 A1,它们与CS一起来决定8255的接口地址。RESET为复位输入信号。此端上的高电平可使8255复位。复位后,8255的A口,B口,C 口均被定为输入状态。PA0PA7为A口的8条输入输出信号线。PB0PB7为B口的8条输入输出信号线。PC0PC78条线根据其工作方式可作为数据的输入或输出线,也可以用作控制信号的输出或状态信号的输入线。3.2.2 8255有三种工作方式:方式0、方式1和方式2。 :方式0-基本输入/输出在此工作方式下,每个口都作为基本的输入输出口,C口的高4位和低4位以及A口和B口都可独立地设置为输入口和输出口。在此工作方式下:输出的数据被锁存,而输入的数据不被锁存。 而且,在方式0之下,C口还有按位置位和复位的能力。 :方式1-选通输入/输出 此工作方式下,三个端口分为A、B两组,A、B两个口仍用作数据输入输出口,而C口分成两部分,分别作为A口和B口的联络信号。在8255A中,联络信号是3位,两个数据口,共用去C口的6位,剩余的两位仍可作为数据位使用。:方式2-双向选通输入/输出此工作方式只限于A组使用,在A口工作于双向输入输出方式时,要利用C口的5条线才能实现此时B口子能工作在方式0或方式1,而C口剩下的3条线可作为输入输出线使用或用作B口方式1之下的控制线。当A口工作在方式2时,B口可以在方式0或方式1工作。 8255方式0之下的输入输出组合A 组B组A口(PA0-PA7)C口(PC4-PC7)B口(PB0-PB7)C口(PC0-PC3)入入入入入入入出入入出入入入出出入出入入入出入出入出出入入出出出出入入入出入入出出入出入出入出出出出入入出出入出出出出入出出出出3.2.3 8255的寻址:8255占外设编址的4个地址,即A口,B口,C口和控制寄存器各占一个外设接口地址。对同一个地址分别可以进行读写操作。例如,读A口可将A口的数据读出;写A口可将CPU的数据写入A口并输出。8255的寻址_CSA1A0_IOR_IOW操作00001读A口00101读B口01001读C口00010写A口00110写B口01010写C口01110写控制寄存器1XX11D0D7三态8255方式0基本功能 :方式0是基本输入输出方式。其功能如下: 进行数据传送时不需要联络信号。 任一设置成方式0的端口均可设置成输入或输出。 输出具有锁存功能。 输入没有锁存功能。 每一个8位口和4位口均可设置成方式0。如果所有的8位口和4位口都设置成方端口是否具有锁存功能是需要注意的。如果具有锁存功能,则8255A可作为CPtJ与外设之间数据传送的中转站。这时,CPU与外设之间数据传送是异步的。如果没有锁存功能,则8255A作为数据通道,仅起单向三态门的作用。这时,CPU与外设之间数据传送是同步的。方式0的输出具有锁存功能,而输入没有锁存功能。1 405 358255A10 3015 2520 21PA3 PA4PA2 PA5PA1 PA6PA0 PA7RD WRCS RESET地 D0A1 D1A0 D2PC7 D3PC6 D4PC5 D5PC4 D6PC0 D7PC1 VCCPC2 PB7PC3 PB6PB0 PB5PB1 PB4PB2 PB3可编程并行接口8255引线图D7 D6 D5 D4 D3 D2 D1 D0XXX 无关 置/复位 0 0:复位1:置位C口的位选择D3 D2 D1选择000PC0001PC1010 PC2011 PC3100 PC4101 PC5110 PC6111 PC7C口的按位操作控制字格式A组控制 B组控制76543210控制C口低四位1:输入0:输出控制B口八位1:输入0:输出方式选择0:方式01:方式1控制C口高四位0:输出1:输入控制A口8位0:输出1:输入方式选择00:方式010:方式111:方式2功能控制0:位操作1:方式选择8255的控制字格式4 源程序清单SSTACK SEGMENT STACKDW 32 DUP(?)SSTACK ENDSCODE SEGMENTASSUME CS:CODESTART: PUSH DSMOV AX, 0000HMOV DS, AXMOV SI, 003CHMOV DX, OFFSET LIGHT MOV SI,DXMOV AX,SEG LIGHTMOV SI,003EHMOV SI,AXCLIPOP DSSET8259: MOV AL, 13HOUT 20H, ALMOV AL, 08HOUT 21H, ALMOV AL, 01HOUT 21H, ALMOV AL, 7FHOUT 21H, ALSTISET8255: MOV DX,0646H MOV AL,82H OUT DX,AL MOV DX,0640H MOV AL,00H OUT DX,ALAA1: NOP JMP AA1LIGHT: PUSH DX PUSH AXLDXT: MOV DX,0642H IN AL,DX CMP AL,02H JNE LDQT MOV AL,0FFH MOV DX,0640H OUT DX,AL MOV CX,5CET5: CALL SOFTDLY LOOP CET5 JMP STOPSTOP: MOV DX,0640HMOV AL,00HOUT DX,ALMOV AL,20HOUT 20H,ALPOP AXPOP DX STIJMP SET8259SOFTDLY ENDP STIIRETCODEENDSEND START5 设计原理流程图开始8259初始化8255初始化路灯全灭中断计算机循环执行空操作关中断保护现场开中断天亮路灯自动灭中断结束恢复现场开中断返回8259初始化重新选择6实际硬件电路接线图D0 D7LED显示单元及开关单元K0K7D0 PA0 D7 PA7WRRDA0 PB0A1 PB7CS 8255单元XD0XD7IOW#IOR#XA1XA2IOY1MIR7主8259K+设计总结本次微机原理课程设计,我设计的是路灯控制。刚开始抽到这个题目时感觉挺迷茫的,完全没有思路。在课堂上我认真听老师给我们讲解后我对这次路灯控制设计有了信心的。当设计题目下来后,我立刻去查资料,上网查,去图书馆查,认识朋友的去向朋友要相关资料,总之,能找的我们都找了。再经过一天

温馨提示

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

评论

0/150

提交评论