本文共 1642 字,大约阅读时间需要 5 分钟。
1.C语言常用的预处理命令
2.循环左移右移函数
1.C语言常用预处理命令
#define使用
#define A P0(注意后面不用加分号)
2.循环左移右移函数
_crol_(a,b);循环左移函数,a是左移的值,b是左移的位数。包含在instrins.h库函数里面。
_cror_(a,b);循环右移函数,a是右移的值,b是右移的位数。包含在instrins.h库函数
#include "reg51.h" //此文件中定义了单片机的一些特殊功能寄存器#include "intrins.h"typedef unsigned char u8;typedef unsigned int u16;#define led P2 //将单片机的P2端口定义为led/******************************************************************************** 函 数 名 : delay* 函数功能 : 延时函数,i=1时,大约延时10us*******************************************************************************/void delay(u16 i){ while(i--);}void main(){ u8 i; led=0xfe; //1111 1110 P2^0 = 0 delay(50000); while(1) { for (i=0;i<7;i++) { led=_crol_(led,1); /*0xfe 1111 1110 第1个led灯亮 ,其余熄灭 i = 0, led = 1111 1101, P2^1= 0,第2个led灯亮 ,其余熄灭。 i = 1, led = 1111 1011, P2^2= 0,第3个led灯亮 ,其余熄灭。 i = 2, led = 1111 0111, P2^3= 0,第4个led灯亮 ,其余熄灭。 i = 3, led = 1110 1111, P2^4= 0,第5个led灯亮 ,其余熄灭。 i = 4, led = 1101 1111, P2^5= 0,第6个led灯亮 ,其余熄灭。 i = 5, led = 1011 1111, P2^6= 0,第7个led灯亮 ,其余熄灭。 i = 6, led = 0111 1111, P2^7= 0,第8个led灯亮 ,其余熄灭。 i = 7, 退出循环。 */ delay(50000); } for (i=0;i<7;i++) { /* 0111 1111 第8个led灯亮 ,其余熄灭。 i = 0, led = 1011 1111, P2^7= 0,第7个led灯亮 ,其余熄灭。 i = 1, led = 1101 1111, P2^6= 0,第3个led灯亮 ,其余熄灭。 i = 2, led = 1110 1111, P2^5= 0,第4个led灯亮 ,其余熄灭。 i = 3, led = 1111 0111, P2^4= 0,第5个led灯亮 ,其余熄灭。 i = 4, led = 1111 1011, P2^3= 0,第6个led灯亮 ,其余熄灭。 i = 5, led = 1111 1101, P2^2= 0,第7个led灯亮 ,其余熄灭。 i = 6, led = 1111 1110, P2^1= 0,第8个led灯亮 ,其余熄灭。 i = 7, 退出循环。 */ led=_cror_(led,1); delay(50000); } } }
里面。
转载地址:http://kzgmi.baihongyu.com/