历史上的今天
今天是:2025年08月14日(星期四)
2020年08月14日 | 基于srtm32驱动步进电机Proteus仿真程序
2020-08-14 来源:51hei

单片机源程序如下:
#include "main.h"
#include "stm32f1xx_hal.h"
TIM_HandleTypeDef htim1;
void LcdDelay(uint32_t time)
{
while(time--);
}
void _NOP_(void)
{
uint32_t i = 100;
while(i > 0)
{
i--;
}
}
void Delay(__IO uint32_t nCount)
{
for(; nCount != 0; nCount--);
}
void delay_us(__IO uint32_t nTime)
{
int old_val, new_val, val;
if(nTime > 900)
{
for(old_val = 0; old_val < nTime/900; old_val++)
{
delay_us(900);
}
nTime = nTime%900;
}
old_val = SysTick->VAL;
new_val = old_val - 72*nTime;
if(new_val >= 0)
{
do
{
val = SysTick->VAL;
}
while((val < old_val)&&(val >= new_val));
}
else
{
new_val +=72*1000;
do
{
val = SysTick->VAL;
}
while((val <= old_val)||(val > new_val));
}
}
void SystemClock_Config(void)
{
RCC_OscInitTypeDef RCC_OscInitStruct;
RCC_ClkInitTypeDef RCC_ClkInitStruct;
/* Initializes the CPU, AHB and APB busses clocks */
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
RCC_OscInitStruct.HSICalibrationValue = 16;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
HAL_RCC_OscConfig(&RCC_OscInitStruct);
/* Initializes the CPU, AHB and APB busses clocks */
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI;
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;
HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0);
/* Configure the Systick interrupt time */
//HAL_SYSTICK_Config( HAL_RCC_GetHCLKFreq()/1000 );
SysTick_Config(HAL_RCC_GetHCLKFreq()/1000);
// SysTick_Config(72000000/1000);
/* Configure the Systick */
HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK);
/* SysTick_IRQn interrupt configuration */
HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0);
}
static void MX_GPIO_Init(void)
{
GPIO_InitTypeDef GPIO_InitStruct;
__HAL_RCC_GPIOA_CLK_ENABLE();
__HAL_RCC_GPIOB_CLK_ENABLE();
__HAL_RCC_GPIOC_CLK_ENABLE();
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2, GPIO_PIN_SET);
GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_SET);
GPIO_InitStruct.Pin = GPIO_PIN_All;
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
}
/* TIM1 init function */
static void MX_TIM1_Init(void)
{
TIM_ClockConfigTypeDef sClockSourceConfig;
TIM_MasterConfigTypeDef sMasterConfig;
htim1.Instance = TIM1;
htim1.Init.Prescaler = 0;
htim1.Init.CounterMode = TIM_COUNTERMODE_UP;
htim1.Init.Period = 0;
htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
htim1.Init.RepetitionCounter = 0;
HAL_TIM_Base_Init(&htim1);
sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig);
sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig);
}
#define Delay_ms(x) Delay_us(1000*x) //单位ms
#define uchar unsigned char
#define uint unsigned int
uchar fan[] = {0x09,0x08,0x0c,0x04,0x06,0x02,0x03,0x01}; //正向
uchar zheng[] = {0x01,0x03,0x02,0x06,0x04,0x0c,0x08,0x09}; //反向
int main(void)
……………………
史海拾趣
|
作 者: 吴孔松 编著 出 版 社: 北京航空航天大学出版社 出版时间: 2008-6-1 版 次: 1 页 数: 321 开 本: 16开 内容简介 本书以家庭防盗系统为主线,以Holtek公司的HT48R系列单片机为辅线,重点介绍HT48R系列的基 ...… 查看全部问答> |
|
我正在学习bootloader, 想自己改写个eboot试试。 可是生成的eboot.nb0大小为256k,实验箱原来的是88k。 256k的可以烧进去但是启动后没有反应, 谁知道为什么写进去了,却没反应么? … 查看全部问答> |
|
以下是自己写的一段小程序,运行的时候总是不能进入到switch语句的分支内,即不会有Refreshing11!的提示。数据库内已经存入数据,只是想在一个ClistCtrl控件中显示其数据。 请问问题出在什么地方? void CTCPClientDlg::RefreshDB() { & ...… 查看全部问答> |
|
楼主也是在精确延迟程序是钻研了很久,经常弄不出结果!下面是代码解析!大家有什么问题,可以继续交流!以后再钻研低功耗的问题! #include \"msp430g2553.h\" typedef unsigned int uint; typedef unsigned char uchar; //没想到在CCS下面下 ...… 查看全部问答> |
|
AGM1微动能发电模块 概述AGM1是一款具有超高性价比的微动能发电模块。AGM1通过捕获机械能,改变磁场磁通量,产生感应电流从而把机械能转化为电能,为低功耗的无线发射模块供电。配合我司的超低功耗无线发射模块AGTX1,可以轻松构建无源无线发射模 ...… 查看全部问答> |




