文档介绍:经验交流
EXPERIENCE EXCHANGE
的结构体数据在单片机编程中的应用
■开封仪表厂贠书文张志李福凯
随着单片机应用领域的逐渐扩展和显示、通信技术, ;
的不断进步,单片机开发所要求的人机界面越来越丰它定义了一个反映某一时刻采得的温度值、流量值
富,以单片机为核心应用的产品已由纯实用向功能化、等的结构体,同时定义了两个具有
可视化、网络化发展。人机界面技术及产品在近类型的变量(或参数)。
两年成为发展最快的领域。为了实现以更多的人机交互结构体数据的优点
信息、更清晰的仪表硬件描述为特征的功能,相应
地,单片机编程中的参数量及参数类型不断增加,仅有有效利用内存空间
基本类型变量(如位、字节、整型、浮点型、指针型) 在编译时,结构成员在内存中是顺序存放的,
和数组变量已不能完全有效地表达参数的特性。使用因而不同类型的数据被有机地结合成了一个数据块,使
编译支持的一种结构体( )数据类型,可有效单片机有限的内存资源空间得以充分利用。
地解决许多编程中所面临的种种数据结构管理问题。参数组织结构紧密、清晰
结构体数据结构体数据在多参数的智能化仪表设计中尤为适
除了基本类型数据,数组是编程中一种常用的用,它可将同一属性、不同类型的数据组织在一起,参
构造类型数据。它由上述基本类型数据(位、指针除外) 数便于识别、调用。如编制某些通用型仪表的程序,可
组成,并且一个数组的各元素应属于同一个类型。定义下列结构体数据。
但是,只有这些数据类型并不能很好地表达我们所例:放大环节描述
要引用的数据,有时需要将不同类型的数据组合成一个
;
有机的整体,以便于引用。例如,要保存一组采样值:
;
时间(月、日、时、分)、温度、流量等,如果分别将
它们定义为互相独立的简单变量,难以反映它们的内在
以上定义了一个表示放大环节( )的结构体
联系。应当把它们组织成一个组合项,在一个组合项中
类型。它由放大环节增益( ) 和放大环节零点
包含若干个类型不同(也可以相同)的数据项。这样的()组成,并且定义了输入环节( )和输
数据结构称为结构体( )。出环节( )两个结构体数据。
定义一个结构体类型的一般形式为: 例:仪表特征描述
结构体名描述仪表特征的数据可以组合成一个有机的结构
成员表列; 体,以便于识别与调用。
例如上面提到的一组数据,可以表示为:
结构体名仪表编号
; 月仪表编码
; 日
仪表口径
; 时
仪表系数
; 分
仪表零点
; 温度
;
;⋯⋯流量等
78 单片机与嵌入式系统应用
EXPERIENCE EXCHANGE 经验交流
参数调用方便储区和程序存储区:
结构体数据的调用方式有多种,最直接的方式为: ——指向数据存储区;
结构体变量名成员名——指向程序存储区;
如例中,可以对变量赋值: 定位指针指向参数值首地址;
这里着重介绍一种通过指针调用的方式。该方式在定位指针指向参数名首地址。
对结构体数据作顺序存取时尤为方便。需要调用第个参数时
在数据存储区有以下结构: 指向第个参数;
中存放的是该参数的数据类型。
这样,就可以