论坛风格切换切换到宽版
  • 3081阅读
  • 12回复

关于PIC烧写FUSE ERROR问题 [复制链接]

上一主题 下一主题
离线XLDZZ
 
发帖
443
只看楼主 倒序阅读 0楼 发表于: 2009-03-29
在烧写pic16f876a时发现烧写报错,报错图片如附件

把振荡器选择为内部rc就可以烧写,改成xt就不行。不知道为啥。

而且错误代码就是cpu配置位的代码,如附件中的good 0fb9其中的0fb9就是我设置的cpu配置位的十六进制码。奇怪了
离线BG4XCR
发帖
33381
只看该作者 1楼 发表于: 2009-03-29
外部振荡器没起振啊。
离线XLDZZ
发帖
443
只看该作者 2楼 发表于: 2009-03-29
不会,一开始我也以为是这个问题。但是连换了2个晶振多无效。
离线bg6qbt
发帖
7255
只看该作者 3楼 发表于: 2009-03-30
可以正常读出和擦除吗?.......
离线XLDZZ
发帖
443
只看该作者 4楼 发表于: 2009-03-30
可以正常读出和擦写
离线bg6qbt
发帖
7255
只看该作者 5楼 发表于: 2009-04-02
'
可以正常读出和擦写
'
换台电脑试试...
离线XLDZZ
发帖
443
只看该作者 6楼 发表于: 2009-04-10
换了电脑,问题依旧。

不知那位高手指点指点
离线bellstudio
发帖
2820
只看该作者 7楼 发表于: 2009-04-11
是正确的,你那编程器的问题。
你看配置位bit12,是无效位,但是读取值是1,编程器错误的以为会读为0
就这么出错的
离线bellstudio
发帖
2820
只看该作者 8楼 发表于: 2009-04-11
编程器的问题,bit12无效位应读为1,编程器误以为应为0
就这样
离线XLDZZ
发帖
443
只看该作者 9楼 发表于: 2009-04-12
是的,今天刚试了一下。如果把无效位都改成0,就不会有问题了。

但是比较奇怪,刚写了一段测试程序,来测试编程器。程序如下:

list       p=16f876
    #include<p16f876a.inc>        
    __config 0x3f3b
    org 000h
    nop
    goto main

    main
    bcf status,rp0
    bcf status,rp1
    clrf portb
    bsf status,rp0
    bcf status,rp1
    clrf trisb
    bcf status,rp0
    bcf status,rp1
    loop
    bsf portb,7
    nop
    nop
    bcf portb,7
    nop
    nop
    goto loop

    end

结果没反应,不知道是编程器问题还是我的片子有问题。
离线bellstudio
发帖
2820
只看该作者 10楼 发表于: 2009-04-12
你用眼睛看还是示波器啊,2个周期的间隔,眼睛看不见吧
离线XLDZZ
发帖
443
只看该作者 11楼 发表于: 2009-04-12
万用表加20m模拟示波器
离线bellstudio
发帖
2820
只看该作者 12楼 发表于: 2009-04-12
时钟多少?延时再长一些呢?中断先关掉吧
另外,换bank用伪指令banksel比较方便直观,比如banksel portb