求助 有搞PIC单片机ic卡读写程序读写擦NAND FLASH的大神吗

第一次接触PIC单片机,不知道哪部出问题了,请教大神 - 【PIC单片机】 - 电子工程世界-论坛
后使用快捷导航没有帐号?
请完成以下验证码
查看: 2007|回复: 15
第一次接触PIC单片机,不知道哪部出问题了,请教大神
在线时间2 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 6, 距离下一级还需 194 积分
一粒金砂(中级), 积分 6, 距离下一级还需 194 积分
第一次接触PIC单片机,型号选择PIC16F506,用MPLAB IDE 编写了一个小程序,生成HEX文件,再通过K150烧写到单片机里,图片是每步骤结果,最后单片机C口就是不输出高电平,错在哪了。
(61.28 KB, 下载次数: 0)
19:45 上传
(26.69 KB, 下载次数: 0)
19:46 上传
(65.65 KB, 下载次数: 0)
19:46 上传
(75.15 KB, 下载次数: 0)
19:46 上传
在线时间2 小时
TA的帖子TA的资源
宇宙尘埃, 积分 -2, 距离下一级还需 2 积分
宇宙尘埃, 积分 -2, 距离下一级还需 2 积分
同求解释,
在线时间1689 小时
威望3230分
芯币1794枚
E金币1289枚
TA的帖子TA的资源
五彩晶圆(初级), 积分 3230, 距离下一级还需 270 积分
五彩晶圆(初级), 积分 3230, 距离下一级还需 270 积分
看看那个口有没有复用的配置!
你好,PIC 16F506这个单片机的使用手册是这样定义的,帮我看看,怎么弄&
生活不易,我要努力。
在线时间1 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 8, 距离下一级还需 192 积分
一粒金砂(中级), 积分 8, 距离下一级还需 192 积分
我觉得你可以试试main里面这样写&&
TRISC=0b000000;
PORTC=0b111111;
你好,加上了while语句,RC0-RC5输出是:低低低高高低,好像还是不太正常。&
在线时间142 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 76, 距离下一级还需 124 积分
一粒金砂(中级), 积分 76, 距离下一级还需 124 积分
&型号选择PIC16F506& 确认是这个型号?&&但你编程器上选择的是16C505(有点奇怪C类型号应该K150不支持),&&还有你配置字选了XT方式确定接了晶振吗?
再说你选择了ICSP应该是下图这样的连接方式:&&好好检查K150和配套软件!
k150.JPG (73.32 KB, 下载次数: 2)
21:48 上传
你好,1、单片机硬件是用的PIC16F506,在K150软件里选择型号时没有这个,我就用16F505代替了,
我又从新做了一下,还是不行,RC口,有高有低,正常应该全是高电平,2、XT不是代表用内部晶振么。
专业:PIC单片机软硬件开发
在线时间2 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 6, 距离下一级还需 194 积分
一粒金砂(中级), 积分 6, 距离下一级还需 194 积分
看看那个口有没有复用的配置!
你好,PIC 16F506这个单片机的使用手册是这样定义的,帮我看看,怎么弄
(57.27 KB, 下载次数: 0)
22:21 上传
在线时间2 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 6, 距离下一级还需 194 积分
一粒金砂(中级), 积分 6, 距离下一级还需 194 积分
我觉得你可以试试main里面这样写&&
你好,加上了while语句,RC0-RC5输出是:低低低高高低,好像还是不太正常。
& && && && &
在线时间2 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 6, 距离下一级还需 194 积分
一粒金砂(中级), 积分 6, 距离下一级还需 194 积分
确认是这个型号?&&但你编程器上选择的是16C505(有点奇怪C类型号应该K150不支持),&&还有你配置字选了XT方式 ...
你好,1、单片机硬件是用的PIC16F506,在K150软件里选择型号时没有这个,我就用16F505代替了,
& && &我又从新做了一下,还是不行,RC口,有高有低,正常应该全是高电平,2、XT不是代表用内部晶振么。
再帮我看看,呵呵
(67.96 KB, 下载次数: 0)
22:34 上传
(42.33 KB, 下载次数: 0)
22:34 上传
(71.48 KB, 下载次数: 0)
22:34 上传
(73.99 KB, 下载次数: 0)
22:34 上传
(74.63 KB, 下载次数: 0)
22:35 上传
(57.27 KB, 下载次数: 0)
22:35 上传
在线时间142 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 76, 距离下一级还需 124 积分
一粒金砂(中级), 积分 76, 距离下一级还需 124 积分
你再好好看看数据手册吧,把RC的第二功能关了(比较器等...), 还有XT是外部振荡!
专业:PIC单片机软硬件开发
在线时间276 小时
威望1034分
TA的帖子TA的资源
纯净的硅(中级), 积分 1034, 距离下一级还需 166 积分
纯净的硅(中级), 积分 1034, 距离下一级还需 166 积分
PIC单片机IO口如果有第二功能,必须把第二功能去除,才是普通IO口
哥们帮我看看呗,不会关呀,附件是数据手册&
在线时间276 小时
威望1034分
TA的帖子TA的资源
纯净的硅(中级), 积分 1034, 距离下一级还需 166 积分
纯净的硅(中级), 积分 1034, 距离下一级还需 166 积分
有专门的第二功能寄存器,设置屏蔽掉就OK了
在线时间2 小时
TA的帖子TA的资源
一粒金砂(中级), 积分 6, 距离下一级还需 194 积分
一粒金砂(中级), 积分 6, 距离下一级还需 194 积分
PIC单片机IO口如果有第二功能,必须把第二功能去除,才是普通IO口
哥们帮我看看呗,不会关呀,附件是数据手册
19:42 上传
点击文件名下载附件
1.81 MB, 下载次数: 33
文档我就不看了,反正你看看你用的IO口是否有第二功能,在文档中找到第二功能的寄存器,配置好就OK了。PIC的文档最好找了,而且还要中文。&
在线时间339 小时
芯币15364枚
TA的帖子TA的资源
一粒金砂(中级), 积分 68, 距离下一级还需 132 积分
一粒金砂(中级), 积分 68, 距离下一级还需 132 积分
本帖最后由 shangwangmj 于
21:18 编辑
建议配置字写在源程序中再编译,PIC的初始化一般把比较器关掉,相关寄存器的设置说明Microchip一向写得很清楚。
在线时间1320 小时
威望1302分
芯币5752枚
E金币122枚
TA的帖子TA的资源
纯净的硅(高级), 积分 1302, 距离下一级还需 698 积分
纯净的硅(高级), 积分 1302, 距离下一级还需 698 积分
OPTION_REG寄存器有进制内部弱上拉吗
在线时间276 小时
威望1034分
TA的帖子TA的资源
纯净的硅(中级), 积分 1034, 距离下一级还需 166 积分
纯净的硅(中级), 积分 1034, 距离下一级还需 166 积分
哥们帮我看看呗,不会关呀,附件是数据手册
文档我就不看了,反正你看看你用的IO口是否有第二功能,在文档中找到第二功能的寄存器,配置好就OK了。PIC的文档最好找了,而且还有中文。
在线时间11 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 2, 距离下一级还需 3 积分
一粒金砂(初级), 积分 2, 距离下一级还需 3 积分
我用的PIC24F系列的,端口配置有TRISx/PORTx/LATx,写端口是需要写到LATx里的,读端口采用PORTx,
要是写PORT的话只写到锁存器,不会写到实际的端口,不知道你这个系列的IO是什么样的,仅供参考。
荣誉会员勋章
曾经的版主且威望大于2000,或对EEWORLD论坛有突出贡献的坛友
EEWORLD 官方微信
EE福利 唾手可得
Powered by网站已改版,请使用新地址访问:
PIC-M25PE80 这个一个PIC单片机驱动的FLASH存储器,包括初始化,读写全部功能。已经经过测试通过。 SCM 开发 238万源代码下载-
&文件名称: PIC-M25PE80
& & & & &&]
&&所属分类:
&&开发工具: C-C++
&&文件大小: 172 KB
&&上传时间:
&&下载次数: 20
&&提 供 者:
&详细说明:这个一个PIC单片机驱动的FLASH存储器,包括初始化,读写全部功能。已经经过测试通过。-the is a pic mictrocontroller control flash ,including initial program and read and write functions.the code has been tested
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&PIC-M25PE80\M25P80.bmp&&...........\M25P801.bmp&&...........\......_1\main.asm&&...........\........\main.c&&...........\........\main.cof&&...........\........\main.c~&&...........\........\main.hex&&...........\........\main.i&&...........\........\main.inc&&...........\........\main.lst&&...........\........\main.map&&...........\........\main.obj&&...........\........\MAIN.prj&&...........\........\MAIN.pr~&&...........\........\main.rom&&...........\........\MAIN.txt&&...........\........\main.vec&&...........\........\main_cof.aps&&...........\........\main_cof.aws&&...........\........\main_obj.aps&&...........\........\main_obj.aws&&...........\........\main__.c&&...........\........\uart.c&&...........\m25p80_2\m25p80.prj&&...........\........\m25p80.pr~&&...........\........\m25p80.txt&&...........\........\main.asm&&...........\........\main.c&&...........\........\main.cof&&...........\........\main.c~&&...........\........\main.hex&&...........\........\main.i&&...........\........\main.inc&&...........\........\main.lst&&...........\........\main.map&&...........\........\main.obj&&...........\........\main.rom&&...........\........\main.vec&&...........\........\main__.c&&...........\........\uart.c&&...........\Thumbs.db&&...........\M25P80_1&&...........\m25p80_2&&PIC-M25PE80
&近期下载过的用户:
&相关搜索:
&输入关键字,在本站238万海量源码库中尽情搜索:
&[] - OrCAD10.5 软件安装方法,有图解说明
&[] - 网店管理系统,有订单管理等等,非常好的一个软件
&[] - STM32 SPI for stm32f103
&[] - 利用SPI模块读写串行FLASH(m25p80)的程序,有所有相关命令的操作。
&[] - Description: Library routines for the m25p05A, M25P10A, M25P20, M25P40, M25P80, M25P16, M25P32, M25P64 Serial Flash Memories
&[] - 常用SPI FLASH 芯片资料,SPI Keil c程序源码
&[] - m25pE80 from ST memory family source code.
Interface: SPI
Data speed : 10 MHz
&[] - 这是C单片机读、擦、写串行EEROM芯片m25p40(4M)的驱动程序。全部为自己根据25p40的datasheet编写的,都能够成功使用。M25P40容量大,价格便宜,SPI接口,与8051单片机接口方便。PIC18F4520
FLASH闪存读写方法 ← 『 PIC单片机开发工具交流 』 ← PIC单片机论坛
我们是单片机编程器单片机仿真器单片机开发板单片机学习板单片机烧写器的设计生产销售与服务公司
共28 条记录, 每页显示 10 条, 页签:
标题:PIC18F4520
FLASH闪存读写方法
nixiaofei 发表于: 11:31:00
请教点滴老师,我想利用PIC18F4520片子的FLASH存储器对一些设定数据进行存储(long型32位数据),但不知&FLASH闪存读写方法,请教点滴版主,谢谢!
点点滴滴 发表于: 12:35:00
1, 读FALSH 一次读取一字节数据,TBLPTR 指针指定要读取的地址. 执行TBLRD 读取指令, 该地址的数据传送到TABLAT 寄存器.
2, 擦除, 在写操作前,必须先执行擦除. 最小擦除块为64 字节.TBLPTR&21:6& 的高16 位指向将被擦除的数据块。 TBLPTR&5:0&被忽略。
3, 写FALSH 最小编程块为64字节, 连续执行64 次TBLWT 指令, 将数据写入到锁存寄存器. 然后启动一次编程操作.
就能将64 字节数据写入到FALSH.
数据手册,闪存程序存储器章节有详细的介绍.
总结一下, 读取比较简单. 设置好地址后,读取4次. 就能得到 你想要的32 位数据.
但是写操作比较复杂些, 先擦除, 才能写操作编程.& 最小块为64 字节. 还有一个前提, 那就是在配置位中, 代码保护位,&&要操作FALSH 的所在块不能被保护. 否则会操作失败.
nixiaofei 发表于: 13:34:00
谢谢点滴老师指点,还有一问题就是PIC18编译器是否带有FLASH读写的库函数可以直接调用的?
nixiaofei 发表于: 13:36:00
我用的是PICC18 9.80的编译器
nixiaofei 发表于: 13:49:00
#ifndef&_PIC18_H#define&_PIC18_H
#ifndef _HTC_H_#include &htc.h&#endif
#include &chip_select.h&
/* if _PLIB is defined (which driver will do when --runtime=+plib is used), include plib.h */#if defined _PLIB#include &plib.h&#endif
// flash_write is no longer supported. Use the peripheral library implementation// --runtime=+plib must be used#define _FLASH_UNSUPPORTED __attribute__((unsupported("The flash_write routine is no longer supported. Please use the peripheral library functions: WriteBytesFlash, WriteBlockFlash or WriteWordFlash")))_FLASH_UNSUPPORTED void flash_write(const unsigned char *, unsigned int, far unsigned char *);#define FLASH_WRITE(src, size, dest)&flash_write(src,size,dest)#define flash_erase(addr)&&EraseFlash(addr,(addr)+1)#define FLASH_ERASE(addr)&&EraseFlash(addr,(addr)+1)
PICC 9.80库文件里面的,但是不知如何调用,郁闷啊!
点点滴滴 发表于: 15:52:00
数据手册里有 汇编的参考代码. 用C 语言写一个就得了.
nixiaofei 发表于: 16:29:00
nixiaofei 发表于: 15:37:00
点滴老师,flash数据写入基本正常,但也时常有个别发生数据写错的现象,把0x00写错为0xFF,不知是什么原因?
nixiaofei 发表于: 17:35:00
改用EPROM形式也是会缦忠陨衔侍猓恢喂剩
点点滴滴 发表于: 9:44:00
以下是引用nixiaofei在 15:37:00的发言:
点滴老师,flash数据写入基本正常,但也时常有个别发生数据写错的现象,把0x00写错为0xFF,不知是什么原因?
是随机出现错误? 还是在固定地址出现错误?
共28 条记录, 每页显示 10 条, 页签:
Powered By
Processed in .03125 s, 2 queries.

我要回帖

更多关于 单片机读写ide 的文章

 

随机推荐