仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
51hei截圖_20240620152626.png (585.66 KB, 下載次數: 14)
下載附件
2024-6-20 15:27 上傳
#include "stm32f10x.h" // Device header
#include "Delay.h"
#include "1602.h"
#include "stdio.h"
#include "Matrix.h"
#include "Nixie.h"
#include "Motor.h"
#include "PWM.h"
#include "Encoder.h"
#include "Timer.h"
uint8_t MatrixNum=0;
uint32_t x=0;
int main(void)
{
LCD1602_Init();
Matrix_Init();
Nixie_Init();
Motor_Init();
PWM_Init();
Encoder_Init();
LCD1602_GPIO_Configuration();
LCD1602_Init();
unsigned char str[64];
unsigned char str_1[64]="R";
unsigned char str_2[64]="F";
while (1)
{
switch (scan_key())
{
case 1:
{
sprintf((char *)str,"Number:%4dcm",1);
LCD1602_Show_Str(1, 1, (u8 *)str);
Select(1);
NixiesetNum(1);
break;
}
case 2:
{
sprintf((char *)str,"Number:%4dcm",2);
LCD1602_Show_Str(1, 1, (u8 *)str);
Select(1);
NixiesetNum(2);
break;
}
case 3:
{
sprintf((char *)str,"Number:%4dcm",3);
LCD1602_Show_Str(1, 1, (u8 *)str);
Select(1);
NixiesetNum(3);
break;
}
case 4:
{
sprintf((char *)str,"Number:%4dcm",4);
LCD1602_Show_Str(1, 1, (u8 *)str);
Select(1);
NixiesetNum(4);
break;
}
case 5:
{
sprintf((char *)str,"Number:%4dcm",5);
LCD1602_Show_Str(1, 1, (u8 *)str);
Select(1);
NixiesetNum(5);
break;
}
case 6:
{
sprintf((char *)str,"Number:%4dcm",6);
LCD1602_Show_Str(1, 1, (u8 *)str);
Select(1);
NixiesetNum(6);
break;
}
case 7:
{
sprintf((char *)str,"Number:%4dcm",7);
LCD1602_Show_Str(1, 1, (u8 *)str);
Select(1);
NixiesetNum(7);
break;
}
case 8:
{
sprintf((char *)str,"Number:%4dcm",8);
LCD1602_Show_Str(1, 1, (u8 *)str);
Select(1);
NixiesetNum(8);
break;
}
case 9:
{
sprintf((char *)str,"Number:%4dcm",9);
LCD1602_Show_Str(1, 1, (u8 *)str);
Select(1);
NixiesetNum(9);
break;
}
default:break;
}
/*
Delay_ms(1000);
Motor_Set_Stop();
Select(2);
NixiesetNum(0);
Delay_ms(2000);
Motor_SetSpeed_Left(1);//正轉
Select(2);
NixiesetNum(1);
sprintf((char *)str,"Speed:%4dcm",Encoder_Get_1());
LCD1602_Show_Str(1, 1, (u8 *)str_1);
LCD1602_Show_Str(2, 1, (u8 *)str);
Delay_ms(1000);
Motor_SetSpeed_Left(2);//反轉
Select(2);
NixiesetNum(1);
sprintf((char *)str,"Speed:%4dcm",Encoder_Get_1());
LCD1602_Show_Str(1, 1, (u8 *)str_2);
LCD1602_Show_Str(2, 1, (u8 *)str);
Delay_ms(1000);
*/
}
}
仿真程序:
基于STM32的仿真電機 3X3矩陣.7z
(242.96 KB, 下載次數: 9)
2024-6-21 04:02 上傳
點擊文件名下載附件
仿真+程序
|