找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 919|回复: 1
打印 上一主题 下一主题
收起左侧

基于STM32单片机的仿真电机+3X3矩阵程序

[复制链接]
跳转到指定楼层
楼主
仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)


#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)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩1
回复

使用道具 举报

沙发
ID:608162 发表于 2025-1-3 02:41 | 只看该作者
代码不行,运行不了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表