当前位置:首页>java>从计时器入手理解单片机中断:概念与编程指南

从计时器入手理解单片机中断:概念与编程指南

  • 2026-01-23 05:58:33
从计时器入手理解单片机中断:概念与编程指南

一、引子:为什么计时器需要中断?

在单片机编程中,计时器(也叫定时器)是实现定时功能的核心模块,比如让LED1秒闪烁一次、让蜂鸣器定时报警等。但如果只用查询方式使用计时器,会暴露一个严重问题:主程序会被卡死在等待计时器溢出的循环中,无法执行其他任务。

举个直观的例子:用查询方式实现1秒定时LED闪烁,主程序需要不断检查计时器的溢出标志位(比如TF0),在等待的1秒内,无法响应按键、采集传感器数据等其他操作。这就像你守在烤箱旁等面包烤熟,期间什么都做不了——效率极低。

中断就是解决这个问题的关键:让计时器在计时结束后主动提醒单片机,单片机暂停当前主程序,先处理定时任务(比如翻转LED),处理完后再回到主程序继续执行之前的操作。就像烤箱自带的提醒功能,你可以在等待时做其他事,听到提醒再去处理面包。

核心关联:计时器是中断的常用触发源,通过计时器中断的学习,能最直观地理解中断的本质是主动提醒+并行处理’”

二、基础铺垫:单片机计时器的核心逻辑

在深入中断前,先简单梳理计时器的基本工作原理(以经典51单片机为例),避免后续理解中断时产生障碍:

2.1 计时器的本质:计数与溢出

单片机计时器的核心是计数器,默认工作在定时模式时,计数器会以机器周期为单位累加计数(机器周期=12/晶振频率,比如11.0592MHz晶振的机器周期约1.085μs)。当计数值从初始值累加到最大值(比如16位计时器的最大值65535)后,会产生溢出,此时计时器会置位溢出标志位(如TF0),表示定时时间到

比如要实现1ms定时:先计算1ms需要的计数次数(1000μs/1.085μs≈922次),再给计数器赋初值(65536-922=64614,即0xFC66H),计数器从0xFC66H开始累加,922次后溢出,就代表1ms时间到。

2.2 两种使用方式:查询 vs 中断

计时器溢出后,有两种处理方式,对比之下更能凸显中断的优势:

查询方式:主程序循环检查溢出标志位(TF0),一旦检测到TF0=1,就执行定时任务,然后重置标志位和计时器初值。缺点:主程序被循环阻塞,无法执行其他任务;

中断方式:开启计时器中断后,溢出时硬件会自动触发中断,暂停主程序,跳转到中断服务函数执行任务,执行完后自动返回主程序。优点:主程序可正常执行其他任务,实现并行处理

三、核心概念:单片机中断到底是什么?

通过计时器的场景,我们可以提炼出中断的通用定义:中断是单片机在执行主程序时,被外部或内部事件(如计时器溢出、按键按下、串口接收数据等)触发后,暂停当前主程序,转去执行对应中断服务函数(处理紧急任务),执行完后再回到主程序断点继续执行的机制

3.1 中断的核心要素(以计时器中断为例)

中断源:触发中断的事件/模块,这里就是计时器溢出51单片机常见中断源还有外部中断0/1、串口中断等);

中断请求:中断源触发后,会向单片机CPU发出请求信号(比如计时器置位TF0=1,就是中断请求);

中断响应CPU收到请求后,暂停主程序,保存断点地址(方便后续返回),跳转到中断服务函数;

中断服务函数:处理中断任务的专用函数(比如计时器中断中重置初值、翻转LED);

中断返回:执行完服务函数后,CPU恢复断点地址,回到主程序继续执行。

3.2 中断的核心价值:并行与高效

中断的本质是用硬件实现的多任务并行处理,无需主程序主动查询,极大提升了单片机的资源利用率。比如用计时器中断实现1LED闪烁的同时,主程序还能正常响应按键操作——这是查询方式无法实现的。

四、关键基础:51单片机中断与计时器核心寄存器

要实现计时器中断编程,必须掌握3类核心寄存器的配置(以51单片机T0计时器中断为例),这些寄存器是开启中断、控制计时器的关键:

4.1 计时器模式控制寄存器(TMOD—— 配置计时器工作模式

TMOD用于设定计时器的工作方式、计数/定时模式,低4位控制T0,高4位控制T1,核心位说明:

C/T:计数/定时模式选择,0=定时模式(计数内部机器周期,用于计时),1=计数模式(计数外部引脚脉冲);

M1M0:工作方式选择,常用方式1”M1M0=01),即16位定时模式,计数范围0~65535,溢出后需软件重装初值。

示例配置(T0定时模式,方式1):TMOD &= 0xF0; TMOD |= 0x01;(先清T0模式位,再置位方式1)。

4.2 中断允许寄存器(IE—— 开启中断开关

IE是中断的总开关+分开关,只有开启对应开关,中断才能被响应,核心位说明:

EA:总中断允许位,1=开启总中断(所有中断的总闸,必须开启),0=关闭所有中断;

ET0T0计时器中断允许位,1=开启T0中断(分闸),0=关闭T0中断。

示例配置(开启总中断和T0中断):EA = 1; ET0 = 1;

4.3 计时器控制寄存器(TCON—— 控制计时器启动与中断标志

TCON用于控制计时器启动/停止,以及标记中断请求,核心位说明:

TR0T0启动位,1=启动计时器计数,0=停止计数;

TF0T0溢出标志位,计时器溢出时硬件自动置1(触发中断请求),进入中断服务函数后硬件自动清0

示例配置(启动T0):TR0 = 1;

五、计时器中断编程流程(51单片机为例)

T0中断实现1LED闪烁为目标,梳理完整编程步骤,每一步都明确做什么、为什么做

步骤1:明确需求与参数计算

需求:LEDP1.0引脚,每1秒翻转一次;硬件参数:晶振11.0592MHz(机器周期≈1.085μs);定时精度:先实现1ms中断(再累计1000次得到1秒)。

1ms定时初值计算:

1. 1ms需要的计数次数 = 1000μs / 1.085μs ≈ 922次;

2. 16位计时器初值 = 65536 - 922 = 64614(十六进制0xFC66H);

因此,TH0=0xFC(高8位),TL0=0x66(低8位)。

步骤2:初始化配置(计时器+中断)

初始化函数的作用是给计时器和中断设置好参数,让其按预期工作,代码框架:

cvoid Timer0_Init(void) {// 1. 配置计时器T0模式:定时模式,方式1TMOD &= 0xF0; // 清T0模式位(避免影响T1)TMOD |= 0x01; // 置T0为方式1(16位定时)// 2. 给T0赋1ms定时初值TH0 = 0xFC;TL0 = 0x66;// 3. 开启中断:总中断+T0中断EA = 1; // 开启总中断(总闸)ET0 = 1; // 开启T0中断(分闸)// 4. 启动计时器T0TR0 = 1;}

步骤3:编写中断服务函数—— 处理中断任务

中断服务函数是中断触发后要执行的代码,必须遵循固定格式:void 函数名(void) interrupt 中断号 [using 寄存器组]

关键说明:

interrupt 中断号:指定中断源,T0中断的中断号是1(必须准确,否则无法触发);

重装初值:方式1无自动重装功能,需在中断中重新赋值TH0TL0,否则下次定时会变长;

任务处理:这里实现1ms计数,累计1000次后置位1秒标志位(避免在中断中执行复杂操作,影响主程序)。

代码实现:

c// 全局变量:1ms计数变量和1秒标志位(中断与主程序共享)unsigned int cnt_1ms = 0;bit flag_1s = 0;// T0中断服务函数(中断号1)void Timer0_ISR(void) interrupt 1 {TH0 = 0xFC; // 重装1ms初值(核心:方式1必须手动重装)TL0 = 0x66;cnt_1ms++; // 1ms计数+1if (cnt_1ms >= 1000) { // 累计1000次,即1秒cnt_1ms = 0; // 重置计数flag_1s = 1; // 置位1秒标志位,通知主程序执行任务}}

步骤4:主程序—— 执行常规任务,响应中断标志

主程序的逻辑是正常执行常规任务,当检测到中断标志位时,执行对应定时任务,代码框架:

c#include <reg51.h>sbit LED = P1^0; // 定义LED接P1.0引脚// 此处省略Timer0_Init()和Timer0_ISR()函数(同步骤2、3)void main(void) {LED = 0; // 初始LED熄灭(低电平点亮可调整)Timer0_Init(); // 初始化计时器和中断while(1) { // 主程序循环(常规任务)if (flag_1s == 1) { // 检测到1秒标志位flag_1s = 0; // 清标志位(准备下次响应)LED = ~LED; // 翻转LED(1秒闪烁)}// 此处可添加其他常规任务,如按键检测、传感器采集等}}

六、代码验证与关键注意事项

6.1 代码运行逻辑梳理

1. 主程序初始化LED和计时器中断后,进入while(1)循环等待;

2. 计时器T00xFC66H开始计数,每1.085μs1922次后溢出,置位TF0=1,触发T0中断;

3. CPU暂停主程序,跳转到Timer0_ISR(),重装初值、累计1ms计数;

4. 累计1000次(1秒)后,flag_1s=1,中断返回主程序;

5. 主程序检测到flag_1s=1,翻转LED,清标志位,继续循环。

6.2 常见踩坑点与解决方案

中断不触发:忘记开启总中断(EA=0)或计时器中断(ET0=0);中断号写错(T0中断号是1,不是其他值);TR0未置1(计时器未启动)。解决方案:逐一检查IE寄存器、中断号、TR0位;

定时不准:未重装计时器初值(方式1必须手动重装);晶振误差导致初值计算偏差。解决方案:中断中严格重装初值;根据实际晶振微调初值;

主程序卡顿:中断服务函数中执行复杂操作(如长时间延时、大量运算)。解决方案:中断服务函数只做轻量级任务(如计数、置标志),复杂任务放在主程序中执行;

全局变量混乱:中断与主程序共享的变量(如cnt_1msflag_1s)未正确初始化。解决方案:全局变量定义时明确初始值(如cnt_1ms=0flag_1s=0)。

七、总结与进阶扩展

通过计时器中断的学习,我们可以总结出中断编程的核心逻辑:配置中断源(如计时器)→ 开启中断开关 → 编写中断服务函数 → 主程序响应中断标志。中断的本质是硬件触发的任务切换,而计时器是最易理解的中断源——因为它的触发条件(定时结束)是可预测、可计算的。

进阶学习方向:

其他中断源:学习外部中断(按键触发)、串口中断(数据接收),理解不同中断源的优先级51单片机有中断优先级寄存器IP,可设置中断响应顺序);

高级定时模式:学习计时器的方式2”8位自动重装模式),无需在中断中手动重装初值,简化代码;

实际应用:用中断实现多任务(如同时实现LED闪烁、按键响应、串口通信),体会中断的并行处理优势。

记住:中断是单片机编程的核心技能之一,而从计时器入手是掌握中断的最佳路径——多调试代码、观察变量变化(如cnt_1msflag_1s),就能逐步理解中断的工作机制。

ESP32开发板
三天玩转单片机
Arduino开发板

STM32开发板

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-02-08 06:09:49 HTTP/2.0 GET : https://f.mffb.com.cn/a/466195.html
  2. 运行时间 : 0.296608s [ 吞吐率:3.37req/s ] 内存消耗:4,836.16kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=32b45b53a121817b33d107df725573fd
  1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
  140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000864s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001578s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000739s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.101216s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001822s ]
  6. SELECT * FROM `set` [ RunTime:0.002962s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001922s ]
  8. SELECT * FROM `article` WHERE `id` = 466195 LIMIT 1 [ RunTime:0.018463s ]
  9. UPDATE `article` SET `lasttime` = 1770502189 WHERE `id` = 466195 [ RunTime:0.001821s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 65 LIMIT 1 [ RunTime:0.007006s ]
  11. SELECT * FROM `article` WHERE `id` < 466195 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.014237s ]
  12. SELECT * FROM `article` WHERE `id` > 466195 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.009530s ]
  13. SELECT * FROM `article` WHERE `id` < 466195 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.015653s ]
  14. SELECT * FROM `article` WHERE `id` < 466195 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.004930s ]
  15. SELECT * FROM `article` WHERE `id` < 466195 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.012663s ]
0.303337s