课程设计任务书专业自动化班级**姓名**设计起止日期2013.12.16~2013.12.20设计题目:多路流水灯控制程序的设计设计任务(主要技术参数):按要求设计出模拟多路流水灯控制系统。通过8086系统总线单元和输入输出并行接口8255单元、74LS373以及LED显示单元进行连接,并应用所设计的程序使连接好的线路工作正常。指导教师评语:成绩:签字:年月日课程设计说明书NO.11引言随着科学技术的不断发展,在高精尖科技的面前微型计算机的应用是无处不在的,所以要学好微机原理及其应用。对于本次课程设计,按要求通过汇编语言设计出模拟热水器控制系统。根据提供的8086系统总线单元、输入输出并行接口8255单元、74LS373以及LED显示进行连接,并应用所设计的程序使连接好的线路工作正常。本次课程设计的题目为“多路流水灯控制程序的设计”,并行通信就是把一个字符的各位同时用几根线进行传输。传输速度快,信息率高。电缆要多,随着传输距离的增加,电缆的开销会成为突出的问题,所以,并行通信用在传输速率要求较高,而传输距离较短的场合。应用程序设计的具体内容如下:在本实验中要求用8255A的B口做为输出,接16个发光二极管,从而实现16位流水灯的显示效果,故基本的接线。在PA0-PA7口分别对应的接八个发光二极管。在PB0-PB7口分别对应的接八个发光二极管。使16只彩灯从左往右依次点亮然后熄灭。使16只彩灯从右往左依次点亮后熄灭。使16只彩灯闪烁。接着重复以上动作,这样一直循环下去。2设计方案论证2.1设计原理本次课程设计的内容为模拟流光灯控制系统设计与实现。根据需要,需选择的芯片有74LS373变换芯片,8255可编程并行接口。1)设计题目分析编写程序,使用8255的A口和B口均为输出,实现16位流水灯显示效果2)功能扩展i:将流水灯设计成可以正着流水,也可以倒着流水ii:通过开关对流水灯闪烁的速度进行控制,高电平时为快,低电平时为慢速沈阳大学课程设计说明书NO.23)总体方案设计分析要求用8255的A口和B口做为输出,接16个发光二极管,从而实现16位流水灯的显示效果,基本的界限可如下图A所示,在C口的地两位接两个开关,实现两个扩展功能的控制。i:基本流水灯显示电路A口和B口两个端口不能同时复制,从而在试验中可以用BX进行需要复制的数据的存储,因为BX可以分从BHBL两个部分进行独立的操作,在本次试验中用BH对A口进行赋值,用BL对B口进行赋值,通过演示一段时间再对BHBL进行移位和输出,实现流水灯的效果。ii:正反方向选择把PC.0口接在开关上,编写程序对C端口的数据进行读取,并进行判断,使得当PC.0为高电平的时候则灯进行左移,同时B口与A口相反。iii:快慢速度控制把PC.1口接在开关上,编写程序对C端口的数据进行读取,并进行判断,使得当PC.1为高电平的时候则延时的时间缩短,使得流水灯的流水速度加快,低电平的时候则进行延时的时间变长,使得流水灯的流水速度加快。2.2设计环境及设备PC机一台、windowsXP系统、实验箱,导线若干。8255并口:用做接口芯片,与数码管相连。74LS373:用于锁存数据。LED:用作彩灯。2.3模拟流光灯工作原理1)左向移动流水灯(1)现象左向移动流水灯的实验现象是首先最左边的灯亮,然后是最左边的灯灭,此时左起第二个灯亮,依次轮流亮,直到第八个灯亮。然后循环上述过程。沈阳大学课程设计说明书NO.3(2)原理左向移动流水灯是根据发光二极管的显示原理,首先点亮最右的二极管,然后进位置一,通过带进位的循环左移指令编写程序以实现模拟流水灯的左向移动。2)右向移动流水灯(1)现象右向移动流水灯的实验现象是首先最右边的灯亮,然后是最右边的灯灭,此时右起第二个灯亮,依次轮流亮,直到第八个灯亮。然后循环上述过程。(2)原理右向移动流水灯是根据发光二极管的显示原理,首先点亮最左的二极管,然后进位置一,通过带进位的循环右移指令编写程序以实现模拟流水灯的右向移图1设计系统框图3系统硬件设计3.18086简介Intel8086是16位的微处理器(其内部总线为16位,外部总线为8位,故称为准16位微处理器),它采用HMOS工艺40条引脚封装。8086工作时使用5V电源,时钟频率5MHz(8086-1为10MHz,8086-2为8MHz)它有20根地址线,故可寻址的内存空间为1MB【2】。沈阳大学课程设计说明书NO.4(1)8086的主要特性Intel8086/8088CPU是Intel公司推出的高性能的微处理器,具体如下主要特性:(a)8086CPU数据总线为16位,8088CUP数据总线为8位。(b)地址总线都是20位,低16位用于数据总线复用,可直接寻址为1MB的存储空间。(c)有16位的端口地址,可以寻址64KB的I/O端口。(d)有99条基本指令,指令功能强大。(e)有9种基本寻址方式。(f)可以处理内部和外部中断,外部中断源多达256个。(g)兼容性好,8086、8085在源程序一级兼容。(h)8086/8088标准主频为5MHz,8086/8088-2主频为8MH【3】。(i)支持单处理器或多处理器系统工作。(2)8086CPU寄存器结构8086CPU中有14个16位的寄存器,其中有4个16位的通用寄存器,2个16位指针寄存器,2个16位变址寄存器,1个16位指令指针及1个16位标志寄存器【8】。通用寄存器包括累加器AX,基址寄存器BX,计数寄存器CX,数据寄存器DX四个寄存器,位于CPU的EU中,每个数据寄存器可存放16位操作数,也可拆成两个8位寄存器,用来存放8位操作数。指针和变址寄存器包括:堆栈指针SP、基址指针BP、源变址寄存器SI、和目的变址寄存器DI四个16位寄存器,可以来存放数据和地址。段寄存器包括:代码段寄存器CS,数据段寄存器DS,附加段寄存器ES,堆栈段寄存器SS【4】。3.28255简介8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位、32位等。用+5V单电源供电,能在以下三种方式下工作:方式0--基本输入/出方式、方式沈阳大学课程设计说明书NO.51--选通输入/出方式、方式2--双向选通工作方式。8255的内部结构及引脚图如图2所示。图28255内部结构及引脚图具体的各引脚功能如下【3】:D0~D7为双向数据信号线,用来传送数据和控制字。RD为读信号线,与其它信号线一起实现对8255接口的读操作通常接系统总线的IOR信号。WR为写信号线,与其它信号一起实现对8255的写操作,通常接系统总线的IOW。CS为片选信号线,当它为低电平(有效)时,才能选中该8255芯片,也才能对8255进行操作。A0,A1为口地址选择信号线。8255内部有3个口;A口,B口,C口,还有一个控沈阳大学课程设计说明书NO.6制寄存器,它们可由程序寻址.A0,A1上的不同编码可分别寻址上述3个口和一个控制寄存器,具体规定如表1所示。表18255的寻址方式A1A0选择00A口01B口10C口11控制寄存器通常A0,A1分别接系统总线A0和A1,它们与CS一起来决定8255的接口地址。RESET为复位输入信号。此端上的高电平可使8255复位。复位后,8255的A口,B口,C口均被定为输入状态。PA0~PA7为A口的8条输入输出信号线。PB0~PB7为B口的8条输入输出信号线。PC0~PC7,8条线根据其工作方式可作为数据的输入或输出线,也可以用作控制信号的输出或状态信号的输入线【7】。8255工作方式控制字和C口按位置位/复位控制字格式如图3所示。图3置位/复位控制字格式沈阳大学课程设计说明书NO.78255的寻址:8255占外设编址的4个地址,即A口,B口,C口和控制寄存器各占一个外设接口地址。对同一个地址分别可以进行读写操作。例如,读A口可将A口的数据读出;写A口可将CPU的数据写入A口并输出。如表2为方式0下系统的输入输出组合,其中分为A,B组,A组分为A口和C口,B组分为B口和C口。表2方式0下,8255的16种输入输出组合A组B组A口(PA0---PA7)C口(PC4---PC7)B口(PB0---PB7)C口(PC0---PC3)入入入入入入入出入入出入入入出出入出入入入出入出入出出入入出出出出入入入出入入出出入出入出入出出出出入入出出入出出出出入出出出出3.374LS373主要功能74ls373是常用的地址锁存器芯片,它实质是一个是带三态缓冲输出的8D触发器,在单片机系统中为了扩展外部存储器,通常需要一块74ls373芯片沈阳大学课程设计说明书NO.8图4内部结构和引脚3.4LED介绍制造LED的材料不同,可以产生具有不同能量的光子,借此可以控制LED所发出光的波长,也就是光谱或颜色。历史上第一个LED所使用的材料是砷(As)化镓(Ga),其正向PN结压降(VF,可以理解为点亮或工作电压)为1.424V,发出的光线为红外光谱。另一种常用的LED材料为磷(P)化镓(Ga),其正向PN结压降为2.261V,发出的光线为绿光。同波长特性和大致分为紫红、纯红、橙红、橙、橙黄、黄、黄绿、纯绿、翠绿、蓝绿、纯蓝、蓝紫等,橙红、黄绿、蓝紫色较纯红、纯绿、纯蓝价格上便宜很多。三个原色中绿色最为重要,因为绿色占据了白色中69%的亮度,且处于色彩横向排列表的中心。因此在权衡颜色的纯度和价格两者之间的关系时,绿色是着重考虑的对象。图5LED彩灯沈阳大学课程设计说明书NO.94模拟流水灯软件设计4.1主程序设计首先对8255进行初始化,然后开始读取阻值变化模拟温度,然后进行A/D转换,8086系统总线进行总控制,8255读取数据然后通过数码管显示进行温度读取,然后比较,再进一步判断。主程序流程图如图7所示。图6主程序流程图沈阳大学课程设计说明书NO.104.2编程程序实现CODESEGMENTASSUMECS:CODESTART:MOVAL,01HMOVBX,00FAHMOVAH,0AHJMPOBA0OBA0:MOVDX,00HOUTDX,ALJMPOBA1OBA1:MOVDX,02HOUTDX,ALMOVCX,9FFFHLOOP$ROLAL,1DECBXCMPBX,00F2HJZOBA4JMPOBA0CHU:MOVAL,00FEHJMPOBA2OBA2:MOVDX,00HOUTDX,ALJMPOBA3OBA3:MOVDX,02HOUTDX,ALMOVCX,9FFFHLOOP$DECAHCMPAH,02HJZSTARTRORAL,1JMPOBA2沈阳大学课程设计说明书NO.11OBA4:MOVDX,00HMOVAL,00FFHOUTDX,ALMOVCX,9FF0HLOOP$MOVCX,9FF0HLOOP$MOVDX,02HOUTDX,ALMOVCX,9F20HLOOP$MOVCX,9F20HLOOP$MOVDX,00HMOVAL,0000HOUTDX,AL;;;;MOVDX,02HMOVAL,0000HOUTDX,ALMOVCX,9F20HLOOP$MOVCX,9F20HLOOP$;;;第二次MOVDX,00HMOVAL,00FFHOUTDX,ALMOVCX,9FF0HLOOP$MOVCX,9FF0HLOOP$MOVDX,02HOUTDX,ALMOVCX,9F20H沈阳大学课程设计说明书NO.12LOOP$MOVCX,9F20HLOOP$MOVDX,00HMOVAL,0000HOUTDX,AL;;;;MOVDX,02HMOVAL,0000HOUTDX,ALMOVCX,9F20HLOOP$MOVCX,9F20HLOOP$;;JMPOBA5OBA5:MOVDX,00HMOVAL,00FFHOUTDX,ALMOVDX,02HOUTDX,ALMOVCX,9FF0HLOOP$MOVCX,9FF0HLOOP$MOVDX,00HMOVAL,000