单片机技术和应用项目2--2个LED发光二级管控制.ppt

单片机技术和应用项目2--2个LED发光二级管控制.ppt

  1. 1、本文档共88页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2.2.3 汇编语言程序分析与设计 (2)双重循环延时程序 MOV R0 , #Y ;一个机器周期时间 D1: MOV R1 , #X ;一个机器周期时间 D2: DJNZ R1 , D2 ;两个机器周期时间 DJNZ R0 , D1 ;两个机器周期时间 RET ;两个机器周期时间 双重循环延时时间=1*T+(2*X+1+2)*Y*T+2*T=(2*X*Y+3*Y+3)*T 2.2.3 汇编语言程序分析与设计 (3)三重循环延时程序 MOV R0 , #Z ;一个机器周期时间 D1: MOV R1 , #Y ;一个机器周期时间 D2: MOV R2 , #X ;一个机器周期时间 D3: DJNZ R2 , D3 ;两个机器周期时间 DJNZ R1 , D2 ;两个机器周期时间 DJNZ R0 , D1 ;两个机器周期时间 RET ;两个机器周期时间 三重循环延时时间=1*T+[(2*X+1+2)*Y+1+2]*Z*T+2*T =(2*X*Y*Z+3*Y*Z+3*Z+3)*T 2.1.3 汇编语言程序分析与设计 (2) 编译程序 当程序编写完成后,点击按键,编译源程序,若编译成功,则在“Output windos”窗口中显示没有错误,并创建了“LED轮流闪烁控制.HEX”文件。 点击或在“Debug”下拉菜单中选择“Start/Stop Debug Session(Ctrl+F5)”命令可启动uVision3调试模式. 在uVision3中可以使用很多种不同的方法来定义断点,但最常用的有以下两个: Ⅰ、在文本编辑框中选定所在行,然后单击图标 。 Ⅱ、在文本编辑框中要设定断点的所在行标号前双击。 (3) 启动调试 (4) 断点的设置 6、程序的Keil调试与编译 2.1.3 汇编语言程序分析与设计 (5)、各种数据窗口打开 CPU窗口:在“Project Windows”窗口的“Page”页中会显示CPU寄存器内存。 存储器窗口:最多可以通过4个不同的页观察4个不同的存储区,每页都能显示存储器中的内容。 I/O状态窗口:单击“I/O-Ports”选择自己想要查看的I/O状态窗口。 6、程序的Keil调试与编译 2.1.3 汇编语言程序分析与设计 (6)目标程序的执行 单步执行:单步执行又分为“进入子程序(Step(F11))”和“不进入子程序(Step Over (F10))”两种。 全速执行(Run(F5)):程序一条接一条快速向下执行,直到断点处或程序结束,中间过程不停止。 6、程序的Keil调试与编译 2.1.3 汇编语言程序分析与设计 黄色箭 头指向 当前执 行到的 程序行 打勾表示高电平 6、程序的Keil调试与编译 2.1.4 C语言程序分析与设计 1、C语言的基本结构 2.1.4 C语言程序分析与设计 一个C语言源程序是由一个或若干个函数组成的,每一个函数完成相对独立的功能。在每个C程序都必须有(且仅有)一个主函数main(),其他函数可有可无。 1、C语言的基本结构 2.1.4 C语言程序分析与设计 (2)函数体 main()函数后面一对大括号内的部分称为函数体,函数体由定义数据类型的声明区部分和实现函数功能的程序部分组成。 (1)函数定义 函数定义部分包括函数名、函数类型(表示函数返回值的类型)、函数属性、函数参数(形式参数)名、参数类型等。 一个函数由两部分组成: 函数定义和函数体。 2.1.4 C语言程序分析与设计 C语言程序当中可以含有预处理命令,例如上述框架中“#include regx51.h”,通常预处理命令放在源程序的最前面。 (3)预处理命令 例如:void delay(int x) 定义该函数名称为delay,函数类型为void,形式参数为整型变量x。{ }内是delay函数的函数体。 2.1.4 C语言程序分析与设计 1、如果函数的类型是int型,则可以不写int;如果函数没有返回值,应该将函数类型定义为void(空类型)。 3、如果程序中包括很多函数,通常在主函数前面集中声明,然后再在主函数后面一一进行定义。若函数没有声明,则该函数的定义要写在调用语句的前面。 2、由C语言编译器提供的函数一般称为标准函数,在调用标准函数前,必须在程序的开头先用预处理命令“#include”将包

文档评论(0)

yyons2019 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档