慧聪网首页 > 教育行业 > 技术文章 >
在汇编语言中进行非线性处理的编程技术
 
慧聪网   2005年5月12日11时30分   信息来源:现代实验室装备网    

    国电热工研究院 王有一 

  摘 要:介绍在汇编语言中进行非线性处理的编程技术。
  关键词:非线性处理;结构化程序设计;单片机

  单片机结构的测量仪表,经常需要对测量变量进行非线性处理。比如,工业测量中经常使用的热电阻感温元件的电阻(电压)与温度的关系就是非线性的。计算机对这类测量变量进行工程值转换时,通常是将它们的电压/电流信号值及对应工程值的非线性列表(表1)存入计算机中,然后,当检测该变量时,通过查表比较,换算出对应的工程值。当然,查表换算所需的分段转换斜率也应存入计算机。

  查表法用高级程序语言很容易处理,但在汇编语言中实现却比较困难。我们注意到,MCS-51单片机指令系统虽然没有单独的比较指令,但设计了多条比较转移指令,它们既有比较功能,又能根据比较结果控制程序转移。特别是CJNEA,direct,rel指令,具有A和direct两个可变参数的单元,可以说是这类指令中功能最强的指令。将测量信号的A/D转换值放入直接地址单元direct,累加器A用来依次取查表值,就可以很方便地实现查表比较,我们设计查表循环结构就以该指令为核心来实现。

  对程序的数据结构进行合理设计,也可以大大简化和优化程序。为了便于读取表值,可在程序初始化时,就将Xi表值从外部存储器读入8031片内RAM工作区,并使其地址码与Yi表对应,这样可以共用一个地址指针。如图1所示。Xi/Yi表各包含16个参数,由于查表时读取Xi的操作最频繁,将Xi表调入片内RAM无疑会提高程序的运行效率。 

  为了提高计算精度,我们在外部存储器中除保存转换表外,还存储了Xi+1-Xi的差值,没有直接使用转换斜率Ki。

  在此数据结构的基础上,该程序流程图设计如图2。 

  入口:被测信号经数字滤波后的计数值→RAM6AH单元
  出口:经过非线性转换的工程值→RAM6BH单元该程序清单如下:    
 
  可以在仪表面板设置一个“参数设定”键,用于输入和保存转换表的参数。保存参数的外部存储器可以选用6264RAM。目前各种非易失存储器芯片已获得广泛应用,其中DS1225芯片与6264完全兼容,它自带锂电池,保存数据的有效期为10年。将转换表存储在该芯片中就更加方便实用,同时DSl225还可用于保存历史数据。

 
 
评论    【推荐】 【打印】 【论坛
 
 
[热门关键词]:编程技术 非线性处理 汇编语言 
特别推荐:
·[11月28日更新]休闲免费电影下载
·“陪读”现象严重令中国家庭不堪重负
更多精彩:
·神码携东芝投影机中标四川千万大单
·治理乱收费 成都试行教育收费银行代收
  图说教育                                  更多
大学生,求职
笔记本,电影
愤青,名人
摄影,国家地理
大学生找工作之《天下无贼》版
决战2005笔记本 年度最卖座六大影片
前沿人物盘点:中国愤青八大代表人物
国家地理杂志经典摄影作品欣赏
 相关文章 更多 
·上交大夺冠国际编程大赛 美大学遭惨败  (4.11 10:48)
·寒假怪现象:编程序做数学 MSN对抄答案  (2.4 14:20)
·IBM将提供编程代码 SCO股票暴涨34%  (1.21 10:3)
·空白器件编程,自制仿真器常的见问题  (1.12 14:5)
·编程实训室单台实训台设备采购公告  (12.16 10:36)
·英特尔64位编程工具 可支持AMD芯片  (10.8 10:30)
·QuickLogic发布QuickMIPS可编程SOC  (8.3 17:6)
 我来评两句〖查看最新评论〗 
请您注意:
·遵守中华人民共和国的各项有关法律法规
·承担一切因您的行为而导致的法律责任
·本网留言板管理人员有权删除其管辖留言内容
·您在本网的留言,本网有权在网站内转载或引用
·参与本留言即表明您已经阅读并接受上述条款
昵称:匿名
 
分类广告  
产品交易市场
·求购港湾交换机
·求购SONY等离子机顶盒
·求购微量呼吸检压仪
·图书馆安防监控系统询价
·医药技校实训设备招标
·阜新29所学校炊具询价
·湖南商学院教学设备招标
热点专题
·日系CCD问题事件追踪
·校校通:信息化主干线
·看神六关注航天后备人才
·国产投影机品牌突出重围
·谈笔记本校园发展方向
·《教育考试法》何去何从
·宝德服务器部署教育行业
行业书店