左右跑马灯程序51C语言
51单片机实用教程入门之跑马灯
MCS-8051 单片机实用教程深圳伟凡数码 QQ:59059381上一节讲了 KEIL 软件的基本使用, 本节开始学习编程,编写第一个程序,如果从没学过的朋友不需要深入了解,只 要按照下面写出第一个程序。
好, 就来试试,很有意思的。
这里主要讲些技巧, 而不是专门的 C 语言,如过想学习更深入 的 C 语言, 请参考相关 C 语言书籍。
前面我们已经讲了怎样建立文件,这里就不多讲了。
按照下面动手写下面程序,当写好后, 我们就可以进行编译了, 点工具栏上的按钮或者 按键盘的功能键 F7 开始编译了,在最下面一个白色窗口显示编译结果, 0 Error(s)表示没有错误,正确的通过编译,0 Warning 表示 0 警告,这里 如果有 1 个或多个警告,并不影响程序的正确编译, 只是表明程序有多余的没有应用的程序。
下面表示程序已经正确的通过了. 如果你的也是这样的, 那就恭喜你成功了。
下面我们就来说说这个程序的基本知识,要记住的, a. 符号// 后面表示注释部分,或者程序的说明部分, 比如上面的程序名称, 日期等 b. /* */ 这个也是表示注释部分. 注意, 注释部分是不被编译的,注释是方便我们更能理解程序 c . #include<stdio.h> 这个表示头文件,表示我们要用到的函数或者定义,由#include<头文件名> 组成,编写规则头文件MCS-8051 单片机实用教程存深圳伟凡数码 QQ:59059382后面不能 有分号" ; ". #include<reg51.h> 也是头文件, 这是我们 51 单片机的头文件, 定义了单片机的特殊功能寄器的定义,我们可以打开头文件查看, 方法是: 将鼠标移动到文件名上, 点鼠标右键,出现以下菜单,点击蓝色部 分,这样就打开了 51 头文件。
打开 51 文件之后, 我们看到了对 51 单片机的端口定时器中断等进行了定义,想要了解含义,去看看单片机的资料, 这里不多讲。
单片机C语言跑马灯按键选择花样显示
按键选择花样显示#include <reg51.h> //此文件中定义了51的一些特殊功能寄存器#include <intrins.h>//--定义要使用的IO口--//#define GPIO_KEY P1 //独立键盘用P1口#define GPIO_LED P0 //led使用P0口//--定义全局函数--//void Delay10ms(unsigned int c); //延时10msunsigned char Key_Scan();void LED1();void LED2();void LED3();void LED4();void LED5();void LED6();void LED7();void LED8();void main(void){unsigned char keyNum;GPIO_LED=0X00;while (1){keyNum = Key_Scan(); //扫描键盘switch (keyNum){case(0xFE) : //返回按键K1的数据LED1();break;case(0xFD) : //返回按键K2的数据LED2();break;case(0xFB) : //返回按键K3的数据LED3();break;case(0xF7) : //返回按键K4的数据LED4();break;case(0xEF) : //返回按键K5的数据LED5();break;case(0xDF) : //返回按键K6的数据LED6();break;case(0xBF) : //返回按键K7的数据LED7();break;case(0x7F) : //返回按键K8的数据LED8();break;default:break;}}}unsigned char Key_Scan(){unsigned char keyValue = 0 , i; //保存键值//--检测按键1--//if (GPIO_KEY != 0xFF) //检测按键K1是否按下{Delay10ms(1); //消除抖动if (GPIO_KEY != 0xFF) //再次检测按键是否按下{keyValue = GPIO_KEY;i = 0;while ((i<50) && (GPIO_KEY != 0xFF)) //检测按键是否松开{Delay10ms(1);i++;}}}return keyValue; //将读取到键值的值返回}void Delay10ms(unsigned int c) //误差0us {unsigned char a, b;for (;c>0;c--){for (b=38;b>0;b--){for (a=130;a>0;a--);}}}* 函数功能: LED左移闪烁两次void LED1(){unsigned char i;GPIO_LED = 0x01;for (i=0; i<16; i++){GPIO_LED = _crol_(GPIO_LED, 1);Delay10ms(5);}}* 函数功能: LED右移闪烁两次void LED2(){unsigned char i;GPIO_LED = 0x80;for (i=0; i<16; i++){GPIO_LED = _cror_(GPIO_LED, 1);Delay10ms(5);}}* 函数功能: LED交替闪烁void LED3(){GPIO_LED = 0xaa;Delay10ms(5);GPIO_LED = 0x55;Delay10ms(5);GPIO_LED = 0xaa;Delay10ms(5);GPIO_LED = 0x55;Delay10ms(5);}* 函数功能: LED交替闪烁void LED4(){GPIO_LED = 0x55;Delay10ms(5);GPIO_LED = 0xaa;Delay10ms(5);GPIO_LED = 0x55;Delay10ms(5);GPIO_LED = 0xaa;Delay10ms(5);}* 函数功能: LED交替闪烁void LED5(){GPIO_LED = 0xCC;Delay10ms(5);GPIO_LED = 0x33;Delay10ms(5);GPIO_LED = 0xCC;Delay10ms(5);GPIO_LED = 0x33;Delay10ms(5);}* 函数功能: LED交替闪烁void LED6(){GPIO_LED = 0x33;Delay10ms(5);GPIO_LED = 0xCC;Delay10ms(5);GPIO_LED = 0x33;Delay10ms(5);GPIO_LED = 0xCC;Delay10ms(5);}* 函数功能: LED1到LED6来一遍void LED7(){LED1();LED2();LED3();LED4();LED5();LED6();}* 函数功能: 全灭void LED8(){GPIO_LED = 0x00;}。
51单片机8个跑马灯程序汇编设计思路
【51单片机8个跑马灯程序汇编设计思路】1. 引言在嵌入式系统中,跑马灯程序是一个非常常见且基础的程序设计。
通过控制LED灯的亮灭顺序,实现灯光在一组灯中顺序轮流亮起的效果。
其中,51单片机是一种常用的嵌入式系统开发评台,本文将探讨如何通过汇编语言设计实现8个跑马灯程序的思路和方法。
2. 分析题目我们需要对题目进行细致的分析。
51单片机8个跑马灯程序要求我们设计并实现一个程序,能够控制8个LED灯依次轮流亮起的效果。
这意味着我们需要对LED灯进行控制,并且需要考虑如何实现循环、延时等功能。
3. LED灯控制在实现跑马灯程序时,首先需要考虑如何控制LED灯的亮灭。
一种常见的方法是通过I/O口控制LED灯的高低电平,从而实现灯的亮灭。
我们需要了解51单片机的I/O口控制方式,并结合LED灯的连接方式进行设计。
4. 循环控制跑马灯程序的核心在于实现LED灯的依次轮流亮起。
这就需要我们设计循环控制的程序结构。
在汇编语言中,可以通过跳转指令和计数器来实现循环效果,我们需要考虑如何设计循环的次数和顺序。
5. 延时控制为了让人眼能够观察到LED灯的亮灭效果,我们需要在程序中添加延时控制。
这需要我们了解51单片机的定时器控制和时钟频率,并根据LED灯的亮度要求设计合适的延时程序。
6. 汇编设计思路在进行汇编设计时,可以按照以下步骤进行:1)设置I/O口控制LED灯的引脚,确定LED的连接方式;2)设计循环控制结构,确定LED灯的顺序和次数;3)添加延时程序,控制LED灯亮灭的时间间隔;4)编写中断程序,处理定时器中断等事件;5)调试程序,验证跑马灯效果是否符合要求。
7. 个人观点和理解通过设计这个跑马灯程序,我深切体会到了汇编语言的精妙之处。
通过对硬件的直接控制和对程序结构的精心设计,我感受到了嵌入式系统开发中的乐趣和挑战。
而对于初学者来说,设计跑马灯程序也是一个很好的学习过程,可以加深对于51单片机结构和编程思想的理解。
跑马灯
基于C51单片机的跑马灯程序设计本文由仇看风雨贡献/************ 单片机学习板V1.0 ********************//*功能描述:跑马灯练习 */*//*功能:控制学习板上的8个LED显示 *//*接外部晶振11.0592 MHZ *//**************************************************///P0口控制8个LED 把学习板上的4位拨码开关的 1 拨到ON#include <reg51.h>#include <stdio.h>#define uchar unsigned char#define uint unsigned int#define ulong unsigned longvoid delay(unsigned int count);//延时程序void led_display(void);//LED显示子程序//数据模式 LED_DATA[0]显示次数 LED_DATA[1]显示速度LED_DATA[2]-[18]显示数据uchar codeLED_DATA1[18]={3,50,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0 x40,0x20,0x10,0x08,0x04,0x02,0x01,0x00};//弹跳灯uchar codeLED_DATA2[18]={5,120,0xC3,0x66,0x3C,0x18,0x18,0x3C,0x66,0xC3, 0xC3,0x66,0x3C,0x18,0x18,0x3C,0x66,0xC3};//双灯对撞模式uchar codeLED_DATA3[18]={5,80,0x00,0x81,0xc3,0xe7,0xff,0xe7,0xc3,0x81,0 x00,0x81,0xc3,0xe7,0xff,0xe7,0xc3,0x81};//拉链模式uchar codeLED_DATA4[18]={3,50,0x01,0x03,0x07,0x0F,0x1F,0x3F,0x7F,0xFF,0 xFE,0xFC,0xF8,0xF0,0xE0,0xC0,0x80,0x00};//LED灯柱uchar codeLED_DATA5[18]={3,100,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa, 0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa};//动感灯uchar codeLED_DATA6[18]={10,40,0xFF,0x00,0xFF,0x00,0xAA,0x00,0x55,0x00, 0x2A,0x00,0x54,0x28,0x00,0x28,0x00,0x10};//特殊爆闪uchar codeLED_DATA7[18]={10,50,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00, 0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00};//爆闪/***************************延时子程序start***************************/void delay(unsigned int count){unsigned int i,j;for(j=0;j<120;j++);}/***************************延时子程序end***************************/void led_display(void){uchar i,j;/****************显示模式1**********************/ for(i=0;i<LED_DATA1[0];i++){ for(j=2;j<18;j++){P0=~LED_DATA1[j];delay(LED_DATA1[1]);}}/**********************************************/ /****************显示模式2**********************/ for(i=0;i<LED_DATA2[0];i++){ for(j=2;j<18;j++){P0=~LED_DATA2[j];delay(LED_DATA2[1]);}}/**********************************************/ /****************显示模式3**********************/ for(i=0;i<LED_DATA3[0];i++){P0=~LED_DATA3[j];delay(LED_DATA3[1]);}}/**********************************************/ /****************显示模式4**********************/ for(i=0;i<LED_DATA4[0];i++){ for(j=2;j<18;j++){P0=~LED_DATA4[j];delay(LED_DATA4[1]);}}/**********************************************/ /****************显示模式5**********************/ for(i=0;i<LED_DATA5[0];i++){ for(j=2;j<18;j++){P0=~LED_DATA5[j];delay(LED_DATA5[1]);}}/**********************************************/ /****************显示模式6**********************/for(i=0;i<LED_DATA6[0];i++){ for(j=2;j<18;j++){P0=~LED_DATA6[j];delay(LED_DATA6[1]);}}/**********************************************/ /****************显示模式7**********************/ for(i=0;i<LED_DATA7[0];i++){ for(j=2;j<18;j++){P0=~LED_DATA7[j];delay(LED_DATA7[1]);}}/**********************************************/ }main(){P0=1;//清LEDwhile(1){led_display();//调用LED显示程序}}。
51单片机8个跑马灯程序设计思路
51单片机8个跑马灯程序设计思路单片机是一种集成电路,内部包含了计算机的主要组件,如中央处理单元(CPU)、存储器等。
通过编程,可以实现各种不同的功能。
在这里,我将以设计一个8个跑马灯的程序为例,来讲解单片机程序的设计思路。
1.硬件准备首先,我们需要准备一个适用于单片机的开发板,例如STC89C52,以及8个LED灯。
将LED灯连接到开发板的GPIO引脚上,并通过电阻进行限流。
使用跳线将GPIO引脚与LED灯的正极连接。
2.程序结构设计在单片机程序中,我们通常会使用循环结构。
因此,在设计跑马灯程序时,我们可以使用一个无限循环,来实现LED灯的闪烁效果。
具体的程序结构如下所示:```c#include <reg52.h>sbit led0 = P0 ^ 0; //第1个LED灯sbit led1 = P0 ^ 1; //第2个LED灯sbit led2 = P0 ^ 2; //第3个LED灯//...sbit led7 = P0 ^ 7; //第8个LED灯void mainwhile (1)//跑马灯代码}}```在这段代码中,我们首先引入头文件`reg52.h`,它包含了STC89C52的寄存器定义和常用函数的声明。
然后,我们定义了8个宏,用于表示8个LED灯所连接的引脚号。
接下来,在`main(`函数中,我们使用一个无限循环`while(1)`,来实现LED灯的闪烁效果。
3.跑马灯实现思路在无限循环中,我们需要通过对GPIO的控制来实现8个LED灯的闪烁。
具体的实现思路如下:- 首先,我们可以定义一个变量`index`,用于表示当前亮起的LED灯的索引值。
初始时,`index`的值为0,表示第一个LED灯亮起。
- 然后,我们可以使用`switch...case`语句来判断当前的`index`值,从而控制不同的LED灯亮起。
- 在每次循环中,我们可以通过对`index`的递增来实现灯的滚动效果。
如何用51单片机数码管实现跑马灯功能?
如何用51单片机数码管实现跑马灯功能?51单片机数码管显示跑马灯程序源代码讲解基于51单片机学习板。
用S1键作为控制跑马灯的方向按键,S5键作为控制跑马灯方向的加速度按键,S9键作为控制跑马灯方向的减速度按键,S13键作为控制跑马灯方向的启动或者暂停按键。
记得把输出线P0.4一直输出低电平,模拟独立按键的触发地GND。
(2)实现功能:跑马灯运行:第1个至第8个LED灯一直不亮。
在第9个至第16个LED灯,依次逐个亮灯并且每次只能亮一个灯。
每按一次独立按键S13键,原来运行的跑马灯会暂停,原来暂停的跑马灯会运行。
用S1来改变方向。
用S5和S9来改变速度,每按一次按键的递增或者递减以10为单位。
数码管显示:本程序只有1个窗口,这个窗口分成3个局部显示。
8,7,6位数码管显示运行状态,启动时显示“on”,停止时显示“oFF”。
5位数码管显示数码管方向,正向显示“n”,反向显示“U”。
4,3,2,1位数码管显示速度。
数值越大速度越慢,最慢的速度是550,最快的速度是50。
(3)源代码讲解如下:#include "REG52.H"#define const_voice_short 40 //蜂鸣器短叫的持续时间#define const_key_time1 20 //按键去抖动延时的时间#define const_key_time2 20 //按键去抖动延时的时间#define const_key_time3 20 //按键去抖动延时的时间#define const_key_time4 20 //按键去抖动延时的时间void initial_myself();void initial_peripheral();void delay_short(unsigned int uiDelayShort);void delay_long(unsigned int uiDelaylong);。
51单片机8个跑马灯程序汇编设计思路
51单片机8个跑马灯程序汇编设计思路51单片机8个跑马灯程序汇编设计思路主题:51单片机8个跑马灯程序汇编设计思路引言:在微电子领域中,51单片机是应用最广泛的一种单片机。
它具有性能稳定、开发简单、存储容量大等特点,广泛应用于各种电子设备中。
其中,跑马灯程序是初学者最常接触的一个项目,通过实践该项目,我们可以提高对汇编语言的理解和应用能力。
本文将介绍51单片机8个跑马灯程序汇编设计的思路,以帮助读者更好地掌握该项目。
一、跑马灯程序的基本原理1.1 硬件设计51单片机跑马灯程序的实现需要使用LED灯和适当的电路连接。
我们可以选择使用8个LED灯,分别连接到IO口P0.0~P0.7上。
通过对IO口的控制,即可控制LED灯的亮灭。
1.2 软件设计在51单片机中,我们需要使用汇编语言来编写程序。
跑马灯程序的实现思路是通过对LED灯的逐个依次点亮和熄灭,实现灯光在各个LED之间不断左右滚动的效果。
通过不断循环该过程,即可实现跑马灯效果。
二、跑马灯程序的编写2.1 初始化设置在程序的开始部分,我们需要进行一些初始化设置。
需要设置IO口的工作模式,将所有IO口设置为输出模式。
需要设置定时器和中断相关的参数,以便后续的延迟操作。
2.2 跑马灯效果的实现跑马灯的实现思路可以分为两个部分:向左滚动和向右滚动。
2.2.1 向左滚动向左滚动的实现思路是依次点亮LED灯,然后通过适当的延迟时间熄灭LED灯,实现灯光的滚动效果。
在点亮一个LED灯之后,下一个LED灯便开始点亮。
通过循环该操作,即可实现向左滚动的效果。
2.2.2 向右滚动向右滚动的实现思路与向左滚动类似,只是点亮LED灯的顺序相反。
在点亮一个LED灯之后,上一个LED灯便开始点亮。
通过循环该操作,即可实现向右滚动的效果。
2.3 循环控制为了实现跑马灯的效果,我们需要将向左滚动和向右滚动两个操作循环执行。
通过添加一个计数器变量,当计数器达到一定的值时,切换滚动方向,实现跑马灯效果的循环。
单片机课程设计跑马灯的控制
单片机课程设计跑马灯的控制摘要:本设计选择对跑马灯的控制,先构思跑马灯实现预想效果,然后进行分析,根据要求编写程序,选择硬件端口,并进行调试致预想效果,最后浅谈课程设计的经历,以及总结。
目录一)课程设计的目的二)课程设计的要求三)流程图四)原理图五)程序语言六)总结七)参考资料设计题目:试设计一个闪烁跑马灯控制器,该控制器可以控制8个灯顺序亮灭。
当单片机上电后,8个灯依次从左向右亮,并且每个灯亮的时间为1秒钟。
这时,如果按钮K1按下,则灯亮的顺序是从右向左,同样,每个灯亮的时间是1秒钟。
这时,如果按下按钮K2,则此时,4个灯亮4个灯灭,延迟4秒钟以后,又开始从左向右点亮。
最后,若按下按钮K3,则全部灯亮。
此时若想再次点亮灯,必须重新上电。
题目分析:该题目要求控制8盏灯的亮灭,可使用单片机的P1.0到P1.8口来控制。
按钮K1用P3.4口,K2用P3.2口,及外部中断0,K3用P3.3口,及外部中断1,分别来实现。
单片机使用AT89C52,电源使用5V标准电源。
顺序亮灭使用外部中断源构成循环控制语句。
一、课程设计的目的课程设计是本专业集中实践环节的主要内容之一。
训练正确地应用单片机,培养解决工业控制、工业检测等领域具体问题的能力。
学生通过所做课题,熟悉单片机应用系统开发研制的过程,软硬件设计的工作方法、内容及步骤,对学生进行基本技能训练。
例如组成系统、编程、调试、绘图等。
使学生理论联系实际,提高动手能力和分析问题、解决问题的能力。
通过本课程设计,主要达到以下目的:1.使学生增进对单片机的感性认识,加深对单片机理论方面的理解。
2.使学生掌握单片机的内部功能模块的应用,如定时器/计数器、中断、片内外存贮器、I/O口、串行口通讯等。
3.使学生了解和掌握单片机应用系统的软/硬件设计过程、方法及实现,为以后设计和实现单片机应用系统打下良好基础。
二、课程设计的要求1.学生需认真阅读课程设计任务书,熟悉有关设计资料及参考资料,熟悉各种设计规范的有关内容,认真完成任务书规定的设计内容。
单片机跑马灯汇编程序与仿真
51单片机P1口跑马灯的汇编语言编程和protues仿真;跑马灯程序1;用软件技术器实现1秒间隔LED循环点亮;三层循环计数实现1秒延时,250*250*8=0.5秒;由于软件延时需要计算代码执行的时间,所以近似1秒ORG 0000HLJMP MAINORG 0030HMAIN: MOV P1,#0FFHMOV A,#0FEHLOOP: MOV P1,ALCALL TIMEERRL ASJMP LOOPTIMEER: MOV R5,#08HLOOP1: MOV R6,#0FAHLOOP2: MOV R7,#0FAHLOOP3: DJNZ R7,LOOP3DJNZ R6,LOOP2DJNZ R5,LOOP1RETEND;跑马灯程序2;定时/计数器1控制1秒间隔LED循环点亮ORG 0000HLJMP MAINORG 001BHLJMP T1_INTORG 0100HMAIN: MOV R0,#20 ;软计数器MOV TMOD,#10H ;定时器1方式1MOV P1,#0FFH ;熄灭所有LEDMOV A,#0FEH ;点亮第一个LEDMOV TH1,#3CHMOV TL1,#0B0H ;赋初值SETB ET1SETB EA ;开中断SETB TR1 ;启动定时器SJMP $ ;等待中断T1_INT: MOV TH1,#3CHMOV TL1,#0B0H ;赋初值DEC R0 ;软计数CJNE R0,#00H,LPRL A ;灯移位MOV P1,A ;灯改变MOV R0,#20 ;软计数器初值LP: RETI;跑马灯程序3;定时/计数器1控制1秒间隔LED循环点亮;外部中断1控制按键按下跑马灯启动或者停止ORG 0000HLJMP MAINORG 0013HLJMP INT1_INT ;外部中断服务程序,按键触发ORG 001BHLJMP T1_INT ;定时器中断,1秒中断一次ORG 0100HMAIN: MOV R0,#20 ;软计数器计数次数MOV TMOD,#10H ;定时器1方式1MOV P1,#0FFH ;熄灭所有LEDMOV A,#0FEH ;点亮第一个LEDMOV TH1,#3CHMOV TL1,#0B0H ;定时器赋初值SETB I T1 ;外中断1采用下降沿触发SETB E X1 ;允许外部中断1SETB ET1 ;允许定时器中断SETB EA ;开中断SETB TR1 ;启动定时器1SJMP $ ;等待中断T1_INT: MOV TH1,#3CHMOV TL1,#0B0H ;定时器赋初值DEC R0 ;软计数CJNE R0,#00H,LP ;判断计数次数是否达到,是则跳转RL A ;灯移位MOV P1,A ;灯改变MOV R0,#20 ;软计数器初值LP: RETIINT1_INT: MOV A,#0FFH ;按键按下,LED熄灭MOV P1,A ;灯改变CPL TR1 ;定时器改变开关状态MOV A,#0FEH ;点亮第一个LEDRETI ;中断返回Protues仿真电路图欢迎访问艾依河里的鱼的博客。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
*
*普中科技
--------------------------------------------------------------------------------
//--声明全局函数--//
void Delay10ms(unsigned int c); //延时10ms
//--声明一个全局变量--//
unsigned char LED;
/*******************************************************************************面的位为高电平
}
//--LED向右显示--//
for (i = 0 ;i < 7 ; i++)
{
P0 = LED;
Delay10ms(50);
LED = LED >> 1;//右移
LED = LED | 0x80;//移位后,后面的位为高电平
}
}
}
/*******************************************************************************
*实验名:跑马灯实验
*实验说明: LED灯做跑马灯左右移动
*连接方式:见接线图
*注意:
*******************************************************************************/
//--包含你要使用的头文件
#include <reg52.h>
{
unsigned char a, b;
//--c已经在传递过来的时候已经赋值了,所以在for语句第一句就不用赋值了--//
for (;c>0;c--)
{
for (b=38;b>0;b--)
{
for (a=130;a>0;a--);
}
}
}
LED = 0xFE;
while (1)
{
//--LED往左闪烁--//
for (i = 0 ;i < 7 ; i++)
{
//--将LED的值赋给P2口--//
P0 = LED;
Delay10ms(50);//延时一下,为了让灯有持续点亮的时间
LED = LED << 1;//将LED里面的值左移一位,然后重新赋给LED
*函数名: Delay10ms
*函数功能:延时函数,延时10ms
*输入:无
*输出:无
*******************************************************************************/
void Delay10ms(unsigned int c) //误差0us
*函数名: main
*函数功能:主函数
*输入:无
*输出:无
*******************************************************************************/
void main()
{
unsigned char i;
//--首先赋值LED--//