打印

16F73的配置字如何写?

[复制链接]
4355|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
8086|  楼主 | 2013-2-27 20:20 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
如题。
再遇到类似问题在什么文件里找?
谢谢!
沙发
8086|  楼主 | 2013-2-27 20:23 | 只看该作者
我用C语言,MPLAB IDE.

使用特权

评论回复
板凳
Light_David| | 2013-2-27 22:05 | 只看该作者
__CONFIG();

使用特权

评论回复
地板
yewuyi| | 2013-2-28 08:36 | 只看该作者
配置字的定义在编译器安装目录下的该型号对应头文件中,你首先在网上查询一下__CONFIG的使用方法。

使用特权

评论回复
5
8086|  楼主 | 2013-2-28 12:08 | 只看该作者
__CONFIG(XT & WDTDIS & LVPDIS);    //定义配置字,晶振类型:XT,关闭开门狗,禁止低电压编程

这是16F877A的写法,在73里不被承认。

使用特权

评论回复
6
yewuyi| | 2013-2-28 13:37 | 只看该作者
8086 发表于 2013-2-28 12:08
__CONFIG(XT & WDTDIS & LVPDIS);    //定义配置字,晶振类型:XT,关闭开门狗,禁止低电压编程

这是16F87 ...

打开你所使用的C编译器安装目录下的该型号对应头文件,在我的PICC9.80版本下面的头文件名称为pic16f7x.h。
打开后,一般在文件最后有关于配置字的宏,在你的应用程序中使用__CONFIG();正确调用这些宏即可。
如果我的PICC9.80版本下的配置字宏定义为:
#define CONFIG_ADDR 0x2007
/*osc configurations*/
#define RC  0x3FFF // resistor/capacitor
#define HS  0x3FFE // high speed crystal/resonator
#define XT  0x3FFD // crystal/resonator
#define LP  0x3FFC // low power crystal/resonator
/*watchdog*/
#define WDTEN  0x3FFF // watchdog timer enable
#define WDTDIS  0x3FFB // watchdog timer disable
/*power up timer*/
#define PWRTEN  0x3FF7 // power up timer enable
#define PWRTDIS  0x3FFF // power up timer disable
/*brown out reset*/
#define BOREN  0x3FFF // brown out reset enable
#define BORDIS  0x3FBF // brown out reset disable
/*code protection*/
#define UNPROTECT 0x3FFF // do not protect the code
#define PROTECT  0x3FEF // protect the program code

根据以上的宏,你是否发现了问题所在?其实很简单,那就是在PIC16F73的配置字,根本没有 LVPDIS这个东西,你瞎写一通,电脑当然会无情的叉叉你。

使用特权

评论回复
7
yewuyi| | 2013-2-28 13:40 | 只看该作者
请记住,在你的应用程序中写的任意一条指令或者字符等,你都必须应该彻底弄清楚它的由来、作用,否则请不要写它。

而你当前的这个问题和PIC、MPLAB、PICC都没啥关系,纯粹是基本的C语言基本知识问题。

使用特权

评论回复
8
兰天白云| | 2013-3-1 10:30 | 只看该作者
难得还有yewuyi这样热心的版主,现在从事管理工作较多,发现很多新人很浮躁,资料不看就搞开了,结果到处碰壁,延期是家常便饭,开发完成后性能又不够稳定,哎,悲哀

使用特权

评论回复
评论
john_lee 2013-3-1 11:17 回复TA
+1 
9
8086|  楼主 | 2013-3-1 20:42 | 只看该作者
那一句是我随手贴来的,原来遇到的问题不是这个。主要是编译通过,但烧写软件调入文件后配置字不是期待的设置。
后来发现烧写软件有缺陷,看过16F73手册后,现在通过 __CONFIG(0X02); 解决。
谢谢yewuyi的详细解释,我还是学到了很多东西。再次感谢。

使用特权

评论回复
10
8086|  楼主 | 2013-3-1 20:47 | 只看该作者
[img][/img]

使用特权

评论回复
11
8086|  楼主 | 2013-3-1 20:47 | 只看该作者
但我确实没找到这个文件

使用特权

评论回复
12
兰天白云| | 2013-3-2 14:10 | 只看该作者
如果使用ICD3烧写,也可以在烧写时配置(我就是这么干的,在源程序里不配置),在烧写时会有选项,是以源程序为准还以烧写器配置为准

使用特权

评论回复
13
8086|  楼主 | 2013-3-2 22:23 | 只看该作者
烧写量大,不想操作烧写界面得配置。所以在源程序中配置。正考虑买脱机烧写器。。。。。。。。。。。

谢谢各位!

使用特权

评论回复
14
yewuyi| | 2013-3-4 09:34 | 只看该作者
8086 发表于 2013-3-1 20:47
[/img]

pic16f7x.h

不是*

使用特权

评论回复
15
8086|  楼主 | 2013-3-7 12:10 | 只看该作者
*  在操作系统里是通配符,可以代替一个或多个字符!你试一下?

使用特权

评论回复
16
S020700| | 2015-3-8 21:13 | 只看该作者
如果你使用多种单片机,可能需要你在MPLAB软件中选择芯片,具体参考newjinshan.com/context.asp?id=4868

使用特权

评论回复
17
liu0000feng| | 2015-5-21 16:53 | 只看该作者
用MPLAB X 可以直接生成配置不用在写了!

使用特权

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

本版积分规则

15

主题

47

帖子

0

粉丝