全是c语言程序,都已经用keil编译并下载到开发板里面测试过了= =
1.对单个led灯打开后延时并关闭的循环操作- -(通过位操作点实现)
#include <reg52.h>
sbit LED = P1^1;
Delay()
{
int i;
for(i=0;i<10000;i++);
}
main()
{
while(1){
LED = 0;
Delay();
LED = 1;
Delay();
}
}
2.对于led灯的循环点亮(左边开始)通过总线方式点亮
#include <reg52.h>
delay(unsigned int n)
{
while(--n);
}
main()
{
unsigned char i;
delay(60000);
P1 = 0xfe; //P1=1111 1110
while(1)
{
for(i = 0;i < 8;i++)
{
delay(60000);
P1 <<= 1;
P1=P1|0x01;
}
P1=0xfe;
}
}
3.是左右循环(总线方式)
#include <reg52.h>
void delay()
{
unsigned int a;
for(a = 0;a<30000;a++);
}
void main()
{
unsigned int i,j;
while(1)
{
P1=j=0xfe;//1111 1110;
delay();
for(i = 0;i < 8;i++)
{
j = j<<1;
j = j|0x01;//0000 0001
P1=j;
delay();
}
P1=j=0x7f;//0111 1111;
delay();
for(i = 0;i < 8;i++)
{
j = j>>1;
j = j|0x80;//1000 0000
P1=j;
delay();
}
}
}
都是很基础的东西,还有一个查表的准备等做最后作品花样灯的时候做,虽然led部分很基础,但是没办法只能先走马观花的学习了,希望以后能再回过头来的时候可以轻松点,现在都是依葫芦画瓢阶段,虽然看上去都懂,但是其实对于更深层次的内容了解的还是很有限,我想随着学习的深入,我将会学到更多,到时候再回过头,西瓜芝麻一起抓!