1. 1、本文档共99页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
9KC51应用

9.0 C51语言简介 与汇编语言相比,用C51语言编写程序具有如下优点: 无需深入了解系统硬件及单片机指令系统; C51编译器自动完成内部寄存器分配、存储空间分配和数据类型处理等细节问题; 语言简洁、表达能力强、表达方式灵活; 程序由若干函数组成,具有完全的模块化结构; 有丰富的库子程序,可减少用户的编程工作量; 可显著缩短编程和调试时间,提高软件开发效率; 程序具有良好的可读性和可维护性; 具有良好的可移植性,应用程序稍加修改就可以移植到其它系统中。 9.0.1 C51程序结构 9.0.1 C51程序结构 9.0.2 C51程序的编辑和编译 第9章 Cx51的数据类型及基本运算 用汇编语言对单片机进行编程其优点是目标程序长度短、速度快,可直接对硬件进行操作,因而在不太复杂的工业控制中得到广泛应用。但使用汇编的麻烦在于它的可读性和可维护性,特别是当程序没有很好注释的时候;汇编程序的移植性也较差;并且,对复杂的控制,汇编语言难以胜任。使用C语言可以很好的解决这些问题。 本章主要介绍国内比较流行的 Keil 公司的编译器 Cx51 所支持的数据类型、运算规则。 9.1.1 C语言程序的基本结构 下面用实例说明C语言程序的基本结构。 /* *filename: simple.c *date: 04-Aug.-2006 */ #includestdio.h #includereg51.h main() { unsigned char a,b,c,sum; a = 5; b = 3; SCON = 0x52; TMOD = 0x20; TCON = 0x69; TH1 = 0x0F3; scanf(%d,c); /* input a decimal interger */ sum = a + b + c; printf(sum=%d\n,sum); /* output sum */ } 这个程序的功能是已知两个数a和b,输入第三个数,然后求和并输出结果。 在C语言中,通过 /* …… */ 作为程序的注释部分,当不能满足注解要求时要另起一行,一般要求以*开头。注释可出现在程序的任何部分。为了编写程序和阅读程序方便,本书中的C语言程序都有注释部分,一般在程序前后各有一部分,程序前面的注释一般表示程序的文件名、以及建立的日期,这样便于从外存储器中找到文件;程序后面的注解一般表示程序的运行情况,输入情况,输出情况,标准的 Cx51 编译器的输入输出为单片机串行通信口。 在本例程序的开始处使用了预处理命令#include,它告诉编译器在编译时将头文件stdio.h和reg51.h读入后一起编译。在头文件stdio. h中包括了对标准输入输出函数的说明,在头文件reg51. h中包括了对8051单片机特殊功能寄存器的说明。所有的头文件说明均位于\keil\C51\INC\。 本程序的主体部分为 main() { … } 其中main是一个函数,而且是一个特殊的函数,所有C语言程序都包含main函数。它实质上是C语言程序的首部。一般函数名后面为参数表,参数表在一对圆括号()之中。main函数可以有参数。本程序中的main函数没有参数,即参数表为空,但一对圆括号()必须有,不能省去。 { }是一对花括号,将构成函数的语句包括起来。C语言中的语句大致分为两类;一类为说明语句,用来描述数据,决定内存的分配;另一类为执行语句,用来描述对数据进行的动作,决定内存的内容。 本程序共有10个语句: unsigned char a, b, c, sum;是说明语句。它说明a、b、c、sum 四个变量都是unsigned char(长度为8位) 类型的变量; a=5;b=3;是两个赋值语句。等号 = 作为赋值运算符,它们分别将5和3 赋给变量 a 和b; SCON=0x52;TMOD=0x20;TCON = 0x69;TH1 = 0x0F3;四句是对8051的串行口进行初始化,因为Keil Cx51 提供的标准的输入输出函数都是通过8051的串口来进行的,因此必须首先对串口进行初始化。 scanf(%d,&c),是一个输入语句。它按十进制(由d指明)给变量 c 输入一个长度为8位的整

您可能关注的文档

文档评论(0)

bm5044 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档