毕业设计(论文)基于AT89C51单片机和keilc软件的流水灯设计

上传人:仙*** 文档编号:33884550 上传时间:2021-10-19 格式:DOC 页数:28 大小:2.04MB
收藏 版权申诉 举报 下载
毕业设计(论文)基于AT89C51单片机和keilc软件的流水灯设计_第1页
第1页 / 共28页
毕业设计(论文)基于AT89C51单片机和keilc软件的流水灯设计_第2页
第2页 / 共28页
毕业设计(论文)基于AT89C51单片机和keilc软件的流水灯设计_第3页
第3页 / 共28页
资源描述:

《毕业设计(论文)基于AT89C51单片机和keilc软件的流水灯设计》由会员分享,可在线阅读,更多相关《毕业设计(论文)基于AT89C51单片机和keilc软件的流水灯设计(28页珍藏版)》请在装配图网上搜索。

1、目 录摘要1关键词1Abstract2Keyword21 AT89C51单片机简介31.1 单片机的发展31.2 单片机的分类31.3 AT89C51的介绍31.3.1 AT89C51的结构31.3.2 AT89C51主要特性41.3.3 AT89C51的管脚说明42 keilc软件及ledkey控件介绍62.1 keilc软件介绍62.2 ledkey控件介绍72.2.1 ledkey控件的开发72.2.2 ledkey控件原理图72.2.4 ledkey控件的使用72.2.5 举例说明83 多花样流水灯硬件设计93.1 Ledkey控件原理图93.2 功能介绍94 多花样流水灯软件设计11

2、4.1 程序功能114.2 程序流程图125 多花样流水灯的仿真13结语14参考文献15附录1:花样流水灯的程序代码16附录2:花样流水灯功能表19附录3:keilc软件和ledkey控件介绍相关图片2027基于AT89C51单片机和keilc软件的流水灯设计摘要:本文介绍了花样流水灯的软件设计过程,重点给出了其软件编程的方法,使学者对汇编语言有个初步了解。通过对单片机发展、分类、硬件原理图的介绍,特别是AT89C51的介绍,具体到其结构、特性、管脚说明等,让单片机学者对51系列单片机有了初步的认识。在程序实现方面通过文字说明和相应的图片又充分的介绍了keil软件及控件使用方法。关键词:单片机

3、;编程;控件;仿真Design of glide light base on single chip of AT89C51 and keilc softwareAbstract:This paper introduces an software design procedure for multiform pomadeng, especially lies out the method of the program software, so that scholars can have a preliminary understand for program language. Accordi

4、ng to introduce the development, sort of single chip and hardware illustrative diagram, especially the introduce of AT89C51, in particular , referring to the explain of its structure , specialty ,pin instruction. For this introduce , the scholars of single chip can have an initial understand for the

5、 sort of single chip. And then We have sufficient introduce for the keil software and widget of using method by means of the words and pictures, in aspect of the program realization.Key word: single chip; program; widget; emulate1 AT89C51单片机简介1.1 单片机的发展单片机(又称为微控制器)的出现是计算机发展史上的一个重要里程碑,它以体积小、功能全、性价比高等

6、诸多优点而独具特色,在工业控制、尖端武器、通信设备、信息处理、家用电器等嵌入式应用领域中独占熬头。51系列单片机是国内目前应用最广泛的8位单片机之一,经过二十多年的推广与发展,51系列单片机形成了一个规模庞大、功能齐全、资源丰富的产品群。随着嵌入式系统、片上系统等概念的提出和普遍接受及应用,51单片机的发展又进入了一个新的阶段。特别是近年来,基于单片机的嵌入式实时操作系统的出现和推广,表明了51系列单片机在今后的许多年中依然会活跃如故,而且在很长一段时间中将占据嵌入式系统产品的低端市场。1.2 单片机的分类MCS-51系列单片机品种很多,如果按照存储器配置状态,可划分为:片内ROM型,如80(

7、C)5X;片内EPROM,如87(C)5X;片内FlashEEPROM型,如89C5X;内部无EPROM型,如80(C)3X。如果按照其功能,可分为:(1) 基本型,有8031、8051、8031AH、8751、89C51和89S51等。(2) 增强型,有8052、8032、8752、89C52和89S52等。(3) 低功耗型,有80C5X、80C3X、87C5X和89C5X等。(4) 高级语言型,如,8052AH-BASIC芯片内固化有MCS BASIC52解释程序,其BASIC语言能与汇编语言混用。(5) 可编程记数阵列(PCA)型。(6) A/D型。(7) DMA型。(8) 多并行接口型

8、。(9) 在系统可编程(ISP)型。(10)JTAG调试型。1.3 AT89C51的介绍 AT89C51是一个低功耗,高性能CMOS 8位单片机,片内含4k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89C51可为许多嵌入式控制应用系统提供高性价比的解决方案。具体体现在以下几点:1.3.1 AT89C51的结构(1)8位微控制器。8位

9、指的是微控制器内部数据总线、寄存器宽度。比如计算机(PC)所用的CPU,第一代PC的CPU8088/8086到第二代PC的CPU80286都为16位CPU;而从80386到目前的Pentium4都属于32位的CPU。尽管如此,目前所采用的单片机微控制器,仍是以8位为主,只有在特殊场合,才会采用16位的单片机,如8096等。(2)程序存储器ROM:内部有4KB、外部最多可扩充至64KB。(3)数据存储器ROM:内部有128B、外部最多可扩充至64KB。(4)4组可位寻址的8位输入/输出端口,即P0、P1、P2及P3。(5)一个全双工串行口,即UART。(6)5个中断源,即INT0、INT1、T0

10、、T1、RXD或TXD。(7)111个指令。1.3.2 AT89C51主要特性(1)8031 CPU与MCS-51 兼容(2)4K字节可编程FLASH存储器(寿命:1000写/擦循环)(3)全静态工作:0Hz-24KHz(4)三级程序存储器保密锁定(5)128*8位内部RAM(6)32条可编程I/O线(7)两个16位定时器/计数器 6个中断源(8)可编程串行通道(9)低功耗的闲置和掉电模式(10)片内振荡器和时钟电路1.3.3 AT89C51的管脚说明(1)VCC:供电电压。(2)GND:接地。(3)P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写

11、1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。(4)P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。(5)P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电

12、阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 (6)P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为A

13、T89C51的一些特殊功能口,如下列所示: P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。(7)RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以

14、不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。(8) /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。(9)/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-

15、FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电(VPP)。 (10)XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。(11)XTAL2:来自反向振荡器的输出。 其管脚图如图1-1所示。图1-1 管脚图2 keilc软件及ledkey控件介绍2.1 keilc软件介绍keilc51uvision是德国keil公司开发的基于windows环境的8051软件开发平台,它集项目管理、源程序编辑、程序调试于一体,是一个强大的集成开发环境。Uvision2支持k

16、eil的各种8051工具,包括:c编译器,宏汇编译器、连接/定位器及object-hex转换程序,可以帮助用户快速有效的实现嵌入式系统的设计与调试。采用c 语言进行单片机系统的开发,具有避免手工分配寄存器,移植容易等优点。恒科keilc51的IDE开发防真器优特点:1、 仿真8031内核的单片机。2、 接支持keilc51的IDE开发仿真环境,63k用户程序空间。3、 全保留单片机特性,避免仿真正常而实际烧录芯片不正常的问题。4、 仿真频率040MHZ晶振可选。5、 程序代码可重复装载。6、 监控程序占用用户资源极少,全速运行不占用资源。7、 可在keiluvision2下单步、断点、全速、可

17、参考变量、RAM变量、结构变量等。8、 支持汇编、c语言、混合调试。9、 内部存储物理空间为68k,是伟福通用仿真器G6型的7倍,是伟福51专用仿真器的4倍。10、 仿真频率可达40MHz。11、 支持10个硬件断点。 在keilc51集成开发软件环境是使用工程方法来管理文件的,而不是单一文件模式。所有的文件包括源程序(包括c程序,汇编程序)、头文件、甚至说明性的技术文档都可以放在工程项目文件里面统一管理。在使用keilc51之前,您应该习惯这种工程的管理方式,对于刚刚使用keilc51的用户来讲,一般可以按照下面的步骤来创建一个自己的keilc51应用程序。1、 建一个项目文件。(此图参照附

18、录3中图2-2所示)2、工程选择一个目标器件。(此图参照附录3中图2-3所示)3、创建源程序文件并输入程序代码并保存。(此图见附录3中图2-4所示)4、把源文件添加到项目中。(见图2-1所示)图2-1 源文件添加到项目5、 为工程项目设置软硬件调试环境。(见附录3中图2-5所示)6、 编译项目文件。(见附录3中图2-6所示)7、 硬件或者软件调试。(见附录3中图2-7所示)2.2 ledkey控件介绍2.2.1 ledkey控件的开发前面介绍了Keil 软件的使用,从中我们可以看到Keil 的强大功能,不过,对于初学者来说,还有些不直观,调试过程中看到的是一些数值,并没有看到这些数值所引起的外

19、围电路的变化,例如数码管点亮、发光管发光等。为了让初学者更好地入门,笔者利用Keil 提供的AGSI 接口开发了两块仿真实验板。其中的键盘、LED 显示实验仿真板就是我们所要提的ledkey控件。这块仿真板将枯燥无味的数字用形象的图形表达出来,可以使初学者在没有硬件时就能感受到真实的学习环境,降低单片机的入门门槛。2.2.2 ledkey控件原理图 图2-8 控件原理图 图2-8是键盘、LED 显示实验仿真板的图,从图中可以看出,该板比较简单有在P1 口接有8 个发光二极管,在P3 口接有4 个按钮,图的右边给出了原理图。2.2.3 ledkey控件的安装 Ledkey控件的安装很简单,只需根

20、据需要将ledkey.dll文件拷贝到keil软件的c51/bin文件夹中即可。2.2.4 ledkey控件的使用要使用仿真板,必须对工程进行设置,设置的方法是点击Project-Option for Target Target1 打开对话框,然后选中Debug 标签页,在Dialog :Parameter: 后的编缉框中输入-d 文件名。例如要用ledkey.dll (即第一块仿真板)进行调试,就输入-dledkey,如图2-9 所示,输入完毕后点击确定退出。编译、连接完成后按CTRL+F5 进入调试,此时,点击菜单Peripherals,即会多出一项“键盘LED 仿真板(K)”,选中该项,

21、即会出现如图2-8的界面。图2-9 工程设置2.2.5 举例说明指示灯L7L0依次循环点亮,程序如下:MOVA,#0FEHMAIN:MOVP1,ALCALLDELAYRRALJMPMAINDELAY:MOVR5,#10D1:MOVR7,#250D2:MOVR6,#250D3:DJNZR6,D3DJNZR7,D2DJNZR5,D1RETEND (注:其软件界面及结果见附录3图g 、h所示) 3 多花样流水灯硬件设计3.1 Ledkey控件原理图按照单片机系统扩展与系统配置状况,单片机应用系统可分为最小系统、最小功耗系统及典型系统等。AT89C51单片机是美国ATMEL公司生产的低电压、高性能CM

22、OS 8位单片机,具有丰富的内部资源:4kB闪存、128BRAM、32根I/O口线、2个16位定时/计数器、5个向量两级中断结构、2个全双工的串行口,具有4.255.50V的电压工作范围和024MHz工作频率,使用AT89C51单片机时无须外扩存储器。因此,本流水灯实际上就是一个带有八个发光二极管的单片机最小应用系统,即为由发光二极管、晶振、复位、电从原理图中可以看出,如果要让接在P1.0口的LED1亮起来,那么只要把P1.0口的电平变为低电平就可以了;相反,如果要接在P1.0口的LED1熄灭,就要把P1.0口的电平变为高电平;同理,接在P1.1P1.7口的其他7个LED的点亮和熄灭的方法同L

23、ED1。因此,要实现流水灯功能,我们只要将发光二极管LED1LED8依次点亮、熄灭,8只LED灯便会一亮一暗的做流水灯了。在此我们还应注意一点,由于人眼的视觉暂留效应以及单片机执行每条指令的时间很短,我们在控制二极管亮灭的时候应该延时一段时间,否则我们就看不到“流水”效果了。其硬件原理图如图3-1所示: 图3-1 硬件原理图3.2 功能介绍图中的电阻为LED18的限流电阻,与复位电路连接的RST引脚使单片机的RST复位脚电平先高后低,从而达到复位;图中的系统时钟电路的设计如图3-2所示。 图3-2 复位电路对于时间要求不高的系统,使用内部振荡方式即可(如图3-1)。图中电容器C1、C2起稳定振

24、荡频率、快速起振的作用,因此注意电容的参数(一般为530PF),并保证电路的对称性选用正规厂家产品。在与引脚X1和X2相连接的电路以及单片机内部时钟电路的作用下,单片机依程序将P1.0P1.7引脚拉低或抬高;拉低的引脚对应的LED点亮,抬高的引脚对应的LED熄灭。与P3口相连的开关是用来选择控制各种花样流水灯所亮的方式,p3.2处于开状态时,其流水花样参见图表3-3,p3.3控制的花样如图表3-4,p3.4控制的如图表3-5。(注:以下各表只是其完整花样中的一部分,详见附录)表3-3 P3.2控制花样图L7L6L5L4L3L2L1L0011111111011111111011111111011

25、11L7L6L5L4L3L2L1L01111101011110101101011110101111100111100表3-3 P3.3控制花样图表3-4 P3.4控制花样图L7L6L5L4L3L2L1L000000001000000110000011100001111000111114 多花样流水灯软件设计4.1 程序功能 说明:以下程序代码只是全部代码的一部分,完整的程序代码请参照附录1。 ORG 0000H ;单片机上电后从0000H地址执行 AJMP START ;跳转到主程序存放地址处 ORG 0030H ;设置主程序开始地址START: MOV SP,#60H ;设置堆栈起始地址为6

26、0H MOV P3,#0FFH ;P3口初始定义此段程序相当于给整个程序一个起始地点和初始化,伪指令ORG可以改变汇编器的地址计数器初值,指示此语句后面的程序或数据块以ORG后的数据为起始地址连续存放在程序存储器中。其具体表现在主程序开始地址为0030H、堆栈指针指向60H、P3口置1状态,也就是P3口控制的开关一开始是关闭状态。;检测开关状态* Test_on: JNB P3.2,ON1 ;检测p3.2开关状态 JNB P3.3,ON2 JNB P3.4,ON3 JMP Test_on ;循环等待检测指令JNB在此处的用途为,当P3口为0状态时,跳转到相应的程序段,从而实现开关功能。若P3口

27、不为0,则执行指令JMP,使此段程序来个短跳转,跳回到此段首地置,重新执行此段程序,从而实现了检测开关状态的作用。;开关导通状态*ON1: MOV DPTR ,#TAB1 ;指向表首地址LOOP1: CLR A ;累加器清零 MOVC A,A+DPTR ;取数据表中的值 CJNE A,#0FFH,SHOW1 ;检查流水结束标志 JB P3.2,Test_on ;若P3.2口为1,重新检测开关 AJMP ON1 ;所有花样流完,则从头开始重复流当检测到P3.2为0状态时,此段程序就开始被执行了。因为此程序的设计用的是查表法,而查表法用的是程序存储器,指令符号采用MOVC的形式,所以就应该先让寄存

28、器DPTR指针指向表TAB1的首地址,同时还应将累加器清零,这样在用指令MOVC A,A+DPTR时就很容易的让我们看到所取的为表中的哪个数据了。在这里还用到了转移指令CJNE A,#data,rel此指令的意思为:当A#data,则转移,执行(As+3+rel)PC,A=#data,程序顺序执行。该指令在此处的用途为检查流水结束标志,也就是当A#0FFH时执行SHOW1这个程序段,当A=#0FFH时,就说明程序已经执行完,则顺序执行下一指令。当将一个表中的数据都取完时,程序将重新检测开关,所以这里就用到了指令JB bit,rel此指令意思为:若(bit)=1,则转移到(As+3+rel),否

29、则程序顺序执行。当所有花样流完时,通过指令AJMP ON1使之实现循环功能。;显示程序*SHOW1: MOV P1,A ;将数据送到P1口 MOV R1,#0AH D_LOOP1:ACALL DELAY ;调用延时子程序DJNZ R1,D_LOOP1 INC DPTR ;取数据表指针指向下一数据 AJMP LOOP1 ;继续查表取数据很明显这段程序是具体实现灯的显示的。由于与P1口相连的是LED显示灯,所以将A中的状态送到P1口,就能实现表中各种状态在LED显示灯所对应的亮法了。此处还用到了一个小的循环,循环的是下面的延时程序,通过减一非零转移DJNZ和给出的数据来看,循环了10次,这样做是为

30、了使延时更长一些,具体的有关延时方面的问题将在下面的延时程序中详细介绍。当延时结束后,就要接着去取下一个要取的数据,在这里为实现这一功能用到了指令INC,在这里就不再详细介绍它了。;延时程序*DELAY: MOVR7,#0FFHD1: MOVR6,#0FFHD2: DJNZR6,D2 DJNZR7,D1 RET此延时程序段总的延时时间为:1+1+(2255)+2255+21us=130.818ms(注:在此处假设晶振为12MHz,所以机器周期就等于121/12=1us。)根据以上显示程序段的说明,整个程序中使LED灯点亮的时间延时为10130.818ms=1.30818s。4.2 程序流程图N

31、OYES开始指针指向60h检测开关状态P3.2=1P3.3=1 P3.4=1开关P3初始化显示程序将相应表中的数据送入P1口调用延时程序10次指针指向下一数据图4-1 流程图以上流程图是用一个一个的模块来组成的,具体每个模块中的内容请参照附录1中的程序代码。箭头的方向即为程序的执行顺序。在图左边的菱形框图中是一个语句判断,当P3口为1状态时,则返回到对P3口的初始化阶段,然后再对其进行开关检测,当P3口不为1状态时,则顺序执行程序。图的右边显然是实现程序循环的。5 多花样流水灯的仿真 用keil软件和ledkey控件来进行其仿真,仿真结果如以下图片所示:图5-1 仿真图图5-1给我们展示了P3

32、.2为开状态时,代码中表1所显示出的一个瞬间状态图5-2 P3.3为开关仿真图从图5-2中根据图一的介绍,很容易知道这是当P3.3为开状态时,代码中表2显示的一个瞬间状态 以上只是代码在仿真时的一个状态显示,而还有许多花样状态并未在此处列出。结 语当上述程序之一编写好以后,我们需要使用编译软件keil对其编译,得到单片机所能识别的十六制代码,然后再用ledkey控件进行仿真,我们就看到LED1LED8的“流水”效果了。本文所给程序实现的花样功能比较多,但方法简单,旨在抛砖引玉,用户可以自己在此基础上扩展更复杂的流水灯控制,比如键盘控制流水花样、控制流水灯显示数字或图案等等。参考文献1 徐爱钧,

33、彭秀华.单片机高级语言C51应用程序设计.北京:电子工业出版社,20002 Keil Software_Cx51 Compiler Users Guide 09.20013 李建忠.单片机原理及应用.西安:西安电子科技大学出版社,20024 张义和,陈敌北,刘丹.例说8051.北京,人民邮电出版社,20065 李群芳,肖看.单片机原理接口及应用.北京,清华大学出版社,20056 赵晓安. MCS-51单片机原理及应用. 天津:天津大学出版社,2001.37 夏继强. 单片机实验与实践教程. 北京:北京航空航天大学出版社, 20018 王海义.汇编语言.北京:清华大学出版社,20039 艾德才.

34、微型计算机原理与接口技术.北京,高等教育出版社,200110 沈美明,温冬蝉.IBM PC汇编语言程序设计.北京,清华大学出版社,2002附录1:花样流水灯的程序代码 ORG 0000H ;单片机上电后从0000H地址执行 AJMP START ;跳转到主程序存放地址处 ORG 0030H ;设置主程序开始地址START: MOV SP,#60H ;设置堆栈起始地址为60H MOV P3,#0FFH ;P3口初始定义;检测开关状态* Test_on: JNB P3.2,ON1 ;检测p3.2开关状态 JNB P3.3,ON2 JNB P3.4,ON3 JMP Test_on ;循环等待检测;开

35、关导通状态*ON1: MOV DPTR ,#TAB1 ;指向表首地址LOOP1: CLR A ;累加器清零 MOVC A,A+DPTR ;取数据表中的值 CJNE A,#0FFH,SHOW1 ;检查流水结束标志 JB P3.2,Test_on ;若P3.2口为1,重新检测开关 AJMP ON1 ;所有花样流完,则从头开始重复流ON2: MOV DPTR ,#TAB2 ;指向表首地址 LOOP2: CLR A ;累加器清零 MOVC A,A+DPTR ;取数据表中的值 CJNE A,#0FFH,SHOW2 ;检查流水结束标志 JB P3.3,Test_on AJMP ON2 ;所有花样流完,则从

36、头开始重复流ON3: MOV DPTR ,#TAB3 ;指向表首地址LOOP3: CLR A ;累加器清零 MOVC A,A+DPTR ;取数据表中的值 CJNE A,#0FFH,SHOW3 ;检查流水结束标志 JB P3.4,Test_on AJMP ON3 ;所有花样流完,则从头开始重复流;显示程序*SHOW1: MOV P1,A ;将数据送到P1口 MOV R1,#0AH D_LOOP1:ACALL DELAY ;调用延时子程序DJNZ R1,D_LOOP1 INC DPTR ;取数据表指针指向下一数据 AJMP LOOP1 ;继续查表取数据SHOW2: MOV P1,A ;将数据送到P

37、1口MOV R2,#0AH D_LOOP2:ACALL DELAY ;调用延时子程序DJNZ R2,D_LOOP2 INC DPTR ;取数据表指针指向下一数据 AJMP LOOP2 ;继续查表取数据SHOW3: MOV P1,A MOV R3,#0AH ;将数据送到P1口D_LOOP3:ACALL DELAY DJNA R3,D_LOOP3 ;调用延时子程序 INC DPTR ;取数据表指针指向下一数据 AJMP LOOP3 ;继续查表取数据;延时程序*DELAY: MOVR7,#0FFHD1: MOVR6,#0FFHD2: DJNZR6,D2 DJNZR7,D1 RET;十六进制表示花样*

38、TAB1: DB 7FH, 0BFH, 0DFH, 0EFH, DB 0F7H, 0FBH, 0FDH, 0FEH, DB 3FH, 9FH, 0CFH, 0E7H, DB 0F3H,0F9H, 0FCH, 3FH, DB 0FH, 03H , 00H,0BDH DB 0DBH ,0E7H, 42H , 00H DB 0CH ,0C3H , 1FH ,0F8H DB 0FFH TAB2: DB 0F8H, 0F5H , 0AFH , 5FH DB 0BCH, 0C0H , 3FH , 0FH DB 0F0H, 09H , 81H , 0C3H DB 0D7H, 0A5H , 7EH , 0BB

39、H DB 0DBH, 0E7H , 00H , 03H DB 01H , 3FH , 7FH DB 0FFH TAB3: DB 01H , 03H , 07H , 0FH DB 1FH , 3FH , 7FH , 3FH DB 5FH , 6FH , 77H , 7BH DB 7DH , 7EH , 55H , 0AAH DB 0E7H, 0C3H , 81H DB 00H DB 0FFH ;流水花样结束标志0FFH END ;程序结束附录2:花样流水灯功能表表1 花样图1L7L6L5L4L3L2L1L0L7L6L5L4L3L2L1L001111111111110011011111111111

40、10011011111001111111110111100001111111101110000001111111011000000001111110110111101111111101101101100111111111001111001111101000010110011111100001111100111000111111111001111111000表2 花样图2L7L6L5L4L3L2L1L0L7L6L5L4L3L2L1L01111100111100111111101011010010110101111011111100101111110111011001111001101101111

41、00000011100111000000110000000011110000000000110000100100001111表3 花样图3L7L6L5L4L3L2L1L0L7L6L5L4L3L2L1L00000000101111110000000110101010100000111101010100000111111100111000111110111111000111111000000000111111100100100001111111110011101011111110000110110111110000001011101111001100101111011001001000111110100000000附录3:keilc软件和ledkey控件介绍相关图片图2-2 keilc软件图2-3 配置图 图2-4 项目保存图图2-5 软件配置 图2-6 编译图图2-7 仿真图图2-8 例子编译图2-9 例子仿真

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!