找回密码
 注册
LabVIEW+单片机学习套件全套教程资料下载[免费]LabVIEW论坛精华列表贴USB0816数据采集卡《LabVIEW宝典》
LabWindows/CVI论坛精华贴NET0816以太网数据采集卡RC0210远程设备授权系统 关闭关停锁定打开设备 户外分布式数据采集
NET1624低速高精度以太网数据采集卡WIFI0824SD无线WIFI网络数据采集卡脱机运行 SD存储 小尺寸微型 串口采集远程采集 安卓 手持移动采集 纪录仪
查看: 1141|回复: 11

[已解决] LabVIEW烧写8位MCU

[复制链接]
发表于 2010-10-25 19:21:51 | 显示全部楼层 |阅读模式
本帖最后由 learningWolf 于 2010-10-30 15:06 编辑

如何在一块8位MCU的FLASH闪存区一地址上写入数据?比如:要在E0F5地址上写入CD。
条件:只能用PC的串口;
如何定位MCU中的地址?
请知道的朋友们不吝指点一二
用I2C写"ADDRESS+DATA"可以做到;如果不用I2C,用什么VI和方法也可以实现?
发表于 2010-10-25 23:23:58 | 显示全部楼层
这种问法不对。不同的芯片烧写办法不一定公开,这是做不到的。除非MCU厂商开放通讯协议。否则不用考虑。
回复 顶

使用道具 举报

 楼主| 发表于 2010-10-26 08:27:23 | 显示全部楼层
回复 orienter 的帖子

好多谢朋友关注!
现在面向低端应用的MCU(比如8位)很大部分都是开放式接口,阿拉问的这款芯片型号是:MC68HC908EY8,朋友可以当其是公开协议,再请给点建议。

回复 顶

使用道具 举报

发表于 2010-10-26 09:13:07 | 显示全部楼层
这样就要看它通讯协议了,支不支持单字节寻址,据我所知,这种很多是FLASH要整片擦除,如果是这种情况,你需要全部读出来,再修改单个值后再全部重写回去,就用VISA write 和visa read来回操作写指令读数据。

评分

参与人数 1经验 +10 收起 理由
飞雨天 + 10 是的~~能不能烧写是硬件问题,如果硬件开放.

查看全部评分

回复 顶

使用道具 举报

 楼主| 发表于 2010-10-26 11:54:43 | 显示全部楼层
回复 orienter 的帖子

第一次尝试PC口烧录IC,还请达人耐心下忙。
对的!
现在我感到的难点就是:这地址改如何定位?VISA Write/Read vi 怎么定位器件地址?
我要从地址E000开始,顺序写入512 BYTES数据,请问我该如何做?
能用LV写个大概吗?

回复 顶

使用道具 举报

 楼主| 发表于 2010-10-26 18:18:38 | 显示全部楼层
回复 learningWolf 的帖子

朋友们给点建议啦...
自己顶一下!
回复 顶

使用道具 举报

发表于 2010-10-26 23:58:46 | 显示全部楼层
这个单片机没有下载器吗? 一般IC厂商都给出了下载器, 可以用它下载EEPROM. 在你自己的程序中可以调用它来达到更新某些寄存器的值, 先全部读出, 部分修改后再写入, 这种方法一般是整个Page写入的. 我做过Atmel和Microchip的.
另外一种方法是普通的I2C的方法. I2C的方法就是把它当作是普通的I2C器件, 你采用I2C的方法写就OK了. 这个论坛上有相关的帖子, 可以看看. 具体到这款IC, 我不清楚它是否可以被电路的其它部分视作是是普通的I2C器件(EEPROM).

Labc
回复 顶

使用道具 举报

发表于 2010-10-28 22:57:11 | 显示全部楼层
本帖最后由 labc 于 2010-10-28 22:59 编辑

回复 learningWolf 的帖子

公司舍得花钱的话, 也可以买个USB转I2C的转换器, 厂家会提供现成的dll或vi给你用.
低成本的话, 去买个几十块钱的并口扩展卡. 请看我前面给出的链接, 支持自己定义并口的地址.
祝你搞定它!

Labc

回复 顶

使用道具 举报

 楼主| 发表于 2010-10-28 19:20:27 | 显示全部楼层
回复 labc 的帖子

我的并口8个数据位都用来控制8个继电器了,看来只有买个转换器了。
Out Port.vi 和 In Port.vi 仅支持本计算机的地址寻址吗?不太确定。
我的并口应用就是以这两个VI为基础的。
Anyway,好多谢 "labc" 的热心回复!
回复 顶

使用道具 举报

 楼主| 发表于 2010-10-27 08:29:27 | 显示全部楼层
回复 labc 的帖子

多谢!
可以用I2C来实现的,我的PCB板已经成型了,如果没有另外的办法,那看来只有再买个转换器了。
但多少还有点不甘!
我就不相信LV中没有VI可以操作外围器件的地址的。“VISA”->“高级VISA"->"寄存器访问”中的VI可以做到吗?有没有朋友用过这里面的VI的,可以发个例子上来吗?
这里面的VI是只针对计算机的地址的吗?能不能也用来操作外围器件的地址?如果能,大致PROGRAM BLOCK能贴个上来吗?感谢!
回复 顶

使用道具 举报

发表于 2010-10-27 20:04:37 | 显示全部楼层
本帖最后由 labc 于 2010-10-27 21:04 编辑

哦, VISA不能直接操作MCU的寄存器呀.
涉及到底层的话, 只能用In Port.vi和Out Port.vi去读写并口了.
你倒是可以借用电脑的并口来模拟I2C协议, 一个简单的转换电路就行了. 我曾经在论坛上放过并口转I2C的VI. 你可以直接用的.

Labc
回复 顶

使用道具 举报

发表于 2011-5-20 11:12:18 | 显示全部楼层
回复 顶

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|cpubbs论坛. ( 粤ICP备09171248号 )

GMT+8, 2026-9-29 04:04 , Processed in 0.055735 second(s), 7 queries , Gzip On, File On.

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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