C51库函数详解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
_chkfloat_:
函数定义:
unsigned char _chkfloat_ ( float val); /* number to check */
函数功能:
_chkfloat_函数检查浮点数val 的类型。
返回值:
_chkfloat_函数返回浮点数val 的类型。
返回值意义
0 标准浮点数
1 浮点0
2 +INF 正溢出
3 -INF 负溢出
4 NaN 非数
函数测试:
#include
#include
/*
本实验测试本征库中的_chkfloat_函数
函数定义:unsigned char _chkfloat_(float val);
返回值:
Return Value Meaning
0 Standard floating-point number.
1 Floating-point value 0.
2 +INF (positive overflow).
3 -INF (negative overflow).
4 NaN (Not a Number) error status.
用P1指示返回值
*/
unsigned char f[4]={0xff,0xff,0xff,0xff};
void delay(unsigned int time)
{
while(time--);
}
void main()
{
P2=~_chkfloat_(1.2455); //Standard floating-point number.
delay(50000);
P2=~_chkfloat_(0.00); //Floating-point value 0.
delay(50000);
P2=~_chkfloat_(1000000000000000000000000000000000000000000000000000000000000000.0000 000000); //+INF (positive overflow).
delay(50000);
P2=~_chkfloat_(-1000000000000000000000000000000000000000000000000000000000000000.000 0000000); //-INF (negative overflow).
delay(50000);
P2=~_chkfloat_(*((float *)f)); //NaN (Not a Number) error status.
while(1);
_crol_:
函数定义:
unsigned char _crol_ ( unsigned char c, /* character to rotate left */
unsigned char b); /* bit positions to rotate */ 函数功能:
_crol_函数将一个字节c循环左移b位。
返回值:
_crol函数返回将c循环左移b位后的值。
函数测试:
#include
#include
/*
本实验测试本征库中的_crol_函数
函数定义:unsigned char _crol_(unsigned char c,unsigned char b); 返回值:_crol_函数返回将c循环左移b位后的值。
用P1指示返回值
*/
void delay(unsigned int time)
{
while(time--);
}
void main()
unsigned char i;
i=0;
P2=~0x01;
for(i=0;i<8;i++)
{
P2=_crol_(P2,1);
delay(50000);
}
while(1);
}
_cror_:
函数定义:
unsigned char _cror_ ( unsigned char c, /* character to rotate right */
unsigned char b); /* bit positions to rotate */ 函数功能:
_cror_函数将一个字节c循环右移b位。
返回值:
_cror_函数返回将c循环右移b位后的值。
函数测试:
#include
#include
/*
本实验测试本征库中的_cror_函数
函数定义:unsigned char _cror_(unsigned char c,unsigned char b); 返回值:_cror_函数返回将c循环右移b位后的值。
用P1指示返回值
*/
void delay(unsigned int time)
{
while(time--);
}
void main()
{
unsigned char i;
i=0;
P2=~0x80;
for(i=0;i<8;i++)
{
P2=_cror_(P2,1);
delay(50000);
}
while(1);
}
_getkey:
函数定义:
char _getkey (void);
函数功能: