- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
利用堆栈实现单片机汇编语言的面向对象设计.pdf
福建电脑 2003年第9期
利用堆旋实坝单恃相汇编语言的面向妁象i殳计
陈建平
(厦门科华恒盛股份有限公司.福建厦门361004)
【摘要】 以Motorola68HC08系列单片机指令为捌,刺用堆栈传递参数的方法,夼绍了在单片机汇墒语言
奴进行面向对象嫡程的方法。井运用于UPS的人机界面开发中。谊设计方珐增强了程序的模块化和站构化。缩短
开发周期和便于雏护。
【关键词】 面向对象单片机语言设计 MotomJa单片机不间断电潭(UPS)
I、前富 类的定义可见图1,其中(a)给出一般形式,(b)和(c)给出
近年来面向对象的程序设计(00P)技术越来越得到人们的较为具体的实现形式。类的属性以伪指令给出是出于单片机的
青睐,在高缓语言的程序设计中普遍采用,如VisualC4-+等。在
单片机忙编语言级进行面向对象的设计未见报导,传统的f[编进行具体分配。图1(b)和(c)给出了类方法的两种不同表现形
语言设计是面向数据或过程的,这种设计方法中数据和过程是 式,其实质是一样的。要实现面向对象的程序设计,其核心是类
相互独立的,即忽略了数据和程序间的内在联系,无法真实反映 方法的形参是通过堆栈来传递的。对单片机汇编语言而言,类方
现实世界的问题本质。面向对象的设计是将实际问题分解成一 法就是子程序。当调用类方法向对象发进消息时,如执行JSR
些相互联系的事物(对象),并用描述事物的静态属性(数据)和(子程序)指令,CPU将下一条指令的地址人C,利用CPU的这一
对这些数据的操作《程序)这两个特征来描述对象。对象将数据 特点,我们可以将子程序所需的形参紧随调用子程序语句的后
和对数据的操作有机地构成一个整体,完整地反映问题的实 面,而在子程序的初始化中读人形参,并将C中的地址调整为正
质。面向对象设计其另一个优点是可通过对象类的继承实现软 确的出口地址来实现参数的传递。利用堆栈传递的形参可以是
件的重用。由于在高级语言环境下进行面向对象程序设计.其灵 常数、变量值传递、变量地址传递和子程序的人口地址,比传统
活的表现方式是通过编译程序来实现。而本文是在汇编语言级 的变量传递形参灵活多了。不同形参要采用不同的寻址方法获
程序设}}中,直接融人面向对象设计的概念,给出了类封装和类 得其正确昀值,如指针型菜单彤参可采用闯接寻址的指令获得
继承的实现方法,并以Motoroh68HC08系列单片机指令为例,真值。类的接口函数和方法均是通过堆栈来获得形参的。
给出具体的实现代码。最后以UPS的人机界面为设计实例,验证 声明了类以后就可以定义类的实例了,实例类似于一次子
这种汇编语言设计方法比传统设计方法具有更强的程序模块化 程序调用,实例中给出了类属性的真正映射的RAM空间。图2
和结构化,这给缩短了项目的开发周期.并便于维护。
2、设计思想 一次调用。为了类方法的正确调用和后续程序的正确执行,类的
类是对一组具有相同数据和相同操作的对象的描述,是对象 接口函数担当十分关键的角色。类接口函数的一种实现如图2。
调用类方法n的整个堆栈的变化是这样的:
的抽象概括。而对象是类的一个具体实例。类封装(Encapsulation)、
类继承(Inherilanee)和多态性(Polymorphism)是面向对象程序设计1)执行JSR 4-2】人c,PC指针指向
A_Cl∞s_Object,地址【n
的三个重要特性。下面给出类封装和类继承的汇编语言实现。一般 地址【1】;
来说,类由属性声明和方法声明两部分组成,屈性声明给出类的数 2)执行JSR
据,而方法声明给出操作数据的函数声明。由于缺少了高级语言编 Class_Object的接口函数人71地址:
译程序的解释,因此在类的声明中具有其特殊性,表现为属性和方 3)执行类接口函数,调整C指针使得当前的C指针指向地
法并没有存取
您可能关注的文档
- 关于大学校园失德现象的.doc
- 关于开展“教学点数字教育资源全覆盖项目”资源应用优秀案例表.doc
- 关于技术跨越的机会窗口研究.pdf
- 关于检索的算法实验.doc
- 关于海量用户访问的通用技术架构的一些思考.pdf
- 关于邮件收发程序及相关规定.doc
- 关系强度_关系信任还是关系认同_关于中国人人际交往的一种解释.pdf
- 关节镜辅助下微创可吸收钉内固定治疗胫骨平台骨折.pdf
- 关闭会给系统带来不安全因素的服务项.doc
- 兴趣社群一个游戏玩家平台的另类突破.pdf
- 基于人工智能教育平台的移动应用开发,探讨跨平台兼容性影响因素及优化策略教学研究课题报告.docx
- 高中生物实验:城市热岛效应对城市生态系统服务功能的影响机制教学研究课题报告.docx
- 信息技术行业信息安全法律法规研究及政策建议教学研究课题报告.docx
- 人工智能视角下区域教育评价改革:利益相关者互动与政策支持研究教学研究课题报告.docx
- 6 《垃圾填埋场渗滤液处理与土地资源化利用研究》教学研究课题报告.docx
- 小学音乐与美术教师跨学科协作模式构建:人工智能技术助力教学创新教学研究课题报告.docx
- 《航空航天3D打印技术对航空器装配工艺的创新与效率提升》教学研究课题报告.docx
- 教育扶贫精准化策略研究:人工智能技术在区域教育中的应用与创新教学研究课题报告.docx
- 《区块链技术在电子政务电子档案管理中的数据完整性保障与优化》教学研究课题报告.docx
- 《中医护理情志疗法对癌症患者心理状态和生活质量提升的长期追踪研究》教学研究课题报告.docx
文档评论(0)