完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
嗨,我正在使用18F450,并且我必须在编程期间将一些默认参数存储到EEPROM中。早些时候,我使用PIC16F628,并且很容易在ASM文件的末尾将一些默认数据放在EEPROM中:这样您就可以很容易地看到十六进制、十进制或ASCII格式的数据。之后,当设备工作时,您可以读取EEPROM中的参数,通过LCD接口进行更改并存储回EEPROM。Ciki
以上来自于百度翻译 以下为原文 Hi, I'm working with 18F4550 and I have to store some default parameters to EEPROM during programming. Earlier, I was using PIC 16F628 and it is easy to put some default data in EEPROM at the end of ASM file: ;************************* ;16F628 EEPROM : org h'2100' data d'01' ;device address data d'05' ;coin1 value data d'02' ;coin2 value data d'03' ;start value data h'52' ;call number 1 data h'64' ;call number 2 data h'22' ;call number 3 data a'm' ;mark letter ;************************* This way it is easy to see data in hex, decimal or ASCII format, as you wish. After, when device is working, you can read parameters form EEPROM, change through LCD interface and store back to the EEPROM. Is there any way to do this kind of writing for 18F4550? Br, Ciki |
|
相关推荐
6个回答
|
|
你还在装配工工作吗?哪一个IDE(MPLAB或MPLABX)。你仍然在过时的“绝对”模式下使用汇编程序,或者你考虑移动到“可重新定位”模式吗?
以上来自于百度翻译 以下为原文 Are you still working in assembler? Which IDE (MPLAB, or MPLABX). Are you still using the assembler in obsolete "absolute" mode, or have you considered moving to "relocatable" mode? |
|
|
|
是的,EEPROM的正确指令是DE.
以上来自于百度翻译 以下为原文 Yes, and the correct directive for EEPROM is DE. org 0xF00000 de d'01' ;device address de d'05' ;coin1 value de d'02' ;coin2 value de d'03' ;start value de h'52' ;call number 1 de h'64' ;call number 2 de h'22' ;call number 3 de 'm' ;mark letter |
|
|
|
谢谢,你帮我一个忙。顺便说一下,我正在使用MPLAB IDV890和汇编。也许旧的时尚,但我已经习惯了。因为在18F45 50EEPROM是16位宽,我可以写所有16位的数据在其中,并通过TBLPTRX寄存器。
以上来自于百度翻译 以下为原文 Thanks, you help me a lot. BTW, I'm using MPLAB IDE v8.90 and assembly. Maybe old fashion, but I got used to that. Since in 18F4550 EEPROM is 16 bit wide, I can write all 16 bits of data in it, and read it through TBLPTRx registers. Br, Ciki |
|
|
|
什么?18F-PICS中的EEPROM是字节宽(8位)数据:从数据表
以上来自于百度翻译 以下为原文 What? The EEPROM in the 18F pics is byte wide (8 bit) data: from the datasheet |
|
|
|
TBLPTR用于访问程序存储器(=Flash),而不是EEPROM。
以上来自于百度翻译 以下为原文 TBLPTR is for accessing program memory (=FLASH), not EEPROM. |
|
|
|
获得MPLAB V892.另一种说法是EEPROM包含8位数据。若要写入16位数据,则必须进行8位数据的两次写入。同样,正如其他人所说,TBLPTR是用于访问程序快闪记忆体,即使如此,它仍然一次访问一个字节。
以上来自于百度翻译 以下为原文 Get MPLAB v8.92. As other said, that EEPROM holds 8-bit data. To write 16 bits of data, you'll have to do two writes of 8-bit data. Again, as other said, TBLPTR is for accessing program flash memory, and even then it still accesses one byte at a time. |
|
|
|
只有小组成员才能发言,加入小组>>
5159 浏览 9 评论
1998 浏览 8 评论
1927 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3170 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2223 浏览 5 评论
726浏览 1评论
612浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
501浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
625浏览 0评论
524浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-20 19:26 , Processed in 1.354883 second(s), Total 86, Slave 70 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号