STM32 Proteus UCOSII系统出租车计价系统数码管显示-0031
Proteus仿真小实验:
STM32 Proteus UCOSII系统出租车计价系统数码管显示-0031
功能:
硬件组成:STM32F103R6单片机 +74LS245驱动8位数码管+多个按键+L298电机驱动电路
1.单片机程序使用UCOSII操作系统
2.用一个独立按键档位控制汽车前进档位变化,根据按下次数不同,分别是1档一2档一3档一4档一1档.....,档位不同体现在直流电机的转速变化,档位值显示数显管;
3.根据档位值,采用PWM方式控制电机的旋转速度,电机运行运行时期,实时将里程数显示在8位数显管上;
4.有暂定功能;当暂停按钮按下,直流电机停转,里程、费用数静止不变;
5.具有里程清零功能;清零按键点击后时,里程表显示为0。
有功能视频哦:
可以哔哩哔哩B站,搜索UP主“单片机仿真汇”。在其空间中搜索关键词“出租车计价 ”即可找到对应详细功能视频和介绍。
电路图:
部分源代码:
void main()
{
//开始任务
void start_task(void *pdata)
{
OS_CPU_SR cpu_sr=0;
pdata = pdata;
OS_ENTER_CRITICAL(); //进入临界区(无法被中断打断)
OSTaskCreate(Miao_task,(void *)0,(OS_STK*)&Miao_TASK_STK[Miao_STK_SIZE-1],Miao_TASK_PRIO);
OSTaskCreate(shumaguan_task,(void *)0,(OS_STK*)&shumaguan_task_STK[LCD1602_STK_SIZE-1],shumaguan_task_PRIO);
OSTaskCreate(KEY_task,(void *)0,(OS_STK*)&KEY_TASK_STK[KEY_STK_SIZE-1],KEY_TASK_PRIO);
OSTaskSuspend(START_TASK_PRIO); //挂起起始任务.
OS_EXIT_CRITICAL(); //退出临界区(可以被中断打断)
}}