C的C语言程序设计基础.pptxVIP

  1. 1、本文档共85页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
教学目的;第5章 80C51的C语言程序设计基础单片机设计语言有: 机器语言汇编语言高级语言;机器语言;汇编语言;高级语言;第5章;5.1.1 C51的特点 可以直接操作微机硬件 程序可读性好,易于维护编程效率高 目标代码质量高可移植性好 模块化的程序设计 在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。 开发工具齐全;5.1.2 C51中的标识符和关键字;标识符建立和定义的时候,要注意以下四点:;C51编译器中能识别的扩展关键字;5.2 C51中的数据类型 char字符类型 nt整型 long长整型 float浮点型指针型 bit位标量 sfr特殊功能寄存器 sfr16 16位特殊功能寄存器 sbit特殊功能位;5.2 C51中的数据类型;5.2.1、char字符类型;5.2.2int整型;5.2.2int整型(续);关于整型和字符型,可以通过下面的程序继续得以区分:;5.2.3 long长整型;5.2.4float浮点型;float浮点数据类型在内存中具体的存放格式如下:;5.2.5指针型;1 一般指针;2 存储器指针;5.2.6bit位标量;5.2.7sfr特殊功能寄存器;5.2.7sfr特殊功能寄存器(续);表5-4 51系列单片机的特殊功能寄存器;5.2.8sfr16 16位特殊功能寄存器;5.2.9sbit特殊功能位;5.3 C51中的常量;5.3.1整型常量;5.3.2浮点型常量;5.3.3字符型常量;表5-5常用转义字符;5.3.4字符串型常量;5.3.5位标量;5.3.6常量的定义;5.3.6常量的定义(续);5.4;定义一个变量的格式;5.4.2C51中存储器类型;5.4.2.1 存储器类型;图5-1 51单片机内部存储空间对应的存储类型;1、CODE存储器类型;2、DATA存储器类型;3、BDATA存储器类型;4、IDATA存储器类型;5、XDATA存储器类型;5.4.3C51中存储模式;1、SMALL存储模式;2、COMPACT存储模式;3 LARGE存储模式;关于存储模式的设置,我们要注意以下点: 如果用参数传递和分配再入函数的堆栈,应尽量使用SMALL存储模式 可以使用混合存储模式;5.5 C51中的中断函数;5.5.1一般函数;5.5.1一般函数(续);函数体一般由说明语句和执行体两部分构成:;5.5.2中断函数中断函数的功能:;表5-6常用的中断源和中断向量;定义和使用中断函数,需要注意以下几点:;定义和使用中断函数,需要注意以下几点(续);5.5.3 再入函数;可以用以下两种方法解决函数重入:;5.6 C程序和汇编语言程序的结合结合原因:;5.6;5.7 典型设计要求的C语言实现方法这里我们用一个电子日历的实际例子,来 具体介绍怎样用C51程序,完成实际任务的设计。例子中用四位数码管显示日历中的 月份和日期,分别由四片74LS164连接, 受单片机的串行口控制。详细电路原理图,见图5-2所示。;图5-2;电子日历源程序;5.8;1、在软件编程和调试时尽可能使用Small模式编译;2、在仿真前做好充分的准备;3、使用库函数;4、使用const 意义: 可以防止,无意中错误的赋值 可以防止,在作为参数,将指针传递给函数时,可能会修改了本不想改变的指针所指向对象的 值。 例如: const int num=7; num=9;/*可能得到编译器的警告。*/;5、使用static 意义: 命名冲突的有用工具 将不会和其他模块,可能具有相同名称的函数和变量,在模块连接时,产生名称冲突。 将子程序中的变量使用static修饰时,表示这个变量在程序开始时分配内存,在程序结束时释放,它们在程序执行期间保持它们的值。;6、不要忽视编译器的警告;7、代码优化;本章小结;本章习题 、在C51中,有几种存储类型?分别是什么?有几种存储器类型?有什么作用?他们的名称是什么?什么又是存储模式?有何意义?可以分成哪些模式? 、51单片机对应的五个中断源它们的中断函数因该怎样定义? 、中断函数可否定义成再入函数?;本章习题(续1);本章习题(续2);本章习题(续3) 在C语言中能不能嵌入汇编语言的语句?如果能应该怎样实现? 如果想把单片机片外数据存储器中,以地址为3000H单元开始的,10个字节的数 据移动到中片内30H开始的数据存储器中,试写出C语言的核心程序。;部分习题答案;部分习题答案(续1);部分习题答案(续2);部分习题答案(续3);感谢您的欣赏!

文档评论(0)

恋之 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档