/*
led.c文件
标题: 点亮一个了LED灯
*/
#include #include 'led1.h' void led1(){ //设置P2.0口为低电平,连接到该口的LED灯点亮 //0xfe ==== 1111 1110 P2 = 0xfe; } //led1.h的文件 #ifndef _LED1_H_ #define _LED1_H_ void led1(); #endif /* .c文件 标题: 闪烁的LED灯 电路:开发板中P2口已接到LED灯的阴极 */ #include #include 'led2.h' #include 'sys.h' void led2(){ int i; while(1){ //设置P2.0口为低电平,连接到该口的LED灯点亮 //0xfe ==== 1111 1110 P2 = 0xfe; for(i=0;i<10000;i++);//延时一段时间 P2 = 0xff; for(i=0;i<10000;i++);//延时一段时间 } } // .h文件 #ifndef _LED2_H_ #define _LED2_H_ void led2(); #endif /* .c文件 标题: 流水灯 电路:开发板中P2口已接到LED灯的阴极 */ #include 'led3.h' static unsigned char coded[8] = {0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; static void fun1(); static void fun2(); static void fun3(); void led3(){ fun3(); } //使用数组的方式 void fun1(){ int i; while(1){ for(i=0;i<8;i++){ P2 = coded[i]; delay(); } for(i=6;i>=0;i--){ P2 = coded[i]; delay(); } } } //使用指针的方式 void fun2(){ int i; while(1){ for(i=0;i<8;i++){ P2 = *(coded+i); delay(); } for(i=7;i>=0;i--){ P2 = *(coded+i); delay(); } } } //使用位移运算 void fun3(){ unsigned char i; unsigned char state = 0xfe; while(1){ state = 0xfe; P2 = state; delay(); for(i=0;i<7;i++){ state = (state<<1)|0x01; P2 = state; delay(); } for(i=0;i<7;i++){ state = (state >> 1)|0x80; P2 = state; delay(); } } } // .h文件 #ifndef _LED3_H_ #define _LED3_H_ #include #include 'sys.h' void led3(); #endif
上一篇:002_89C52_Proteus_DAC0832_输出50HZ,正弦波,三角波,矩形波,锯齿波
下一篇:我也玩单片机:流水灯
推荐阅读最新更新时间:2026-03-25 12:04
- 用于 7VIN 至 16VIN、1.5V 和 1.2V 输出的 LTM4628EV DC/DC 模块稳压器的典型应用电路
- 使用 Analog Devices 的 LTC3728LIGN 的参考设计
- DER-406 - 适用于 A19 灯的 5.76 W 高 PF 非隔离降压-升压型 TRIAC 调光 LED 驱动器
- ADR5045B 5V 输出精密微功率并联模式电压基准的典型应用
- LT3970EDDB-3.42 2.5V 降压转换器的典型应用
- MC78M08BDTG 8V 电流调节器的典型应用
- LT1021DCN8-5 精密电压基准的典型应用
- DER-282 - 100W, 扁平(11 mm), LLC DC-DC转换器
- REF193 低压差开尔文连接电压基准的典型应用电路
- LT3088EM 线性稳压器用于添加软启动的典型应用

LED照明选型指南
英飞凌PSoC 6 电位器控制LED闪烁状态并水墨屏显示——源码
Follow me第三季第4期任务
现代雷达系统的信号设计
BFR340T






京公网安备 11010802033920号