找回密码
 注册
关于网站域名变更的通知
查看: 276|回复: 1
打印 上一主题 下一主题

[毕业设计] 利用堆栈实现单片机汇编语言的面向对象设计

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-8-4 11:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
( t; f) B$ o0 D8 u0 [' U6 G+ b
[摘要]以Molorola 68HCO8系列单片机指令为例,利用堆栈传递参数的方法,介绍了在单片机汇编语言
+ ~! t% X' L0 s" Z& U级进行面向对象编程的方法,并运用于UPS的人机界面开发中。该设计方法增强了程序的模块化和结构1 y* u! Z+ L6 B' D. [
化,缩短开发周期和便于维护。
# l9 ^" @7 u* Q  H7 d( y( D[关键词]面向对象 单片机语言设计 Motorola 单片机不间断 电源(UPS), M5 [# l" U' \$ J2 T
1、前离
; q3 E0 X0 L3 y9 d7 E近年来面向对象的程序设计(00P)技术越来越得到人们的6 M1 ?# L  B! V8 h, D
青睐,在高级语言的程序设计中普遍采用,如Visual C+ +等。在5 l8 O0 U1 z- R8 b4 [( n* Y
单片机汇编语言级进行面向对象的设计未见报导,传统的汇编5 X/ c8 B$ U1 e# P) n3 m6 ^0 Y
语言设计是面向数据或过程的,这种设计方法中数据和过程是8 E# a$ H+ m$ G$ M$ P) ~
相互独立的,即忽略了数据和程序间的内在联系,无法真实反映
# f# F0 K8 P! C; E. J8 E7 D: `  v7 O现实世界的问题本质。面向对象的设计是将实际问题分解成- -( u2 j& a. J2 P3 J9 U8 f, G
些相互联系的事物(对象),并用描述事物的静态属性(数据)和" r$ b- y4 B/ |7 H+ j
对这些数据的操作(程序)这两个特征来描述对象。对象将数据/ l/ U$ K, N7 j/ c. Q% i! T8 b
和对数据的操作有机地构成一个整体,完整地反映问题的实# S/ d. A/ o# t* X, {2 K  i: |
质。面向对象设计其另一个优点是可通过对象类的继承实现软2 u- A4 f+ A4 m9 K. w4 P* a
件的重用。由于在高级语言环境下进行面向对象程序设计,其灵
8 U* J7 T( f9 A( f8 k0 x活的表现方式是通过编译程序来实现。而本文是在汇编语言级) o4 }0 H+ R  v. d7 N2 }
程序设计中,直接融人面向对象设计的概念,给出了类封装和类9 @6 p8 P0 a/ f9 f! \' ~
继承的实现方法,并以Molorola 68HC08系列单片机指令为例,* }' V( ?, t5 e' S) F7 b& u
给出具体的实现代码。最后以UPS的人机界面为设计实例,验证8 U  Y0 g. @4 w, L: D
这种汇编语言设计方法比传统设计方法具有更强的程序模块化
+ D: `7 |: d+ _6 u和结构化,这给缩短了项目的开发周期,并便于维护。2 A5 a0 M( J, h0 ~7 r
2.设计思想
8 |- x' b2 H1 P* l% r类是对一-组具有相同数据和相同操作的对象的描述,是对象
2 }) o+ F9 q, R0 |; ]1 r. _2 D$ L的抽象概括。而对象是类的一个具体实例。类封装(Encapsulation)、* M# y( H( {& q9 a/ y
类继承(Inheritance)和多态性(Polymorphism)是面向对象程序设计( g7 n. b8 H" s, u6 q  x
的三个重要特性。下面给出类封装和类继承的汇编语言实现。-般
6 ]1 n4 `& Q+ E2 y( w0 H8 e来说,类由属性声明和方法声明两部分组成,属性声明给出类的数+ i8 U  f* O! p
据,而方法声明给出操作数据的函数声明。由于缺少了高级语言编
( L9 W5 W0 I# r( V$ b2 W译程序的解释,因此在类的声明中具有其特殊性,表现为属性和方
: U1 [( e0 Z& M6 Q  v法并没有存取控制(高级语言中的存取控制有私有、保护和公有三, Z* B9 p/ M& d& _
种),这里我们规定类的属性的存取控制是在类及其派生类中可以
. T& M9 Z" o$ s访向,外界操作类的属性只能通过类的方法进行,而且为了定义类
" r4 D9 M' |+ p, @' ]实例,对类属性均定义为指针型变量。在类定义中,我们还需给出# S* k6 v& e8 ~9 k4 q
类的接口函数,这也是一个特别之处。/ C% \3 _; H  G; t8 N7 b3 d  ]

& n5 a" m% _+ D( P  @/ x4 ?, N( u* \! J3 |! q' p0 C, K
- C9 o& \& g. D9 U9 X7 W, R4 C
附件下载:
游客,如果您要查看本帖隐藏内容请回复
+ |  k- n* e( j: z5 M! N0 L  Q7 T0 B

& J9 H, @/ h5 W8 j

该用户从未签到

2#
发表于 2020-8-4 11:28 | 只看该作者
由于在高级语言环境下进行面向对象程序设计,其灵活的表现方式是通过编译程序来实现
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-6-27 07:29 , Processed in 0.078125 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表