- 1、本文档共2页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
经验交流
EXPERIENCE EX CHA NGE
的结构体数据在单片机编程中的应用
C51
■ 开封仪表厂 贠书文 张志 李福凯
随着单片机应用领域的逐渐扩展和显示、通信技术 sample1,Sample2} ;
的不断进步,单片机开发所要求的人机界面越来越丰 它定义了一个反映某一时刻采得的温度值、流量值
富,以单片机为核心应用的产品已由纯实用向功能化、 等的结构体sample,同时定义了两个具有
可视化、网络化发展。HMI(人机界面)技术及产品在近 类型的变量 (或参数)。
两年成为发展最快的领域。为了实现以更多的人机交互 2 结构体数据的优点
信息、更清晰的仪表硬件描述为特征的HMI功能,相应
地,单片机编程中的参数量及参数类型不断增加,仅有 (1)有效利用内存空间
基本类型变量 (如位、字节、整型、浮点型、指针型) 在C51编译时,结构成员在内存中是顺序存放的,
和数组变量已不能完全有效地表达参数的特性。使用 因而不同类型的数据被有机地结合成了一个数据块,使
C51编译支持的一种结构体 (struct)数据类型,可有效 单片机有限的内存资源空间得以充分利用。
地解决许多编程中所面临的种种数据结构管理问题。
(2)参数组织结构紧密、清晰
1 结构体数据 结构体数据在多参数的智能化仪表设计中尤为适
除了基本类型数据,数组是C51编程中一种常用的 用,它可将同一属性、不同类型的数据组织在一起,参
构造类型数据。它由上述基本类型数据 (位、指针除外) 数便于识别、调用。如编制某些通用型仪表的程序,可
组成,并且一个数组的各元素应属于同一个类型。 定义下列结构体数据。
但是,只有这些数据类型并不能很好地表达我们所 例1:放大环节描述
struct amplifier
要引用的数据,有时需要将不同类型的数据组合成一个
{ int gain;
有机的整体,以便于引用。例如,要保存一组采样值:
char offset;
时间 (月、日、时、分)、温度、流量等,如果分别将
} input_amp,output_amp;
它们定义为互相独立的简单变量,难以反映它们的内在
以上定义了一个表示放大环节 (amplifier)的结构体
联系。应当把它们组织成一个组合项,在一个组合项中
类型。它由放大环节增益 (gain)和放大环节零点
包含若干个类型不同 (也可以相同)的数据项。这样的 (offset)组成,并且定义了输入环节 (input_amp)和输
数据结构称为结构体 (structure)。 出环节 (output_amp)两个结构体数据。
定义一个结构体类型的一般形式为: 例2:仪表特征描述
struct结构体名 描述仪表特征的数据可以组合成一个有机的结构
成员表列};{ 体,以便于识别与调用。
例如上面提到的一组数据,可以表示为: struct meter
struct sample/*结构体名 */ { int meter_no;/*仪表编号*/
char month{; /*月 */ char meter_code[10];仪表编码*/ /*
char day;
文档评论(0)