单片机实验:使用c语言实现LED流水灯
目的:实现一个简单的流水灯程序仿真软件:Portues编程软件:KeilPortues 原理图绘制:
需要用到的模块:
单片机:AT89C51电容:04025A220JAT2A晶振:CRYSTALLED:LED-YELLOW电阻:10WATT100R接地:GROUND电源:POWER
思路:
该程序使用的是 P2 端口 (P1端口同理)
实现流水灯效果
按照Portues原理图 明确低电平点亮灯高4位 P2.7 p2.6 P2.5 p2.4 低4位P2.3 p2.2 P2.1 p2.0 当处于 1111 1110 实现p2.0端口的灯点亮当处于 1111 1101 实现p2.1端口的灯点亮...当处于 0111 1111 实现p2.7端口的灯点亮如何实现这种变化使用 _crol_ 左位移函数即可 在每次位移的时候增加一个delay()函数 就可以看到流水灯的效果
代码实现:
#include<reg51.h>#include<intrins.h>typedef unsigned int uint;typedef unsigned char uchar; uchar led;void delay(uchar i){while(i--);}void main(){uchar i;led=0xfe; P2=led;delay(50000);while(1){for(i=0;i<7;i++){led=_crol_(led,1);delay(50000);P2=led;}}}