mcu80c52
无    2016-10-26 17:50:09    104    0    0
tianwaifeixian

说实话买来就有点后悔了

这货智能化程度太低了

只能搞一搞玩一下了

点亮了所有的灯

 

#include <reg52.h>

//定义LDE1为P1的第0位 以便进行位操作 
//也就是设定P1线路口那些灯的第0个灯的代码.
#if 0
sbit LED1 = P1^0;
sbit LED2 = P1^1;
sbit LED3 = P1^2;
sbit LED4 = P1^3;
sbit LED5 = P1^4;
sbit LED6 = P1^5;
sbit LED7 = P1^6;
sbit LED8 = P1^7;

void main()
{
    LED1 = 0;
    LED2 = 0;
    LED3 = 0;
    LED4 = 0;
    LED5 = 0;
    LED6 = 0;
    LED7 = 0;
    LED8 = 0;
}
#endif

void main()
{
	P1 = 0X00;
}

这里的 ^ 和C语言里面的 ^意思还不一样呢? 

c里面你最多也就是和 0 和1 来回 ^

这特么都到7了!

查了一下某度百科 http://baike.baidu.com/view/4394144.htm

这是定位的意思涅 ~

我不喜欢在windows系统里面操作代码

因为它智能化程度太高了 

我也不喜欢所谓的IDE

因为我搞不懂他们在后台都是怎么把一个.c变成了.hex的

还是Linux来的透明


//点亮2 4 6 8 号灯 使其闪烁时间为1000毫秒
#include <reg52.h>
#define T t = 35000

unsigned int T;

void main()
{
	while(1)
	{
		P1 = 0X55;
        T;
		while(t--);
		P1 = 0xff;
        T;
		while(t--);
	}
}

 

/*依次点亮所有的灯
使用位运算(移动)方式实现
*/

#include <reg52.h>

unsigned int i = 0;
unsigned int t = 20000;

void main()
{
	while(1)
	{
		for(i=0;i<8;i++)
		{
			//P1 = P1 << 1;//此顺序为LED1-->LED7
			P1 = P1 >> 1; ///此顺序为/LED7-->LED1
			while(t--);
		}
		P1 = 0xff;
		while(t--);
	}
}

 

上一篇: sahajayoga

下一篇: 判断十进制转2进制后有多少1

104 人读过
立即登录, 发表评论.
没有帐号? 立即注册
0 条评论
文档导航