LED灯
相关c语言知识
一、sbit
功能:位定义
一般格式: sbit 标识符 = 地址值;
例如:sbit LED1 = P1^0;
注意:地址值中P1的“P”必须为大写的P
二、延时函数与循环位移函数
延时函数delay(毫秒级)
eg:给形参z赋值,如延时100毫秒:delay(100);
循环位移函数:
标准库函数: intrins.h
内部函数
字符型循环左移:_ crol _
字符型循环右移:_ cror _
eg:#include <intrins.h>
void test_crol (void) {
unsigned char a;
unsigned char b;
a = 0xFE; //1111 1110
b = _ crol _(a,1); // b now is 0xFD 二进制为1111 1101
}
三、循环移位函数与左移和右移运算符的区别
使用字符型循环左移:
#include <intrins.h>
void test_crol (void) {
unsigned char a;
unsigned char b;
a = 0xFE; //1111 1110
b = crol(a,1); // b now is 0xFD 二进制为****1111 1101
}
使用左移运算符:
a = 0xFE; //1111 1110
b = a<<1; // b now is 0xFC 二进制为****1111 1100
区别:循环左移是把最高位移到最低位上,左移运算符是把最高位移除最低位补0