单片机 【点亮一个发光二极管】
主要的电路

当单片机的端口为低电平时,发光二极管被点燃(共阳极)
1 //检测是否是低电平二极管亮 2 #include <reg52.h> 3 4 sbit LED = P1^2; //端口位定义 5 6 int main() 7 { 8 while(1) 9 { 10 LED = 0; //将端口拉低 11 12 } 13 14 15 }
假如我想把所有的灯全部点亮,那么代码如何修改
1 /* 2 作者:王者V领 3 出处:https://www.cnblogs.com/Crown-V 4 时间:-- -- -- 5 功能:流水灯 6 intrins.h头文件包含三个函数: 7 8 _crol_(what,mov_num): 9 what是想要移位的东西,mov_num为每次调用时移动几位 10 11 _cror_(what,mow_num): 12 what是想要移位的东西,mov_num为每次调用时移动几位 13 14 _nop_(): 15 空操作,一般用来时间的延迟 16 17 */ 18 19 #include <reg52.h> 20 #include <intrins.h> 21 #define uchar unsigned char 22 #define uint unsigned int //把新的定义成旧的 23 24 void delay(uint z) 25 { 26 uchar x; 27 while(z--) 28 { 29 for(x=114;x>0;x--) 30 { 31 ; 32 } 33 } 34 } 35 int main() 36 { 37 38 P1 = 0x7f; //01111 1111 1是灭 0是亮 39 while(1) 40 { 41 P1 = _cror_(P1,1); // 向右移动1位 42 delay(500); 43 44 } 45 46 47 }

/* 作者:王者V领 出处:https://www.cnblogs.com/Crown-V 时间:-- -- -- 功能:流水灯 intrins.h头文件包含三个函数: _crol_(what,mov_num): what是想要移位的东西,mov_num为每次调用时移动几位 _cror_(what,mow_num): what是想要移位的东西,mov_num为每次调用时移动几位 _nop_(): 空操作,一般用来时间的延迟 */ #include <reg52.h> #include <intrins.h> #define uchar unsigned char #define uint unsigned int //把新的定义成旧的 void delay(uint z) { uchar x; while(z--) { for(x=114;x>0;x--) { ; } } } int main() { P1 = 0xfe; //0000 0001 1是灭 0是亮 while(1) { P1 = P1<<1; // 向左移动1位 delay(500); } }
    M54

 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号