亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標題:
STM32單片機無刷直流電機驅動程序與Proteus仿真圖
[打印本頁]
作者:
rewsga
時間:
2023-5-4 13:47
標題:
STM32單片機無刷直流電機驅動程序與Proteus仿真圖
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
1.png
(59.06 KB, 下載次數: 31)
下載附件
2023-5-4 14:23 上傳
51hei.gif
(44.1 KB, 下載次數: 41)
下載附件
2023-5-4 21:20 上傳
單片機源程序如下:
#include "sys.h"
#include "led.h"
#include "lcd.h"
#include "motor.h"
#include "delay.h"
#include "includes.h"
////////////////////////事件標志組//////////////////////////////
#define KEY_FLAG 0x01
#define KEYFLAGS_VALUE 0X00
OS_FLAG_GRP *EventFlags; //定義一個事件標志組
/////////////////////////UCOSII任務設置///////////////////////////////////
//START 任務:創建其他任務的入口//開始任務的優先級設置為最低
#define START_TASK_PRIO 10 //設置任務優先級
#define START_STK_SIZE 64 //設置任務堆棧大小
OS_STK START_TASK_STK[START_STK_SIZE];//任務堆棧
void start_task(void *pdata); //任務函數
//LED0任務:每100ms:完成紅色LED的一個周期閃爍、檢測一次按鍵且將結果發送到事件標志組
#define LED0_TASK_PRIO 9 //設置任務優先級
#define LED0_STK_SIZE 64 //設置任務堆棧大小
OS_STK LED0_TASK_STK[LED0_STK_SIZE]; //任務堆棧
void led0_task(void *pdata); //任務函數
//LCD任務:每500ms:在屏幕上顯示adc、電機轉速
#define LCD_TASK_PRIO 8 //設置任務優先級
#define LCD_STK_SIZE 64//設置任務堆棧大小
OS_STK LCD_TASK_STK[LCD_STK_SIZE]; //任務堆棧
void LCD_task(void *pdata); //任務函數
//MOTOR任務:每200ms:控制電機換向、測量一次ADC
#define MOTOR_TASK_PRIO 7 //設置任務優先級
#define MOTOR_STK_SIZE 64//設置任務堆棧大小
OS_STK MOTOR_TASK_STK[MOTOR_STK_SIZE]; //任務堆棧
void MOTOR_task(void *pdata); //任務函數
//LCD_KEY任務: 每100ms: 在屏幕上顯示(事件)開關是否按下
#define LCD_KEY_TASK_PRIO 6 //設置任務優先級
#define LCD_KEY_STK_SIZE 64//設置任務堆棧大小
OS_STK LCD_KEY_TASK_STK[LCD_KEY_STK_SIZE]; //任務堆棧
void LCD_KEY_task(void *pdata); //任務函數
int main(void)
{
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//設置中斷優先級分組為組2:2位搶占優先級,2位響應優先級
delay_init(); //延時函數初始化
LED_Init(); //初始化與LED連接的硬件接口
LCD_Init(); //初始化與LCD連接的硬件接口
MOTOR_Init(); //初始化PWM/GPIO復用硬件接口
MOTOR_ADC_Init(); //初始化ADC復用硬件接口
OSInit();
OSTaskCreate(start_task,(void *)0,(OS_STK *)&START_TASK_STK[START_STK_SIZE-1],START_TASK_PRIO );//創建起始任務
OSStart();
}
//開始任務
void start_task(void *pdata)
{
INT8U err;
OS_CPU_SR cpu_sr=0;
pdata = pdata;
OS_ENTER_CRITICAL(); //進入臨界區(無法被中斷打斷)
//事件創建
EventFlags = OSFlagCreate (KEYFLAGS_VALUE, //事件標志組初始值
&err); //錯誤碼
//LED紅燈的任務創建
OSTaskCreate(led0_task,(void *)0,(OS_STK*)&LED0_TASK_STK[LED0_STK_SIZE-1],LED0_TASK_PRIO);
//事件標志----LCD_KEY的任務創建
OSTaskCreate(LCD_KEY_task,(void *)0,(OS_STK*)&LCD_KEY_TASK_STK[LCD_KEY_STK_SIZE-1],LCD_KEY_TASK_PRIO);
//電機的任務創建
OSTaskCreate(MOTOR_task,(void *)0,(OS_STK*)&MOTOR_TASK_STK[MOTOR_STK_SIZE-1],MOTOR_TASK_PRIO);
//屏幕的任務創建
OSTaskCreate(LCD_task,(void *)0,(OS_STK*)&LCD_TASK_STK[LCD_STK_SIZE-1],LCD_TASK_PRIO);
OSTaskSuspend(START_TASK_PRIO); //掛起起始任務.
OS_EXIT_CRITICAL(); //退出臨界區(可以被中斷打斷)
}
復制代碼
Keil代碼與Proteus仿真求指導:
無刷直流電機.7z
(373.34 KB, 下載次數: 135)
2023-5-4 21:22 上傳
點擊文件名下載附件
作者:
741852963zxcvbn
時間:
2023-5-8 16:21
請問有C語言編程程序嗎樓主?
作者:
mick32
時間:
2023-5-9 00:35
LCD_MOTOR_CODE dir included in package Keil software..
作者:
無言的親親
時間:
2023-5-24 21:54
這啥玩意 不好使啊
作者:
dw0904
時間:
2024-3-9 06:42
代碼寫的挺規范,但是運行不起來。
跑的系統
作者:
QEQWE123
時間:
2024-5-10 16:29
電機不轉動
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1