|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
8 t2 G6 h9 z5 s; _. G[摘要]以Molorola 68HCO8系列单片机指令为例,利用堆栈传递参数的方法,介绍了在单片机汇编语言
5 [$ z! l! n2 {4 m级进行面向对象编程的方法,并运用于UPS的人机界面开发中。该设计方法增强了程序的模块化和结构
5 B* h8 T( p) v3 A化,缩短开发周期和便于维护。
- |! u) ^& T$ }: U9 a" g[关键词]面向对象 单片机语言设计 Motorola 单片机不间断 电源(UPS)
- S1 _" `3 }( f, }. z# D1、前离
! U: |# j' N O4 Z: N+ p近年来面向对象的程序设计(00P)技术越来越得到人们的
$ `1 E# ]! p3 K( Y3 J4 ~) M青睐,在高级语言的程序设计中普遍采用,如Visual C+ +等。在- Z7 h$ O% R( s* B( [
单片机汇编语言级进行面向对象的设计未见报导,传统的汇编, A" l* q! b) y$ r% V. I
语言设计是面向数据或过程的,这种设计方法中数据和过程是
3 p+ D w+ R4 k1 r相互独立的,即忽略了数据和程序间的内在联系,无法真实反映' d8 B2 P' ^* d! Q+ {. H
现实世界的问题本质。面向对象的设计是将实际问题分解成- -, E( `+ B$ R# w* {
些相互联系的事物(对象),并用描述事物的静态属性(数据)和3 h: n% u% t0 r- D" j
对这些数据的操作(程序)这两个特征来描述对象。对象将数据
" F: c r% P4 _" Y$ l和对数据的操作有机地构成一个整体,完整地反映问题的实: V: @8 j1 y: w% N! t
质。面向对象设计其另一个优点是可通过对象类的继承实现软! q6 C F0 m3 ^# A6 U# y
件的重用。由于在高级语言环境下进行面向对象程序设计,其灵
; O) a- s E0 U& q活的表现方式是通过编译程序来实现。而本文是在汇编语言级" d1 i$ _, L# O0 @5 Q( F
程序设计中,直接融人面向对象设计的概念,给出了类封装和类3 S& r8 X( ]1 \. S) d
继承的实现方法,并以Molorola 68HC08系列单片机指令为例,* L1 G! a- J% T6 j9 i0 n
给出具体的实现代码。最后以UPS的人机界面为设计实例,验证4 a* _4 I6 d. [( e8 r
这种汇编语言设计方法比传统设计方法具有更强的程序模块化
U; u' ~ }2 n. T和结构化,这给缩短了项目的开发周期,并便于维护。 x6 H6 \7 z; C* r* j
2.设计思想# P' u) p# k" U8 b
类是对一-组具有相同数据和相同操作的对象的描述,是对象3 M4 Z8 q' t! C
的抽象概括。而对象是类的一个具体实例。类封装(Encapsulation)、
* P8 x/ l$ ~; D: v9 q( l8 h/ R类继承(Inheritance)和多态性(Polymorphism)是面向对象程序设计
, @4 t, m/ H- y1 R3 i! }的三个重要特性。下面给出类封装和类继承的汇编语言实现。-般- d8 m" b( d; P3 d& X% ?& ]
来说,类由属性声明和方法声明两部分组成,属性声明给出类的数1 N8 ~+ O# v5 R+ z) Z8 F% G7 p
据,而方法声明给出操作数据的函数声明。由于缺少了高级语言编
5 J. U7 \" h/ S9 b2 P. m译程序的解释,因此在类的声明中具有其特殊性,表现为属性和方
0 S' @! o, y) ]3 q) D法并没有存取控制(高级语言中的存取控制有私有、保护和公有三
: D( f# K5 o% I9 s* o# B% a8 x种),这里我们规定类的属性的存取控制是在类及其派生类中可以, B0 i, @& p5 g. O; A# C! m
访向,外界操作类的属性只能通过类的方法进行,而且为了定义类
/ u- \5 e# r; X! K0 e9 | @, A实例,对类属性均定义为指针型变量。在类定义中,我们还需给出
, V/ u4 ` s* l9 F- Z( B类的接口函数,这也是一个特别之处。4 a. c2 }4 ?0 {/ i
3 i7 x! B, c4 l1 t
; O! n4 f3 u/ |5 R
$ r K0 v8 ?. `9 Y
附件下载:3 ^$ d4 _- ?+ {; u
9 D" D, n/ ~* h6 b
|
|