- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机C语言(模块一)
《单片机原理及应用(二)》
模块一 C51程序设计基础
任务1:实例导航
第二章 C与8051
2.1 8051的编程语言
1、8051的编程语言(四种):
(1)BASIC语言
(2)PL/M
?(3)汇编语言
?(4)C语言
目前,汇编语言和C语言是广泛使用的两种单片机编程语言。在未来的一段时间内,汇编语言和C语言还将同时存在,但从发展趋势看,C语言有逐渐取代汇编语言的可能。
最好的单片机编程者应是具有汇编语言基础,又精通C语言的。
2、C语言的优点(与汇编语言相比):(P41)
(1)对单片机的指令系统不要求了解,仅要求对8051的存储器结构有所了解
(2)寄存器的分配、不同存储器的寻址及数据类型等细节由编译器管理
(3)程序有规范的结构,由不同的函数组成,这种方式可使程序结构化
(4)编程及程序调试时间显著缩短,从而提高效率
(5)提供库函数,具有较强的数据处理能力
3、8051单片机C语言(单片机C51语言)
了解一下单片机的种类:(查资料)
2.2 Cx51编译器
编译: C语言源程序转换成机器语言目标程序的过程,叫做编译。
编译器:能自动完成编译过程的一种计算机软件。
C语言编译器(标准C)
C51编译器(经典8051单片机)
Cx51编译器(经典8051单片机及派生产品)
Cx51编译器完全遵照ANSI C语言标准,支持C语言的所有标准特征。另外,还增加了可以直接支持8051结构的特征。
典型产品:KILE套装工具软件----------uVision2 集成开发环境的使用(P 302)
例2-1:用uVision2软件编译调试一个C51程序(HELLO.C)
基本步骤:
创建一个新项目(建在一个新文件夹下)
并为项目选择一个CPU(此时会自动加入启动文件)
创建新程序文件(或打开旧程序文件)
此例中,打开c:\kile\c51\examples\hello
将源文件添加到项目中
此时还可修改工具选项
编译和链接项目(Build Target命令):
翻译和链接源文件,并生成一个可以载入到uvision2调试器进行调试的绝对目标模块。
调试项目
printf(“hello world!\n”); 它是C语言的库函数,功能是用于程序的输出(显示在屏幕上),对于单片机来说,则必须通过其串行接口才能输出到屏幕上显示。
2.5 Cx51程序结构(53页)
(一)Cx51程序结构特点
一个Cx51程序由函数构成,是一个函数定义的集合。
Cx51程序由主函数(main)、库函数(如sqrt ,scanf,printf等)、用户定义函数组成。
(1)主函数:在一个C51程序中,仅有一个名为main的函数(主函数).主函数既是程序的入口,也是程序的出口。也就是说,程序的执行起始于主函数,并且最终结束于主函数。在主函数执行过程中可调用其他函数。
(2)库函数:是C51在库文件中已定义的函数,其函数说明在相关的头文件中。这类函数,用户在编程时只要用 # include预处理指令将头文件包含在用户文件中,直接调用即可。
例: #include stdio.h
main () {
………..
printf (Hello World\n);
}
(3)用户定义函数:使用前需要用户自己定义。
类型 函数名(数据类型 形式参数, 数据类型 形式参数,…….)
{
数据说明部分;
执行语句部分;
}
函数体写在一对{ }中。
例:(P51)
unsigned int fetch_rate ( ){
uint count;
do{ } while (!FLAG1);
FLAG1=0;
count=TH1*256+TL1;
TH1=0;
TL1=0;
Dtime=Btime;
return(count/time);
}
(二)C51程序的编程要点(P53)
(1)一个C程序总是从main函数开始执行的,而不论main函数在整个程序中的位置如何,且最终结束于main函数。
(2)C程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上,每个语句和数据定义的最后必须有一个分号;分号是C语句结束符。
(3)可以用/*…*/ 或 // …… 对C程序中的任何部分作注释。
(三)Cx51程序的书写格式(P52)
Cx51源程序是一个ASCII码文件,可以用任何标准的ASCII码文本编辑器编写,例如:记事本、写字板等。
(1)一般情况下,每个语句占用一行
(2)不同结构层次的语句,从不同的起始位置开始,即在同一结构层次中的语 句,缩进同样的字数
(3)表示结构层次的大括号通常写在该结构语句第一个字
文档评论(0)