2-1点亮一个LED灯
1.首先在keil中新建一个工程,这里需要注意,将所写的工程可以统一一个地方进行存储,这样方便查找。之后再右击添加新文件
2.首先右击代码行,引用文件
3.之后再编写主函数
4.以其中亮一个LED灯为例,编写程序如下:
P2=0xFE;//1111 1110 转换成十六进制0x表示前缀代表的是十六进制数
P2=0xFE;//1111 1110
下载程序后到STC-ISP中选择单片机的型号,串口号,打开相应的程序文件,进行下载编程
5.实现效果
6.当然,也可以加上循环语句表示让其一直循环下去,实现效果是一样的
通过点亮第一个LED灯,可以知道以八个一组为例改变0101......的位置可以转换灯的亮灭情况
例如:
实现效果为:
2-2闪烁LED灯
闪烁LED灯是在2-1的基础上加上延时函数
void main()
{
while(1)
{
P2=0xFE;
Delay500ms();
P2=0xFF;
Delay500ms();
}
}
这里引用了延时函数,所以在此之前需要调用延时函数
这里可以用STC-ISP生成相应的代码复制过来
之后进行编译,会发现
这是需要添加头文件,不然会报错
#include 添加头文件是因为复制过来的代码中含有以下内容是包含在另一个库里的 _nop_(); 程序下载,烧录后实现效果为 2-2闪烁LED灯 2-3 LED流水灯 在2-2的基础上实现第三步LED流水灯 主要变化是在主函数中改变进制的位数,添加延时,具体如下: void main() { while(1) { P2=0xFE; //1111 1110 Delay500ms(); P2=0xFD; //1111 1101 Delay500ms(); P2=0xFB; //1111 1011 Delay500ms(); P2=0xF7; //1111 0111 Delay500ms(); P2=0xEF; //1110 1111 Delay500ms(); P2=0xDF; //1101 1111 Delay500ms(); P2=0xBF; //1011 1111 Delay500ms(); P2=0x7F; //0111 1111 Delay500ms(); } } 上述代码中0的位数依次向左边移动 实现效果如下: 2-3 LED流水灯 2-4 LED流水灯 2-4写代码的方式较之前而言较为灵活,当实现不同毫秒的延时时不需要依次生产代码复制过来,而是灵活使用 #include void Delay1ms(unsigned int xms) //@12.000MHz { unsigned char i, j; while(xms) { i = 2; j = 239; do { while (--j); } while (--i); xms=xms-1; //xms--; } } void main() { while (1) { P2=0xFE; //1111 1110 Delay1ms(1000); P2=0xFD; //1111 1101 Delay1ms(1000); P2=0xFB; //1111 1011 Delay1ms(100); P2=0xF7; //1111 0111 Delay1ms(100); P2=0xEF; //1110 1111 Delay1ms(100); P2=0xDF; //1101 1111 Delay1ms(100); P2=0xBF; //1011 1111 Delay1ms(100); P2=0x7F; //0111 1111 Delay1ms(100); } } 1.在调用的延时函数使用了定义int型的变量xms,使用了while循环,在主函数中设置十六进制数的0依次向左移,实现了流水灯的效果,但是这种方法更实用,灵活 实现效果: 2-4 LED流水灯 总结: 51单片机实现流水灯是入门的第一课,主要熟悉以下要点 进制转换 C51数据类型
上一篇:51单片机~流水灯的四种演示方法
下一篇:51单片机实现独立按键控制LED灯
推荐阅读最新更新时间:2024-11-18 19:44
设计资源 培训 开发板 精华推荐
- NCP1365XS1GEVB,用于具有高压启动电流源的低功耗离线恒流/恒压初级侧 PWM 电流模式控制器的评估板
- LTC4098/LTC4098-1 的典型应用 - 具有过压保护的 USB 兼容开关电源管理器/锂离子充电器
- LTM4622IY 4 相、1V 输出、10A 设计的典型应用电路,采用 LTC6902
- 使用 LTC3637MPMSE 4V 至 64V 输入至 -12V 输出正负稳压器的典型应用
- OP497FSZ-REEL平方放大器典型应用电路
- AM2G-0515DZ ±15V 2 瓦 DC-DC 转换器的典型应用
- 用于荧光照明的 1 灯 25W 调光灯驱动器
- LT3091IT7 12V 至 ±3.3V 低噪声电源的典型应用
- 具有一致跟踪和 6V 输入 UVLO 的 LTC3633AIFE-1 1.2V/1.8V 降压稳压器的典型应用电路
- 使用 Analog Devices 的 LT1121IS8-5 的参考设计