久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
STM32控制步進電機 源程序
[打印本頁]
作者:
久醉繞心弦
時間:
2020-9-17 09:16
標題:
STM32控制步進電機 源程序
#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)
* 功 能:主函數
* 入口參數:無
* 出口參數:無
* 說 明:
* 調用方法:無
****************************************************************************/
int main(void)
{
RCC_Configuration(); //系統時鐘設置及外設時鐘使能
GPIO_Configuration();
while (1)
{
//讀取PC5管腳的輸入狀態 K1
if (GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_5) == Bit_RESET)
{
ZhengZhuan(5);//高速
}
//讀取PC5管腳的輸入狀態 K2
if (GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_1) == Bit_RESET)
{
FanZhuan(5);//高速
}
//讀取PC2管腳的輸入狀態 K3
if (GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_2) == Bit_RESET)
{
ZhengZhuan(10);//低速
}
//讀取PC3管腳的輸入狀態 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)
* 功 能:系統時鐘配置為72MHZ, 外設時鐘配置
* 入口參數:無
* 出口參數:無
* 說 明:
* 調用方法:無
****************************************************************************/
void RCC_Configuration(void)
{
SystemInit();
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC|RCC_APB2Periph_GPIOD|RCC_APB2Periph_GPIOE , ENABLE);
}
/****************************************************************************
* 名 稱:void GPIO_Configuration(void)
* 功 能:LED控制口線及鍵盤設置
* 入口參數:無
* 出口參數:無
* 說 明:
* 調用方法:無
****************************************************************************/
void GPIO_Configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure; //端口配置結構體
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3; //PD3管腳
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽輸出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //口線翻轉速度為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; //口線翻轉速度為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; //口線翻轉速度為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; //口線翻轉速度為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); //初始化端口
}
//電機正轉函數
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);
}
//電機反轉函數
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;//清空計數器
SysTick->CTRL=0X01;//使能,減到零是無動作,采用外部時鐘源
do
{
temp=SysTick->CTRL;//讀取當前倒計數值
}while((temp&0x01)&&(!(temp&(1<<16))));//等待時間到達
SysTick->CTRL=0x00; //關閉計數器
SysTick->VAL =0X00; //清空計數器
}
復制代碼
STM32控制步進電機.rar
2020-9-17 09:16 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
270.23 KB, 下載次數: 43, 下載積分: 黑幣 -5
作者:
51hei團團
時間:
2020-9-17 15:59
能分享一下源程序嗎?
歡迎光臨 (http://m.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
天天爱天天操
|
在线观看成人免费视频
|
国产一级特黄
|
日韩欧美在线观看视频
|
美丽的姑娘观看在线播放
|
亚洲精品自拍视频
|
五月婷婷影院
|
日本丰满少妇裸体自慰
|
国产中文字幕视频
|
啪啪小视频
|
少妇在线
|
精品一区av
|
永久黄网站色视频免费观看w
|
亚洲人高潮女人毛茸茸
|
国产成人三级一区二区在线观看一
|
一本久久道
|
福利片国产
|
国产精品久久一区二区三区
|
国产伦精品一区二区三区视频我
|
超碰在线网站
|
美日韩一区二区三区
|
亚洲在线观看视频
|
美女黄色在线观看
|
日皮视频在线观看
|
91精品国
|
亚洲91av
|
日韩国产一区二区
|
四虎在线免费观看视频
|
久久国产精品视频
|
夜夜操影院
|
日本香蕉视频
|
国产一级片网站
|
91精品国产99久久久久久红楼
|
日韩国产一区二区
|
一区二区三区在线免费观看
|
丁香色婷婷
|
国产日韩欧美日韩大片
|
天堂一区二区三区
|
在线观看国产小视频
|
中文字幕av在线播放
|
欧美日韩一区二区在线
|