- 打卡等级:常住居民I
- 打卡总天数:78
- 最近打卡:2026-07-21 13:27:09
已绑定手机
版主
- 积分
- 1069
|
32-通过定时器周期性调度任务综合例程,简单实用的任务调度系统,推荐,STC32G144K246实验箱演示程序
主程序main.C代码如下(汇编版本在附件中):
/*---------------------------------------------------------------------*/
/* --- Web: www.STCAI.com ---------------------------------------------*/
/* --- BBS: www.STCAIMCU.com -----------------------------------------*/
/* 如果要在程序中使用此代码,请在程序中注明使用了STC的资料及程序 */
/*---------------------------------------------------------------------*/
#include "Task.h"
#include "System_init.h"
/************* 功能说明 **************
本例程基于STC32G144K246为主控芯片的实验箱进行编写测试。
使用Timer0的16位自动重装来产生1ms节拍,程序使用这个节拍进行任务调度.
每个任务设置相应的调度周期,根据设置的周期时间执行任务函数.
1. 左边4位LED显示时间(小时,分钟).
2. 右边4位数码管显示温度值, 分辨率0.1度.
3. 矩阵键盘扫描,按一个按键蜂鸣器响一下.
4. ADC按键 “0”:小时+; “1”:小时-; “2”:分钟+; “3”:分钟-.
5. 串口2通过实验箱USB2接口的CDC2 COM口打印时钟信息.
下载时, 选择IRC频率 48MHz,主时钟使用 PLL 90MHz 时钟频率.
******************************************/
//========================================================================
// 函数: void main(void)
// 描述: 主函数程序.
// 参数: None.
// 返回: None.
// 版本: V1.0, 2025-12-05
//========================================================================
void main(void)
{
EAXFR = 1; //扩展寄存器(XFR)访问使能
CKCON = 0; //提高访问XRAM速度
SYS_Init();
while (1)
{
Task_Pro_Handler_Callback();
}
}
|
|