|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
单片机中基于查表法的多变量函数求解方法设计 e/ W4 j1 b& x. O
51系列单片机具有成本低廉性能优良的特点,在生产控制与信息检测方面得到了广泛应用。一般情况下,单片机要对接收到的& `8 T; J) F" B& M b; Y
检测量进行分析运算,然而其并不擅长实现复杂的算术运算。主要原因是单片机直接实现复杂的算术运算不仅要耗费大量时间,而.
( u7 b+ H6 v( d) g% q且在编程实现方面也存在很大困难。例如对于Atmel公司的AT89C51单片机而言,其外部晶振一般为12MHz,其振荡周期为tz,则' u- i* M2 l* X/ U
有:4==us ,其机器周期为t,则t,=12一us=1μus "。在单片机计算编程方面,可以利用汇编语言或C语言两种方式进行编
+ y: c* X; M% [* Y程,其中前者执行效率较高。在51单片机的汇编语言系统中,只有加、减、乘除四种算术运算指令,执一位加法至少需要一个机器- u, I4 w/ ?. y+ r
周期,而执行一次以为乘法或除法命令则至少需要四个机器周期即4us。指令系统中没有三角函数、指数函数,对数函数等算术运箅.
% o2 k5 g& f; f# v9 O指令q。因而对于一-个复杂的算术公式,如果想要实现在单片机中对其进行算数求解,首先要根据某些复杂的算法将其转化为加、' s/ Y/ X5 `1 q, T) F( @0 {
减乘、除四种运算的形式,然后在计算时进行调用。这样必将大量占用单片机资源。所以开发人员一般利用建立数据表的方法实现
; }5 }: [5 v( t- o* i复杂关系式的分析求解,这样只需要成分利用转移查表语句,便可以快速找到所求结果。所以需要设计合理的建表、查表算法以实
3 S3 Z, \4 q2 v' u! y现对数据的求解。
8 h( C& @# U* s$ J- h" E" b* D- F3 x7 F3 a; C# W0 E) t
6 z' s2 b; S2 }! o+ a0 B
" e) _9 D1 i) t" K
|
|