Pic12F508可用pic什么pic单片机视频教程代替?

21ic官方微信-->
PIC单片机12F508内部振荡问题
中级技术员, 积分 107, 距离下一级还需 193 积分
中级技术员, 积分 107, 距离下一级还需 193 积分
中级技术员, 积分 107, 距离下一级还需 193 积分
中级技术员, 积分 107, 距离下一级还需 193 积分
请教大家,我用HI-TEH9.80开发12F508,出现一个问题,软件无法编译OSCCAL,但是头文件已经定义了OSCCAL
#include&pic.h&
//#include&htc.h&
//#include&piclite.h&
#include&pic12f508.h&
其中pic12f508.h里定义了
// Register: OSCCAL
volatile& && && &unsigned char& && && &&&OSCCAL& && && && &&& 0x005;
// bit and bitfield definitions
volatile bit CAL0& && && && && & @ ((unsigned)&OSCCAL*8)+1;
volatile bit CAL1& && && && && & @ ((unsigned)&OSCCAL*8)+2;
volatile bit CAL2& && && && && & @ ((unsigned)&OSCCAL*8)+3;
volatile bit CAL3& && && && && & @ ((unsigned)&OSCCAL*8)+4;
volatile bit CAL4& && && && && & @ ((unsigned)&OSCCAL*8)+5;
volatile bit CAL5& && && && && & @ ((unsigned)&OSCCAL*8)+6;
volatile bit CAL6& && && && && & @ ((unsigned)&OSCCAL*8)+7;
为什么编译时候说未定义OSCCAL
Error& &[800] F:\4TX\111.c; 31. undefined symbol &OSCCAL&
//Warning [1352] F:\4TX\111.c; 30. truncation of operand value (0x1ff) to 8 bits
中级技术员, 积分 107, 距离下一级还需 193 积分
中级技术员, 积分 107, 距离下一级还需 193 积分
中级技术员, 积分 107, 距离下一级还需 193 积分
中级技术员, 积分 107, 距离下一级还需 193 积分
大神出来看看!
我个人感觉是编译器有问题,但是没证据。头文件什么都有引用的
资深技术员, 积分 402, 距离下一级还需 98 积分
资深技术员, 积分 402, 距离下一级还需 98 积分
资深技术员, 积分 402, 距离下一级还需 98 积分
资深技术员, 积分 402, 距离下一级还需 98 积分
#include&pic12f508.h& 不用也无所谓
看看芯片手册OSCCAL是干什么用的,可读写吗?
中级技术员, 积分 107, 距离下一级还需 193 积分
中级技术员, 积分 107, 距离下一级还需 193 积分
中级技术员, 积分 107, 距离下一级还需 193 积分
中级技术员, 积分 107, 距离下一级还需 193 积分
OSCCAL是内部振荡器校准寄存器,写入数据校准用。
这是在PIC.H文件中搜索到的有关PIC12F508的头文件引用说明:
#if defined(_12C508)& & & & || defined(_12C509)& & & & ||\
& & defined(_12F508)& & & & || defined(_12F509)& & & & ||\
& & defined(_12C508A)& & & & || defined(_12C509A)& & & & ||\
& & defined(_12CE518)& & & & || defined(_12CE519)& & & & ||\
& & defined(_12C509AG)& & & & || defined(_12C509AF)& & & & ||\
& & defined(_12CR509A)& & & & || defined(_RF509AG)& & & & ||\
& & defined(_RF509AF)
& & & & #include& & & & &pic125xx.h&
-----------------------------------------
pic125xx.h这个文件和PIC.H在编译器安装目录的同一路径下。
#include&pic12f508.h&
这个文件不需要,直接#include&pic.h&,然后在MPLAB中设置单片机型号即可,编译器会自动根据PIC.H中的引用路径调用正确的头文件。
中级技术员, 积分 166, 距离下一级还需 134 积分
中级技术员, 积分 166, 距离下一级还需 134 积分
中级技术员, 积分 166, 距离下一级还需 134 积分
中级技术员, 积分 166, 距离下一级还需 134 积分
PICC 9.80应该很稳定。至于你这里的问题,是不是要设置头文件路径?
助理工程师, 积分 1006, 距离下一级还需 994 积分
助理工程师, 积分 1006, 距离下一级还需 994 积分
助理工程师, 积分 1006, 距离下一级还需 994 积分
助理工程师, 积分 1006, 距离下一级还需 994 积分
以前遇到过这种情况, 12F506&&PICC 9.80 下编译时也说有个寄存器未定义,换9.65就没有报错.
中级技术员, 积分 107, 距离下一级还需 193 积分
中级技术员, 积分 107, 距离下一级还需 193 积分
中级技术员, 积分 107, 距离下一级还需 193 积分
中级技术员, 积分 107, 距离下一级还需 193 积分
目前问题初步解决,我把校准寄存器放到程序的最后一行(他的下一行是“}”),编译器居然就能通过编译不在出现OSCCAL未定义的错误,有点邪门!(我猜应该是这个编译器在用F508设计的时候程序起始位置就是最后一行的----我软件仿真的时候发现的),大家怎么看呢?
中级技术员, 积分 134, 距离下一级还需 166 积分
中级技术员, 积分 134, 距离下一级还需 166 积分
中级技术员, 积分 134, 距离下一级还需 166 积分
中级技术员, 积分 134, 距离下一级还需 166 积分
__CONFIG& & 在哪?
扫描二维码,随时随地手机跟帖
技术高手奖章
人才类勋章
时间类勋章
技术奇才奖章
人才类勋章
涓涓之细流
发帖类勋章
终身成就奖章
等级类勋章
坚毅之洋流
发帖类勋章
时间类勋章
技术领袖奖章
人才类勋章
技术新星奖章
人才类勋章
时间类勋章
您需要登录后才可以回帖
热门推荐 /5PIC12F508_百度百科
清除历史记录关闭
声明:百科词条人人可编辑,词条创建和修改均免费,绝不存在官方及代理商付费代编,请勿上当受骗。
本词条缺少名片图,补充相关内容使词条更完整,还能快速升级,赶紧来吧!
PIC12F508是低成本、高性能、8 位、全静态的基于闪存的 CMOS。
PIC12F508功能描述
PIC12F508采用 RISC 架构,仅有 33 条单字 / 单周期指令。除程序跳转指令(为两个周期)外的所有其他指令都是单周期 (200 ns)的。PIC12F508器件的性能比同价位的同类产品要高出很多。 12位宽的指令是高度对称的,这样它的代码密集程度是同类 8 位单片机的两倍。易于使用且便于记忆的指令集大大缩短了开发时间。PIC12F508产品还配备了可以降低系统成本和功耗的特殊功能。上电复位(POR)和器件复位定时器(DRT)使器件不再需要外部复位电路。有四种振荡器配置可选择 ,包括INTRC 内部振荡模式和节省功耗的 LP (低功耗)振荡模式。节省功耗的休眠模式、看门狗定时器和代码保护功能提高了系统的成本、功耗和可靠性。
PIC12F508应用
PIC12F508器件适合的应用有:个人护理设备,安全系统到低功耗远程发送器 / 接收器。闪存技术可以非常快速和方便地定制应用程序 。小型封装的器件可用于过孔或表面封装,使这些单片机可以完全适应有空间限制的应用。低成本、低功耗、高性能、使用简便和 I/O 灵活性使PIC12F508器件能够在您认为根本不能使用单片机的场合也可以大显神通。
PIC12F508特性
单片机与其他处理器的区别在于其具有处理实时应用需要的特殊电路。PIC12F508单片机具有许多特性,旨在最大限度地提高系统的可靠性,通过减少外部元件将成本降至最低,并且还提供了低功耗工作模式和代码保护功能。特性如下:
- 振荡器选择
- 上电复位 (POR)
- 器件复位定时器 (DRT)
- 引脚电平变化时从休眠模式唤醒
- 看门狗定时器 (WDT)
- 代码保护
- 在线串行编程
清除历史记录关闭

我要回帖

更多关于 pic单片机与51的区别 的文章

 

随机推荐