基于8086的电子钟设计电气与信息工程学院自动化06102班200615010226刘丹目录错误!未找到引用源。摘要……………………………………………………………………………………1Abstract…………………………………………………………………………………1第一章电子钟设计总体方案设计……………………………………………………21.1设计目的………………………………………………………………………21.2设计要求………………………………………………………………………21.3方案比较………………………………………………………………………21.3.1非中断方式与中断方式的比较………………………………………21.3.2LED显示与液晶显的比较……………………………………………31.4总体方案设计思路……………………………………………………………3第二章系统硬件设计…………………………………………………………………42.18255与CPU之间的连接关系………………………………………………42.28253与周边电路的连接关系…………………………………………………42.38259与周边电路连接关系……………………………………………………52.4液晶显示模块与8255之间的连线关系……………………………………52.5地址译码器与按键……………………………………………………………62.6系统总体硬件电路图…………………………………………………………6第三章系统软件设计…………………………………………………………………73.1编址及控制字的确定…………………………………………………………73.1.1编址……………………………………………………………………73.1.2控制字…………………………………………………………………7基于8086的电子钟设计电气与信息工程学院自动化06102班200615010226刘丹3.2分块子程序……………………………………………………………………73.2.11602读写操作子程序…………………………………………………73.2.2中断子程序………………………………………………………………93.3主程序设计……………………………………………………………………11总结与致谢:…………………………………………………………………………13参考文献:……………………………………………………………………………14附录:…………………………………………………………………………………15基于8086的电子钟设计电气与信息工程学院自动化06102班200615010226刘丹-1-摘要本设计以微机原理与接口技术为基础,以8086CPU为核心,利用INTER8253可编程定时/计数器,通过引入时钟发生器产生标准时钟进行精准定时;经定时器产生中断源,采用可编程中断控制器8259A进行中断扩展,用可屏蔽中断方式进行时间的采集;以可编程并行I/O接口芯片8255A扩展接口,驱动MSC1602液晶模块进行时间显示。关键词:微机原理;接口技术;8086CPU;可屏蔽中断;MSC1602液晶;可编程;INTER8253定时/计数器;中断控制器8259A;并行I/O接口芯片8255AAbstractThisdesigntakethemicrocomputerprincipleandtheconnectiontechnologyasafoundation,bythe8086CPUcore,usestheINTER8253programmablefixedtime/counters,producesthestandardclockthroughtheintroductionclockgeneratortocarryonfinefixedtime;Producestheinterruptsourceafterthetimer,usesprogrammableinterruptcontroller8259Atocarryontheinterrupttoexpand,sendsthemaskableinterruptwaytocarryonthecounting;ByprogrammableparallelI/Otheconnectionchip8255Aexpansionconnection,actuatestheMSC1602liquidcrystalmoduletocarryonthetimedemonstration.Keyword:Microcomputerprinciple;Connectiontechnology;8086CPU;Maskableinterrupt;MSC1602liquidcrystal;Programmable;INTER8253fixedtime/counters;Interruptcontroller8259A;ParallelI/Oconnectionchip8255A基于8086的电子钟设计电气与信息工程学院自动化06102班200615010226刘丹-2-第一章电子钟设计总体方案设计1.1设计目的电子钟是一种基于微电子技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,因此得到了广泛的使用。1.2设计要求利用8253定时器设计一个具有时、分、秒显示的电子时钟,并定义一个启动键,当按下该键时电子时钟从当前设定值开始走时。1.3方案比较为实现设计要求,在8086微机系统中实现计时功能可有多种方式,同时实现显示的方式也有多种,现主要比较计时方式中的中断与非中断方式,及显示常用的LED显示与液晶显示。1.3.1非中断方式与中断方式的比较在非中断方式设计常使用的方式为查询法,查询法的设计,可将定时/计数器8253的OUT引脚接至并行I/O扩展芯片8255的PA,PB,PC的任一口上,CPU通过不断的检测该引脚上的高低电平变化,来进行计数。该方式的优点:实现思路相对简单;由于不要引入中断则可不用中断扩展芯片8259电路相对简单;该方式的缺点:由于CPU要不断的去检测单一引脚高低电平的变化,占用的时间比较长,利用率较低;与此同时,CPU要进行数据的运算与控制数据的传输,如果二者冲突,可能会发生计时不准的现象。中断方式的设计思路,将定时/计数器8253的OUT脚接至中断扩展芯片8259的IR引脚上,定时器产生相同频率的计数脉冲,形成中断源。8259再通过INTR引脚向CPU发出中断请求信号,CPU通过中断检测进行计数/计时。该方式的主要缺点:由于芯片8259的引进,使电路相对复杂;该方式的主要优点是:用中断的方式可以大大提高CPU的利用效率,同时可以在该系统上进行更多功能的扩展,同时用中断的方式进行计数/计时,计时更加的准确可靠。基于8086的电子钟设计电气与信息工程学院自动化06102班200615010226刘丹-3-基于以上的考虑本设计,采用电路稍微复杂,但可靠性强,利用效率高的中断方式。1.3.2LED显示与液晶显的比较为完成本设计的要求,若采用LED则需6块以上,可以采用二片8255来驱动动这六片LED进行静态显示。也可以采用动态扫描的方式,用一片8255加锁存器(如74LS573)来进行动态显示。若采用液晶显示,则只需用一片8255芯片进行接口的扩展(具体扩展方案将在下面进行介绍),可以得到较为满意的显示效果,但操作的技巧性要求相对较高,成本相对较高。不论从硬件电路驱动的复杂性,还是从软件设计的简洁性及整个系统的外观来看,时尚的液晶显示更能满足系统的需求。鉴于以上考虑,本次设计采用操作要求相对较高的液晶进行数码显示。1.4总体方案设计思路本方按主要设计思路如右下图所示:以8086CPU最小系统为核心,控制可编程定时/计数器INTER8253,可编程中断控制器8259A,可编程并行I/O接口芯片8255A。通过8253的输出记数脉冲为8259产生中断源,8259将中断信号反馈到CPU,从而产生可屏蔽中断的申请信号,在CPU的合理响应下进行计数,通过8255驱动16*2的液晶显示模块LCM1602进行时间显示。8086CPU8255825982531602驱动产生中断控制中断源控制控制基于8086的电子钟设计电气与信息工程学院自动化06102班200615010226刘丹-4-第二章系统硬件设计在本章中,将分模块对本次设计的硬件设计进行简述,分块介绍系统的主要功能及连线方式。2.18255与CPU之间的连接关系通过CPU与8255的读写控制线对接,有效的控制接口芯片的输入输出状态,用第11和12根地址线再加上2-4译码器的的Y0脚接8255片选,为8255的A,B,C及控制口分配了可靠的地址。将8086的低八位数据线与8255数据端对接,为8255的输入输出提供数据。由于为芯片提供的都是偶地址,系统默认访问低八位的数据线。具体连线图见右图:2.28253与周边电路的连接关系在系统中定时/计数芯片8253主要与CPU及中断扩展芯片8259之间存在着连接关系。同8255,8253的读写控制线与CPU的读写控制线对接,正确控制CPU对8253的读写控制(本次设计只用到了CPU往8253中写入数据,没用到读出状态的功能),第2和3位数据/地址复用线加上译码器的Y1端为8253的定时器0,1,2及控制口确定了可靠的地址(仅用到T0及控制地址),CPU低八位数据线为控制8253提供数据。通过CLK0端引入时钟发生器所产生的标准时钟(本设计采用10KHZ的外部时钟),将OUT0接至8259的IR0引脚上,作为中断源。具体电路如上示:基于8086的电子钟设计电气与信息工程学院自动化06102班200615010226刘丹-5-2.38259与周边电路连接关系为了对8259进行合理分配奇、偶地址,从CPU引入了第A13作为地址线,再加上译码器的Y2端作为片选信号,8259获得了两个可靠的地址。同8255与8253相似8086同样靠低八位的数据线,与8259进行数据交换。IR0为8253的计数输出端,8259通过检测IR一组引脚的输入情况,经过中断判优以后,对当前优先级最高的中断进行响应,同时向CPU发送INTR信号请求中断,在可屏蔽中断允许的情况下CPU对其进行响应,返回INTA非的信号,8259此时发出当中断的中断类型号给8086。程序跳到中断子程序的入口地址处去执行中断操作。具体电路连线如右图所示:2.4液晶显示模块与8255之间的连线关系液晶显示模块1602的数据线接在8255的A口上,通过对A口进行读写操作,为显示模块提供控制指令及显示数据。8255的PC0和PC1分别接1602的RS(指令/数据控制脚)和EN(使能脚)上,控制指令/数据的输入。其它引脚按典型接法接线,要说明的是,本次对1602只进行了写的操作,故将读写控制脚接低电平。通过延时的方式来解决1602读写操作忙的问题(具体时序见第三章系统软件设计)。连线图如右示:基于8086的电子钟设计电气与信息工程学院自动化06102班200615010226刘丹-6-2.5地址译码器与按键在本次设计中,由于有多片芯片要进行地址编码,使用了一片2-4译码器74LS139进行译码,使地址编码更加的方便。使用的CPU地址端口为第9和10号地址线,输出的Y0,Y1,Y2分别接8255,8253,8259。由于设计要求,在本设计中进行了按键设计,其电路简单,当K未按下时输出为高电平,当K按下时输入给8255PB0口一个低电平,系统通过检测这一引脚是否为低电平来判断系统是否开始从当前时间开始计时。具体设计电路图见2.6总体硬件电路图。2.6系统总体硬件电路图基于8086的电子钟设计电气与信息工程学院自动化06102班200615010226刘丹-7-第三章系统软件设计3.1编址及控制字的确定3.1.1编址按照第二章硬件设计电路中,CPU对8253,8255,8259进行的地址分配地址(仅为在编程过程过要使用的地址进行编制)