77范文网 - 专业文章范例文档资料分享平台

PIC单片机的C语言应用下的函数库(2)

来源:网络收集 时间:2020-06-08 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

printf(\,buf,i); }

4. 参 阅 xtoi( ),atof( ),atol( ) 5. 返回值 返回一个有符号的整数。如果在字符串中没有发现任何数字,则返回0。

9 ATOL函数

1.提 要

#include

long atol (const char * s) 2.描 述 atol( )函数扫描传递过来的字符串,并跳过字符串开头的空格;然后将十进制数的ASCII

表达式转换成长整型。 3.例 程

#include #include void

main (void) {

char buf[80]; long i; gets(buf); i = atol(buf);

printf(\,buf,i); }

4.参 阅 atoi( ),atof( ) 5.返回值 返回一个长整型数。如果字符串中没有发现任何数字,返回值为0。

10 CEIL函数

1. 提 要

#include double ceil (double f) 2. 描 述 本函数对函数参数 f 取整,取整后的返回值为大于或等于 f 的最小整数。 3. 例 程

#include #include

6

void

main (void) {

double j;

scanf(\,&j);

printf(\,j,ceil(j)); }

11 COS函数

1. 提 要

#include double cos (double f) 2. 描 述 本函数将计算函数参数的余弦值。其中,函数参数用弧度表示。余弦值通过多项式级数近似值展开式算得。 3. 例 程

#include #include

#define C 3.141592/180.0 void

main (void) {

double i;

for(i = 0;i <= 180.0;i += 10)

printf(\,cos = %f\\n\,i,sin(i*C),cos(i*C)); }

4. 参 阅 sin( ),tan( ),asin( ),acos( ),atan( ),atan2( ) 5. 返回值 返回一个双精度数,区间为[-1,1]。

12 COSH、SINH、TANH函数

1. 提 要

#include double cosh (double f) double sinh (double f) double tanh (double f) 2. 描 述 这些函数都是cos( ),sin( )和tan( )的双曲函数。 3. 例 程

#include

7

#include void

main (void) {

printf(\,cosh(1.5)); printf(\,sinh(1.5)); printf(\,tanh(1.5)); }

4. 返回值 cosh( )函数返回双曲余弦值,sinh( )函数返回双曲正弦值,tanh( )函数返回双曲正切值。

13 CTIME函数

1. 提 要

#include

char * ctime (time_t * t) 2. 描 述 ctime( )函数将函数参数所指的时间转换成字符串,其结构与asctime( )函数所描述的相同,并且精确到秒。以下例程将打印出当前的时间和日期。 3. 例 程

#include #include void

main (void) {

time_t clock; time(&clock);

printf(\,ctime(&clock)); }

4. 参 阅 gmtime( ),localtime( ),asctime( ),time( ) 5. 返回值 本函数返回一个指向该字符串的指针。

注意:由于编译器不会提供time( )程序,故它需要由用户给定。详情请参阅time( )函数。

6. 数据类型 typedef long time_t

14 DI、EI函数

1. 提 要

#include void ei(void)

8

void di(void) 2. 描 述 ei( )和di( )函数分别实现全局中断使能和中断屏蔽,其定义在pic.h头文件中。它们将被扩展为一条内嵌的汇编指令,分别对中断使能位进行置位和清零。 以下例程将说明ei( )函数和di( )函数在访问一个长整型变量时的应用。由于中断服务程序将修改该变量,所以如果访问该变量不按照本例程的结构编程,一旦在访问变量值的连续字期间出现中断,则函数 getticks( ) 将返回错误的值。 3. 例 程

#include long count;

void interrupt tick(void) {

count++; }

long getticks(void) {

long val; /*在访问count变量前禁止中断,保证访问的连续性*/ di( );

val = count; ei( );

return val; }

15 DIV函数

1. 提 要

#include

div_t div (int numer,int demon) 2. 描 述 div( )函数实现分子除以分母,得到商和余数。 3. 例 程

#include #include void

main (void) {

div_t x;

x = div(12345,66);

printf(\,remainder = %d\\n\,x.quot,x.rem); } 4. 返回值 返回一个包括商和余数的结构体div_t。.

9

5. 数据类型

typedef struct {

int quot; int rem; } div_t;

16 EEPROM_READ、EEPROM_WRITE函数

1. 提 要

#include

unsigned char eeprom_read (unsigned char addr);

void eeprom_write (unsigned char addr,unsigned char value); 2. 描 述 这些函数允许访问片内EEPROM(如果片内有EEPROM)。EEPROM不是可直接寻址的寄存器空间,当需要访问EEPROM时,就需要将一些特定的字节序列加载到EEPROM控制寄存器中。写EEPROM是一个缓慢的过程。故eeprom_write( )函数在写入下一个数据前,会通过查询恰当的寄存器来确保前一个数据已经写入完毕。另外,读EEPROM可以在一个指令周期内完成,所以没有必要查询读操作是否完成。 3. 例 程

#include void

main (void) {

unsigned char data; unsigned char address; address = 0x10;

data = eeprom_read(address); }

注意:如果调用eeprom_write( )函数后需即刻调用eeprom_read( )函数,则必须查询EEPROM寄存器以确保写入完毕。全局中断使能位(GIE)在eeprom_write( )程序中重新恢复(写EEPROM时需要关闭总中断)。而且,本函数不会清EEIF标志位。

17 EVAL_POLY函数

1. 提 要

#include

double eval_poly (double x,const double * d,int n) 2. 描 述 eval_poly( )函数将求解一个多项式的值。这个多项式的系数分别包含在x和数组d中,例如:

y = x*x*d2 + x*d1 + d0

10

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库PIC单片机的C语言应用下的函数库(2)在线全文阅读。

PIC单片机的C语言应用下的函数库(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/1099913.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: