- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
教案第7章 单片机的C语言程序设计
7 单片机的C语言程序设计 教学目的 熟悉C51的程序结构 掌握C51的数据类型、存储类型及函数等概念 了解C51与标准C的不同之处 熟悉C51的开发工具Keil C51 7.1 C51的程序结构 与汇编语言相比,C51在功能、结构性、可读性、可维护性及可移植性上有明显的优势 。 C51程序结构与一般C语言没有差别。 C51的特点: 1.C51在吸取了汇编语言精华的基础上又有所改进 2.C51继承和发扬了高级语言的长处 3.C51的可移植性好 4.生成的代码质量高,在代码效率方面可以和汇编语言相媲美 C51程序的结构 一个C51程序大体上是一个函数定义的集合,在这个集合中仅有一个名为main的函数(主函数)。 函数定义由类型、函数名、参数表和函数体四部分组成。 函数的一般格式如下: 类型 函数名(参数表) 参数说明; { 数据说明部分; 执行语句部分; } 编写C51 程序时应注意以下几点: 1.一个C51程序总是从main函数开始执行的,而不论main函数在整个程序中的位置如何。 2.C语言程序的书写格式十分自由。一条语句可以写成一行,也可以写成几行,还可以在一行内写多条语句。但每条语句都必须以分号“;”作为结束符。 3.C语言对大小字母敏感,C语言编译器编译程序时对同一个字母的大小写作为不同的变量来处理。 4.可以用/*……*/对C程序中的任何部分作注释。程序加上必要的注释,可增加程序的可读性。 7.2 数据类型、存储类型及存储模式 数据类型 常量和变量 C51的存储类型及存储模式 特殊功能寄存器、并行接口及位变量的定义 数据类型 可分为基本数据类型和构造数据类型。构造数据类型由基本数据类型构造而成。 C51的数据类型分类如下所示: 常量和变量 C语言中的数据有常量、变量之分。 常量——在程序运行的过程中,其值不能改变的量称为常量。C语言支持4种常量:整数常量、浮点数常量、枚举量常量、字符常量。 变量——在程序执行过程中,其值能不断变化的量。使用一个变量之前必须进行定义,用一个标识符作为变量名并指出它的数据类型和存储类型,以便编译系统为它分配相应的存储单元。 C51的存储类型及存储模式 51系列单片机的存储器采用哈佛结构。即其程序存储器和数据存储器分开,并有各自的寻址机构和寻址方式。以AT89C52为例,其具体结构如图所示。 C51的存储类型及存储模式 C51在定义变量、常量时,将通过不同的存储类型将它们定位在不同的存储区中。存储类型与AT89C51单片机实际存储空间的对应关系如表所列。 例如,如果我们用char bian语句定义一个字符型变量,变量名为bian。 在使用SMALL存储模式下,变量bian被放置在片内RAM存储区,即变量bian被自动定义为DATA存储类型; 在使用COMPACT存储模式下,变量bian则被放置在片外RAM存储区的某一页,即变量bian被自动定义为PDATA存储类型; 在使用LARGE存储模式下,变量bian被放置在片外RAM存储区的64?KB空间,即变量bian被自动定义为XDATA存储类型。 特殊功能寄存器的定义 AT89C52单片机中除了程序计数器PC和4组通用寄存器组(R0R7)之外,其他所有寄存器均称为特殊功能寄存器(SFR),它们分散在片内RAM区的高128B中,它们只能采用直接寻址方式访问。 为了能直接访问这些SFR,C51扩充了类型说明符sfr、sfr16、sbit。利用它们可在C语言源程序中直接对AT89C52单片机的特殊功能寄存器进行定义。定义方法如下:sfr 特殊功能寄存器名=地址常数sfr16特殊功能寄存器名=地址常数 例如: sfr P0 = 0x80; sfr16 DPTR= 0x82;//即DPTR低8位地址为0x82,高8位为0x83 并行接口的定义 AT89C52单片机内部有4个8位并行口,即SFR中的P0-P3。这些内部并行口既可进行字节寻址,也可进行位寻址。 位变量的定义 1.定义位变量的语法如下:bit check_bit ;/*将变量check_bit定义为位变量*/ 2.函数可包含类型为bit的参数,也可将其作为返回值。 3 .可位寻址对象的定义和访问(分两步) 例如 :bdata char temp; //先把temp 定义为char类型 sbit temp3=temp^3;//再把temp3为temp的第3位 7.
您可能关注的文档
最近下载
- 阿联酋航空介绍(共33张PPT).ppt VIP
- 国企纪委书记竞聘面试题笔试题4套和专业题26问及答案.docx VIP
- 现场仪表 温度仪表WEST 8100+温控器说明书.pdf
- 张正友相机标定法课件.pptx VIP
- 某著名企业供应链咨询构建高效协同的销售与采购供应链战略供应链管理(61页PPT).pptx VIP
- 成人肺功能检查技术进展及临床应用推荐指南(2025版)解读.docx VIP
- 中国徐州PPT课件.pptx VIP
- 第1节 温度 (课件)人教版初中物理八年级上册(39页PPT).pptx VIP
- 船舶结构与货运PPT完整全套教学课件.pptx VIP
- 网络与新媒体概论PPT课件3.pptx VIP
文档评论(0)