打印

救命!PICKIT2不能烧写PIC16f883和PIC16F877吗

[复制链接]
5006|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
尛舞icc|  楼主 | 2012-11-28 14:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
:'(  90块买的  pickit2编程器 写者可以编的  结果  2个型号的都不行。  877烧写是成功的但不会运行  ...883 直接烧不进去

有没人懂的 或者遇到过的 帮我解决下  或者发段简单的测试程序来  
卖家说我配置字有问题...
真心不懂了
以前用别的编程器可以成功



附:刚注册没分,等有分了再送上.:$
沙发
1521732588| | 2012-11-28 16:13 | 只看该作者
假的?:lol

使用特权

评论回复
板凳
yewuyi| | 2012-11-28 16:43 | 只看该作者
那就找个别的编程器试一下。

另外,你弄清楚那些配置字是怎么配置的了吗?

使用特权

评论回复
地板
尛舞icc|  楼主 | 2012-11-28 20:31 | 只看该作者
可以编PIC16F690  却编不了PIC16F883 3# yewuyi

使用特权

评论回复
5
尛舞icc|  楼主 | 2012-11-28 20:33 | 只看该作者
不像假的...16F690程序可以运行   877可以烧进去但不会运行   883烧不进去 2# 1521732588

使用特权

评论回复
6
shizaigaole| | 2012-11-28 22:39 | 只看该作者
pickit2 是很简单的东西,一般不会有问题。

楼主检查自己的程序,以及编程接口电路是否符合要求。

16f883的RB3需要对地下拉,才能烧写。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
尛舞icc + 1 虽然RB3得接地才能用 但比不能用好多了 哈 ...
7
yewuyi| | 2012-11-29 08:19 | 只看该作者
最老版本的PICKIT2烧写PIC16F88X可能会有一些问题,曾经有人反映过,解决办法如楼上可试试。

使用特权

评论回复
8
尛舞icc|  楼主 | 2012-11-29 17:26 | 只看该作者
按你的方法程序可以烧进去。程序也可以运行,不过有个缺点  我要把RB3的引脚接地后它才正常运行  不接就没反应  我烧程序是只接5根线的  问题是出在这里吗? 6# shizaigaole

使用特权

评论回复
9
shizaigaole| | 2012-11-30 11:05 | 只看该作者
RB3之所以需要接地或者下拉,是因为88x的一个小bug,
和用5根线,没关系。

你说的不下拉,不能运行,是不应该,这个下拉只和烧写有关,和运行没有关系。

你可能还有别的问题

使用特权

评论回复
10
尛舞icc|  楼主 | 2012-11-30 14:22 | 只看该作者
这个我的测试程序流水灯:
#include<pic.h>
#define uint unsigned int
#define uchar unsigned char
__CONFIG(0x3B31);
void delay(uint z)
{
uint x,y;
for(x=z;x>0;x--)
  for(y=110;y>0;y--);
}
void main()
{
TRISC=0;
PORTC=0;
while(1)
{
  uint i;
  PORTC=0X01;
  for(i=8;i>0;i--)
   {
    delay(200);
    PORTC=PORTC<<1;
   }
}
}
9# shizaigaole

使用特权

评论回复
11
尛舞icc|  楼主 | 2012-11-30 14:38 | 只看该作者
修改了下配置字 好了...一直用的3B31原来这里有误区啊 改成2B31就好了 6# shizaigaole

使用特权

评论回复
12
尛舞icc|  楼主 | 2012-11-30 16:36 | 只看该作者
:(  刚解决了这个问题又来一个新的...自学单片机伤不起
以前编的程序,几个月前在公司电脑上编的程序也已经成功了的
现在在家里就出来这样的东西编译都通不过,这是版本问题还是程序空间问题:
Error   [1347] ; 0. can't find 0x13 words (0x13 withtotal) for psect "strings" in class "STRING" (largest unused contiguous range 0x4)
Error   [1347] ; 0. can't find 0x12 words (0x12 withtotal) for psect "text899" in class "CODE" (largest unused contiguous range 0x4)
Error   [1347] ; 0. can't find 0x10 words (0x10 withtotal) for psect "maintext" in class "CODE" (largest unused contiguous range 0x4)
Error   [1347] ; 0. can't find 0xD words (0xd withtotal) for psect "cinit" in class "CODE" (largest unused contiguous range 0x4)
Error   [1347] ; 0. can't find 0x8 words (0x8 withtotal) for psect "clrtext" in class "CODE" (largest unused contiguous range 0x4)

使用特权

评论回复
13
backupyan| | 2012-12-5 11:20 | 只看该作者
config 可以用宏定义改写,你的写法太坑跌了!

使用特权

评论回复
14
backupyan| | 2012-12-5 11:23 | 只看该作者
尛舞icc 发表于 2012-11-30 16:36
刚解决了这个问题又来一个新的...自学单片机伤不起
以前编的程序,几个月前在公司电脑上编的程序也已经 ...

数组太大了。pic的数据存储器虽然声称3xx字节,但由于系统结构而分组,
每个组内连续的区域不超过128字节,所以不能定义大数组。
你可以这样:
bank1  char  array[100];

使用特权

评论回复
15
yewuyi| | 2012-12-5 11:52 | 只看该作者
backupyan 发表于 2012-12-5 11:23
数组太大了。pic的数据存储器虽然声称3xx字节,但由于系统结构而分组,
每个组内连续的区域不超过128字节 ...

稍微新一点的C编译器版本都支持大数组定义和使用,只有最老的版本才不支持。

过去不支持的原因是间接寻址寄存器的寻址空间限制为8位字长,后来的芯片都支持16位字长的寻址,也就不存在这些限制了吧。

使用特权

评论回复
评论
backupyan 2012-12-10 14:51 回复TA
学习了! 
16
尛舞icc|  楼主 | 2012-12-16 14:20 | 只看该作者
backupyan 发表于 2012-12-5 11:23
数组太大了。pic的数据存储器虽然声称3xx字节,但由于系统结构而分组,
每个组内连续的区域不超过128字节 ...

3Q

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

67

主题

230

帖子

2

粉丝