休眠模式下PHP实现的定时器控制:抓取百度搜索结果并存储
需积分: 44 118 浏览量
更新于2024-08-10
收藏 1.85MB PDF 举报
"休眠模式下的定时器操作在单片机编程中是一个重要的功能,尤其在节能和低功耗的应用场景中。本示例是用PHP实现的,它演示了如何在休眠模式下抓取百度搜索结果页面的【相关搜索词】并存储到TXT文件。以下是对相关知识点的详细解释:
1. **定时器门控操作**:
- 16位定时器在门控时间累加模式下工作,只有当T1CK引脚的门控输入信号为高电平时,定时器内部的TCY才会递增。
- 通过设置T1CON寄存器的TGATE位(T1CON<6>)为1,可以启用门控模式。
- 定时器需要被使能(TON=1)并且时钟源设置为外部时钟(TCS=0)。
- 当CPU进入空闲模式,如果TSIDL=0,定时器会继续计数,否则,如果TSIDL=1,CPU休眠后定时器停止计数。
2. **定时器预分频器**:
- 16位定时器的输入时钟可以有1:1、1:8、1:64或1:256四种预分频选择,通过TCKPS<1:0>(T1CON<5:4>)控制。
- 预分频器的计数器在以下事件发生时清零:写入TMR1寄存器、清除TON位(T1CON<15>)、器件复位(如POR和BOR)。
- 如果定时器被禁用(TON=0),预分频器不会复位,因为其时钟停止。
3. **休眠模式下的定时器操作**:
- 在CPU休眠期间,如果定时器被使能(TON=1),时钟源选择外部时钟(TCS=1),并且TSYNC位(T1CON<2>)为0(表示外部时钟源是异步的),定时器将持续工作。
- 定时器计数直到达到周期寄存器设定的值,然后自动复位到0x0000。
- 当定时器计数值与周期寄存器匹配且中断允许位设为1时,会产生中断。
此外,本示例中使用的器件是dsPIC30F2010,一种高性能的16位数字信号控制器。在使用此类单片机进行定时器操作时,需要注意相关的寄存器配置和中断处理。同时,Microchip Technology Inc.提醒用户在使用他们的产品时,应当参考最新的英文文档,因为中文版本可能不包含所有详细信息,并且Microchip不对翻译中的任何错误负责。在涉及生命安全和关键应用时,用户应自行承担风险,并确保设计符合所有技术规范。最后,注意Microchip的知识产权,未经许可,不得转让任何许可证。"
2011-12-21 上传
2009-11-12 上传
2022-06-14 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
2021-03-30 上传
点击了解资源详情
点击了解资源详情
Fesgrome
- 粉丝: 37
- 资源: 3821
最新资源
- Fisher Iris Setosa数据的主成分分析及可视化- Matlab实现
- 深入理解JavaScript类与面向对象编程
- Argspect-0.0.1版本Python包发布与使用说明
- OpenNetAdmin v09.07.15 PHP项目源码下载
- 掌握Node.js: 构建高性能Web服务器与应用程序
- Matlab矢量绘图工具:polarG函数使用详解
- 实现Vue.js中PDF文件的签名显示功能
- 开源项目PSPSolver:资源约束调度问题求解器库
- 探索vwru系统:大众的虚拟现实招聘平台
- 深入理解cJSON:案例与源文件解析
- 多边形扩展算法在MATLAB中的应用与实现
- 用React类组件创建迷你待办事项列表指南
- Python库setuptools-58.5.3助力高效开发
- fmfiles工具:在MATLAB中查找丢失文件并列出错误
- 老枪二级域名系统PHP源码简易版发布
- 探索DOSGUI开源库:C/C++图形界面开发新篇章