#include"reg52.h"//此文件中定义了单片机的一些特殊功能寄存器
typedef unsigned int u16;//对数据类型进行声明定义
typedef unsigned char u8;
//LED灯命名
sbit leda=P0;
sbit led1=P0^0;
sbit led2=P0^1;
sbit led3=P0^2;
sbit led4=P0^3;
sbit led5=P0^4;
sbit led6=P0^5;
sbit led7=P0^6;
sbit led8=P0^7;
void delay(u16 i)
{
while(i--);
}
void main()
{
while(1)
{
leda=1;//全部灯亮
//从左到右依次熄灭
led1=0;
delay(50000);//大约延时450ms
led2=0;
delay(50000);//大约延时450ms
led3=0;
delay(50000);//大约延时450ms
led4=0;
delay(50000);//大约延时450ms
led5=0;
delay(50000);//大约延时450ms
led6=0;
delay(50000);//大约延时450ms
led7=0;
delay(50000);//大约延时450ms
led8=0;
delay(100000);//大约延时900ms
//从右到左依次点亮
led8=1;
delay(50000);//大约延时450ms
led7=1;
delay(50000);//大约延时450ms
led6=1;
delay(50000);//大约延时450ms
led5=1;
delay(50000);//大约延时450ms
led4=1;
delay(50000);//大约延时450ms
led3=1;
delay(50000);//大约延时450ms
led2=1;
delay(50000);//大约延时450ms
led1=1;
delay(50000);//大约延时450ms
leda=1;//全部灯亮
}
}
main()应用:
1、C++中的main函数
C++继承了C语言的大部分特性,因此保留了“程序总是从main函数开始执行,且总是默认从main函数的return语句或结尾处结束运行”这一传统,
但是要注意,C++中的main函数要想作为程序执行的出入口,必须写在全局(Global)范围,不能写成某个结构体或某个类的成员。
虽然main函数可以作为结构体或者类的成员函数,但相应地会失去作为程序出入口的功能。
C++中全局main函数的书写格式与C语言完全相同,功能也完全相同,且同一C++程序同样只能有一个全局main函数。
2、Java中的main函数
Java同样是以main函数作为程序执行出入口的,但Java作为“更纯洁”的面向对象语言,它的main函数与C/C++有很大的不同。
首先,返回值的概念淡化,在Java Application中main不允许返回值,因此int main是被禁止的,必须使用void main,int main仅限在JavaBean中使用。
其次,Java中所有的函数必须属于类,没有什么全局函数一说,因此main函数不能是全局成员,必须是某个类的成员。
第三,由于main函数变成了类的成员函数,因此要想直接被系统调用,还必须使用public static使其成为静态函数并具有公开权限。
第四,main函数的参数被简化,只需要提供字符串数组即可,不需要提供参数个数(这是由于Java的数组具有下标检查功能的原因)
Java Application中的main函数一般格式如下(类名可以自定义,但保存为Java源码时,主文件名必须与类名相同,否则可能无法运行)
public class MainDemo{
public static void main(String[]args){
//TODO:在此处写入主函数的内容
}
}
Java Applet的运行机制与Java Application完全不同,因此不需要main函数
3、C#中的main函数
C#中的main函数与Java大同小异,同样必须是类成员,同样使用字符串数组作唯一参数,同样是静态函数,同样的void main,
与之不同的是:main的首字母变成了大写,即"Main函数“,且是否限定为public级别已经无所谓了(默认没有public,但某些场合可能还是需要public)
另外,需要注意的是,C#中不再有”类名必须与主文件名同名“的限制,即使类名不和主文件名相同,程序照样可以运行。
C#应用程序中的main函数默认是这样的(注意main的首字母已是大写)
C#和C/C++、java不同的是C#不在拘泥于必须从main()函数开始执行,C#是属于事件触发。
class Program{
static void Main(string[]args){
//TODO:在此处写入主函数的内容
}
}
#include"reg52.h"//此文件中定义了单片机的一些特殊功能寄存器
typedef unsigned int u16;//对数据类型进行声明定义
typedef unsigned char u8;
//LED灯命名
sbit leda=P0;
sbit led1=P0^0;
sbit led2=P0^1;
sbit led3=P0^2;
while(i--);
void main()
while(1)
leda=1;//全部灯亮
led8=1;
delay(50000);//大约延时450ms
led7=1;
delay(50000);//大约延时450ms
led6=1;
delay(50000);//大约延时450ms
led5=1;
delay(50000);//大约延时450ms
main()应用:
C++中的main函数
C++继承了C语言的大部分特性,因此保留了“程序总是从main函数开始执行,且总是默认从main函数的return语句或结尾处结束运行”这一传统,
但是要注意,C++中的main函数要想作为程序执行的出入口,必须写在全局(Global)范围,不能写成某个结构体或某个类的成员。
本回答被网友采纳单片机用汇编做一个控制8个LED灯泡从左到右依次点亮,最后全部亮,再全部...
while(1){ P0=0xfe;DelayMS(150);for(s=8;s>1;s--){ P0=_crol_(P0,1); \/\/P0 的值向左循环移动 DelayMS(150);} P0=0x00;DelayMS(150);p0=0xff;DelayMS(150);
用c语言编写单片机流水灯程序,(8个发光二极管从左至右循环点亮)
while(1){ P3=0xfe;\/\/第一个灯亮 delay();\/\/延时 P3=0xfd;\/\/第二个灯亮 delay();P3=0xfb;\/\/第三个灯亮 delay();P3=0xf7;\/\/第四个灯亮 delay();P3=0xef;\/\/第五个灯亮 delay();P3=0xdf;\/\/第六个灯亮 delay();P3=0xbf;\/\/第七个灯亮 delay();P3=0x7f;\/\/第八个灯亮...
...八盏发光二极管从左向右依次逐个点亮后再丛右向左逐个灭灯(延时1s...
START:MOV A,#0FFH CLR C MOV R1,#8 这里是二极管个数 MOV P1,#00H 用p1口输出给二极管 MOV P2,A 中断用的p2口,所以这里先给各位置一 WAIT_A:JB P2.0,WAIT_B 这是等待p2.0,看开关按钮有没有送入低电平 JMP LEFT 如果按下按钮开关,送入低电平,就跳到LEFT让二极...
C语言控制单片机,控制八个流水灯从左到右依次亮,最后又从右到左依次亮...
假设P1接8 个LED,高电平时LED点亮,主程序如下:void main(void){ uchar i;while(1){ for(i=0;i<7;i++){ P1=1<<i;delay_ms(500);} for(i=0;i<7;i++){ P1=0x80>>i;delay_ms(500);} } }
51单片机开发板八个led灯依次点亮(就是流水灯)然后再全部
600);D7=0;delay(600);} } 延时函数delay的实现如下:void delay(uint z){ uint x,y;for(x=100;x>0;x--){ for(y=z;y>0;y--){ } } 这段代码实现了8个LED灯的流水点亮效果,先点亮第一个LED,等待600毫秒后,再点亮第二个LED,依此类推,直到所有LED都点亮,然后循环重复。
...1.用单片机控制8个LED灯,8个LED灯从左到右依次点亮一
while(1){recy=0xfe;for(k=1;k<=8;k++){ P1=recy;Delay(50000);recy=recy<<1;} }
单片机C语言编程:让8个LED流水灯以0.2s时间间隔从左到右依次点亮然后重...
include<intrins.h> void delay(unsigned int z );void main(){ unsigned int a;unsigned char b=0xfe;for(a=0;a<8;a++){ P1=b;\/\/P1口接8个LED灯 delay(200);b=_crol_ (b,1);} } void delay(unsigned int z){ unsigned int i;for(;z>0;z--) \/\/延迟时间自己算吧 for(...
求解,用一个开关控制八个LED灯间隔一秒依次点亮,点亮后不熄灭,用汇
KEY EQU P1.0 ORG 0000H LJMP MAIN ORG 000BH LJMP T0ISR ORG 0030H MAIN:MOV TMOD,#01H MOV TH0,#HIGH(65536-50000)MOV TL0,#LOW(65536-50000)SETB ET0 SETB EA MOV A,#FEH MOV P0,A MOV R2,#20 JB KEY,JNB KEY,SETB TR0 SJMP T0ISR:CLR TR0 MOV TH0,#HIGH(65536-50000)...
怎么让八个流水灯从左到右逐个点亮至全亮又从右到左逐个逐个熄灭来回循 ...
Y0-Y7是分别控制1-8号指示灯 程序如图
单片机的跑马灯C程序如何编写八个LED灯依次点亮而且速度渐变的代码
while(1) { for(j = 0; j < 8; j++) { P1 = 255; \/\/全灭, P1外接LED, 是低电平发光.delay_ms(500); \/\/稍等片刻.for(i = 0; i < 8; i++) { P1 <<= 1;delay_ms(900 - 100 * j); \/\/延时渐短 } } } } \/\/--- ...