- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二章 单片机的C语言编程 2.1 概述 2.2 C51程序结构 2.3 C51的数据类型与运算符 2.4 C51的函数 2.5 程序设计 2.1 C51概述 51系列单片机支持三种高级语言,即PL/M,C和BASIC。 C语言是一种通用的程序设计语言,其代码率高,数据类型及运算符丰富,并具有良好的程序结构,适用于各种应用的程序设计,是目前使用较广的单片机编程语言。 MCS-51系列单片机采用的C语言 ,简称C51。 C51符合C语言的ANSI标准,并根据单片机的特性进行了扩展。 C51所产生的目标代码短、运行速度高、所需存储空间小。 2.2 C51的程序结构 同ANSI C一样,C51的程序由一个个函数组成,这里的函数和其他语言的“子程序”或“过程 ”具有相同的意义。 必须有一个主函数main(),程序的执行从main()函数开始,调用其他函数后返回主函数main(),最后在主函数中结束整个程序而不管函数的排列顺序如何。 功能函数可以是C51语言提供的库函数,也可以是用户自定义的函数。 C语言的语句规则: 1. 每个变量必须先说明后引用,变量名英文大小写是有差别的。 2. C语言程序一行可以书写多条语句,但每个语句必须以“;”结尾,一个语句也可以多行书写。 3. C语言的注释用/*……*/或//表示。 4. “{”花括号必须成对,位置随意,可在紧挨函数名后,也可另起一行,多个花括号可以同行书写,也可逐行书写,为层次分明,增加可读性,同一层的“{”花括号对齐,采用逐层缩进方式书写。 2.3 C51的数据类型与运算符 2.3.1 C51的存储类型 51系列单片机的内存区域被分为两大类。一类是程序存储区,即ROM;另一类是数据存储区,包括内部数据存储区和外部数据存储区。内部数据存储区中又包含了51单片机的特殊功能寄存器。 1 数据存储区 1) 内部数据存储区 ① data ② idata ③ bdata 2) 外部数据存储区 ① xdata ② pdata 2 程序存储器 ① code 2.3 C51的数据类型与运算符 2.3.2 C51的数据类型 无论哪种数据都是存放在存贮单元中的,每一个数据究竟要占用几个单元(即数据的长度)都要提供给编译系统,编译系统以此为根据预留存贮单元,这就是定义数据类型的意义。 C51支持ANSI C的所有标准数据类型,并在此基础上增设了位型及特殊功能寄存器类型。 2.3 C51的数据类型与运算符 2.3.2 C51的数据类型 2. 常量与变量 C51支持的数据有常量、变量、指针。 存储时‘先高后低’原则; 常量位置与定义说明有关,一般放在程序存储区code 。 1)常量 整型常量、实型常量、字符常量、字符串常量、符号常量。 符号常量在使用前必须先定义,格式为: #define 标识符 常量 //是C51的预处理指令 2)变量 定义变量的一般格式: [存储模式] 数据类型 [存储器类型] 变量名; 说明: 1. 在C语言中,为了能够实现直接对内存单元进行操作,引入了指针类型的数据。一个变量的地址就称为该变量的指针。 2. 如果有一个变量专门用来存放另一个变量的地址,则称之为指针变量。一个指针变量存放的内容是另一个变量在内存中的地址,每一个变量都有它自己的指针(地址)。 3. C语言中用“*”表示“指向”。 如:整型变量i的地址存放在指针变量ip中,则 i=0x50; *ip=0x50; 都是给同一个变量赋值。 4. 区分“”和“*”运算符。 指向不同存储区变量的通用指针 指针能适用于指向任何存贮空间,此时指针长度为3字节,第一字节表示存贮器类型编码,第二、三字节分别表示所指地址的高位和低位。 unsigned char *ptr; //通用指针ptr,指针存放在默认存储区 unsigned char * idata iptr ; //通用指针iptr,指针存放在idata存储区 指向固定存储区变量的指针 定义为data或idata,表示指针指向内部数据存贮器; 定义为pdata,表示指针指向外部数据存贮器,用@Ri间址。以上均为八位地址; 定义为类型code/xdata,表示指针指向外部程序存贮器或外部数据存贮器指针,本身(即被指 示地址)应为十六位长度。
您可能关注的文档
- 第1章-C语言述.ppt
- 第1章单片机C言概述.ppt
- 第1章马克思主中国化的理论进程和理论成果.ppt
- 第1章马克思主中国化的历史进程及其理论成果(含本章复习题集答案).ppt
- 第1章中职类的语言课件.ppt
- 第2部分HTM设计基础.ppt
- 第2单元综合测题.doc
- 第2课●Z1从片战争到八国联军侵华.ppt
- 第2章 C语概述.ppt
- 第2章 基础识.ppt
- 2025至2030中国移动治疗台行业发展研究与产业战略规划分析评估报告.docx
- 2025至2030链激酶行业细分市场及应用领域与趋势展望研究报告.docx
- 2025至2030爆炸物探测扫描仪行业市场占有率及有效策略与实施路径评估报告.docx
- 2025至2030四川省智能制造行业细分市场及应用领域与趋势展望研究报告.docx
- 2026届高三二轮复习试题政治大单元突破练1生产资料所有制与分配制度含解析.docx
- 2026届高三二轮复习试题政治大单元突破练16哲学基本思想与辩证唯物论含解析.docx
- 2026届高三二轮复习试题政治大单元突破练2社会主义市场经济体制含解析.docx
- 浙江省衢州市五校联盟2025-2026学年高二上学期期中联考技术试题-高中信息技术含解析.docx
- 浙江省金丽衢十二校2026届高三上学期11月联考政治试题含解析.docx
- 2026届高三二轮复习试题政治大单元突破练7领导力量:中国共产党的领导含解析.docx
最近下载
- DB23T 1496.22-2021 劳动防护用品配备 第22部分:种植业生产人员.docx VIP
- TCL海外员工管理.docx VIP
- 神经内科DRGs病案首页诊断栏和手术操作栏填写要求.pdf VIP
- GB T 28896-2023 金属材料 焊接接头准静态断裂韧度测定的试验方法(OCR).pdf VIP
- 高中信息技术校本教材《计算机及网络简介》.pdf VIP
- 牛津树阅读绘本(适合2-8岁小童)A present for Mum【有书】.pdf VIP
- 《电击伤急救护理教程》课件.ppt VIP
- 浙江省杭州市滨江区杭二统考2024-2025学年高二上学期语文期末考试卷(含答案).docx VIP
- 工程廉政风险点及其防控措施表完整.docx VIP
- 河海大学《高等数学》 2017-2018学年第一学期期末试卷B卷.pdf VIP
原创力文档


文档评论(0)