当前位置:首页 > 单片机 > 单片机
[导读](1)_chkfloat_:函数定义:unsigned char _chkfloat_ ( float val); /* number to check */函数功能:_chkfloat_函数检查浮点数 val 的类型。返回值:_chkfloat_函数返回浮点数 val 的类型。返回值意义0标准浮点数

(1)_chkfloat_:

函数定义:unsigned char _chkfloat_ ( float val); /* number to check */

函数功能:_chkfloat_函数检查浮点数 val 的类型。

返回值:_chkfloat_函数返回浮点数 val 的类型。

返回值

意义

0

标准浮点数

1

浮点0

2

+INF 正溢出

3

-INF 负溢出

4

NaN 非数

/*本实验测试本征库中的_chkfloat_函数:函数定义:unsignedchar_chkfloat_(floatval);返回值:ReturnValueMeaning0Standardfloating-pointnumber.1Floating-pointvalue0.2+INF(positiveoverflow).3-INF(negativeoverflow).4NaN(NotaNumber)errorstatus.用P1指示返回值*///函数测试:#include#includeunsignedcharf[4]={0xff,0xff,0xff,0xff};voiddelay(unsignedinttime){while(time--);}voidmain(){P2=~_chkfloat_(1.2455);//Standardfloating-pointnumber.delay(50000);P2=~_chkfloat_(0.00);//Floating-pointvalue0.delay(50000);P2=~_chkfloat_(1000000000000000000000000000000000000000000000000000000000000000.0000000000);//+INF(positiveoverflow).delay(50000);P2=~_chkfloat_(-1000000000000000000000000000000000000000000000000000000000000000.0000000000);//-INF(negativeoverflow).delay(50000);P2=~_chkfloat_(*((float*)f));//NaN(NotaNumber)errorstatus.while(1);}

(2)_crol_:

函数定义:unsigned char _crol_ ( unsigned char c,unsigned char b);  /* character to rotate left */

                                    /* bit positions to rotate */

函数功能:_crol_函数将一个字节c循环左移b位。

返回值:_crol函数返回将c循环左移b位后的值。

/*本实验测试本征库中的_crol_函数函数定义:unsignedchar_crol_(unsignedcharc,unsignedcharb);返回值:_crol_函数返回将c循环左移b位后的值。用P1指示返回值*///函数测试:#include#includevoiddelay(unsignedinttime){while(time--);}voidmain(){unsignedchari;i=0;P2=~0x01;for(i=0;i<8;i++){P2=_crol_(P2,1);delay(50000);}while(1);}

(3)_cror_:

函数定义:unsigned char _cror_ ( unsigned char c, /* character to rotate right */
unsigned char b); /* bit positions to rotate */
函数功能:_cror_函数将一个字节c循环右移b位。
返回值:_cror_函数返回将c循环右移b位后的值。

/*本实验测试本征库中的_cror_函数函数定义:unsignedchar_cror_(unsignedcharc,unsignedcharb);返回值:_cror_函数返回将c循环右移b位后的值。用P1指示返回值*///函数测试:#include#includevoiddelay(unsignedinttime){while(time--);}voidmain(){unsignedchari;i=0;P2=~0x80;for(i=0;i<8;i++){P2=_cror_(P2,1);delay(50000);}while(1);}

(4)_getkey:

函数定义:char _getkey (void);

函数功能:等待接收串口的一个字节的数据。

返回值:从串口接收到的字节。

/*本实验测试标准输入输出库中的_getkey函数函数定义:char_getkey(void);返回值:从串口接收到的字节。用P1指示返回值*///函数测试:#include#includevoiddelay(unsignedinttime){while(time--);}voidUART_Init()/*通讯有关参数初始化*/{PCON&=0x7f;TH1=0xfd;/*T1usesio*/TL1=0xfd;/*选择通讯速率:0=1200,1=2400,2=4800,3=9600,4=19.2k*//*T1usesio*/TMOD=0x21;/*T1=MODE2,sio;T0=MODE1,16bit,usetime*/PS=1;/*SIOinthigh优先级*/EA=1;ET1=0;SM0=0;SM1=1;/*SM0=0SM1=1,mode1,10bit*/SM2=0;/*dataint,无校验(TB8=bit_duble偶)*/TR1=1;REN=1;RI=0;TI=0;ES=1;}voidmain(){delay(50000);UART_Init();P2=0xff;while(1){P2=_getkey();}}

(5)_irol_:

函数定义:unsigned int _irol_ ( unsigned int i, /* integer to rotate left */

unsigned char b); /* bit positions to rotate */

函数功能:对整型数i循环左移b位。

返回值:i循环左移b位后的值。

/*本实验测试本征库中的_irol_函数函数定义:unsignedint_irol_(unsignedinti,unsignedcharb);返回值:i循环左移b位后的值。*///函数测试:#include#includeunsignedinttest;voidmain(){test=0xa5a5;test=_irol_(test,3);//test=0x2d2dwhile(1);}

(6)_iror_:

函数定义:unsigned int _iror_ ( unsigned int i, /* integer to rotate right */

unsigned char b); /* bit positions to rotate */

函数功能:对整型数i循环右移b位。

返回值:i循环右移b位后的值。

/*本实验测试本征库中的_iror_函数函数定义:unsignedint_iror_(unsignedinti,unsignedcharb);返回值:i循环右移b位后的值。*///函数测试:#include#includeunsignedinttest;voidmain(){test=0xa5a5;test=_iror_(test,3);//test=0xb4b4while(1);}

(7)_lrol_:

函数定义:unsigned long _lrol_ ( unsigned long i, /* 32-bit integer to rotate left */

unsigned char b); /* bit positions to rotate */

函数功能:对长整型数i循环左移b位。

返回值:i循环左移b位后的值。

/*本实验测试本征库中的_lrol_函数函数定义:unsignedlong_lrol_(unsignedlongi,unsignedcharb);返回值:i循环左移b位后的值。*///函数测试:#include#includeunsignedlongtest;voidmain(){test=0xa5a5a5a5;test=_lrol_(test,3);//test=0x2d2d2d2dwhile(1);}

(8)_lror_:

函数定义:unsigned long _lror_ ( unsigned long i, /* 32-bit integer to rotate right */

unsigned char b); /* bit positions to rotate */

函数功能:对长整型数i循环右移b位。

返回值:i循环右移b位后的值。

/*

本实验测试本征库中的_lror_函数

函数定义:unsigned long _lror_(unsigned long i,unsigned char b);

返回值:i循环左移b位后的值。

*/

u函数测试:

#include

#inc

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

单片机内部有很多的特殊功能寄存器,每个寄存器在单片机内部都分配有唯一的地址,一般我们会根据寄存器功能的不同给寄存器赋予各自的名称,当我们需要在程序中操作这些特殊功能寄存器时,必须要在程序的最前面将这些名称加以声明,声明的...

关键字: C51 数据类型 扩充定义

数据元(Data Element),也称为数据元素,是用一组属性描述其定义、标识、表示和允许值的数据单元,在一定语境下,通常用于构建一个语义正确、独立且无歧义的特定概念语义的信息单元。数据元可以理解为数据的基本单元,将若...

关键字: C51 数据类型

▼点击下方名片,关注公众号▼欢迎关注【玩转单片机与嵌入式】公众号,回复关键字获取更多免费资料。回复【加群】,限时免费进入知识共享群;回复【3D封装库】,常用元器件的3D封装库;回复【电容】,获取电容、元器件选型相关的内容...

关键字: C51 MDK RealView

在Keil C51软件中51单片机的中断服务和外设驱动程序的开发

关键字: keil5 编译 C51

Intel公司1980年推出了MCS-51系列单片机:集成 8位CPU、4K字节ROM、128字节RAM、4个8位并口、1个全双工串行口、2个16位定时/计数器。寻址范围64K,并有控制功能较强的布尔处理器。 80C5...

关键字: C51 KEIL 编程

c上标3下标5怎么算用计算机,c上标3下标5怎么算

关键字: C51 KEIL

▼点击下方名片,关注公众号▼大家好,很高兴和各位一起分享我的第16篇原创文章,喜欢和支持我的工程师,一定记得给我点赞、收藏、分享。加微信[xyzn3333]与作者沟通交流,免费获取更多单片机与嵌入式的海量电子资料。很多初...

关键字: 51单片机 C51

这篇文章想分享笔者在嵌入式开发过程中常用的库函数,他们的使用方法,使用场景,使用好处以及头文件位置。1#include一般我在写C代码的时候都会包含此头文件,因为一旦包含此文件后,你就可以畅快的使用bool数据类型,而不...

关键字: 库函数

关注、星标公众号,直达精彩内容来源:知乎作者:Clarence这篇文章想分享笔者在嵌入式开发过程中常用的库函数,他们的使用方法,使用场景,使用好处以及头文件位置。1#include一般我在写C代码的时候都会包含此头文件,...

关键字: 库函数

基本概念阐述memcpy和memmove都是C语言的库函数,相比于 strcpy和 strncpy只能针对于字符类型的数组(),这两个函数可以拷贝其他类型的数组,对于 memcpy和 memmove的区别是什么呢?这里,...

关键字: 库函数 ov
关闭
关闭