基于单片机的光立方设计(课程设计)_第1页
基于单片机的光立方设计(课程设计)_第2页
基于单片机的光立方设计(课程设计)_第3页
基于单片机的光立方设计(课程设计)_第4页
基于单片机的光立方设计(课程设计)_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、综合实践 项目名称 基于单片机的光立方设计 专业班级 学生姓名 指导教师 年 月 日 摘 要 本课程设计制作出一个三维立体显示图案的 LED 光立方。主要采用 8*8*8 led 组 成的模式。距离是 14cm*14cm*20cm(长.宽.高),主要分为三个模块:主控模块、驱 动模块、显示模块;我们所做的光立方驱动电路,主控电路等都是纯手工焊接。采用 的主控芯片 32K STC89C58 芯片,驱动电路是采用我们常用的 74HC574 数字芯片。光立 方工作过程中,通过程序对电路的控制,可以在 LED 组成的立方体上显示出各种图形。 软件采用自上而下的模块化设计思想,使系统朝着分布式、小型化方

2、向发展,增强系 统的可扩展性和运行的稳定性。 关键词关键词:LED 光立方; 74HC574; 51单片机 ABSTRACT This design produced a three-dimensional pattern of the LED light cube. This product can not only like a light-emitting diode dot matrix display plane static or dynamic screen can also display three-dimensional static or dynamic images,a

3、nd to break the traditional program.While increasing the display patterns and three-dimensional effect can be widely used to display and decorative display for future progress and development to guide the direction,light cube display more visual effects than the light-emitting diode dot matrix,and t

4、he picture is more rich colorful. With a combination of graphics and characters more perfect display characteristics. The design is STC89C58 MCU core controller,eight D edge flip-flop 74HC574 (tri-state) expansion I/O port completion of the hardware circuit design. Programmed by software to control

5、the data is downloaded to the MCU to complete the designs of the show. This design software is a top-down modular design,the system moving in the direction of distributed,small development,enhance the stability of the systems scalability and running. Keywords: :52single-chip;74HC573latch;8*8*8 LED;

6、目 录 摘 要.I ABSTRACT.II 第 1 章 绪论.1 1.1 目的与要求.1 1.2 电路的设计与元件的选择.1 1.2.1 电路设计.1 1.2.2 元件的选择.2 第 2 章 电路工作原理.3 2.1 设计原理.3 2.2 模块与控制器接口.3 第 3 章 方案选择.5 3.1 电源的选择.5 3.2 3D 显示核心控制器.5 3.2.1 单片机.5 3.2.2 DSP 芯片.5 3.2.3 EDA.6 3.3 I/O 口扩展芯片的选择.6 3.4 LED 发光显示二级管.6 3.4.1 按颜色分类.7 3.4.2 按使用场合分类.7 3.4.3 按发光点直径分类.7 第 4

7、章 焊接.8 4.1 焊接前准备工作.8 4.2 焊接.8 第 5 章 程序设计的选择与分析.10 5.1 单片机 C 语言主要特点.10 5.2 单片机 C 语言与标准 C 语言的区别.10 5.3 数据类型的选用.11 5.4 算法设计问题.11 5.5 数据存储器的分配.12 5.6 单片机 C 语言与汇编语言的混合编程.12 5.7 程序分析选择.14 第 6 章 电路调试与总结.15 参考文献.16 附录 程序代码.17 致谢.23 第 1 章 绪论 1.1 目的与要求 (1)目的:转眼间我们学习单片机已经有大半学期了,也是到了期末的考试时间 了,感到安慰的是不用考试,但是要做一个实

8、物,做这个实物的目的是主要回顾我们 学习的单片机知识和提高我们的焊接和其他的动手实操能力(包括了数字电路和模拟 电路的知识) 。 (2)要求:要有自主创新,其中我们的开关是采用触摸型开关,只要由一个 I/O 口 和 VCC 组成。 1.2 电路的设计与元件的选择 1.2.1 电路设计 主要分为三个模块分别是主控模块,驱动模块,显示模块。其中 P1 位一个触摸型 的开关,C3 为去耦电容防止高频干扰。 驱动电路:在驱动电路上,每个锁存芯片的电源端都加了一个瓷片电容,主要的 作用是防止高频干扰 显示电路:所有的灯的负端都是接在一起的,下面的每一组都是控制光立方的一 个面,控制的是光立方的竖起来的面

9、,而横着的面由图 3 的 74LS138 控制。 1.2.2 元件的选择 (1)由于光立方的程序量比较大,而且要求相对比较高,因此经过考虑之后我们 决定用 51 系列的增强型芯片 STC89C58,选择的理由:STC89C58RD+是单时钟/机器 周期(IT)的单片机,采集速度较普通 51 单片机快 8 一 12 倍,此外,较宽的电压范围(5.5 一 3.3V)增强了系统的适应性。 (2)串行移位芯片采用 74LS138,它还有亮度调整功能,通过调节 R_EXT 端的 电阻大小或者 PWM,就可轻松做到亮度可控。层切换是通过 3-8 线译码器 74HC138 可代换芯片:74138 系列。对控

10、制器输出的层信号译码,然后通过 P 沟道 MOS 管放大 后驱动 LED 光立方一层的二极管阳极,此时对应移位后的并行数据就被显示出来了。 然后通过协调层的数据和层的选通,动态显示后就能做到立体控制与显示。 (3)由于在刚刚接触锁存器的时候,就接触了 74HC574,对它的使用也比较成 熟,因此在驱动部分使用了熟悉的 74HC574,其优点有: 1.高阻态;就是输出既不是高电平,也不是低电平,而是高阻抗的状态;在这种状态下, 可以多个芯片并联输出 2.数据锁存;当输入的数据消失时,在芯片的输出端,数据仍然保持 3.数据缓冲; 加强驱动能力 4.这 8 片 74LM574 构成了 64 位的静态

11、显示,可显示一层的图像也就是一个二维 画面。 (4)LED 灯的选择,出于外观和整体的形状美观,我们放弃我们经常用的草帽 型 LED,采用的是方形高亮的 LED 灯 由于草帽的光发散比较厉害容易影响视角效果,从而使用方形的,同时方形的也 比较聚光。 第 2 章 电路工作原理 2.1 设计原理 每层的 LED 排序如上图 D0,D1,D2,D3D62,D63 分别为 64 个 LED 阵列实际排序 方式,也就是光立方的俯视图,对应下图分别是其数据信号 Error!Error!Error!0,Error!Error!Error!1,Error!Error!Error!2,Error!Error!E

12、rr or!3Error!Error!Error!62,Error!Error!Error!63; “光立方”是由 8 层这样布局的 LED 组成,每层位置排列全部一致 每层 LED 的所有正极全部接到一起,然后连接 138 的行扫描驱动电路,通过 138 译码确定使能哪一层 数组 OUT0代表光立方从第一层 D0 到第八层 D0 的数据,以此类推数组 OUT1 代表光立方从第一层 D1 到第八层 D1 的数据。这样数组中就包含了光立方完整的一帧 数据。 OUT0的位 0 表示光立方的 D0 的所在第一层数据(1 为点亮 0 为熄灭) ,同样 OUT0的位 1 也就是第 2 层的数据。 2.2

13、 模块与控制器接口 VCC:电源 5V 可做处理器电源 GND:电路地线公共地 EN:当模块的层扫描信号完成后,使能该信号,低电平有效,必须在下次扫描信 Y Y 轴轴 X X 轴轴 号切换前终止使能 C,B,A:为层扫描切换,000 为第 1 层,001 为第 2 层,010 为第 3 层,011 为第 4 层,100 为第 5 层,101 为第 6 层,110 为第 7 层,111 为第 8 层。 CLK:为串行移位总线的时钟时序 LE:寄存器输出脉冲,将此时移位寄存器数据传输到输出寄存器 DS: SDI 为串行移位总线的数据时序时钟上升沿锁存数据 电源:接 5V 电源。 第 3 章 方案选

14、择 3.1 电源的选择 方案一:采用普通干电池作为 LED 系统的电源,由于点阵系统耗电量较大,点阵 系统一般悬挂在高处上,一直不停的工作。使用干电池需经常换电池,不符合节约型 社会的要求。 方案二:采用一块 LM7805 三端集成稳压器。把市电经变压器降压输入电路,而 后整流送到 LM7805 三端稳压器稳压输出作为工作电压。不仅功率上可以满足系统需 要,不需要更换电源,并且比较轻便,使用更加安全可靠。 方案三:采用 5V 电源的移动充电宝。 基于以上分析,决定选取 5V 电源的移动充电宝供电电源。 3.2 3D 显示核心控制器 控制部分是整个系统的核心部分,其功能可以实现与上位机通信接收上

15、位机发送 的数据和控制指令经处理过后控制显示屏显示内容。其常用的电子设计方法有单片机、 DSP、及 EDA 技术。 3.2.1 单片机 单片机是集成了 CPU,ROM,RAM 和 I/ O 口的微型计算机。它有很强的接口性 能,非常适合于工业控制,因此又叫微控制器(MCU)。单片机品种齐全,型号多样 CPU 从 8,16,32 到 64 位,多采用 RISC 技术,片上 I/O 非常丰富,有的单片机集 成有 A/ D, “ 看门狗” ,PWM,显示驱动,函数发生器,键盘控制等。它们的价格也 高低不等,这样极大地满足了开发者的选择自由。除此之外单片机还具有低电压和低 功耗的特点。随着超大规模集成

16、电路的发展,单片机在便携式产品中大有用武之地。 3.2.2 DSP 芯片 DSP 又叫数字信号处理器。顾名思义,DSP 主要用于数字信号处理领域,非常适 合高密度,重复运算及大数据容量的信号处理。现在已经广泛应用于通信、便携式计 算机和便携式仪表、雷达、图像、航空、家用电器、医疗设备等领域。 DSP 区别于一 般微处理器的另一重要标志是硬件乘法器以及特殊指令,一般微处理器用软件实现乘 法,逐条执行指令,速度慢。DSP 依靠硬件乘法器单周期完成乘法运算,而且还具有 专门的信号处理指令。它的强大数据处理能力和高运行速度,是最值得称道的两大特 色。芯片内置 544 字的高速 SRAM。外部可寻址 6

17、4K 字程序/数据及 I/O,令周期在 25ns50ns 之间,实时性处理比 16 位单片机快 2 倍以上,可取代一般的单片机。 3.2.3 EDA EDA(即 Electronic Design Automation) 即电子设计自动化,它是以计算机为工具, 在 EDA 软件平台上,对用硬件描述语言 HDL 完成的设计文件自动地逻辑编译、逻 辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至对于特定目标 芯片进行适配编译、逻辑影射和编程下载等。而且 MCU 和 DSP 都是通过串行执行指 令来实现特定功能,不可避免低速,而 FPGA/CPLD 则可实现硬件上的并行工作,在 实时测

18、控和高速应用领域前景广阔;另一方面,FPGA/CPLP 器件在功能开发上是软件 实现的,但物理机制却和纯硬件电路一样,十分可靠。 基于以上分析,三种设计方式相比较各有优点且都能够实现控制功能,但单片机 的技术门槛较低开发成本也较低非常适合初学者进行学习和锻炼使用。现在市场上常 用的单片机主要有 MCS-52、AVR、ARM、PIC 等。其中应用最广泛的单片机首推 Intel 的 52 系列,由于产品硬件结构合理,指令系统规范,加之生产历史“悠久” ,有 先入为主的优势常作为单片机学习的教材。所以决定选取 52 系列单片机作为控制部分 的核心器件。 3.3 I/O 口扩展芯片的选择 方案一:选取

19、串口输入并口输出芯片 74LS164,虽然 I/O 口使用较少,由于本次 设计共需要 72 路 I/O 口,列驱动电路就需要 8 块 74LS164。显示数据是先后顺序给送 去的,显示会有延迟,而 LED 动态显示的刷新的时间控制大约 10ms,实时性差,效 果不好。 方案二:74HC573 跟 74LS573 的管脚一样。器件的输入是和标准 CMOS 输出兼 容的;加上拉电阻,他们能和 HC/ALSTTL 输出兼容。当锁存使能端为高时,这些器 件的锁存对于数据是透明的(也就是说输出同步) 。当锁存使能变低时,符合建立时间 和保持时间的数据会被锁存。8 块 74HC573 共用 64 个 I/

20、O 口,数据可以并行写入芯片, 延迟时间少,满足设计要求。 综合以上比较,决定选取 74HC573 作为列线驱动 IO 口扩展芯片。 3.4 LED 发光显示二级管 LED 是一种固体光源,当它两端加上正向电压时就可以发光。采用不同的材料, 可制成不同颜色的发光二极管。作为一种新的光源,广受欢迎而得以快速发展。从而 在各种各样的传媒信息的宣传中得以体现。简述其分类方法如下。 3.4.1 按颜色分类 单基色显示屏:单一颜色(红色、绿色、黄色、蓝色等等) 。 双基色显示屏:红和绿双基色,256 级灰度、可以显示 65536 种颜色。 全彩色显示屏:红、绿、蓝三基色,256 级灰度的全彩色显示屏可以

21、显示一千六 百多万种颜色。 3.4.2 按使用场合分类 室内显示屏:发光点较小,一般 3mm-8mm,显示面积一般零点几至十几平 方米。 室外显示屏:面积一般几十平方米至几百平方米,亮度高,可在阳光下工作,具 有防风、防雨、防水功能。 3.4.3 按发光点直径分类 室内屏:3mm、3。75mm、5mm。 室外屏:10mm、12mm、16mm、19mm、21mm、26mm。 基于以上分析结果,加上由于成本和控制的难易程度,决定选取单色 3mm 绿光 LED 作为本次设计显示色彩,亮度高,显示效果很好。 第 4 章 焊接 4.1 焊接前准备工作 准备好烙铁、焊锡丝、钳子等工具,以及 LED。LED

22、 的正负极很好判别,长的引 脚为+,短的为-。LED 最好选用直径 3mm 的 LED,推荐选绿色。长脚的 LED 可以省 很多工作量。实际测量长脚是 29mm,短脚为 27mm,由于 LED 光立方板子灯的间距 决定了,每个 LED 的间距是 20mm。这样长短引脚都符合这个尺寸。由于所有 LED 框架焊接好后,一旦有 LED 损坏更换难度很大,所以焊接前要测试所有 LED,用一 般数字显示万用表打到二极管量程,用万用表红表笔接长引脚,黑的接短引脚。LED 正常发光并且亮度基本一致,这样的 LED 就是好的,否则是坏灯。如果为了确保可靠 也可以焊接好一层后测试 LED 是否能点亮。 4.2

23、焊接 将 8 个 LED 焊接为一组,可以通过 2 种方法完成。 方法一:需要用钳子将 LED 的正极扭弯,这个弯,一定要小,正好露出 LED 外围 打弯正合适,LED 的正极折弯后留下的引脚长度必须大于 LED 的间距 20mm,以确保 有足够的重合位 LED 灯脚全部折好后,就可以焊接了,为了方便焊接可以在万能板上 面钻几个 2mm 的孔,间距为 8 个洞洞置以便焊接。焊接细节,将一个 LED 正极的引 脚靠近到另一个 LED 正极的打弯处,然后上焊锡焊接,焊接要光亮可靠,有一定机械 强度。这样将全部 LED 焊接成 8 个一组的 LED 灯排待用。焊接时避免用过多助焊剂, 要不会粘到 L

24、ED 表面,影响外观。焊机避免正负 2 极短路。注意每一层的二极管都是 共阴的。 方法二:需要借助一个工艺设备,这个东西可以自己动手制作,用这个辅助焊接 当然要容易些。焊接方法也是一样的,将一个 LED 正极的引脚靠近到另一个 LED 正 极的打弯处,然后上焊锡焊接,焊接要光亮可靠,有一定机械强度。这样将全部 LED 焊接成 8 个一组的 LED 灯排待用。焊接小经验,由于 LED 灯脚有一定弹性,一个 LED 的引脚靠近到另一个 LED 正极的打弯处时,一松手就又弹远了,所以建议焊接 时多掰一点,掰过了之后利用弹性将两个要焊接的引脚 靠进,这样焊接会容易许多。 第 5 章 程序设计的选择与分

25、析 作为一种结构化的程序设计语言,C 语言的特点就是可以使你尽量少地对硬件进 行操作,具有很强的功能性、结构性和可移植性,常常被优选作为单片机系统的编程 语言。但是基于单片机的 C 语言和标准 C 语言有很大区别,如何结合单片机的系统资 源,用 C 语言开发符合实际工程需要的单片机系统,对用编程者来说具有十分重要的 意义。 5.1 单片机 C 语言主要特点 用 C 编写程序比汇编更符合人们的思考习惯,开发者可以摆脱与硬件无必要的接 触,更专心的考虑功能和算法而不是考虑一些细节问题,这样就减少了开发和调试的 时间。C 语言具有良好的程序结构,适用于模块化程序设计,因此采用 C 语言设计单片 机应

26、用系统程序时,首先要尽可能地采用结构化的程序设计方法,将功能模块化,由 不同的模块完成不同的功能1,这样可使整个应用系统程序结构清晰,易于调试和维 护。不同的功能模块,分别指定相应的入口参数和出口参数,对于一些要重复调用的 程序一般把其编成函数,这样可以减少程序代码的长度,又便于整个程序的管理,还 可增强可读性和移植性。 在实际单片机程序设计中,程序结构一般均采用如下结构: #include /*头文件说明部份*/ unsigned char x1,x2; /*全局变量声明部份*/ Function1( ) /*功能函数定义部份*/ main() inti,j; /* 整型变量声明部份*/ F

27、unction1(); /* 功能函数说明部份*/ 5.2 单片机 C 语言与标准 C 语言的区别 由于现在越来越多的产品都采用单片机开发,所完成的计算和控制工作也日趋复 杂,但是单片机系统是一种资源十分有限的系统,这主要表现在程序存储器资源的不 足,因此在程序设计时如何使用好这些有限的资源就显得十分重要。用 C 语言编程虽 然具有许多的优点,但是生成的代码相对要长,要是编程技术不好,生成的代码甚至 有可能比汇编语言生成的代码长几倍,因此对编程者来说,应该注意到单片机 C 语言 和一般意义上的标准 C 语言的区别,对程序进行适当的优化。 5.3 数据类型的选用 单片机 C 语言编程不同于一般的

28、 C 语言编程的显著的一个特点,就是要和程序存 储器资源结合起来,虽然其提供的数据据类型十分丰富,但是只有 bit 和 char 等数据 类型是是机器语言直接支持的数据类型,用此类数据类型的语句所生成的代码较短; 而其它的数据类型如整型、浮点型等数据要有一定的内部程序或内部函数的支持,相 对来说用该类数据类型的语句生成的代码要长。有些 C 语言程序表面上看起来十分的 简单,但在在实际编译时,生成的代码却相当长。因此我们要按照实际需要,合理地 选用数据,可以大大的减少所生成的代码长度。例如在 S52 中每种数据类型变量所占 用存储器字节数和经编译后生成的代码长度如表 1 所示: 通过表 1 我们

29、知道,不同的数据类型所生成的机器代码长度相差很多,相同类型 的数据类型有无符号对机器代码长度也有影响。在程序编译时生成机器代码长的数据 类型的优先级越高,不同的数据类型在进行程序运算时要转化为高优先级的的数据类 型,相应的代码长度也会增长2。因此我们应尽可能地使用 bit,char 等机器语言直接 支持的数据类型,无符号数的变量应声明为无符号数,尽可能地减少程序中使用的数 据类型的种类。 5.4 算法设计问题 单片机 C 语言和标准 C 语言存在着很大差别,在计算机上进行 C 语言程序设计时 由于不必考虑程序代码的长短,只需考虑程序功能实现,但是在单片机上进行 C 语言 程序设计就必须考虑系统

30、的硬件资源。有时并不是程序的算法越简单、长度越短越好, 因为有一些算法要调用一些内部的子程序和函数,生成的机器代码长度非常长。不同 的算法对程序代码长度影响十分大,因此在进行程序设计时,就尽量采用程序生成代 码短的算法,在不影响程序功能实现的情况下可以采用一些优化算法2。 在单片机 C 语言编译成机器代码时,不同的运算生成的机器代码的长度相差很大, 尽可能地减少程序中对某种数据类型的运算种类,越复杂的数据类型效果越明显。在进 行数据计算时,在一定的精度范围内,可以用一些近似的计算来完成一些运算,既不损 失精度又能减少大量的代码。比如:用逻辑 AND/充电 Loop: JB P3.6,AD_EN

31、D ;开始计数匹配 INC A CJNE A,#100,Loop AD_END: CLR P3.7; 放电 CJNE A,#100,Ret_Val ;看结果是否有溢出,有溢出说明结果不对 SJMP Con_OV;返回值 Ret_Val:DEC A MOV R7, A; A/D 转换的结果保存在 R7 中,传递给主程序 Con_OV: RET END 单片机 C 程序: include unsigned char AD(unsigned char);/在 C 程序中声明汇编模数转换子程序 void timer0(void) interrupt 1 using 1 unsigned char x;

32、 x=AD(); /在 C 程序中调用汇编程序 Main /主程序 在以上程序中,函数的返回值为一无符号字符型数,根据调用规则,返回值在 R7 中,这样才可保证数据的传递不出错。另外,在调用过程中,必须注意寄存器的入栈。 这样在以后用到 A/D 转换时,在 C 语言中调用汇编语言子程序 AD()即可。 5.7 程序分析选择 C 语言具有很强的功能性和结构性,可以缩短单片机控制系统的开发周期,而且 易于调试和维护,已经成为目前单片机语言中最流行的编程语言。所以本设计选取 C 语言作为编辑语言。 第 6 章 电路调试与总结 完工以后抱着很激动的心情,编写了调试的程序,主要是检查全部的灯是否会亮,

33、但是单把程序烧写进去之后,发现有两列没有点亮,还好两列的都在边上,进而如果 换灯也相对容易,我们用排除法来检查电路,首先是检查灯的线路是否虚焊,断路, 果真有一列的是断路了,把它接上后这一列也亮了,还剩下另外一列,我们用同样的 方法来做,从驱动电路到显示的都没有问题,而且在输入那一列的电压也正常,我们 就想不通了,是什么原因呢?我们怀疑是不是有灯坏了,我们又一个一个的检查了这 一列灯,但是全部都会亮,经过很细心的检查,发现有一个灯的亮度和其他的灯亮度 完全不同,相对比较暗,于是我们把它换了下来,接上另外一个,果然是哪个灯的问 题,原来是由于灯的阻抗很大,把那一列的电平都拉低了,使灯无法亮起来

34、,在电路 的调试中就出现了这些的问题,相对来说还是不错的。 经过这次的课程项目设计,我们更明确了团队合作的是要领和精神,再次再一次 感谢老师对我们的帮助,在以后我们会做的更好。 参考文献 1张毅坤,陈善久,裘雪红. 单片微型计算机原理及应用.西安电子科技大学出 版社.2008 年 5 月 2 华成英,童诗白. 模拟电子技术基础.高等教育出版社,2007 年 8 月 3 赵辉,刘印华 . PROTEL 99 电子线路 CAD.北京邮电大学出版社.2008 年 附录 程序代码 #include #define uchar unsigned char uchar t,i,k,a,s; sbit d1

35、=P04; sbit d2=P06; sbit q0=P00; sbit q1=P01; sbit q2=P02; sbit q3=P03; sbit key=P05; void delay(uchar z) uchar x,y; for(x=z;x0;x-) for(y=11;y0;y-); void yi() P0=0 xff;d1=0;d2=1;P2=0 xa5;delay(8);P2=0 xb5;delay(8);P2=0 xc5;delay(8);P2=0 xd5;de lay(8);P2=0 xe5;delay(8);P2=0 xf5;delay(8); void er() P0=

36、0 xff;d1=1;d2=0; P2=0 x00;delay(8);P2=0 x03;delay(8);P2=0 x04;delay(8);P2=0 x07;delay(8);P2=0 x0e;dela y(8); P2=0 x0e;delay(8);P2=0 x0f;delay(8); d1=0;d2=1; P2=0 x00;delay(8);P2=0 x10;delay(8);P2=0 x20;delay(8);P2=0 x30;delay(8);P2=0 x50;dela y(8);P2=0 x90;delay(8); P2=0 xa0;delay(8);P2=0 xc0;delay(

37、8);P2=0 xf0;delay(8); void san() P0=0 xff;d1=1;d2=0; P2=0 x00;delay(8);P2=0 x03;delay(8);P2=0 x04;delay(8);P2=0 x07;delay(8);P2=0 x0e;dela y(8); d1=0;d2=1; P2=0 x00;delay(8);P2=0 x10;delay(8);P2=0 x20;delay(8);P2=0 x30;delay(8);P2=0 x40;dela y(8);P2=0 x50;delay(8);P2=0 x90;delay(8); P2=0 xa0;delay(8

38、);P2=0 xc0;delay(8);P2=0 xf0;delay(8); void si() P0=0 xff;d1=1;d2=0; P2=0 x00;delay(8);P2=0 x01;delay(8);P2=0 x02;delay(8);P2=0 x03;delay(8);P2=0 x07;dela y(8); d1=0;d2=1; P2=0 x00;delay(8);P2=0 x10;delay(8);P2=0 x20;delay(8);P2=0 x30;delay(8);P2=0 x40;dela y(8);P2=0 x50;delay(8);P2=0 xc0;delay(8);

39、void qi() P0=0 xff;d1=1;d2=0; P2=0 x03;delay(8);P2=0 x04;delay(8); d1=0;d2=1; P2=0 x00;delay(8);P2=0 x10;delay(8);P2=0 x20;delay(8);P2=0 x30;delay(8);P2=0 x40;dela y(8);P2=0 x50;delay(8);P2=0 xf0;delay(8); void ba() P0=0 xff;d1=1;d2=0; P2=0 x00;delay(8);P2=0 x01;delay(8);P2=0 x02;delay(8);P2=0 x03;d

40、elay(8);P2=0 x04;dela y(8);P2=0 x07;delay(8);P2=0 x0e;delay(8); P2=0 x0e;delay(8);P2=0 x0f;delay(8); d1=0;d2=1; P2=0 x00;delay(8);P2=0 x10;delay(8);P2=0 x20;delay(8);P2=0 x30;delay(8);P2=0 x40;dela y(8);P2=0 x50;delay(8);P2=0 x90;delay(8); P2=0 xa0;delay(8);P2=0 xc0;delay(8);P2=0 xf0;delay(8); void

41、jiu() P0=0 xff;d1=1;d2=0; P2=0 x00;delay(8);P2=0 x01;delay(8);P2=0 x02;delay(8);P2=0 x03;delay(8);P2=0 x04;dela y(8);P2=0 x07;delay(8);P2=0 x0e;delay(8); P2=0 x0e;delay(8); d1=0;d2=1; P2=0 x00;delay(8);P2=0 x10;delay(8);P2=0 x20;delay(8);P2=0 x30;delay(8);P2=0 x40;dela y(8);P2=0 x50;delay(8);P2=0 x9

42、0;delay(8); P2=0 xa0;delay(8);P2=0 xc0;delay(8);P2=0 xf0;delay(8); void bayiqi() switch(t) case 0: P0=0 xff;P2=0 xfe;ba();break;delay(1); case 1: P2=0 xfd;ba();break;delay(1); case 2: P2=0 xfb;ba();break;delay(1); case 3: P2=0 xf7;ba();break;delay(1); case 4: P2=0 xef;ba();break;delay(1); case 5: P2

43、=0 xf7;ba();break;delay(1); case 6: P2=0 xfb;ba();break;delay(1); case 7: P2=0 xfd;ba();break;delay(1); case 8: P2=0 xfe;ba();break;delay(1); case 9: P2=0 xfe;yi();break;delay(1); case 10: P2=0 xfd;yi();break;delay(1); case 11: P2=0 xfb;yi();break;delay(1); case 12: P2=0 xf7;yi();break;delay(1); cas

44、e 13: P2=0 xef;yi();break;delay(1); case 14: P2=0 xf7;yi();break;delay(1); case 15: P2=0 xfb;yi();break;delay(1); case 16: P2=0 xfd;yi();break;delay(1); case 17: P2=0 xfe;yi();break;delay(1); case 18: P2=0 xfe;qi();break;delay(1); case 19: P2=0 xfd;qi();break;delay(1); case 20: P2=0 xfb;qi();break;d

45、elay(1); case 21: P2=0 xf7;qi();break;delay(1); case 22: P2=0 xef;qi();break;delay(1); case 23: P2=0 xf7;qi();break;delay(1); case 24: P2=0 xfb;qi();break;delay(1); case 25: P2=0 xfd;qi();break;delay(1); case 26: P2=0 xfe;qi();break;delay(1); void yisanyisi() switch(t) case 0: P0=0 xff;P2=0 xfe;yi();break;delay(1); case 1: P2=0 xfd;yi();break;delay(1); case 2: P2=0 xfb;yi();break;delay(1); case 3: P2=0 xf7;yi();break;delay(1); case 4: P2=0 xef;yi();break;delay(1); case 5: P2=0 xf7;yi();break;delay(1); case 6: P2=0 xfb;yi();break;delay(1); case 7: P2=0 xfd;yi(

温馨提示

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

评论

0/150

提交评论