亚洲春色中文字幕久久久-三上亚,一吻二脱三床四吻胸,国产真实伦对白视频全集,在线毛片观看,精品成品入口黄网,国产毛aⅴ片久久久,亚洲AV色香蕉一区二区三区老师,萧皇后A级艳片,色情日本视频更新,99久久亚洲精品日本无码
標(biāo)題:
STM32控制步進(jìn)電機(jī)源代碼
[打印本頁]
作者:
1501050105
時(shí)間:
2018-11-15 21:08
標(biāo)題:
STM32控制步進(jìn)電機(jī)源代碼
大家想學(xué)步進(jìn)電機(jī)用stm32控制步進(jìn)電機(jī)可以借鑒下啊
無標(biāo)題.png
(987.74 KB, 下載次數(shù): 42)
下載附件
2018-11-15 21:07 上傳
單片機(jī)源程序如下:
#include "stm32f10x.h"
#include "stm32f10x_rcc.h"
#include "misc.h"
void RCC_Configuration(void);
void GPIO_Configuration(void);
void ZhengZhuan(u16 tt);
void FanZhuan(u16 tt);
void delay_ms(u16 nms);
/****************************************************************************
* 名 稱:int main(void)
* 功 能:主函數(shù)
* 入口參數(shù):無
* 出口參數(shù):無
* 說 明:
* 調(diào)用方法:無
****************************************************************************/
int main(void)
{
RCC_Configuration(); //系統(tǒng)時(shí)鐘設(shè)置及外設(shè)時(shí)鐘使能
GPIO_Configuration();
while (1)
{
//讀取PC5管腳的輸入狀態(tài) K1
if (GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_5) == Bit_RESET)
{
ZhengZhuan(5);//高速
}
//讀取PC5管腳的輸入狀態(tài) K2
if (GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_1) == Bit_RESET)
{
FanZhuan(5);//高速
}
//讀取PC2管腳的輸入狀態(tài) K3
if (GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_2) == Bit_RESET)
{
ZhengZhuan(10);//低速
}
//讀取PC3管腳的輸入狀態(tài) K4
if (GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_3) == Bit_RESET)
{
FanZhuan(10);//低速
}
GPIO_ResetBits(GPIOD, GPIO_Pin_3);
GPIO_ResetBits(GPIOD, GPIO_Pin_6);
GPIO_ResetBits(GPIOD, GPIO_Pin_12);
GPIO_ResetBits(GPIOE, GPIO_Pin_4);
}
}
/****************************************************************************
* 名 稱:void RCC_Configuration(void)
* 功 能:系統(tǒng)時(shí)鐘配置為72MHZ, 外設(shè)時(shí)鐘配置
* 入口參數(shù):無
* 出口參數(shù):無
* 說 明:
* 調(diào)用方法:無
****************************************************************************/
void RCC_Configuration(void)
{
SystemInit();
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC|RCC_APB2Periph_GPIOD|RCC_APB2Periph_GPIOE , ENABLE);
}
/****************************************************************************
* 名 稱:void GPIO_Configuration(void)
* 功 能:LED控制口線及鍵盤設(shè)置
* 入口參數(shù):無
* 出口參數(shù):無
* 說 明:
* 調(diào)用方法:無
****************************************************************************/
void GPIO_Configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure; //端口配置結(jié)構(gòu)體
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3; //PD3管腳
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽輸出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //口線翻轉(zhuǎn)速度為50MHz
GPIO_Init(GPIOD, &GPIO_InitStructure); //初始化端口
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6; //PD6管腳
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽輸出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //口線翻轉(zhuǎn)速度為50MHz
GPIO_Init(GPIOD, &GPIO_InitStructure); //初始化端口
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12; //PD12管腳
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽輸出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //口線翻轉(zhuǎn)速度為50MHz
GPIO_Init(GPIOD, &GPIO_InitStructure); //初始化端口
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4; //PE4管腳
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽輸出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //口線翻轉(zhuǎn)速度為50MHz
GPIO_Init(GPIOE, &GPIO_InitStructure); //初始化端口
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5; //PC5管腳
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //輸入上拉
GPIO_Init(GPIOC, &GPIO_InitStructure); //初始化端口
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1; //PC1管腳
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //輸入上拉
GPIO_Init(GPIOC, &GPIO_InitStructure); //初始化端口
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2; //PC2管腳
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //輸入上拉
GPIO_Init(GPIOC, &GPIO_InitStructure); //初始化端口
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3; //PC3管腳
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //輸入上拉
GPIO_Init(GPIOC, &GPIO_InitStructure); //初始化端口
}
//電機(jī)正轉(zhuǎn)函數(shù)
void ZhengZhuan(u16 tt)
{
//1100
GPIO_SetBits(GPIOD, GPIO_Pin_3);
GPIO_SetBits(GPIOD, GPIO_Pin_6);
GPIO_ResetBits(GPIOD, GPIO_Pin_12);
GPIO_ResetBits(GPIOE, GPIO_Pin_4);
delay_ms(tt);
//0110
GPIO_ResetBits(GPIOD, GPIO_Pin_3);
GPIO_SetBits(GPIOD, GPIO_Pin_6);
GPIO_SetBits(GPIOD, GPIO_Pin_12);
GPIO_ResetBits(GPIOE, GPIO_Pin_4);
delay_ms(tt);
//0011
GPIO_ResetBits(GPIOD, GPIO_Pin_3);
GPIO_ResetBits(GPIOD, GPIO_Pin_6);
GPIO_SetBits(GPIOD, GPIO_Pin_12);
GPIO_SetBits(GPIOE, GPIO_Pin_4);
delay_ms(tt);
//1001
GPIO_SetBits(GPIOD, GPIO_Pin_3);
GPIO_ResetBits(GPIOD, GPIO_Pin_6);
GPIO_ResetBits(GPIOD, GPIO_Pin_12);
GPIO_SetBits(GPIOE, GPIO_Pin_4);
delay_ms(tt);
}
//電機(jī)反轉(zhuǎn)函數(shù)
void FanZhuan(u16 tt)
{
//1001
GPIO_SetBits(GPIOD, GPIO_Pin_3);
GPIO_ResetBits(GPIOD, GPIO_Pin_6);
GPIO_ResetBits(GPIOD, GPIO_Pin_12);
GPIO_SetBits(GPIOE, GPIO_Pin_4);
delay_ms(tt);
//0011
GPIO_ResetBits(GPIOD, GPIO_Pin_3);
GPIO_ResetBits(GPIOD, GPIO_Pin_6);
GPIO_SetBits(GPIOD, GPIO_Pin_12);
GPIO_SetBits(GPIOE, GPIO_Pin_4);
delay_ms(tt);
//0110
GPIO_ResetBits(GPIOD, GPIO_Pin_3);
GPIO_SetBits(GPIOD, GPIO_Pin_6);
GPIO_SetBits(GPIOD, GPIO_Pin_12);
GPIO_ResetBits(GPIOE, GPIO_Pin_4);
delay_ms(tt);
//1100
GPIO_SetBits(GPIOD, GPIO_Pin_3);
GPIO_SetBits(GPIOD, GPIO_Pin_6);
GPIO_ResetBits(GPIOD, GPIO_Pin_12);
GPIO_ResetBits(GPIOE, GPIO_Pin_4);
delay_ms(tt);
}
void delay_ms(u16 nms)
{
u32 temp;
SysTick->LOAD = 9000*nms;
SysTick->VAL=0X00;//清空計(jì)數(shù)器
SysTick->CTRL=0X01;//使能,減到零是無動(dòng)作,采用外部時(shí)鐘源
do
{
temp=SysTick->CTRL;//讀取當(dāng)前倒計(jì)數(shù)值
}while((temp&0x01)&&(!(temp&(1<<16))));//等待時(shí)間到達(dá)
SysTick->CTRL=0x00; //關(guān)閉計(jì)數(shù)器
SysTick->VAL =0X00; //清空計(jì)數(shù)器
}
復(fù)制代碼
所有資料51hei提供下載:
程序.rar
(270.59 KB, 下載次數(shù): 107)
2018-11-16 03:12 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
作者:
15532112031
時(shí)間:
2020-7-3 10:22
怎么接線的
作者:
燕郊土著
時(shí)間:
2020-7-11 17:23
按程序燒錄電機(jī)怎么不轉(zhuǎn)呢,已經(jīng)共地,接線應(yīng)該也正確
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1