单片机技术与应用 教学课件 作者 张文灼 主编 电子教案 23.docVIP

单片机技术与应用 教学课件 作者 张文灼 主编 电子教案 23.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
教学内容 教学设计 C51语言及其基本构成 (1)一个C51源程序是一个函数的集合。主函数main()。 (2)在每个函数中所使用的变量都必须先说明后引用。 (3)C51源程序书写格式自由,一行可以书写多条语句,一个语句也可以分多行书写。但在每个语句和数据定义的最后必须有一个分号,即使是程序中的最后一个语句也必须包含分号。 (4)可以用/*……*/对C51源程序中的任何部分作注释,以增加程序的可读性。 (5)可以利用#include语句将比较常用的函数做成的头文件(以.h为后缀名)引入当前文件。 C51的数据结构 C51的数据类型 与通用C语言相通的类型 (1)基本类型:字符型(char)、整型(int)、长整型(long)、浮点型(float)、双精度浮点型(double)。 (2)构造类型:数组类型(array)、结构体类型(struct)、共用体(union)、枚举(enum)。 (3)指针类型(*)。 (4)空类型。 C51增加的类型 (1)bit 位类型,值只可能为0或1。 (2)Sfr 特殊功能寄存器类型,Sfr型数据占用一个内存单元,取值范围为0~255。 (3)sfr16 16位特殊功能寄存器类型,占用两个内存单元,取值范围为0~65535。 (4)sbit 可寻址位类型,可访问51内部RAM的可寻址位及特殊功能寄存器中的可寻址位。 C51的常量与变量 常量 在程序运行的过程中,其值不能改变的量称为常量,可以有不同的数据类型。如0、1、2、-3为整型常量;4、6、-1.23等为实型常量;’a’、’b’为字符型常量。 变量 (1)位变量(bit) (2)字符变量(char) (3)整型变量(int) (4)长整型变量(long int) (5)浮点型变量(float) 宏定义 宏定义的作用就是用一个字符串来进行替换。 不带参数的宏定义 #define 宏符号名 常量表达式 在使用宏定义时,应注意: (1)一般将宏符号名用大写字母表示。 (2)宏定义不是C51的语句,所以在宏定义行末尾不需要加分号。 (3)在进行宏定义时,可以使用已经定义过和宏符号名,但最多不能超过8级嵌套。 (4)宏符号名的有效范围是从宏定义位置开始到源文件结束。一般放在程序的最前面。终止宏的作用域使用#undef命令。 (5)宏定义对字符串不起作用。 带参数的宏定义 #define X(A,B) A*B*B 在程序中如果有语句:“y=X(4,3);”,则经替换后逻辑式变为:y=4*3*3。 C51数据的存储类型与MCS-51的存储器结构 存储类型 DATA 直接寻址片内数据存储区,访问速度快 IDATA 间接寻址片内数据存储区,可访问片内全部RAM地址空间 PDATA 分页寻址片外数据存储区,由MOVX @Ri访问 CODE 代码存储区,由MOVC @DPTR访问 XDATA 片外数据存储区,由MOVX @DPTR访问 BDATA 可位寻址片内数据存储区,允许字节与位混合访问 DATA 8 1 0~255 IDATA 8 1 0~255 PDATA 8 1 0~255 CODE 16 2 0~65535 XDATA 16 2 0~65535 C51定义SFR字节和位单元 定义使用关键字sfr和sbit。 定义SFR字节单元 sfr PSW=0xD0; /*定义程序状态字PSW的地址为D0H*/ sfr TMOD=0x89; /*定义定时器/计数器方式控制寄存器TMOD的地址为89H*/ sfr P1=0x90; /*定义P1口的地址为90H*/ 定义可位寻址的SFR位 sbit CY=0xD7; /*定义进位标志CY的地址为D7H*/ sbit AC=0xD0^6; /*定义辅助进位标志AC的地址为D6H*/ sbit RS0=0xD0^3; /*定义RS0的地址为D3H*/ 标准的SFR在reg51.h、reg52.h、AT89X51.h等头文件中已经被定义,只要用#include将头文件包含做出申明即可使用。 定义位变量 bit dirention; /*将direction定义为位变量*/ 注意:不能定义位变量指针;也不能定义位变量数组。 C51定义并行口 中断服务函数定义 定义中断函数的一般形式中断函数 (1)中断函数不能进行参数转递中断函数没有返回值故一般定义成viod类型在任何情况下都不能直接调用中断函数如果中函数中调用了其他函数则被调用函数所使用的寄存器组必须与中断函数相同一键多功能按键识别技术 任务要求 如94所示,开关SP1接在P3.7脚上,在51的P1端口接有四个发光二极管L1~L4分别接在P1.0P1.4引脚上L2、L3、L4全灭,L1在闪烁当次按下开关SP1时,L2闪烁,按下S

您可能关注的文档

文档评论(0)

开心农场 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档