可编程节日彩灯系统硬件课程设计实验报告.doc

上传人:文库蛋蛋多 文档编号:2883305 上传时间:2023-03-01 格式:DOC 页数:34 大小:2.82MB
返回 下载 相关 举报
可编程节日彩灯系统硬件课程设计实验报告.doc_第1页
第1页 / 共34页
可编程节日彩灯系统硬件课程设计实验报告.doc_第2页
第2页 / 共34页
可编程节日彩灯系统硬件课程设计实验报告.doc_第3页
第3页 / 共34页
可编程节日彩灯系统硬件课程设计实验报告.doc_第4页
第4页 / 共34页
可编程节日彩灯系统硬件课程设计实验报告.doc_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《可编程节日彩灯系统硬件课程设计实验报告.doc》由会员分享,可在线阅读,更多相关《可编程节日彩灯系统硬件课程设计实验报告.doc(34页珍藏版)》请在三一办公上搜索。

1、计算机科学与技术学院 硬件课程设计实验报告设计题目: 可编程节日彩灯系统摘 要彩灯控制器在我们的日常生活中有着重要的运用,如广告牌的设计和节日彩灯的设计都能运用到它的原理。本次报告中设计的花样彩灯控制器是其中较简单的,但这是进行复杂设计的基础。可编程并行芯片8255A是一种可编程的输入输出芯片,利用它对电平的高低来控制脉冲的到达,利用8253的定时功能和8279对彩灯各种形式的控制,从而控制彩灯使其发出绚丽夺目的色彩和产生各种式样的彩灯。查阅相关资料,用简单的输入输出端口等硬件,结合实际彩灯的亮与灭的控制来进行设计。利用键盘上的灯来实现彩灯的各种形式的变换,使彩灯变换的样式更多,克服了节日彩灯

2、变换样式单调的缺点,使节日彩灯朝着变换多种多样的方式发展。内容:利用微机原理试验箱的8279、8253、8255、和6组LED灯,模拟霓虹灯的显示效果,实现彩灯定时多样式变换。关键词:可编程节日彩灯 ;循环 ;8253定时 ;8255控制脉冲到达 ;8279实现对彩灯各种形式的控制目 录1 设计任务与要求11.引言1.2设计目的1.3设计内容1.4设备器材2 总体方案与说明2.1 设计思想2.2 实验原理介绍2.2.1 LED是共阴极的,其七段LED的段选码为2.2.2 LED显示的方法为动态显示3 硬件框图与说明3.1 8279可编程键盘/显示接口芯片介绍3.2 8253可编程定时/计数器介

3、绍3.3 8255可编程并行接口芯片介绍4 电路原理图与说明4.1 实验原理图4.2 实验步骤4.2.1 实验连线4.2.2 编写调试程序,全速运行,观察实验结果5软件主要模块流程图5.1 软件设计思路5.2 软件流程图6 源程序清单与注释7问题分析与解决方案7.1 实验设计前后面临的问题分析7.1.1 芯片的选择问题7.1.2 芯片的连接和使用问题7.1.3 程序的编制和程序运行时出现的问题7.2 问题的解决方案7.2.1 对于问题一与问题二7.2.2 对于问题三8 结论与体会8.2 实验体会参考资料1、设计任务与要求1.1引言在现代生活中,彩灯作为一种景观,安装在建筑物的适当地方。一是作为

4、装饰增添节日气氛,二是有一种广告宣传的作用:用在舞台上增强晚会灯光效果。彩灯控制器在我们的日常生活中有着重要的运用,如广告牌的设计和节日彩灯的设计都能运用到它的原理。本次报告中设计的花样彩灯控制器是其中较简单的,但这是进行复杂设计的基础。数码管是一种半导体发光器件,其基本单元是发光二极管。通过对其不同的管脚输入相对的电流,会使其发亮,从而显示出数字能够显示 时间、日期、温度等所有可用数字表示的参数。由于它的价格便宜、使用简单,在电器特别是家电领域应用极为广泛,空调、热水器、冰箱等等。绝大多数热水器用的都是数码管,其他家电也用液晶屏与荧光屏。可编程节日彩灯打破常规彩灯闪烁固定变化的现状,可根据人

5、们不同的意愿进行编程设计出想要的变换的色彩效果。可编程并行芯片8255A是一种可编程的输入输出芯片,利用它对电平的高低来控制脉冲的到达,利用8253的定时功能和8279对彩灯各种形式的控制,从而控制彩灯使其发出绚丽夺目的色彩和产生各种式样的彩灯。查阅相关资料,用简单的输入输出端口等硬件,结合实际彩灯的亮灭控制过程进行设计。利用键盘上的灯实现灯的各种形式的变换,使彩灯变换的样式更多,克服了节日彩灯变换样式单调的缺点,使节日彩灯朝着变换多种多样的方式发展。内容:利用微机原理试验箱的8279、8253、8255、和6组LED灯,模拟霓虹灯的显示效果,实现彩灯定时多样式变换。1.2设计目的通过课程设计

6、使我们更进一步掌握微机原理与应用课程的有关知识,提高用汇编语言编程的能力,加深对汇编语言的理解。通过查阅资料,阅读程序,提高设计程序的能力及动手能力,使编程水平有一定的提高,同时也会提高我们通过动手进行硬件设计及程序设计从而提高解决实际问题的能力。通过实验的深入,进一步加强对微机接口与原理的实验箱的了解,充分了解其内部结构,尤其加深对8279、8253、8255芯片的原理与连线的了解。1.3设计内容在本实验中我们将用到可编程外围接口芯片8255、可编程键盘显示器接口芯片8279可编程定时器/计数器8253和74LS138简单接口芯片实现数码管的亮灭。我们将设计出多种闪烁图案,以实现简单的数字及

7、其他图案的显示。该系统显示直观,工作稳定,操作简单,与商用LED显示具有类似的显示原理,具备较强的实用价值。彩灯样式实现举例:1、全8显示2、B.21323、1 2 3 4 5 64、三排横向图案 5、ABCDEFG6、方形花样图案27、实现全灭8、APPLE的显示 1.4设备器材(1)PC微机一台 用于对程序的编译测试等,同时还需要对实验设备进行控制,提供整个程序的运行平台,并且收集和释放硬件信号,实现程序功能。(2)微机原理实验箱一台 此设备能提供8253、8255、8259和数码管等必要芯片。并且能通过接受PC机传来的信息,显示出相应的功能。以支持LED规则显示的实现。(3)导线若干条

8、用于电路和芯片之间的连接。2 总体方案与说明2.1 设计思想8253器件:8253具有计数和定时的功能。通过8253器件实现定时脉冲,即每隔1秒钟赋予一个脉冲,用作定时装置。8255器件:8255用作辅助装置。8255器件的A端口用于接收8253器件的定时脉冲,当每接收到一次脉冲时,彩灯变换一次图案。8279器件:8279用作控制彩灯的变化,使彩灯形成各种图案。如,全8显示、脉冲波形显示、数字显示、全暗等各种图形显示。2.2 实验原理介绍数码管的段选码由OUTA口和OUTB口输出,经74LS244驱动后送给共阴极LED。数码管的位扫描信号经74LS138译码、75451驱动后提供给LED的公共

9、极。RL0RL7提供了键盘列扫描接口,KA0KA3提供键盘的行扫描接口。2.2.1 LED是共阴极的,其七段LED的段选码为字符0123456789ABCDEF段选码3fh06h5bh4fh66h6dh7dh07h7fh6fh77h7ch39h5eh79h71h2.2.2 LED显示的方法为动态显示3 硬件框图与说明3.1 8279可编程键盘/显示接口芯片介绍8279是可编程的键盘、显示接口芯片。它既具有按键处理功能,又具有自动显示功能。8279内部有键盘FIFO/传感器、双重功能的64BRAM,键盘控制部分可控制8*8=64个按键或控制8*8阵列方式的传感器。该芯片能自动消除键抖动并具有双键

10、锁定保护功能。本次实验我们将利用8279的以上功能设计点阵广告屏。首先介绍一下8279芯片:DB0DB7:8位数据总线与系统数据总线相连,用CPU和8279间的数据/命令传送。CS:片选信号:当CS=0时,8279被选中。WR:WR=0.控制8279写操作。A0:数据选择输入线:当A=0,CPU读出为数据;当A=1,CPU写入数据为命令字,读出数据为状态字。BD:消隐输出线,BD=0有效,在切换显示数据或使用消隐命令时,该信号将显示器熄灭。CLK:外部时钟信号输入线,8279通过内部定时器将该信号变为内部时钟,内部时钟频率的高低直接决定显示器的扫描时间,通常与编程设置为100Hz,此时,把每位

11、显示数码管的选通的时间定为0.64ms,设定显示字符8位和16位时,显示扫描周期分为5.1ms和10.2ms.OUTA0OUTA3:A组 显示数据输出线。OUTB0OUTB3:B组 显示数据输出线。两组数据输出线可独立使用,也可合并使用,合并使用时OUTA3为最高位,OUTB0为最低位。SL0SL3:扫描输出线,有2种工作方式,即译码和编码输出,方式选择可通过编程设定。RL0RL7:输入线,它们是键盘矩阵或传感器矩阵的列或行信号输入线。3.2 8253可编程定时/计数器介绍8253可编程定时/计数器有3个独立的十六位计数器,计数器的计数频率范围为02MHz。它所有的计数方式和操作方式都通过编程

12、控制。DB0DB7:数据线A0,A1:地址线,用于选择3个计数器中的一个及选择控制字寄存器。RD,WR:读写控制信号CS:片选端CLK02:计数器0,1,2的时钟输入端GATE02:计数器0,1,2的门控制脉冲输入端,由外部设备送入门控制脉冲。OUT02:计数器0,1,2的输出端,由它接至外部设备以控制其启动。8253中各通道可有6种可供选择的工作方式, 以完成定时、计数或脉冲发生器等多种功能。8253的各种工作方式如下:1.方式0:计数结束则中断工作方式0被称为计数结束中断方式。当任一通道被定义为工作方式0时, OUTi输出为低电平;若门控信号GATE为高电平,当CPU利用输出指令向该通道写

13、入计数值WR#有效时,OUTi仍保持低电平,然后计数器开始减“1”计数, 直到计数值为“0”,此刻OUTi将输出由低电平向高电平跳变,可用它向CPU发出中断请求,OUTi端输出的高电平一直维持到下次再写入计数值为止。在工作方式0情况下,门控信号GATE用来控制减“1”计数操作是否进行。当GATE=1时,允许减“1”计数;GATE=0时,禁止减“1”计数; 计数值将保持GATE有效时的数值不变, 待GATE重新有效后,减“1”计数继续进行。显然,利用工作方式0既可完成计数功能, 也可完成定时功能。当用作计数器时,应将要求计数的次数预置到计数器中,将要求计数的事件以脉冲方式从CLKi端输入, 由它

14、对计数器进行减“1”计数,直到计数值为0,此刻OUTi输出正跳变, 表示计数次数到。当用作定时器时,应把根据要求定时的时间和CLKi的周期计算出定时系数,预置到计数器中。从CLKi,输入的应是一定频率的时钟脉冲,由它对计数器进行减“1”计数, 定时时间从写入计数值开始,到计数值计到“0”为止,这时OUTi输出正跳变,表示定时时间到。有一点需要说明,任一通道工作在方式0情况下, 计数器初值一次有效,经过一次计数或定时后如果需要继续完成计数或定时功能,必须重新写入计数器的初值。2.方式1:单脉冲发生器工作方式1被称作可编程单脉冲发生器。进入这种工作方式, CPU装入计数值n后OUTi输出高电平,

15、不管此时的GATE输入是高电平还是低电平, 都不开始减“1”计数,必须等到GATE由低电平向高电平跳变形成一个上升沿后,计数过程才会开始。与此同时,OUTi输出由高电平向低电平跳变,形成了输出单脉冲的前沿,待计数值计到“0”, OUTi输出由低电平向高电平跳变,形成输出单脉冲的后沿, 因此,由方式l所能输出单脉冲的宽度为CLKi周期的n倍。如果在减“1”计数过程中, GATE由高电平跳变为低电乎,这并不影响计数过程,仍继续计数;但若重新遇到GATE的上升沿,则从初值开始重新计数, 其效果会使输出的单脉冲加宽,如教材图9-22(b)中的第2个单脉冲。这种工作方式下,计数值也是一次有效,每输入一次

16、计数值,只产生一个负极性单脉冲。3.方式2:速率波发生器工作方式2被称作速率波发生器。进入这种工作方式, OUTi输出高电平,装入计数值n后如果GATE为高电平,则立即开始计数,OUTi保持为高电平不变; 待计数值减到“1”和“0”之间, OUTi将输出宽度为一个CLKi周期的负脉冲,计数值为“0”时,自动重新装入计数初值n,实现循环计数,OUTi将输出一定频率的负脉冲序列, 其脉冲宽度固定为一个CLKi周期, 重复周期为CLKi周期的n倍。如果在减“1”计数过程中,GATE变为无效(输入0电平),则暂停减“1”计数,待GATE恢复有效后,从初值n开始重新计数。这样会改变输出脉冲的速率。如果在

17、操作过程中要求改变输出脉冲的速率,CPU可在任何时候,重新写人新的计数值, 它不会影响正在进行的减“1”计数过程,而是从下一个计数操作用期开始按新的计数值改变输出脉冲的速率。4.方式3:方波发生器工作方式3被称作方波发生器。任一通道工作在方式3, 只在计数值n为偶数,则可输出重复周期为n、占空比为1:1的方波。进入工作方式3,OUTi输出低电平, 装入计数值后,OUTi立即跳变为高电平。如果当GATE为高电平, 则立即开始减“1”计数,OUTi保持为高电平,若n为偶数,则当计数值减到n/2时,OUTi跳变为低电平,一直保持到计数值为“0”,系统才自动重新置入计数值n,实现循环计数。这时OUTi

18、端输出的周期为nCLKi周期,占空比为1:1的方波序列; 若n为奇数, 则OUTi端输出周期为nCLKi周期,占空比为(n+1)/2)/(n-1)/2)的近似方波序列。如果在操作过程中, GATE变为无效,则暂停减“1”计数过程,直到GATE再次有效,重新从初值n开始减“l”计数。如果要求改变输出方波的速率, 则CPU可在任何时候重新装入新的计数初值n,并从下一个计数操作周期开始改变输出方波的速率。5.方式4:软件触发方式计数工作方式4被称作软件触发方式。进入工作方式4,OUTi输出高电平。 装入计数值n后, 如果GATE为高电平,则立即开始减“1”计数,直到计数值减到“0”为止,OUTi输出

19、宽度为一个CLKi周期的负脉冲。由软件装入的计数值只有一次有效,如果要继续操作, 必须重新置入计数初值n。如果在操作的过程中,GATE变为无效,则停止减“1”计数, 到GATE再次有效时,重新从初值开始减“1”计数。显然,利用这种工作方式可以完成定时功能,定时时间从装入计数值n开始,则OUTi输出负脉冲(表示定时时间到),其定时时间=nCLK周期。 这种工作方式也可完成计数功能,它要求计数的事件以脉冲的方式从CLKi输入,将计数次数作为计数初值装入后,由CLKi端输入的计数脉冲进行减“1”计数,直到计数值为“0”,由OUTt端输出负脉冲(表示计数次数到)。 当然也可利用OUTj向CFU发出中断

20、请求。 因此工作方式4与工作方式0很相似,只是方式0在OUTi端输出正阶跃信号、方式4在OUTi端输出负脉冲信号。6.方式5:硬件触发方式计数工作方式5被称为硬件触发方式。进入工作方式5, OUTi输出高电平, 硬件触发信号由GATE端引入。 因此,开始时GATE应输入为0, 装入计数初值n后,减“1”计数并不工作,一定要等到硬件触发信号由GATE端引入一个正阶跃信号,减“1”计数才会开始,待计数值计到“0”, OUTi将输出负脉冲,其宽度固定为一个CLKi周期,表示定时时间到或计数次数到。这种工作方式下,当计数值计到“0”后, 系统将自动重新装入计数值n,但并不开始计数, 一定要等到由GAT

21、E端引入的正跳沿,才会开始进行减“1”计数, 因此这是一种完全由GATE端引入的触发信号控制下的计数或定时功能。如果由CLKi输入的是一定频率的时钟脉冲,那么可完成定时功能,定时时间从GATE上升沿开始,到OUTi端输出负脉冲结束。如果从CLKi端输入的是要求计数的事件,则可完成计数功能,计数过程从GATE上升沿开始,到OUTi输出负脉冲结束。GATE可由外部电路或控制现场产生,故硬件触发方式由此而得名。如果需要改变计数初值, CPU可在任何时候用输出指令装入新的计数初值m,它将不影响正在进行的操作过程, 而是到下一个计数操作周期才会按新的计数值进行操作。从上述各工作方式可看出,GATE作为各

22、通道的门控信号,对于各种不同的工作方式,它所起的作用各不相同。在8253的应用中,必须正确使用GATE信号,才能保证各通道的正常操作。3.3 8255可编程并行接口芯片介绍8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。同时必须具有与外设连接的接口A、B、C口。由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:与CPU连接部分、与外设连接部分、控制部分。RESET:复位输入线,当该输入端 处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。 8255内部结构 图 2 8255外部引

23、脚图并行接口是以数据的字节为单位与 I/O 设备或被控制对象之间传递信息。CPU 和接口之间的数据传送总是并行的,即可以同时传递 8 位、16 位或 32 位等。8255 可编程外围接口芯片是 Intel 公司生产的通用并行 I/O 接口芯片,它具有 A、B、C 三个并行接口,用+5V 单电源供电,能在以下三种方式下工作:方式 0-基本输入/输出方式、方式 1-选通输入/输出方式、方式 2-双向选通工作方式。8255 的内部结构及引脚如图 4.31 所示,8255 工作方式控制字和 C 口按位置位/复位控制字格式如图 3和图4所示图3工作方式控制字图4 C口置位/复位控制字8255 实验单元电

24、路图如图 5 所示:图5 8255 实验单元电路图CS:芯片选择信号线,当这个输入引脚为低电平时,即/CS=0时,表示芯片被选中,允许8255与CPU进行通讯; /CS=1时,8255无法与CPU做数据传输. RD:读信号线,当这个输入引脚为低电平时,即/RD=0且/CS=0时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。 WR:写入信号,当这个输入引脚为低电平时,即/WR=0且/CS=0时,允许CPU将数据或控制字写入8255。 D0D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现8位数据的读/写操作,

25、控制字和状态信息也通过数据总线传送。 PA0PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入锁存器。 PB0PB7:端口B输入输出线,一个8位的I/O锁存器, 一个8位的输入输出缓冲器。 PC0PC7:端口C输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口, 每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。 A0,A1:地址选择控制线,用来选择8255的PA口,PB口,PC口和控制寄存器.8255具有3个相互独立的输入/输出通道端口,用

26、+5V单电源供电,能在以下三种方式下工作。方式0基本输入输出方式; 方式1选通输入/出方式; 方式2双向选通输入/输出方式;4 电路原理图与说明4.1 实验原理图4.2 实验步骤4.2.1 实验连线具体连线说明如下:8279CS-210H-217H。将8279的片选与译码电路相应的插孔相连。8253CS-200H-207H。GATE0,ATE1-+5V;CLK0-2M;OUT0-CLK1;OUT1-PA0.8255CS-208H-20FH。4.2.2编写调试程序,全速运行,观察实验结果5 软件主要模块流程图5.1 软件设计思路本程序由主程序和控制芯片输出程序组成。主程序主要负责系统初始化,控制

27、芯片输出程序主要负责数码管的亮灭。8253开始定时后,每一秒控制相应的数码管的亮灭。主程序初始化:主程序负责系统的初始化,系统初始化包括8253的初始化、8255的初始化和8279的初始化。8253定时的时间是一秒。5.2 软件流程图开始8253初始化8255初始化检验是否为高电平,若是高电平则进行,低电平则等待8279的初始化变换另一种形状判断是否达到一秒否显示彩灯的一种形状6、程序说明与程序清单Z8279EQU212HD8279EQU210HLEDMODEQU00H;左边输入,八位显示外部译码八位显示LEDFEQEQU38H;扫描频率CODE SEGMENTASSUME CS:CODE S

28、TART:MOVDX,Z8279 ;8279初始化MOVAL,LEDMOD OUTDX,AL MOVAL,LEDFEQOUT DX,ALMOV AL,00110111B ; 8253初始化 MOV DX,203H OUT DX,AL MOV AL,00H MOV DX,200H OUT DX,AL MOV AL,10H OUT DX,AL MOV AL,01110101B MOV DX,203H OUT DX,AL MOV AL,00H MOV DX,201H OUT DX,AL MOV AL,40H OUT DX,AL ; MOV AL,10010000B ; 8255初始化 MOV DX,

29、20BH OUT DX,AL ;MOV DX,208HL1: INAL,DXTESTAL,01HJNZL1b1: IN AL,DXTESTAL,01HJZb11: MOV DX,D8279 ;实现脉冲波形MOV AL,00000110b OUT DX,AL MOV AL,00000000b OUT DX,ALMOV AL,00000000bOUT DX,ALMOV AL,00000000bOUT DX,ALMOV AL,00000000bOUT DX,ALMOV AL,00000000bOUT DX,ALMOV AL,00000000bOUT DX,ALMOV AL,00000000bOUT

30、DX,ALMOV DX,208HDELAY1:INAL,DXTESTAL,01HJNZDELAY1DELAY2:INAL,DX TESTAL,01H JZ DELAY2 2: MOV DX,D8279 ;实现全8显示MOV AL,01011011BOUT DX,AL MOV AL,00000000BOUT DX,AL MOV AL,00000000BOUT DX,AL MOV AL,00000000BOUT DX,ALMOV AL,00000000BOUT DX,AL MOV AL,00000000BOUT DX,AL MOV AL,00000000BOUT DX,AL MOV AL,0000

31、0000BOUT DX,AL MOV DX,208H DELAY3:IN AL,DXTESTAL,01HJNZ DELAY3DELAY4:INAL,DXTESTAL,01HJZ DELAY4 3: MOVDX,D8279 ;实现B.2132图案显示moval,01001111bout dx,almov al,00000000bout dx,almov al,00000000bout dx,almov al,00000000bout dx,almov al,00000000bout dx,almov al,00000000bout dx,almov al,00000000bout dx,almo

32、v al,00000000bout dx,al MOV DX,208HDELAY5:INAL,DXTESTAL,01HJNZDELAY5DELAY6:INAL,DXTESTAL,01HJZDELAY6 4: MOV DX,D8279 ;实现3排横向图案显示moval,01100110bout dx,almov al,00000000bout dx,almov al,00000000bout dx,almov al,00000000bout dx,almov al,00000000bout dx,almov al,00000000bout dx,almov al,00000000bout dx,

33、almov al,00000000bout dx,al MOV DX,208HDELAY7:IN AL,DXTEST AL,01HJNZ DELAY7DELAY8:IN AL,DXTEST AL,01HJZ DELAY8 5: MOVDX,D8279 ;mov al,01101101bout dx,almov al,00000000bout dx,almov al,00000000bout dx,almov al,00000000bout dx,almov al,00000000bout dx,almov al,00000000bout dx,almov al,00000000bout dx,

34、almov al,00000000bout dx,al MOV DX,208HDELAY9:IN AL,DXTEST AL,01HJNZ DELAY9DELAY0:INAL,DXTEST AL,01HJZ DELAY0 6: MOV DX,D8279 ;mov al,01111001bout dx,almov al,00000000bout dx,almov al,00000000bout dx,almov al,00000000bout dx,almov al,00000000bout dx,almov al,00000000bout dx,almov al,00000000bout dx,

35、almov al,00000000bout dx,al MOV DX,208HDELAY11:IN AL,DXTEST AL,01HJNZ DELAY11DELAY22:IN AL,DXTEST AL,01H JZ DELAY22 Change1: MOV DX,D8279 ;实现ABCDEF显示mov al,01110001bout dx,almov al,01111001bout dx,almov al,01011100bout dx,almov al,01100011bout dx,almov al,00111111bout dx,almov al,00111001bout dx,alm

36、ov al,01111111bout dx,almov al,01110111bout dx,al MOV DX,208HDELAY33:IN AL,DXTEST AL,01HJNZ DELAY33DELAY44:IN AL,DXTEST AL,01H JZ DELAY44 change2: MOV DX,D8279 ;实现方形花样图案2显示mov al,01100011bout dx,almov al,01011100bout dx,almov al,01100011bout dx,almov al,01011100bout dx,almov al,01100011bout dx,almov

37、 al,01011100bout dx,almov al,01100011bout dx,almov al,01011100bout dx,al MOV DX,208HDELAY55:IN AL,DXTEST AL,01HJNZ DELAY55DELAY66:IN AL,DX TEST AL,01H JZ DELAY66 FREE: NOPMOV DX,Z8279MOV AL,0C2HOUT DX,AL ;置空FIFO寄存器 bad: mov dx,d8279 ;实现全灭 mov al,00000000bout dx,almov al,00000000bout dx,almov al,0011

38、1111bout dx,almov al,01110111bout dx,almov al,01111111bout dx,almov al,01110111bout dx,almov al,01111111bout dx,almov al,01111001bout dx,alMOV DX,Z8279MOV AL,0C2HOUT DX,AL MOV DX,208HDELAY77:IN AL,DXTEST AL,01HJNE DELAY77DELAY88:IN AL,DX TEST AL,01H JE DELAY88apple: mov dx,d8279 ;实现apple 的显示mov al,0

39、1111001bout dx,almov al,00111000bout dx,almov al,01011100bout dx,almov al,01100011bout dx,almov al,01110011bout dx,almov al,01110011bout dx,almov al,01110111bout dx,almov al,00000000bout dx,alMOV DX,Z8279MOV AL,0C2HOUT DX,AL MOV DX,208HDELAY99:IN AL,DXTEST AL,01HJNE DELAY99DELAY00:IN AL,DX TEST AL,0

40、1H JE DELAY00 jmp WAVE CODE ENDS END START7问题分析与解决方案7.1 实验设计前后面临的问题分析7.1.1 芯片的选择问题实验中要用到哪些芯片,这些芯片要具体实现什么功能。7.1.2 芯片的连接和使用问题 实验中芯片的连接,对于接口的选择等7.1.3 程序的编制和程序运行时出现的问题在实验进行的最后,我们碰到最棘手的问题就是显示的延时问题。循环跳跃的时间与顺序执行的时间不相等。中间有三次明显的时间缩短。7.2 问题的解决方案7.2.1 对于问题一和问题二我们通过上网查找大量的有关资料来解决。尤其对于8279来说,我们从最初的完全不懂,到最后的熟练运用,其中经历漫长的探索与研究过程。7.2.2 对于问题三我们对软件中每一段代码进行了仔细的排查,最终在程序的末尾发现了因为电平判断错误而导致了时间的缩短。8 结论与体会8.1 实验体会通过这次课程设计,使我对硬件电路的工作原理有了进一步的学习,进一步的认识;在软件方面,在程序的设计,程序的调试方面都学到了很多东西,很有成就感。在

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号