当前位置:首页 > 单片机 > 单片机
[导读](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

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

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭