C语言
C语言的特点是什么?
怎么实现51
单片机的程序设计?
回帖(1)
2021-11-2 14:38:14
在实际工程应用中,51单片机的程序设计一般都是采用C语言编写,通过相应的编译器,得到可执行代码,以提高程序开发效率。但由于单片机的内部资源有限,并结合单片机的特点(如位操作),与标准C语言相比,有所不同,称为C51程序。
C语言的特点
- 语言简洁、紧凑,使用方便、灵活。
- 运算符丰富。
- 数据结构丰富。具有现代化语言的各种数据结构。
- 可进行结构化程序设计。
- 可以直接对计算机硬件进行操作。
- 生成的目标代码质量高,程序执行效率高。
- 可移植性好。
C语言程序采用函数结构,每个C语言程序由一个或多个函数组成,在这些函数中至少应包含一个主函数main(),也可以包含一个main()函数和若干个其它的功能函数。不管main()函数放于何处,程序总是从main()函数开始执行,执行到main()函数结束则结束。在main()函数中调用其它函数,其它函数也可以相互调用,但main()函数只能调用其它的功能函数,而不能被其它的函数所调用。
功能函数可以是C语言编译器提供的库函数,也可以是由用户定义的自定义函数。在编制C程序时,程序的开始部分一般是预处理命令、函数说明和变量定义等。
用C语言编写51单片机程序与用汇编语言编写51单片机程序不同,汇编语言必须要考虑其存储器结构,尤其必须考虑其片内数据存储器与特殊功能寄存器的使用以及按实际地址处理端口数据。
用C语言编写的51单片机应用程序,则不用像汇编语言那样须具体组织、分配存储器资源和处理端口数据,但在C语言编程中,对数据类型与变量的定义,必须要与单片机的存储结构相关联,否则编译器不能正确地映射定位。
用C语言编写单片机应用程序与标准的C语言程序也有相应的区别:C语言编写单片机应用程序时,需根据单片机存储结构及内部资源定义相应的数据类型和变量,而标准的C语言程序不需要考虑这些问题。
C51包含的数据类型、变量存储模式、输入输出处理、函数等方面与标准的C语言有一定的区别。其它的语法规则、程序结构及程序设计方法等与标准的C语言程序设计相同。
现在支持51系列单片机的C语言编译器有很多种,如American Automation、Avocet、BSO/TASKING、DUNFIELD SHAREWARE、KEIL/Franklin等。各种编译器的基本情况相同,但具体处理时有一定的区别,其中KEIL/Franklin以它的代码紧凑和使用方便等特点优于其它编译器,使用特别广泛。
在实际工程应用中,51单片机的程序设计一般都是采用C语言编写,通过相应的编译器,得到可执行代码,以提高程序开发效率。但由于单片机的内部资源有限,并结合单片机的特点(如位操作),与标准C语言相比,有所不同,称为C51程序。
C语言的特点
- 语言简洁、紧凑,使用方便、灵活。
- 运算符丰富。
- 数据结构丰富。具有现代化语言的各种数据结构。
- 可进行结构化程序设计。
- 可以直接对计算机硬件进行操作。
- 生成的目标代码质量高,程序执行效率高。
- 可移植性好。
C语言程序采用函数结构,每个C语言程序由一个或多个函数组成,在这些函数中至少应包含一个主函数main(),也可以包含一个main()函数和若干个其它的功能函数。不管main()函数放于何处,程序总是从main()函数开始执行,执行到main()函数结束则结束。在main()函数中调用其它函数,其它函数也可以相互调用,但main()函数只能调用其它的功能函数,而不能被其它的函数所调用。
功能函数可以是C语言编译器提供的库函数,也可以是由用户定义的自定义函数。在编制C程序时,程序的开始部分一般是预处理命令、函数说明和变量定义等。
用C语言编写51单片机程序与用汇编语言编写51单片机程序不同,汇编语言必须要考虑其存储器结构,尤其必须考虑其片内数据存储器与特殊功能寄存器的使用以及按实际地址处理端口数据。
用C语言编写的51单片机应用程序,则不用像汇编语言那样须具体组织、分配存储器资源和处理端口数据,但在C语言编程中,对数据类型与变量的定义,必须要与单片机的存储结构相关联,否则编译器不能正确地映射定位。
用C语言编写单片机应用程序与标准的C语言程序也有相应的区别:C语言编写单片机应用程序时,需根据单片机存储结构及内部资源定义相应的数据类型和变量,而标准的C语言程序不需要考虑这些问题。
C51包含的数据类型、变量存储模式、输入输出处理、函数等方面与标准的C语言有一定的区别。其它的语法规则、程序结构及程序设计方法等与标准的C语言程序设计相同。
现在支持51系列单片机的C语言编译器有很多种,如American Automation、Avocet、BSO/TASKING、DUNFIELD SHAREWARE、KEIL/Franklin等。各种编译器的基本情况相同,但具体处理时有一定的区别,其中KEIL/Franklin以它的代码紧凑和使用方便等特点优于其它编译器,使用特别广泛。
举报
更多回帖