❶ 51单片机C语言的头文件,及其头文件的功能
reg51.h
常见的是这个头文件。
这是单片机C语言编译器自带的库函数,相当于单片硬件的底层驱动程序。
比如说,亩者慎在有头文件的情况下,可以直接使用P0作为变量进行读写操作,这是因为嫌乎头文件里对P0做了描述,在软件和硬件之间建立了沟通桥梁。
还有其他数据处理类头文件,比如说math.h,这是数学函数库头文迅敬件。有了它,就可以直接调用一些复杂的数学处理函数,而不必用户自己设计,例如反正弦函数。
❷ 51鍗旷墖链洪噷闱㈢殑鍑犱釜鍑芥暟 璋佽兘甯鎴戣В鍐充竴涓 姣忎竴琛岃兘甯鎴戣︾粏璁茶В涓涓嬩箞
void Timer0Init(void) //1寰绉扏11.0592MHz
{
TMOD &= 0xF0; //瀹氭椂鍣1淇濇寔铡熺姸镐佷笉鍙
TMOD |= 0x02; //瀹氭椂鍣0璁剧疆涓烘ā寮2
TH0=0xF7; //鍒濆间负256-9
TL0=0xF7; //閲嶈呭
EA=1; //寮镐讳腑鏂
ET0=1; //寮t1涓鏂
// TR0=1; // 寮濮嬭℃椂
void tm0_isr() interrupt 1 using 1//瀹氭椂鍣0涓鏂链嶅姟鍑芥暟锛屼娇鐢ㄥ伐浣滃瘎瀛桦櫒鍖1
{
}
///////////////////////////////////////////////////////////////
//External interrupt0 service routine
void exint0() interrupt 0 //(location at 0003H) //澶栭儴涓鏂0链嶅姟鍑芥暟
{
Alarm_Off = 1; //鎶ヨ︽带鍒朵俊鍙风疆1
}
////////////////////////////////////////////////////////////////
void delay200ms(void) //寤舵椂200姣绉
{
unsigned char a,b,c;
for(c=55;c>0;c--)
for(b=100;b>0;b--)
for(a=3;a>0;a--);
}
void delay500ms(void) //寤舵椂500姣绉
{
unsigned char a,b,c;
for(c=67;c>0;c--)
for(b=141;b>0;b--)
for(a=18;a>0;a--);
_nop_();
}
void delay1s(void) //寤舵椂1绉
{
unsigned char a,b,c;
for(c=95;c>0;c--)
for(b=26;b>0;b--)
for(a=185;a>0;a--);
}
//----------- INIT UART ----------------------------------------
void UartInit()//涓插彛鍒濆嫔寲鍑芥暟
{
SCON = 0x50; //8-bit variable UART
TMOD = 0x20; //Set Timer1 as 8-bit auto reload mode
TH1 = TL1 = -(FOSC/12/32/BAUD); //Set auto-reload vaule
TR1 = 1; //Timer1 start run
EA = 1; //Open master interrupt switch
}
//------- Send a byte data to UART ----------------------------
void SendData(unsigned char dat)//鍙戦佷竴涓瀛楄妭
{
SBUF = dat; //Send data to UART buffer
while(!TI);
TI=0;
}
//------- Send a string to UART -------------------------------
void SendString(char *s)//鍙戦佸瓧绗︿覆
{
while (*s) //Check the end of the string
{
SendData(*s++); //Send current char and increment string ptr
}
} 鏀惰捣 sunqi8838306 5
❸ 51单片机c语言里 _nop_ 函数怎么用
在单片机c语言中直接调用库函数即可,具体如下:
#include<intrins.h> // 声明了void_nop_(void);
_nop_(); // 产生一条NOP指令。
该函数的作用:对于延时很短的,要求在us级的,采用“_nop_”函数,这个函数相当信乱游汇编NOP指令,延时几微秒。NOP指令为单周期指令,可由晶振频率算出延时时间,对于12M晶振,延时1uS。
❹ 51单片机,c语言写程序,什么数学运算都可以吗加减乘除,对数,指数,三角函数,平方,根号,立方,
KEIL C51 有个数学函数库(和C语言的 数学函数库类似)
指数,三角函数,平方,开方,立方都有的。具体可以看 相关的资料。
数学函数库 需要看头文件MATH.H
例如:
1.指数函数 float exp(float x)
2.对数函数 float log(float x) ,float log10(float x)
3.平方根:float sqrt(float x)
3.三角函数 :
float cos(float x),float sin(float x),float tan(float x)
float acos(float x),float asin(float x),float atan(float x),float atan2(float y, float x)
float cosh(float x),float sinh(float x),float tanh(float x)
等很多了,具体去看相关的资料吧
希望我的回答对你有所帮助,很高兴和你一起讨论单片机编程技术。
❺ 51单片机中,指针函数 在C语言程序 如何使用
你好,比较方便的实现方式是在函数的外部申请数组;在调用函数的时候传入数组的地址进行操作。如果一定要在子函数内部申请空间并返回地址,那么需要在子函数内部动态申请内存空间。具体的方法一般是使用标准库中的malloc函数。对于c51函数库,参考这个链接:http://www.keil.com/support/man/docs/c51/c51_malloc.htm