历史上的今天
返回首页

历史上的今天

今天是:2025年03月09日(星期日)

正在发生

2020年03月09日 | PIC16位单片机——彻底弄懂时钟

2020-03-09 来源:eefocus

一直以来写程序都是看参考资料和书,这次的16位单片劫dsPIC33EP32GP502没有一点资料。因此趁机也好好深入学习一下!首先看振荡器的选择吧。


首先看一下时钟框图:PIC16位单片机CAN(2)彻底弄懂时钟 - zmurder - 起点的博客
 

我们使用的是外部晶振,所以配置为HS,FCY是CPU时钟,FP是外设时钟,FCY=FP(除打盹模式外)。FCY=Fosc/2。也就是cpu时钟是晶振频率的1/2。下面还有分频。DOZE<2:0>:011 = FCY 被 8 分频 (默认)处理器时钟分频比选择位。


因此实际的FCY=0.5MHz(使用8M的外部晶振,并八分频8/2/8=0.5MHz)。

 

看一下振荡器选择配置位的说明:

PIC16位单片机CAN(2)彻底弄懂时钟 - zmurder - 起点的博客

  这里我们需要看的是FOSCSEL配置位 第二列是寄存器地址,需要设置的是IESO<7>和FNOSC<2:0>

看一下头文件p33EP32GP502.h里面的说明:

/* Register FOSCSEL (0x57f8)                               */

 

 

extern __attribute__((space(prog))) int _FOSCSEL;

#define _FOSCSEL(x) __attribute__((section("__FOSCSEL.sec"),space(prog))) int _FOSCSEL = (x);

 

 

/*

** Only one invocation of FOSCSEL should appear in a project,

** at the top of a C source file (outside of any function).

**

** The following constants can be used to set FOSCSEL.

** Multiple options may be combined, as shown:

**

** _FOSCSEL( OPT1_ON & OPT2_OFF & OPT3_PLL )

**

**   Oscillator Source Selection:

**     FNOSC_FRC            Internal Fast RC (FRC)

**     FNOSC_FRCPLL         Fast RC Oscillator with divide-by-N with PLL module (FRCPLL)

**     FNOSC_PRI            Primary Oscillator (XT, HS, EC)

**     FNOSC_PRIPLL         Primary Oscillator with PLL module (XT + PLL, HS + PLL, EC + PLL)

**     FNOSC_LPRC           Low-Power RC Oscillator (LPRC)

**     FNOSC_FRCDIVN        Internal Fast RC (FRC) Oscillator with postscaler

**

**   Two-speed Oscillator Start-up Enable bit:

**     IESO_OFF             Start up with user-selected oscillator source

**     IESO_ON              Start up device with FRC, then switch to user-selected oscillator source

**

*/

 

 

#define FNOSC_FRC            0xFFF8

#define FNOSC_FRCPLL         0xFFF9

#define FNOSC_PRI            0xFFFA

#define FNOSC_PRIPLL         0xFFFB

#define FNOSC_LPRC           0xFFFD

#define FNOSC_FRCDIVN        0xFFFF

 

 

#define IESO_OFF             0xFF7F

#define IESO_ON              0xFFFF


由头文件得知

1:Register FOSCSEL (0x57f8),也就是寄存器地址是0x57f8,和表格一致。

2:_FOSCSEL(FNOSC_PRI&IESO_OFF); 我们在程序开头由此句来声明我们的配置位是0XFFFA&0XFF7F=0XFF7A

 也就是FOSCSEL=0XFF7A  根据寄存器说明得知我们的配置是外部HS振荡器并使用用户选择的振荡器源启动器件

3:配置位只是说明使用的振荡器,并不设置分频比DOZE。因此DOZE还是默认的8分频。

 

总结:配置时钟有以下几个方面:

1:配置相应的配置位选择时钟源是内部时钟还是外部晶振等。

2:配置相应的寄存器选择分频比。

推荐阅读

史海拾趣

Excel-Display Corporation公司的发展小趣事

EDC一直将产品质量视为企业的生命线。为了确保产品质量,公司建立了严格的质量管理体系,从原材料采购到生产过程中的每一个环节都进行严格的质量控制。

此外,EDC还注重售后服务,为客户提供全方位的技术支持和解决方案。这些举措让EDC赢得了客户的信赖和好评,也为公司赢得了更多的市场份额。

DESCO公司的发展小趣事

面对数字化浪潮和智能制造的兴起,DESCO公司积极拥抱变革。公司投入大量资金引进先进的自动化设备和智能化生产线,提高生产效率和产品质量。同时,DESCO还加强了数字化营销和客户服务体系建设,提升了客户体验和市场响应速度。这些举措使公司在激烈的市场竞争中保持了领先地位。

GWP Group公司的发展小趣事

作为一家有社会责任感的企业,DESCO公司始终关注环境保护和可持续发展。公司采用环保材料和生产工艺,减少生产过程中的污染排放。同时,DESCO还积极参与社会公益活动,为当地社区和弱势群体提供帮助和支持。这些举措赢得了社会各界的广泛赞誉和认可。

ATP [ATP Electronics]公司的发展小趣事

面对工业应用领域的特殊需求,ATP敏锐地捕捉到了市场机遇。公司成功推出了业界首款工业级SLC e.MMC产品E800Pi,这款产品以其高达6万次的单元擦写耐久性和出色的耐高温、交叉温度能力,受到了工业领域的广泛认可。E800Pi的推出,不仅拓宽了ATP的产品线,也进一步提升了公司在工业存储解决方案领域的市场地位。

CIF公司的发展小趣事

C公司是一家专注于电子产品贸易的CIF公司。为了降低成本、提高效率,C公司积极整合全球供应链资源,与多家优质的电子产品生产商建立了长期合作关系。通过优化采购、生产和物流等环节,C公司成功降低了运营成本,提高了市场竞争力。

Densitron公司的发展小趣事

在电子行业的激烈竞争中,Densitron公司始终坚持技术创新作为发展的核心动力。早期,公司投入大量研发资源,成功开发出一种新型的铟锡氧化物(ITO)材料,这种材料在触摸屏领域具有出色的性能,使得公司的产品在市场上脱颖而出。随着技术的不断升级,Densitron公司又相继推出了一系列创新产品,不仅满足了客户日益增长的需求,也推动了整个行业的进步。

问答坊 | AI 解惑

【ISSCC】美国UCLA新型软件无线RF芯片,融合宽带电路与离散时间处理功能

美国UCLA(University of California, Los Angeles,加利福尼亚大学洛杉矶分校)和美国WiLinx公司在日前召开的“ISSCC 2006”会议上发表了面向软件无线设备的宽带接收IC。该芯片支持800MHz频带~5GHz频带,可满足IEEE802.11g、GSM、CDMA和W-CDMA等 ...…

查看全部问答>

LCD12864的资料

LCD12864带汉字库的资料 [ 本帖最后由 西门 于 2009-5-12 19:54 编辑 ]…

查看全部问答>

倒车雷达的超声波测距最简单的单芯片控制方案

倒车雷达的超声波测距最简单的单芯片控制方案 GM3101 是专用于倒车雷达的超声波测距芯片,该芯片提供4 路超声波探头的驱动,并根据超声波特性和倒车雷达的使用环境进行了一系列智能化处理,在保证超声波测距精确性的基础上,更加强了报警功能的准 ...…

查看全部问答>

工程师在FPGA设计中面临的挑战?大家来谈谈吧!市场需要?绿色设计?

最近的新闻常看到Xilix出了65ns工艺的FPGA,Altera也推出40ns的收发器FPGA,工艺不断提高,容量不断扩大,加入的IP核也越来越多,但实际FPGA设计中,工程师选择FPGA中考虑的是什么呢?       第一个个应该是市场吧,市场需要 ...…

查看全部问答>

Searl Effect Technology and the inventor of the Searl Effect Generator (SEG)

塞尔效应技术及塞尔效应发电机的发明者 PART 1:  The Searl Effect Generator (SEG) has the functional resemblance to a linear induction motor (LIM) designed on a vertical track, rounded and joined at the ends for continuous motion ...…

查看全部问答>

marvell 8688 wifi驱动

有谁做过marvell 8688 wifi的驱动,我用的是SPI接口,平台是三星的2440,怎么加载上GSPI8688_WLAN.dll后。winCE上不能正确出现正常的网络连接。…

查看全部问答>

S3C2440A主频怎样从400M提高到533M?

哪位大虾能给指点一下?谢谢! 我现在修改了bsp_cfg.h中的S3C2440A_FCLK和startup.s中的MPLL,结果内核启动到初始化NandFlash之前就挂了.…

查看全部问答>

新人提问,,请大家帮帮忙,关于windows Embedded

我用的是华为的MAS.里面采用的是Windows Embedded  sp1 问题有几个 第一个是 我想装一下IIS,可是添加删除里面无法安装.我应该怎么操作 第二个是 华为MAS的某些自带的程序可能组件化了.我该如何停止掉呢 第三个是 我打SP2补丁上去好像 ...…

查看全部问答>

发个收藏的ST7920核心的12864程序集合吧~

这是我最近在网上找的关于12864 ST7920核心的程序集合,里面的程序比较多,希望对大家有帮助…

查看全部问答>

CCSv4.0.2,32k限制版

CCSv4.0.2,32k限制版安装完成后,说是此版本没有自带XDSv2的驱动。之后给出更新方法,但是在URL的框输入http://software-dl.ti.com/dsps/dsps_public_sw/sdo_ccstudio/CCSv4/Updates/XDS100V2/site.xml,更新提示说URL错误。 谁能提供一个正确的UR ...…

查看全部问答>