STM32 Proteus UCOSII系统DS1302万年历时钟秒表控制系统-0056
Proteus仿真小实验:
STM32 Proteus UCOSII系统DS1302万年历时钟秒表控制系统-0056
功能:
硬件组成:STM32F103R6单片机 +LCD1602显示器+多个按键+DS1302北京时间
1.单片机程序使用UCOSII操作系统,秒表计算任务、DS1302读取任务、显示任务、按键任务
2.单片机读取DS1302北京时间,显示在LCD1602上,显示年月日时分秒。
3.有一个秒表开启/暂停按键,按下后开启秒表计时。有秒表清零键 点击后秒表清零。
4.有多个按键设定年月日时分秒。
有功能视频哦:
可以哔哩哔哩B站,搜索UP主“单片机仿真汇”。在其空间中搜索关键词“DS1302万年历”即可找到对应详细功能视频和介绍。
电路图:
部分源代码:
void main()
{
//秒信号任务
//设置任务优先级
#define Miao_TASK_PRIO 2
//设置任务堆栈大小
#define Miao_STK_SIZE 64
//任务堆栈
OS_STK Miao_TASK_STK[Miao_STK_SIZE];
//任务函数
void Miao_task(void *pdata);
//LCD显示任务
//设置任务优先级
#define LCD1602_TASK_PRIO 4
//设置任务堆栈大小
#define LCD1602_STK_SIZE 64
//任务堆栈
OS_STK LCD1602_TASK_STK[LCD1602_STK_SIZE];
//任务函数
void LCD1602_task(void *pdata);
//时间计算任务
//设置任务优先级
#define TIME_TASK_PRIO 3
//设置任务堆栈大小
#define TIME_STK_SIZE 64
//任务堆栈
OS_STK TIME_TASK_STK[TIME_STK_SIZE];
//任务函数
void TIME_task(void *pdata);
//按键处理任务
//设置任务优先级
#define KEY_TASK_PRIO 1
//设置任务堆栈大小
#define KEY_STK_SIZE 64
//任务堆栈
OS_STK KEY_TASK_STK[KEY_STK_SIZE];
//任务函数
void KEY_task(void *pdata);
}