光移LED摇摇棒设计报告(精)

更新时间:2024-03-27 08:46:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

I

光移LED 摇摇棒设计报告

姓 名: 学 号: 专业班级: 指导教师: II 摘 要

本文介绍了一种以STC15W202S 单片机为主控制器,利用视觉暂留效果和单片机外部中断技术,实现了在摇动过程中形成的扇形平面内清晰显示文字、字母、图案的LED 摇摇棒。系统基于MCU 控制、32个高亮度LED 发光二极管、供电模块等构成摇摇棒。同时配合手的左右摇晃就可呈现一幅完整的画面,可以显示字符、图片等。

关键词:

STC15W202S 单片机;视觉暂留;动态扫描;中断;LED III 目 录 第1章 系统设

计 . ................................................................................................................................... 1

1.1 设计要

求 . ............................................................................................................................... 1

1.1.1 基本要

求 . ..................................................................................................................... 1

1.1.2 扩展部

分 . ..................................................................................................................... 1

1.1.3 系统功实

现 .................................................................................................................. 1

1.2 总体设计方

案 . ....................................................................................................................... 2

1.2.1 LED摇摇棒的工作原

理 ............................................................................................... 2

1.2.2 系统总体设计方

案 ...................................................................................................... 2

第2章 系统硬件电路设

计 .................................................................................................................... 4

2.1 单片机最小系统设

计 .............................................................................................................. 4

2.2 LED显示电路的设

计 ............................................................................................................... 5

2.3传感器电路设

计 . ...................................................................................................................... 6

2.4 按键控制电路设

计 .................................................................................................................. 7

2.5 电源电路设

计 . ......................................................................................................................... 8

第3章 系统软件设

计 . ........................................................................................................................... 9

3.1主程序流程

图 . .......................................................................................................................... 9

3.2 主程序设计思

路 . ..................................................................................................................... 9

3.3 多幅画面切换设

计 ................................................................................................................ 10

第4章 系统测

试 . ................................................................................................................................. 11

4.1 硬件测

试 . ............................................................................................................................... 11

4.2 软件测

试 . ............................................................................................................................... 11

4.3 测试结

果 . ............................................................................................................................... 12

第5章 心得与体

会 . ............................................................................................................................. 13

参考文

献 . ............................................................................................................................................... 14

附录1:电路

图 . .................................................................................................................................... 15

附录2:源程

序 . .................................................................................................................................... 16

光移LED 摇摇棒设计报告 1 第1章 系统设计 1.1 设计要求

设计制作一个依靠摇动能显示字符、图形的LED 摇摇棒 1.1.1 基本要求

1、设计一个基于LED 的摇摇棒,LED 灯必须线状排列,至少使用16只。 2、摇动时形成的亮灯扇形区域能够让人分辨出图案或字符。 3、用按键实现显示8个画面切换。 4、采用电池供电。 1.1.2 扩展部分

1、使用32个LED 灯。 2、画面信息可通过下载更新。 3、其他特色和创新。 1.1.3 系统功实现 2

1.2 总体设计方案

1.2.1 LED摇摇棒的工作原理

LED 摇摇棒是基于人的视觉暂留原理的,通过分时刷新32个发光二极管来显示输出文字或图案等信息的显示装置。输出信号频率的控制通过单片机来实现,用摇动传感器检测当前摇动状态。当进行摇动时,由于人的视觉暂留原理,会在发光二极管摇动区域产生一个视觉平面,在视觉平面内的二极管通过不同频率的刷新,会在摇动区域内产生图像,从而达到在该视觉平面上传达信息的作用。此外通过按键 切换不同的画面。

1.2.2 系统总体设计方案

本系统在硬件上主要包括 STC15W202S 最小系统、LED 显示模块、传感器模块、电源供电模块、按键切换模块等重要模块。其基本的工作原理是:主要是利用人的视觉暂留效应,使手摆动到不同位置的时候,让位于一条直线上的LED 显示二维图像的不同的列,实现图形扫描显示。采用STC15W202S 单片机为控制核心模块,使用74HC595串转并输出控制发光二极管的显示,软件上将图文转化成表供单片机调用,设计上使用机械滚珠开关产生中断,以准确执行表的内容。外部设计一个按键,通过按键次数,单片机会判断所需要调用的显示画面数据。总体设计框图,如图1所示。

3

图1 LED 摇摇棒的总体设计框图 4

第2章 系统硬件电路设计 2.1 单片机最小系统设计

为了设计此系统,我们采用了STC15W202S 单片机作为控制芯片,

STC15W202S 系列单片机是STC 生产的单时钟/机器周期的单片机。是高速/高可靠/低功耗/超强抗干扰的新一代8051单片机。采用第八代加 密技术,加密型超强,指令代码完全兼容传统的8051,速度快8~12倍。内部集成高精度R/C时钟,+/-1%温漂,常温下温漂 5%,5MHz~35MHz宽范围可设置,可彻底省去昂贵晶振电路和外部复位电路。图2为单片机最小系统。

主要特性:

? 大容量2048字节片内RAM 数据存储器

? 高速:1个时钟/机器周期,增强型8051内核,速度比传统8051快7~12倍 ? 宽电压:5.5V ~ 2.4V

? 低功耗设计

? 不需外部复位的单片机 ? 不需外部晶振的单片机 ? 支持掉电唤醒

? ISP/IAP ,在系统可编程/在应用可编程 ? 硬件看门狗(WDT

? SPI 高速同步串行通信接口 ? 比较器 5

图2 单片机最小系统电路图 2.2 LED显示电路的设计

方案一:传统LED 发光二极管。颜色多样,在可以同样显示图案的前提下使用它更为经济,但是颜色较为黯淡,不鲜亮。

方案二:高亮LED 发光二极管。正如其名,它的亮度比传统二极管要亮,而且同样也有很多颜色,但是高亮LED 的工作电流也要大于传统二极管。

为了使显示的图案清晰、明了,我们选择方案二,经过比较,使用蓝色的LED 使得显示画面更为明显。同时通过74HC595串转并芯片+四个S8050给32个LED 作扫描显示。

光移LED 摇摇棒设计报告 6

图3 LED显示电路 2.3传感器电路设计 通过外部中断可以控制数据开始传输的时刻。选择好外部中断来源是本次制作的难点及重点。 方案一:使用机械滚珠开关。通过摇晃使得机械滚珠开关产生的电平变化来触发中断,结合软件控制显示,制作简单,使用方便。 方案二:使用光遮断器。在棒上装一个可以摆动的用来遮挡光遮断器光线的细杆,细杆每左右摆动一次这个杆就会通过一次光遮断器,发生电平变化。同样通过这种电平变化,结合软件控制显示。 本次设计中产生的中断是为了实现数据的单程传输。如果使用光遮断器,其触

7

发单片机的时刻处于正中间,不能解决画面因为返回与原来图片重叠的现象。而使用机械滚珠开关,因为在左右都有触点,所以很容易的在往返途中产生两次中断,方便指令控制,所以选择使用方案一。

图4 传感器电路图

2.4 按键控制电路设计 为了控制画面切换,通过按钮按下的次数确定显示的内容。所以设计了一个按键,其连接至单片机中断脚P3.3进 行控制。按键控制电路如图6所示。

图6 按键控制电路图 8

2.5 电源电路设计

如图7所示为电源电路图。系统电源VCC 选用3节7号电池串联,串联电压为

4.5V 。而单片机为宽电压:5.5V ~ 2.4V ,所以足以保证下载程序及调试。

图7 电源电路图 9

第3章 系统软件设计 3.1主程序流程图

本设计的软件的主程序流程图如图9所示

图8 系统软件流程图 3.2 主程序设计思路

在摇动LED 棒的时候单片机必须单程送数据否则显示的图形会产生重影,影响视觉效果。因此当系统开始工作后通过机械滚珠开关的位置来使单片机实现单程送数据给LED 。如果机械滚珠开关位于右边,则进入外部中断T1并将一变量置1。在变量为1期间让单片机以一定的频率将数据送给LED 。如果机械滚珠开关位于左边,则进入外部中断T0并将变量置0,在这期间单片机不会送数据给LED 。在送数据时,

10

数据送完后应延时一段时间来使摇动时显示的每个字不会太拥挤。之后再立刻熄灭LED 并开始重新判断机械滚珠开关的位置。

3.3 多幅画面切换设计

本系统通过按键切换不同画面。设计中实现单个图形或者字符的显示方法是将要显示的内容一次性送出,延时一段时间后再进行第二次传送数据。即分别对不同画面取模并保存在数组里,然后根据不同按键值来决定送出哪个画面数据。从而达到了不同画面能够切换的功能。

11 第4章 系统测试 4.1 硬件测试

当焊接好显示电路之后,先对硬件一些明显错误进行排查,首先在集成电路器件未插入电路板之前,用万用表仔细检查线路,查看连线是否连接正常,防止电源短路。检查系统的总线是否存在相互之间短路或于其他信号线的短路,直至线路问题正确无误。其次对器件进行检查,方法是用面包板逐个检查器件的逻辑状态是否正常,确保器件工作正常。在上述工作完成后,接通上电,看系统是否是正常工作,如不正常,则需要进一步排查错误。

当确认焊接无误、芯片完好的情况下之后,就可以进行软件的检查。 4.2 软件测试

软件的调试是利用keil 软件,模块化调试,通过观察存储单元数据的变化,查找并解决程序的语法和逻辑错误,具体的调试步骤如下:

1. 把系统的各个模块在仿真软件中逐个调试。

2. 对各个需要赋值模块调试时,赋入初值,单步调试,观察仿真器窗口,看输出结果是否为设计时想要的结果。

3. 把各个模块组合起来,全速运行,看程序是否能流畅的,是否能实现设计的系统的所有功能。并达到预期效果。

12

4.3 测试结果

根据实际测试结果,此系统的设计基本取得成功。能够清晰的显示并辨认字符或者图案,并可以通过按键进行内容的切换。但是也有不足之处,如果摆动幅度不够大或延时不够短时,会出现的图案不是准确的静态,不过可以明显的显示出来。实际整体效果如下所示:

13

第5章 心得与体会

通过本次设计,深深感到理论与实践之间的差距。在学习单片课程时,很多知识点在理论完全理解了,但到具体的电路设计与实现中,会出现很多一时无法理解的现象,要通过不断的通过强化自身的实践动手能力的培养,才能用理论来指导实践,通过实践来进一步深入理解理论。

14 参考文献

[1] 全国大学生电子设计竞赛组委会. 第五届全国大学生电子设计竞获奖作品选编

[M].北京:北京理工大学出版社,2003年第1版.

[2] 李广弟主编. 单片机基础. 北京:北京航空航天大学出版社,2008 [3] 《LED 及其工程应用》 杨清德 康娅编 人民邮电出版社

[4] 胡汉才. 单片机原理及系统设计[M]. 北京:清华大学出版社,2001.01第一版. 15

附录1:电路图

16

附录2:源程序 #include \#include \

#define GPIO_Pin_0 0x01 //IO引脚 Px.0

#define GPIO_Pin_1 0x02 //IO引脚 Px.1 #define GPIO_Pin_2 0x04 //IO引脚 Px.2 #define GPIO_Pin_3 0x08 //IO引脚 Px.3 #define GPIO_Pin_4 0x10 //IO引脚 Px.4 #define GPIO_Pin_5 0x20 //IO引脚 Px.5 #define GPIO_Pin_6 0x40 //IO引脚 Px.6 #define GPIO_Pin_7 0x80 //IO引脚 Px.7 #define GPIO_Pin_All 0xFF //IO所有引脚 /* 全局变量定义 */ ulong timeCount = 0;

uint delayN = 80; //延时临时计数

uint delayTime = 80; //每次延时的周期个数 uchar key;

uchar KY; //KY作用在后面说明

/************************************************************************* * 函数: void SYS_init(void

* 描述: 系统资源初始化 * 参数: 无 * 返回: 无

*************************************************************************/ void SYS_init(void

{

/* 外部中断0初始化 */ IT0=1; //中断0为边沿触发方式 EX0=1; //开放外部中断0 /* 定时器0初始化 */ TMOD &= ~0x0f;

Timer0_16bitAutoReload(; //设置为16位自动重装模式 Timer0_1T(; //设置为1T 模式 ET0 = 1; //允许中断 PT0 = 1; //高优先级中断 17

TH0 = (u8((65536 - MAIN_Fosc / 100000ul>>8; //重装值 100KHZ, 10us, 65536 - (MAIN_Fosc/100000

TL0 = (u8( 65536 - MAIN_Fosc / 100000ul; TR0 = 1; //开始运行 }

/*************************************************************************

* 函数: void GPIO_Init(void * 描述: 初始化IO 口 * 参数: 无 * 返回: 无

*************************************************************************/

void GPIO_Init(void {

P1n_push_pull(GPIO_Pin_0+GPIO_Pin_1+GPIO_Pin_2+GPIO_Pin_3+GPIO_Pin_4+GPIO_Pin_5;

P3n_push_pull(GPIO_Pin_7+GPIO_Pin_6; P5n_push_pull(GPIO_Pin_4+GPIO_Pin_5; }

/*************************************************************************

* 函数: void SYS_delayMs(unsigned char ms * 描述: 延时函数

* 参数: ms, 要延时的ms 数, 这里只支持1~255ms. 自动适应主时钟. * 返回: 无

*************************************************************************/

void SYS_delayMs(unsigned char ms {

unsigned int i; do{

i = MAIN_Fosc / 13000; while(--i ; //14T per loop }while(--ms; }

/*************************************************************************

* 函数: void main(void * 描述: 主函数 * 参数: 无 18 * 返回: 无

*************************************************************************/ void main(void

{

SYS_init(; GPIO_Init(;

key=0; //初始化显示第一组文字 KY=0;

LED_sendData(5,0xff; //所有灯灭掉 BK_LED = 0; //开启背光灯 EA = 1; //使能中断 while(1 {

if (KEY==0 //等待中断 {

SYS_delayMs(10; if (KEY == 0 {

BK_LED = 1;

while (KEY==0; //等待按键释放 BK_LED = 0;

key++; //更换下一幅画面 if (key == 3 //画面循环显示

{ key = 0; } } } } }

/************************************************************************* * 函数: void EXT0_int( interrupt 0

* 描述: 外部中断0处理函数 * 参数: 无 * 返回: 无

*************************************************************************/ void EXT0_int( interrupt 0

{ 19 KY=~KY; if (KY == 0 {

delayTime = timeCount/1580; timeCount = 0; LED_displayMenu(key; } }

/************************************************************************* * 函数: void TIMER0_int( interrupt 1

* 描述: 定时器0中断处理函数 * 参数: 无 * 返回: 无

*************************************************************************/ void TIMER0_int( interrupt 1

{

timeCount++; if (delayN != 0 { delayN--; } }

#include \/*生日快乐, 天天开心*/ uchar code text0[]= {

0x80,0x40,0x40,0x80,0x40,0x40,0x40,0x80,0x30,0x42,0x42,0x40,0x1e,0x42,0x42,0x20,

0x10,0x42,0x42,0x10,0x10,0x42,0x42,0x0c,0x10,0x42,0x42,0x03,0xff,0x7f,0xfe,0x00, 0x10,0x42,0x42,0x03,0x10,0x42,0x42,0x0c,0x10,0x42,0x42,0x10,0x10,0x42,0x42,0x20, 0x10,0x42,0x42,0x40,0x10,0x40,0x40,0x80,0x00,0x40,0x40,0x80,0x00,0x00,0x00,0x00, 0x00,0x00,0x40,0x80,0x00,0x00,0x40,0x80,0x00,0x00,0x42,0x40,0xfe,0xff,0x42,0x20, 0x82,0x40,0x42,0x10,0x82,0x40,0x42,0x0c,0x82,0x40,0x42,0x03,0x82,0x40,0xfe,0x00, 0x82,0x40,0x42,0x03,0x82,0x40,0x42,0x0c,0x82,0x40,0x42,0x10,0xfe,0xff,0x42,0x20, 0x00,0x00,0x42,0x40,0x00,0x00,0x40,0x80,0x00,0x00,0x40,0x80,0x00,0x00,0x00,0x00, 0x00,0x01,0x80,0x00,0xe0,0x00,0x82,0x80,0x00,0x00,0x82,0x40,0xff,0xff,0x82,0x30, 0x10,0x00,0xfe,0x0f,0x20,0x81,0x82,0x00,0x08,0x41,0x82,0x00,0x08,0x31,0x82,0x00, 0x08,0x0d,0x82,0x00,0xff,0x03,0x82,0x00,0x08,0x0d,0xfe,0xff,0x08,0x31,0x82,0x00, 0xf8,0x41,0x82,0x00,0x00,0x81,0x82,0x00,0x00,0x81,0x80,0x00,0x00,0x00,0x00,0x00,

20

0x84,0x06,0x00,0x00,0x84,0x40,0xe0,0x3f,0x84,0x80,0x02,0x40,0xf4,0x7f,0x04,0x40,

0x82,0x00,0x18,0x40,0x82,0x00,0x00,0x40,0x83,0x02,0x00,0x40,0x82,0x04,0x00,0x78, 0x80,0x08,0x40,0x00,0x80,0x30,0x80,0x01,0x00,0x00,0x00,0x0e,0x00,0x00,0x00,0x00 };

/*I love you */

uchar code text1[]= {

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x02,

0x20,0x00,0x00,0x02,0x20,0x00,0x00,0x02,0x20,0x00,0x00,0x02,0xe0,0xff,0xff,0x03, 0xe0,0xff,0xff,0x03,0x20,0x00,0x00,0x02,0x20,0x00,0x00,0x02,0x20,0x00,0x00,0x02, 0x20,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3e,0x00,0x00, 0x80,0xff,0x01,0x00,0x80,0xff,0x07,0x00,0xc0,0xff,0x0f,0x00,0xc0,0xff,0x3f,0x00, 0xc0,0xff,0x7f,0x00,0xc0,0xff,0xff,0x00,0x80,0xff,0xff,0x01,0x00,0xff,0xff,0x03, 0x00,0xfe,0xff,0x07,0x00,0xff,0xff,0x07,0x80,0xff,0xff,0x01,0xc0,0xff,0xff,0x00, 0xc0,0xff,0x7f,0x00,0xc0,0xff,0x3f,0x00,0xc0,0xff,0x0f,0x00,0xc0,0xff,0x07,0x00, 0x80,0xff,0x01,0x00,0x00,0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0xe0,0xff,0x7f,0x00,0xe0,0xff,0xff,0x01, 0x20,0x00,0x00,0x01,0x20,0x00,0x00,0x03,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x02, 0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x02,0x20,0x00,0x00,0x01,0x20,0x00,0x80,0x00, 0xe0,0xff,0x7f,0x00,0x20,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 };

/* 笑脸 */ uchar code text2[]= {

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf0,0x07,0x00,0x00,0xfe,0x3f,0x00, 0x00,0x0f,0x78,0x00,0xc0,0x03,0xe0,0x01,0xe0,0x00,0x80,0x03,0x60,0x00,0x03,0x03, 0x30,0x04,0x06,0x06,0x38,0x02,0x08,0x06,0x18,0x03,0x18,0x0c,0x18,0x03,0x30,0x0c, 0x0c,0x02,0x30,0x18,0x0c,0x04,0x60,0x18,0x0c,0x00,0x60,0x18,0x0c,0x00,0x60,0x18, 0x0c,0x00,0x60,0x18,0x0c,0x04,0x60,0x18,0x0c,0x02,0x30,0x0c,0x18,0x03,0x30,0x0c, 0x18,0x03,0x18,0x06,0x38,0x02,0x0e,0x07,0x30,0x04,0x03,0x03,0xe0,0x00,0x80,0x03, 0xc0,0x00,0xc0,0x01,0xc0,0x03,0xe0,0x00,0x00,0x0f,0x78,0x00,0x00,0xfe,0x3f,0x00, 0x00,0xf0,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

21

0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};

/************************************************************************* * 函数: void LED_delay(unsigned char n

* 描述: 显示延时 * 参数: 延时n * 返回: 无

*************************************************************************/ void LED_delay(unsigned char n

{

for(; n > 0; n-- {

delayN = delayTime; while (delayN; } }

/************************************************************************* * 函数: void LED_senByte(uchar value

* 描述: 发送一字节数据 * 参数: value: 数据值 * 返回: 无

*************************************************************************/ void LED_senByte(uchar value

{ uchar i;

for (i = 0; i < 8; i++ { SCK = 0;

DS = value & 0x80; //取数据的最高位

SCK = 1;

value = value << 1; //数据左移一位 } }

/************************************************************************* * 函数: void LED_sendData(uchar group,uchar value

* 描述: 指定组发送一字节数据

光移 LED 摇摇棒设计报告 * 参数: group:组, value:数据值 * 返回: 无

*************************************************************************/ void LED_sendData(uchar group,uchar value { G=1; LED_senByte(value; switch (group { case 0: GROUP_LED0 = 1; GROUP_LED1 = 0; GROUP_LED2 = 0; GROUP_LED3 = 0; break; case 1: GROUP_LED0 = 0; GROUP_LED1 = 1; GROUP_LED2 = 0; GROUP_LED3 = 0; break; case 2: GROUP_LED0 = 0; GROUP_LED1 = 0; GROUP_LED2 = 1; GROUP_LED3 = 0; break; case 3:

GROUP_LED0 = 0; GROUP_LED1 = 0; GROUP_LED2 = 0; GROUP_LED3 = 1; break; case 4: GROUP_LED0 = 1; GROUP_LED1 = 1; GROUP_LED2 = 1; GROUP_LED3 = 1; break; default: 22

光移 LED 摇摇棒设计报告 GROUP_LED0 = 0; GROUP_LED1 = 0;

GROUP_LED2 = 0; GROUP_LED3 = 0; break; } G=0; RCK=0; _nop_(; RCK=1; } //位选数据写入数据存储器

/************************************************************************* * 函数: void LED_displayMenu(uchar page * 描述: 显示指定一页画面 * 参数: page:画面索引 * 返回: 无

************************************************************************

*/ void LED_displayMenu(uchar page { uchar i; uchar buf; uchar *text; SYS_delayMs(3; switch (page { case 0: { text = text0; break; } case 1: { text = text1; break; } case 2: { 23

光移 LED 摇摇棒设计报告 text = text2; break; } default: { text = text0; break; } } for (i = 0 ;i < 64; i++ { LED_sendData(5, 0xff; buf=~(*(text+i*4; LED_sendData(0, buf; LED_delay(1; LED_sendData(5, 0xff; buf=~(*(text+i*4+1; LED_sendData(1, buf; LED_delay(1; LED_sendData(5, 0xff; buf=~(*(text+i*4+2; LED_sendData(2, buf; LED_delay(1; LED_sendData(5, 0xff; buf=~(*(text+i*4+3; LED_sendData(3, buf; LED_delay(1; LED_sendData(5, 0xff; } } 24

本文来源:https://www.bwwdw.com/article/w9zr.html

Top