真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

c51語言的函數(shù) c51函數(shù)都有哪些

C51單片機(jī)怎么用C語言實(shí)現(xiàn)數(shù)值的開方和平方運(yùn)算?

C51是基于標(biāo)準(zhǔn)的C語言擴(kuò)展而來的,所以,標(biāo)準(zhǔn)C語言能做的東西,C51也可以。

專注于為中小企業(yè)提供網(wǎng)站制作、成都網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)達(dá)茂旗免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上1000家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

平方運(yùn)算,自不必說,就是兩個(gè)數(shù)相乘:

例如:float a,b,c; c = a*b;

開方,則需要用到庫函數(shù):

標(biāo)準(zhǔn)c語言里用的是 sqrt()函數(shù),這個(gè)函數(shù)包含在math.h文件中。

所以:

#include math.h

c = sqrt(a);

就可以了

C51函數(shù)是如何調(diào)用

在你原來的函數(shù)基礎(chǔ)上,加上三個(gè)參數(shù),分別是:

1 要操作的PORT口

2 要進(jìn)行的操作

3 要操作的引腳

當(dāng)然,如果你的目標(biāo)很明確,可以把以上三個(gè)參數(shù)裁剪掉一些,利于系統(tǒng)的效率提高.

下面是我寫的示例程序,你可能參考一下:

#includereg52.h

#define Pin0 0x01

#define Pin1 0x02

#define Pin2 0x04

#define Pin3 0x08

#define Pin4 0x10

#define Pin5 0x20

#define Pin6 0x40

#define Pin7 0x80

#define OPT_CPL 0x00 //----取反某位操作

#define OPT_CLR 0x01 //----清零某位操作

#define OPT_SET 0x02 //----置一某位操作

void Operate(

/*這里寫你原來的參數(shù),*/

unsigned char Port_Num,

unsigned char Opr_Style,

unsigned char Pins

)

{

//----如果在單片機(jī)PORT口范圍之內(nèi),剛讀取當(dāng)前PORT口的狀

//----如果不在范圍之內(nèi),死循環(huán)

//----注意,為了效率起見,這個(gè)部分可以根據(jù)實(shí)際應(yīng)用進(jìn)行裁剪

if(Port_Num == 0)

{

Port_Num = P0;

}

else if(Port_Num == 1)

{

Port_Num = P1;

}

else if(Port_Num == 2)

{

Port_Num = P2;

}

else if(Port_Num == 3)

{

Port_Num = P3;

}

else

{

while(1);

}

//----如果是取反相應(yīng)位,進(jìn)行異或操作

//----如果清零相應(yīng)位,則位與操作

//----如果置位相應(yīng)位,則位或操作

//----如果都不在范圍之內(nèi),則死循環(huán)

//----這段代碼也根據(jù)實(shí)際情況裁剪

if(Opr_Style == OPT_CPL)

{

Port_Num ^= Pins;

}

else if(Opr_Style == OPT_CLR)

{

Port_Num = ~Pins;

}

else if(Opr_Style == OPT_SET)

{

Port_Num |= Pins;

}

else

{

while(1);

}

//----如果在單片機(jī)PORT口范圍之內(nèi),剛讀取當(dāng)前PORT口的狀

//----如果不在范圍之內(nèi),死循環(huán)

//----注意,為了效率起見,這個(gè)部分可以根據(jù)實(shí)際應(yīng)用進(jìn)行裁剪

if(Port_Num == 0)

{

P0 = Port_Num;

}

else if(Port_Num == 1)

{

P1 = Port_Num;

}

else if(Port_Num == 2)

{

P2 = Port_Num;

}

else if(Port_Num == 3)

{

P3 = Port_Num;

}

else

{

while(1);

}

//----以上的內(nèi)容,可根據(jù)實(shí)際情況進(jìn)行裁剪,以實(shí)現(xiàn)程序最優(yōu)化

//----添加你的功能的其他代碼---------------

}

void main(void)

{

//----使用示例:函數(shù)功能的同時(shí),置位P2口的P2.0,P2.5,P2.7

Operate(/*這里寫你原來的參數(shù)*/2,OPT_SET,(Pin0|Pin5|Pin7));

//----使用示例:函數(shù)功能的同時(shí),清零P1口的P1.2,P1.5,P2.6

Operate(/*這里寫你原來的參數(shù)*/1,OPT_CLR,(Pin2|Pin5|Pin6));

}

單片機(jī)C51中c語言函數(shù)(-nop-())求助

extern void _nop_ (void); //空操作,相當(dāng)于8051的NOP指令

extern bit _testbit_ (bit); //測試并清零位,相當(dāng)于8051的JBC指令

extern unsigned char _cror_ (unsigned char, unsigned char); //字符循環(huán)右移

extern unsigned int _iror_ (unsigned int, unsigned char); //整數(shù)循環(huán)右移

extern unsigned long _lror_ (unsigned long, unsigned char); //長整數(shù)循環(huán)右移

extern unsigned char _crol_ (unsigned char, unsigned char); //字符循環(huán)左移

extern unsigned int _irol_ (unsigned int, unsigned char); //整數(shù)循環(huán)左移

extern unsigned long _lrol_ (unsigned long, unsigned char); //長整數(shù)循環(huán)左移

extern unsigned char _chkfloat_(float); //測試并返回源點(diǎn)數(shù)狀態(tài)

看你的要求~~


網(wǎng)頁題目:c51語言的函數(shù) c51函數(shù)都有哪些
新聞來源:http://weahome.cn/article/dopojce.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部