找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3156|回復(fù): 2
打印 上一主題 下一主題
收起左側(cè)

基于STM32單片機(jī)雙機(jī)串口交互程序與Proteus仿真圖

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
本次實(shí)驗(yàn)開(kāi)發(fā)環(huán)境KEIL5,仿真環(huán)境Proteus 8.12版本,如有版本過(guò)低可能失敗,主要實(shí)驗(yàn)內(nèi)容兩個(gè)32單片機(jī)進(jìn)行交互數(shù)據(jù)傳輸,模擬車機(jī)主控與驅(qū)動(dòng)板傳感器發(fā)送數(shù)據(jù),用按鍵手動(dòng)調(diào)整數(shù)據(jù),模擬數(shù)據(jù)浮動(dòng),并顯示車機(jī)屏幕,實(shí)驗(yàn)器材,兩塊32單片機(jī),按鍵,電源,電阻,led燈,LCD1602,虛擬串口,串口終端。仿真視頻http://www.56.com/u43/v_MTgxOTkzNTM2.html



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); //系統(tǒng)時(shí)鐘設(shè)置
//        delay_init();                     //延時(shí)函數(shù)初始化         
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);// 設(shè)置中斷優(yōu)先級(jí)分組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);
}


Proteus8.12仿真和程序: stm32串口雙機(jī)模擬汽車電量里程.7z (294.4 KB, 下載次數(shù): 90)

評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏4 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:524054 發(fā)表于 2024-6-1 14:03 | 只看該作者
為什么我下載仿真沒(méi)反應(yīng)
回復(fù)

使用道具 舉報(bào)

板凳
ID:524054 發(fā)表于 2024-6-1 14:03 | 只看該作者
為什么我下載仿真沒(méi)反應(yīng),Proteus8.15
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表