网站大量收购独家精品文档,联系QQ:2885784924

单片机技术应用实训 教学课件 作者 李晓艳 2.ppt

单片机技术应用实训 教学课件 作者 李晓艳 2.ppt

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 51系列单片机软件实训 第2章 51系列单片机软件实训 2.4 子程序设计 2.4.1 子程序基础知识 所谓子程序是指完成确定任务并能为其它程序反复调用的程序段,调用子程序的程序叫做主程序或调用程序。在主程序中只安排程序的主要线索,在需要调用某个子程序时,采用调用指令从主程序转入相应子程序执行,CPU执行到子程序末尾的RET返回指令,返回到主程序断点处继续执行。 子程序常常可以构成子程序库,集中放在某一存储空间,任凭主程序随时调用,这样采用子程序便能使整个程序结构简单。缩短了程序设计时间,减少了对存储空间的占用。 2.4 子程序设计 子程序要完成某一专用任务,在结构上应具有通用性和独立性,在编写子程序时,应注意以下五点: 子程序的第一条指令地址称为子程序起始地址或入口地址,该指令前须有标号,标号习惯以子程序任务命名,以便一看就一目了然,例如延时程序常以DELAY作为标号 A 主程序对子程序的调用由主程序中的调用指令实现,子程序返回主程序则由子程序末尾的一条RET返回指令实现 . B 调用子程序和返回主程序,计算机均能自动保护和恢复主程序的断点地址。但对于各工作寄存器,特殊功能寄存器和内存单元中内容,如需保护和恢复,须在子程序开头和末尾安排一些能够保护和恢复的指令 . C 为使所编子程序可以放在64KB内存的任何位置,并能为主程序调用,子程序内部必须使用相对转移指令,而不能使用其它转移指令 A 子程序参数分为入口和出口参数 C 2.4 子程序设计 2.4.2 子程序实验 通过实验了解求平方程序的设计方法 通过实验了解子程序的设计方法 通过实验巩固查表程序的设计方法 学习使用Keil μVision2集成开发环境 实验目的 2.4 子程序设计 2.实验内容与原理 (1)实验内容 设MDA和MDB内有两数a和b,请编出求c=a2+b2 并把c送入MDC的程序,其中a和b皆为小于10的整数,MDA为20H单元,MDB为21H单元,MDC为22H单元。 (2)实验原理 本实验程序由两部分组成:主程序――通过累加器A传送子程序的入口参数a和b。子程序――通过累加器A传送出口参数a2或b2给主程序,子程序为求平方的通用子程序。 2.4 子程序设计 3.实验仪器与器件 装有Keil μVision2软件的计算机一台。 单片机技术应用实训 * 单片机技术应用实训 * * * * * * 主讲人:李晓艳 时 间:2011年11月 分支程序设计 1 循环程序设计 2 查表程序设计 3 子程序设计 4 2.1 分支程序设计 2.1.1 分支程序基础知识 分支程序的特点是程序中有转移指令。由于转移指令有无条件转移和有条件转移之分,因此分支程序也可分为无条件分支程序和有条件分支程序两类,无条件分支程序中含有无条件转移指令,比较简单。条件分支程序体现了计算机执行程序时的分析判断能力:若某条件满足,则机器就转移到另一个分支上执行程序;若条件不满足,则机器就按源程序继续执行。 51系列单片机,条件转移指令共有13条,分为累加器A判零转移指令,比较不相等转移指令,减1不为零转移指令和位控制转移指令4类。因此,汇编语言源程序的分支程序设计实际上就是如何运用这13条转移指令进行编程的问题。 2.1 分支程序设计 1 通过实验了解分支程序的设计方法 2 通过实验了解数值转换成二进制ASCII码的方法 3 学习使用Keil μVision2集成开发环境 2.1.2 分支程序实验 1.实验目的 2.1 分支程序设计 2.实验内容与原理 (1)实验内容 已知R0低4位有一个十六进制数(0~F中的一个),请编程把它转换成相应ASCII码并送入30H。 (2)实验原理 ASCII码(American Standard Code Information Interchange)是美国信息交换标准代码的简称,诞生于1963年,广泛应用于微型计算机中。ASCII码采用一个字节的低7位进行编码,共可表示128个字符。由常用ASCII码(见表2-1)可知,0~9的ASCII码为30H~39H,即十进制与ASCII码二者相差30H;A~F的ASCII码为41H~46H,即十进制与ASCII码二者相差37H,所以本实验中,若R0≤9,则R0内容只需加30H;若R0>9,则R0内容需加37H,分支程序流程图如图2-1所示。 2.1 分支程序设计 V 86 K 75 @ 64 5 53 * 42 U 85 J 74 ? 63 4 52 ) 41 T 84 I 73 62 3 51 ( 40 S 83 H 72 =

文档评论(0)

开心农场 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档