您好,欢迎来到尚佳旅游分享网。
搜索
您的当前位置:首页单片机C语言LED灯点亮程序完全版之欧阳班创编

单片机C语言LED灯点亮程序完全版之欧阳班创编

来源:尚佳旅游分享网
欧阳班创编 2021..02.15

1例子1第二个灯亮

时间:2021.02.15 创作:欧阳班 #include void main() {

P1=0xfd; }

#include Sbit D1=P1^0; Void main() {

D1=0 }

注意:稍微改程序时需重新hex化 例子2第一个灯亮

#include //52单片机头文件 sbit led1=P1^0; //单片机管脚位声明 void main() //主函数 {

led1=0;//将单片机P1.0口清零

while(1); //程序停止在这里,在后面会讲到为什么这

欧阳班创编 2021..02.15

样写。 }

例子3第一个灯亮

#include //52单片机头文件 void main() //主函数 {

P1=0xfe; //将单片机P1口的8个口由高到低分别赋值为11111110

while(1); //程序停止在这里,在后面会讲到为什么这样写。 }

2例子1第三个灯闪烁fir循环 #include sbit D2=P1^2; unsigned int a; void main() {

D2=0;

for(a=0;a<=10000;a++){}; D2=1;

for(a=0;a<=10000;a++){}; }

欧阳班创编 2021..02.15

例子2第三个闪烁while循环 #include sbit D2=P1^2; unsigned int a; void main() {

a=5000; D2=0; while(a--); a=5000; D2=1; while(a--); }

2.#include //52单片机头文件 sbit led1=P1^0; //单片机管脚位声明 void main() //主函数 {

unsigned int i; //定义一个int型变量 while(1) {

i=50000; //变量赋初值为50000 led1=0;//点亮灯

欧阳班创编 2021..02.15

while(i--); //延时 i=50000;

led1=1; //熄灭灯 while(i--); } }

3例子1 3 5 7灯同时亮

#include //52单片机头文件 sbit led1=P1^0; //单片机管脚位声明 sbit led3=P1^2; //单片机管脚位声明 sbit led5=P1^4; //单片机管脚位声明 sbit led7=P1^6; //单片机管脚位声明 void main() //主函数 {

led1=0;//将单片机P1.0口清零 led3=0;//将单片机P1.2口清零 led5=0;//将单片机P1.4口清零 led7=0;//将单片机P1.6口清零

while(1); //程序停止在这里,在后面会讲到为什么这样写。 }

例子2 1 3 5 7同时亮

欧阳班创编 2021..02.15

#include //52单片机头文件 void main() //主函数 {

P1=0xaa; //将单片机P1口的8个口由高到低分别赋值为10101010

while(1); //程序停止在这里,在后面会讲到为什么这样写。 }

例子3流水灯一个一个接着亮不循环 #include //52单片机头文件 void main() //主函数 {

unsigned int i; //定义一个int型变量 while(1) {

i=50000; //变量赋初值为50000 P1=0xfe;//点亮第一个灯 while(i--); //延时

i=50000; //变量赋初值为50000 P1=0xfd;//点亮第二个灯 while(i--); //延时

i=50000; //变量赋初值为50000

欧阳班创编 2021..02.15

P1=0xfb;//点亮第三个灯 while(i--); //延时

i=50000; //变量赋初值为50000 P1=0xf7;//点亮第四个灯 while(i--); //延时

i=50000; //变量赋初值为50000 P1=0xef;//点亮第五个灯 while(i--); //延时

i=50000; //变量赋初值为50000 P1=0xdf;//点亮第六个灯 while(i--); //延时

i=50000; //变量赋初值为50000 P1=0xbf;//点亮第七个灯 while(i--); //延时

i=50000; //变量赋初值为50000 P1=0x7f;//点亮第八个灯 while(i--); //延时 } } 例子4

#include #include

欧阳班创编 2021..02.15

#define uint unsigned int

#define uchar unsigned char uchar temp,num,num1; sbit beep=P2^3; void delay(uint); void main() {

temp=0xfe; while(1) {

for(num1=0;num1<3;num1++) {

for(num=0;num<8;num++) {

P1=temp; beep=0; delay(100);

temp=_crol_(temp,1); P1=0xff; beep=1; delay(100); }

欧阳班创编 2021..02.15

}

for(num1=0;num1<3;num1++) {

for(num=0;num<8;num++) {

P1=temp; beep=0; delay(100);

temp=_cror_(temp,1); P1=0xff; beep=1; delay(100); } }

while(1); } }

void delay(uint z) {

uint x,y;

for(x=z;x>0;x--) for(y=110;y>0;y--);

欧阳班创编 2021..02.15

}

4延时子程序 void delay() { uint x;

for(x=100;x>0;x--){}; }

For的嵌套 void delay() {

uint x,y;

%局部变量

%小括号后不加分号

for(x=100;x>0;x--)

for(y=600;y>0;y--); %小括号后的分号表示该语句是上一条语句的,分号将该句与下句 隔开(或者{for(y=600;y>0;y--);})#include 例子1#include #define uint unsigned int

#define uchar unsigned char sbit D1=P1^0; void delay(); void main() {

%注意分号不能少

欧阳班创编 2021..02.15

while(1) { D1=0; delay(); D1=1; delay(); } }

void delay() {

uint x,y;

for(x=100;x>0;x--) for(y=600;y>0;y--); }

带参数的比不带参数的要方便

例子2无参和有参的对比#include #define uint unsigned int

#define uchar unsigned char sbit D1=P1^0; //void delay();

void delay(uint);%带一个参数的,参数类型必须要写,参数可不写。比如可以写成uint z。也可以带多个参数

欧阳班创编 2021..02.15

void main() {

while(1) { D1=0;

delay(1200);%亮2秒 D1=1;

delay(1200); } } /*

void delay() {

uint x,y;

for(x=100;x>0;x--) for(y=600;y>0;y--); }*/

void delay(uint z) { uint x; uchar y;

for(x=z;x>0;x--)

欧阳班创编 2021..02.15

for(y=20;y>0;y--); }

例子3#include #define uint unsigned int

#define uchar unsigned char sbit D1=P1^0; void delay(uint); void main() {

while(1) { D1=0;

delay(1200); D1=1;

delay(1200); } }

void delay(uint z) { uint x; uchar y;

for(x=z;x>0;x--)

欧阳班创编 2021..02.15

for(y=20;y>0;y--); }

5循环左移三位如10100101(a5)-00101101(2d)

时间:2021.02.15 创作:欧阳班

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- shangjiatang.cn 版权所有 湘ICP备2022005869号-4

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务