STC89C52单片机 LED灯闪烁

您所在的位置:网站首页 cysb50yd8-100灯闪烁 STC89C52单片机 LED灯闪烁

STC89C52单片机 LED灯闪烁

#STC89C52单片机 LED灯闪烁| 来源: 网络整理| 查看: 265

LED闪烁 循环语句

循环语句 (1)while(条件表达式){语句} 只有当 while 后面圆括号内条件表达式的值为真时,程序才会重复执行花括号内语句,当条件表达式为假时则不执行花括号内语句。

(2)for([初值设定表达式];[循环条件表达式];[更新表达式]) {语句}

例:for(i = 1; i // main 函数自身会循环 while(1){ // 一般在执行程序的时候需要 写出一个while的循环体来执行代码 // P1 = 0; // 点亮P1口8个LED // P1 = 0xe9; // 点亮 LED2 LED3 LED5灯 P1 = 0xdf; // 点亮 LED6 灯 i = 65535; while(i--); // 自定义的软件延时 P1 = 0xff; // 1111 1111 熄灭P1口 8个LED 不能直接使用 P1 = 1; 来熄灭8个LED灯 i= 65535; while(i--); } } // while(1){ // P1 = 0; // P1 = 0xff; // 1111 1111 熄灭P1口 8个LED 不能直接使用 P1 = 1; 来熄灭8个LED灯 // } // 当去掉软件延时器的时候,软件在执行的过程中会不断的循环,LED会反复的开启和关闭,所以通过人眼是无法辨别出来的 // 但是与常开启的LED相比亮度会相对较暗 2.使 LED1 灯闪烁 #include /*==================================== 函数 : delay(uint z) 参数 :z 延时毫秒设定,取值范围0-65535 返回值 :无 描述 :12T/Fosc11.0592M毫秒级延时 ====================================*/ void delay(unsigned int z){ // 毫秒级延时函数定义 unsigned int x, y; for (x = z; x > 0; x--){ for (y = 114; y > 0; y--){ } } } void main(){ // main函数自身会循环 delay(100); while(1){ P1 = 0XFE; // 点亮 LED1 灯 delay(100); // 延时 100毫秒 通过增加延时的时间或减少延时的时间,来控制灯的闪烁间隔 P1 = 0xff; // 关闭所有的LED 灯 delay(100); // 延时 100毫秒 通过增加延时的时间或减少延时的时间,来控制灯的闪烁间隔 } } 3.使 LED1、3、5、7 灯亮,使 LED2、4、6、8 灯闪烁; #include void delay(unsigned int z){ // 毫秒级延时函数定义 unsigned int x, y; for (x = z; x > 0; x--){ for (y = 114; y > 0; y--){ } } } void main(){ // main函数自身会循环 delay(100); while(1){ P1 = 0; // 0000 0000 // 使 LED1、2、3、4、5、6、7、8 灯亮 delay(500); // 延时 500毫秒 通过增加延时的时间或减少延时的时间,来控制流水灯的速度 P1 = 0XAA; // 1010 1010 // 关闭 2、4、6、8 灯 delay(500); // 延时 500毫秒 通过增加延时的时间或减少延时的时间,来控制流水灯的速度 } }


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3