搜索
bottom↓
回复: 4

关于FLASH数据的存储

[复制链接]

出0入0汤圆

发表于 2008-7-5 18:30:48 | 显示全部楼层 |阅读模式
MEG88的指令是16位,因此一个FLASH单元可放16位二进制数据。当我把表格数据放到FLASH的时候,在查表时Z指针指向表始址
Z0指示所读数据在字单元中的位置,也就是读取FLASH单元中的高8位或低8位。
请问马老师:1、这样是不是一个FLASH单元可放的最大表格数据最大值是0XFF,如果我的表格数据超过OXFF,就要两个字。
             2、我现在表格数据很大,数据的最大值超过0XFF,可不可以将它放到一个FLASH单元(占一个字)
             3、如果可以该如何用查表读取数据。
问题有点多,烦请马老师帮我讲解!

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

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2008-7-6 01:18:00 | 显示全部楼层
FLASH是按字为单位的,但AVR是8位的单片机,数据总线和寄存器为8位,所以一次只能读8位的字节。

一个FLASH字中是可以放置2个字节的数据,AVR有专门的读取FLASH数据的命令,读是读一个字节,通过地址为偶还是奇对应高位字节或低位字节,请仔细看我教材第5章中汇编代码的例子。

如果存放的数据超过一个字节,如16位的,就需要分成2个字节保存,当然可以放在一个FLASH单元中,但是读取时还是逐字节的读取,然后再拼成16位的。

你如果使用C语言,可以不考虑这些问题的。如果要使用汇编,建议你找本介绍8086的微机原理与应用的教材,认真学习汇编。尽管不是AVR的汇编,单基本思想和方法是一样的。

学习AVR必须是建立在具备一定的基础上的,如硬件基础,软件方面的C和汇编编程等。没有这些基础,而想通过直接学习AVR来掌握这些基础就比较困难了,因为介绍AVR的书大都是注重应用的,最基础的东西不会详细介绍和做练习的。

没有任何一个老师教我使用AVR,我是直接看手册的。具备了很好的基础知识,你就能自己看明白和了解掌握如何使用了。

出0入0汤圆

 楼主| 发表于 2008-7-6 11:59:27 | 显示全部楼层
谢谢马老师指点迷津

出0入0汤圆

 楼主| 发表于 2008-7-6 12:09:48 | 显示全部楼层
谢谢马老师指点迷津

出0入0汤圆

 楼主| 发表于 2008-7-6 12:09:58 | 显示全部楼层
谢谢马老师指点迷津
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-6-9 21:18

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

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