v=sin(w)*255*Vmax*5; /*根据电压峰值计算该点的输出值*/
k=v+0.5; /*四舍五入*/
if(k255)k=255;
fprinft(fp,"RETLW.%d;%.d",k,i); /*输出查表表格*/
}
fclose(fp);
printf("Press any key to end ……");
getch();
}
利用以上程序,计算时输入文件名为A.ASM,Vmax=3,得至的A.ASM的内容如下(共90行表格,略去其中的大部分表格):
;A.ASM
SUB1 MOVWF BUF
SUBLW .90
BTFSS STATUS,C
RETLW .0
MOVLW HIGH($+4)
MOVWF PCLATH
MOVF BUF,W
ADDWF PCL,F
RETLW .0;0
RETLW .5;1
……
RETLW .90;72
RETLW .86;73
RETLW .81;74
……
RETLW .11;88
RETLW .5;89
RETLW .0;90
把以下程序插入单片机程序的适当地方,查表时中要赋以W相应的值,再CALL SUB1就可以得到sin(x)第W点上的值.整个计算约10个指令周期(如采用4MHz晶振,为10μs左右).如果采用乘除的方法计算,至少要花几百甚至上千个指令周期,而且得到的结果精度也差.
2.2 非线性插值
在单片机应用中会遇到非线性元件,例如热敏电阻的电阻-温度特性,断路器的保护特性等都是非线性关系.这里以断路器的保护特性为例,说明自动编程的应用.假设现在要仿真的断路器的特性为双曲线,如图1所示.
据此,可以设延时时间与电流的关系为
(I+I0)(t+t0)=K (1)
由图1的三个点可以得到以下联立方程组:
(I+20)(t+33)=K
(I+40)(t+20)=K (2)
(I+90)(t+10)=K
采用迭代法解得I0=11.111 1,t0=0.222 2,K=1 033.58,代入式(1)得
t=[1 033.58/(I+11.111 1)]-0.222 2 (3)
现在假设在硬件线路中,电流信号是转换为电压信号经A/D后得到的,其相应点的关系为:0A→0V,100A→3V,A/D为8位,A/D参考电压为5V.转换计算首先将A/D值转换为对应的电压值,再将电压值转换为对应的电流值I,再根据式(3)求相应的延时时间T,最后将延时时间T再转换为延时的间常数T0.T0按式(4)计算:
- 单片机diy电压表头 > 要:介绍用高级语言C自动生成单片机的查表程序
-
要:介绍用高级语言C自动生成单片机的查表程序
下载该文档 文档格式:DOC 更新时间:2008-04-01 下载次数:0 点击次数:1文档基本属性 文档语言: Simplified Chinese 文档格式: doc 文档作者: Ray 关键词: 主题: 备注: 点击这里显示更多文档属性 经理: 单位: www.xunchi.com 分类: 创建时间: 上次保存者: 修订次数: 编辑时间: 文档创建者: 修订: 加密标识: 幻灯片: 段落数: 字节数: 备注: 演示格式: 上次保存时间:
- 下载地址 (推荐使用迅雷下载地址,速度快,支持断点续传)
- DOC格式下载
- 更多文档...
-
上一篇:凌阳单片机培训报名表
下一篇:基于单片机与光电传感器的电动自行车速度与里程表的设...
点击查看更多关于单片机diy电压表头的相关文档
- 您可能感兴趣的
- 单片机diy lcd数字电压表头 电压表数显表头 数字电压表头 电压表头 交流电压表 高精度数字电压表 数显电压表 指针电压表
- 大家在找
-
- · 百度文库言情小说下载
- · 植物树形比较
- · 西医内科学课件下载
- · 单片机原理和应用试卷
- · 佳能喷墨打印机
- · autocad2010快捷命令
- · 倒档拨叉的夹具设计
- · 电气工程师cad2010
- · st钛白股吧
- · 统计预测与决策课件
- · 入党函调表格doc
- · 玛雅预言书2012
- · 肥东县畜牧水产局
- · 陈涉世家原文及注释
- · 梅艳芳和刘德华的照片
- · 电机维修知识
- · 2011驾校模拟考试
- · 测井光电编码器
- · 74ls14
- · 加工承揽合同条例
- · 时光e栈小白楼店
- · 灶台坏了一头风水
- · 成都理工大学工程技术
- · win7dock图标
- · 北京中国大饭店
- · 绍兴汽车西站
- · willloveyou
- · 圆脸且大发型设计图片
- · 新水浒传84集高清观看
- · 广发证券软件
- 赞助商链接