• 本次实验开发环境KEIL5,仿真环境Proteus 8.12版本,如有版本过低可能失败,主要实验内容两个32单片机进行交互数据传输,模拟车机主控与驱动板传感器发送数据,用按键手动调整数据,模拟数据浮动,并显示车机屏幕,实验器材,两块32单片机,按键,电源,电阻,led灯,LCD1602,虚拟串口,串口终端。仿真视频bandicam 2023 02 07 17 55 47 334_视频

int main(void)
{        
         vu8 key=0;  
        u8 t;
        u8 len;        
        u16 times=0;
  u16 SOC=100;
         u16 KM=300;
         u8 a,b,c;
         u8 d,e,f;
         
        Stm32_Clock_Init(9); //系统时钟设置
//        delay_init();                     //延时函数初始化         
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 设置中断优先级分组2
        uart_init(9600);         //串口初始化为9600
        LED_Init();                           //初始化与LED连接的硬件接口
// KEY_Init();
         LCD1602_Init();
         LCD1602_ShowStr(2,0,"SOC                                 %",10);
         LCD1602_ShowStr(2,1,"Range     km",12);


        for(t=0;t<10;t++)
        {
                Array[t]=t;
        }


        while(1)
        {




if(USART_RX_BUF[0]==0x00)
{//加


                hxf_delay_s(2);
                LED5=!LED5;
                SOC+=1;
                KM+=3;
if(SOC>100){SOC=100;}
if(KM>300){KM=300;}
        a=SOC/100;
        b=SOC%100/10;
        c=SOC%10;
        LCD_ShowNum(7,0,a);        
        LCD_ShowNum(8,0,b);
        LCD_ShowNum(9,0,c);


        d=KM/100;
        e=KM%100/10;
        f=KM%10;
        LCD_ShowNum(9,1,d);        
        LCD_ShowNum(10,1,e);
        LCD_ShowNum(11,1,f);


hxf_delay_s(2);
                USART_SendData(USART1, 0x00);
hxf_delay_s(2);
                USART_SendData(USART1, 0x01);
hxf_delay_s(2);
                USART_SendData(USART1, 0x02);
hxf_delay_s(2);
                USART_SendData(USART1, 0x03);
hxf_delay_s(2);
                USART_SendData(USART1, 0xaa);
}
if(USART_RX_BUF[0]==0x02)
{//减
                hxf_delay_s(2);
                LED3=!LED3;
if(SOC>0){SOC-=1;}
if(KM>0){KM-=3;}
        a=SOC/100;
        b=SOC%100/10;
        c=SOC%10;
        LCD_ShowNum(7,0,a);        
        LCD_ShowNum(8,0,b);
        LCD_ShowNum(9,0,c);


        d=KM/100;
        e=KM%100/10;
        f=KM%10;
        LCD_ShowNum(9,1,d);        
        LCD_ShowNum(10,1,e);
        LCD_ShowNum(11,1,f);


hxf_delay_s(2);
                USART_SendData(USART1, 0x02);
hxf_delay_s(2);
                USART_SendData(USART1, 0x01);
hxf_delay_s(2);
                USART_SendData(USART1, 0x02);
hxf_delay_s(2);
                USART_SendData(USART1, 0x03);
hxf_delay_s(2);
                USART_SendData(USART1, 0xaa);
}

基于STM32双机串口交互仿真

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐