国学芯用 发表于 2026-6-30 13:38:11

27-通过定时器周期性调度任务综合例程,简单实用的任务调度系统,推荐AI8051U实验箱演

27-通过定时器周期性调度任务综合例程,简单实用的任务调度系统,推荐AI8051U实验箱演示程序
主程序main.C代码如下(汇编版本在附件中):

/*---------------------------------------------------------------------*/
/* --- Web: www.STCAI.com ---------------------------------------------*/
/* --- BBS: www.STCAIMCU.com-----------------------------------------*/
/* 如果要在程序中使用此代码,请在程序中注明使用了STC的资料及程序            */
/*---------------------------------------------------------------------*/

/*************功能说明    **************

本例程基于AI8051U为主控芯片的实验箱进行编写测试。

使用Timer0的16位自动重装来产生1ms节拍,程序使用这个节拍进行任务调度.

每个任务设置相应的调度周期,根据设置的周期时间执行任务函数.

1. 左边4位LED显示时间(小时,分钟).
2. 右边4位数码管显示温度值, 分辨率0.1度.
3. 矩阵键盘扫描,按一个按键蜂鸣器响一下.
4. ADC按键 “0”:小时+; “1”:小时-; “2”:分钟+; “3”:分钟-;

下载时, 选择时钟 24MHz (可以在配置文件"config.h"中修改).

******************************************/

//========================================================================
// 函数: void main(void)
// 描述: 主函数程序.
// 参数: None.
// 返回: None.
// 版本: V1.0, 2022-05-26
//========================================================================
void main(void)
{
    WTST = 0;//设置程序指令延时参数,赋值为0可将CPU执行指令的速度设置为最快
    EAXSFR(); //扩展寄存器(XFR)访问使能
    CKCON = 0; //提高访问XRAM速度

    SYS_Init();

    while (1)
    {
      Task_Pro_Handler_Callback();
    }
}


页: [1]
查看完整版本: 27-通过定时器周期性调度任务综合例程,简单实用的任务调度系统,推荐AI8051U实验箱演