- 1、本文档共70页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第14讲单片机C语言基础
并行I/O口电路结构 P0口的结构 P0口的结构 P0口的结构 P1口的结构 P1口的结构 P2口的结构 P2口的结构 P3口的结构 P3口的结构 3.2 认识C语言 本节涉及C语言的特点、C语言程序的基本结构,包括函数构成和基本语法等知识。 3.2.1 第一个C语言程序 我们一起来认识一下任务2中的C51程序任务2.c,源程序如下: 3.2.1 第一个C语言程序 上述程序中,第1行:对程序进行简要说明,包括程序名称和功能。方便程序的编写、调试及维护工作,提高程序的可读性。程序在编译时,不对这些注释内容做任何处理。 提示:C51的另—种注释符号是“/* */”。在程序中可以使用这种成对注释符进行多行注释。 3.2.1 第一个C语言程序 第2行:#include re951_h是文件包含语句,表示把语句中指定文件的全部内容复制到此处,与当前的源程序文件链接成一个源文件。该语句中指定的文件reg51.h是Keil C51编译器提供的头文件,保存在文件夹“keil\C5l\inc”下,该文件包含了对MCS-51系列单片机特殊功能寄存器SFR和位名称的定义。 3.2.1 第一个C语言程序 例如:sfr P1=0x90; 该语句定义了符号P1与MCS-51单片机内部P1口的地址0x90对应。 任务3.c中包含头文件reg51.h的目的,是为了通知C51编译器,程序中所用的符号P1是指MCS-51单片机的Pl口。 3.2.1 第一个C语言程序 在C51程序设计中,我们可以把reg51.h头文件包含在自己的程序中,直接使用已定义的SFR名称和位名称。例如符号P1表示并行口P1;也可以直接在程序中自行利用关键字sfr和sbit来定义这些特殊功能寄存器和特殊位名称。 3.2.1 第一个C语言程序 如果需要使用reg51.h文件中没有定义的SFR或位名称,可以自行在该文件中添加定义,也可以在源程序中定义,例如,我们在任务1.c中自行定义了下面的位各称。 sbit P1_0=P1^0; 3.2.1 第一个C语言程序 第3行:延时函数声明,在C语言中,函数遵循先声明、后调用的原则。如果源程序中包括很多函数,通常在主函数的前面集中声明,然后再在主函数后面一一进行定义,这样编写的C语言源代码可读性好,条理清晰,易于理解。 3.2.1 第一个C语言程序 第4~12行:定义主函数main()。main函数是C语言中必不可少的主函数,也是程序开始执行的函数。 第13~18行:定义函数delay()。delay函数的功能是延时,用于控制发光二极管的闪烁速度。 3.2.1 第一个C语言程序 重要提示: 1.发光二极管闪烁过程实际上就是发光二极管交替亮、灭的过程,单片机运行一条指令的时间只有几微秒,时间太短,眼睛无法分辨,看不到闪烁的效果。因此,用单片机控制发光二极管闪烁时,需要增加一定的延时时间。 3.2.1 第一个C语言程序 2.延时函数在很多程序设计中都会用到,这里的延时函数delay使用了双重循环,外循环的次数由形式参数i提供,总的循环次数是255*i,循环体是空操作。 3.2.2 C语言的基本结构 C语言程序以函数形式组织程序结构,C程序中的函数与其他语言中所描述的“子程序”或“过程”的概念是一样的。C程序的结构如下所示。 3.2.2 C语言的基本结构 一个C语言源程序是由一个或若下个函教组成的,每一个函数完成相对独立的功能。每个C程序都必须有(且仅有)一个主函敦main(),程序的执行总是从主函数开始,再调用其他函数后返回主函数main(),不管函数的排列顺序如何,最后在主函数中结束整个程序。 一个函数由两部分组成:函数定义和函数体。 3.2.2 C语言的基本结构 函数定义部分包括函数名、函数类型、函数属性、函数参数(形式参数)名、参数类型等。对于main()函数来说.main是函数名,函数名前面的void说明函致的类型(空类型,表示没有返回值),函数名后必须跟一对圈括号,里面是函数的形式参数定义,这里main()没有形式参数。 main()函数后一对大括号内的部分称为函数体。它由定义数据类型的说明部分和实现函数功能的执行部分组成。 3.2.2 C语言的基本结构 3.2.2 C语言的基本结构 对于如下任务1.c源程序中的延时函数delay(),第14行是函数定义部分: void delay(unsigned char i) 定义该函数名称为delay,函数类型为void,形式参数为无符号字符型变量i。 第14~19行是delay函数的函数
您可能关注的文档
- 词汇训练题22.doc
- 赵都新城营销活动策划书.doc
- 横班管理制度.doc
- 放心早餐的探路者.doc
- 教育改革与考试制度.doc
- 赵市长在调度会上的讲话3稿.doc
- 人文校园建设工作机制.doc
- 海星希望小学安全工作实施方案.doc
- 驾照考场评分细则.doc
- 男士时尚的几样配饰.doc
- 2025年工业废气催化燃烧技术环保认证与标准研究报告.docx
- 2025年工业废气催化燃烧技术环保设备研发与产业化报告.docx
- 2025年工业废气催化燃烧技术环保设备市场发展趋势与投资机会报告.docx
- 2025年工业废气催化燃烧技术环保项目投资可行性研究报告.docx
- 防止吸毒课件.pptx
- 2025年工业废气催化燃烧技术环保产业发展前景展望报告.docx
- 2025年工业废气催化燃烧技术环保产业发展战略规划与实施报告.docx
- 2025年工业废气催化燃烧技术环保产业技术创新报告.docx
- 2025年工业废气催化燃烧技术环保产业发展趋势与政策导向报告.docx
- 2025年工业废气催化燃烧技术环保产业投资报告.docx
文档评论(0)