搜索
bottom↓
回复: 16

富晶单片机 汇编 查表问题

[复制链接]

出0入0汤圆

发表于 2013-3-15 12:38:36 | 显示全部楼层 |阅读模式
本帖最后由 rechan886 于 2013-3-15 12:41 编辑

由于这个单片机只能用汇编写程序。而且汇编里面需要用到查表的方式来实现对温度的处理
所以我就想到用 DB,或者是DW 去处理。由于DB或DW的数据是放在代码的区间内的(查资料的时候看到的,不知道对不对)我用软件模拟也发现它是存在代码区内的。因为RAM中没有出现我所定义的这些数据。

但是问题是我知道他们是放在代码区中
org: 0400H
TEMP: DB  FFH, FFH, FFH, FFH, 06H, 07H, 08H, 09H
类似于这样子。我如何才能通过调用寄存器获得代码区这些数据???

我看过51的调用似乎是直接就用DPTR+A,将#TEMP直接赋值给DPTR就可以完成。

不过我这款单片机没有DPTR寄存器。它是用FSR来定义数据内存中的地址。值从IND中获取。但是它上面写的是 数据内存中值。而且我也用FSR试过,没有作用
      movlw TEMP
      movwf FSR1
      movfw IND1
      movwf 020h
movlw是将值赋值W寄存器
movwf是将W的值赋值给指定地址
在20H的地方的值未发生改变,我用软件模拟试过。
更多的命令可以看下数据手册
现在不知道如何从代码中读取数据。手册里出了FSR好像也没有别的寄存器来读数据了。。求大神帮忙啊。。。。
数据手册在这里下载
http://www.ic-fortune.com.cn/upload/Download/FS98O21-DS-15_EN.pdf

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

 楼主| 发表于 2013-3-16 08:11:27 | 显示全部楼层
没有人回答啊??????自己给自己顶一下。。

出0入0汤圆

发表于 2013-3-16 09:16:14 | 显示全部楼层
指令用错了,movlw 操作的是把常量移到工作寄存器,只能操作数值,不能操作寄存器值。

出0入0汤圆

发表于 2013-3-16 09:19:00 | 显示全部楼层
查表用ADDPCW  RETLW 两指令

出0入8汤圆

发表于 2013-3-16 09:25:05 | 显示全部楼层
本帖最后由 kebaojun305 于 2013-3-16 09:33 编辑

表格中应该使用 RETLW 后跟数据 比如你的数据 应该写成如下形式:
TEMP:
ADDPCW
RETLW  FFH
RETLW FFH
RETLW FFH
RETLW FFH
RETLW 06H
RETLW 07H
RETLW 08H
RETLW 09H



使用时  使用函数调用  W输入要查的表格编号  函数调用完成后  W中就是表格中的数据。

出0入85汤圆

发表于 2013-3-16 09:29:03 | 显示全部楼层
本帖最后由 marshallemon 于 2013-3-16 09:30 编辑

不知道LZ用的富晶什么型号的MCU,可有带高位AD的(>16bit)?另外问下这种片子好买吗?4位半万用表中用的那个是MCU吗?

出0入0汤圆

发表于 2013-3-19 15:32:56 | 显示全部楼层
论坛里有多少人在用这款IC呢?

出0入0汤圆

 楼主| 发表于 2013-3-22 13:07:16 | 显示全部楼层
感谢三楼四楼的回答。。。。我在程序里也看到类似的调用了。。。不过如果数据多了好像挺麻烦的。。不知道有没有更简单的办法??

出0入0汤圆

 楼主| 发表于 2013-3-22 13:08:42 | 显示全部楼层
marshallemon 发表于 2013-3-16 09:29
不知道LZ用的富晶什么型号的MCU,可有带高位AD的(>16bit)?另外问下这种片子好买吗?4位半万用表中用的那 ...

我用的是9821的那款。。做电子秤,红外测温的。。。14位的ADC。。。国内好买啊。。。不过OTP的。。需要仿真器。。

出0入85汤圆

发表于 2013-3-22 14:17:13 | 显示全部楼层
rechan886 发表于 2013-3-22 13:08
我用的是9821的那款。。做电子秤,红外测温的。。。14位的ADC。。。国内好买啊。。。不过OTP的。。需要仿 ...

可有带24bitAD的?比较好买的

出0入0汤圆

 楼主| 发表于 2013-3-23 07:54:54 | 显示全部楼层
marshallemon 发表于 2013-3-22 14:17
可有带24bitAD的?比较好买的

那就不是很清楚了。。。富晶官网你可以去看看哦。。。价格挺便宜的。。

出0入0汤圆

发表于 2013-3-23 12:54:23 | 显示全部楼层
rechan886 发表于 2013-3-23 07:54
那就不是很清楚了。。。富晶官网你可以去看看哦。。。价格挺便宜的。。 ...

价格多便宜?我在用98 023  98 022 ?但不知道价格。。。。。

出0入0汤圆

发表于 2013-4-13 23:51:36 | 显示全部楼层
用什么软件开发的富晶单片机 ?

出0入0汤圆

发表于 2013-4-19 15:06:58 | 显示全部楼层
我也在用FS9821这款单片机,貌似AD设置比较复杂,我工作QQ是2831470298,能加下我吗?一起交流一下.
另外查表的话是用ADDPCW结合RETLW指令来实现的,ADDPCW实现查表,RETLW指令实现返回查到的数据,查到的数据返回在WORK寄存器中.

出0入0汤圆

发表于 2013-6-24 21:28:33 | 显示全部楼层
富晶单片机 技术问题 价格问题可以找我,我们公司是富晶代理商
FS9821~23 查表只能用retlw
如果两个字节 可以用伪指令HIGH LOW 例如
data_high:
addpcw
retlw high 1234
retlw high 2345
data_low:
addpcw
retlw low 1234
retlw low 2345
数据最好不要超过128个,因为work>= 0x80时,addpcw会跳到前面的地址 相当于负值.
FS98O01 FS98O02 可以直接DW xxx 然后用MOVP 查表

带24位AD的没有,MSP430 C8051F好像AD位数挺高的,没有用过,可以参考

万用表富晶主要做到2000 4000 6000, 没有4位半(20000),
市场上的4位半应该主要是7135做的

开发方面,富晶有编译软件,仿真器

有什么问题,欢迎咨询, QQ:9491431

出0入0汤圆

发表于 2013-6-24 21:46:41 | 显示全部楼层
另外,富晶有C编译器,找HI-TECH开发的,就是MicroChip编译器的开发商,
稳定性可靠性不用担心.
如果用C开发项目,最好选8K ROM单片机,推荐FS98O25 8K ROM 4x32 LCD驱动
之前用4K ROM写过一个项目,最后怎么优化都放不下,没办法改汇编,惨痛的教训
一般汇编4K C编译器大概6K

出0入0汤圆

发表于 2013-11-2 17:53:55 | 显示全部楼层
本帖最后由 sunsdq 于 2013-11-2 18:16 编辑
ycii 发表于 2013-6-24 21:46
另外,富晶有C编译器,找HI-TECH开发的,就是MicroChip编译器的开发商,
稳定性可靠性不用担心.
如果用C开发项 ...


如果用C编译器,加减乘除最好单独写个函数,不要直接用*、/,这样代码要小的多,我以前做的一个项目,用的是pic的单片机dSP16Fxxxx,后来就是换了些函数,代码空间才够用。
请问,C编译器哪里能下到。能不能传一个给我,谢谢。sunsdq@163.comQQ:624338358
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-23 14:26

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表