• 方案介紹
    • 1.??簡(jiǎn)介
    • 2.??主要功能
    • 3.??源程序(Keil5)
    • 4.??仿真proteus8.6
    • 5.??設(shè)計(jì)報(bào)告
    • 6.??資料清單
    • 7.??資料獲取鏈接
  • 附件下載
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

基于51單片機(jī)的出租車計(jì)價(jià)器設(shè)計(jì)(二)!!! C程序+仿真+設(shè)計(jì)報(bào)告+使用說(shuō)明+元件清單+操作視頻

04/02 08:42
272
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

單片機(jī)仿真設(shè)計(jì)合集資料獲取.pdf

共1個(gè)文件

資料清單:C程序+仿真+設(shè)計(jì)報(bào)告+使用說(shuō)明+元件清單+操作視頻

仿真版本:Proteus8.6及以上版本

程序編譯:Keil5?C51

編程語(yǔ)言:C語(yǔ)言

設(shè)計(jì)編號(hào):【A02】

1.??簡(jiǎn)介

? ? 本文提出了一種基于51單片機(jī)的出租車計(jì)價(jià)器設(shè)計(jì)。該設(shè)計(jì)以MCS51單片機(jī)為核心處理器,通過(guò)采集車速信號(hào)傳感器產(chǎn)生的脈沖信號(hào),進(jìn)行信號(hào)處理及變換,計(jì)算出出租車的行駛里程,根據(jù)計(jì)費(fèi)標(biāo)準(zhǔn)計(jì)算金額,并且通過(guò)LCD12864液晶顯示里程、單價(jià)、總價(jià)等相關(guān)信息。并且可以通過(guò)按鍵選擇白天和黑夜?fàn)顟B(tài),實(shí)現(xiàn)開始、暫停、清零等操作。

2.??主要功能

a.通過(guò)滑動(dòng)變阻器模擬采集車速信號(hào)的傳感器,并將數(shù)據(jù)傳輸到單片機(jī)處理。

b.通過(guò)電機(jī)模擬車輛運(yùn)行狀態(tài)。

c.通過(guò)LCD12864液晶顯示里程、單價(jià)、總價(jià)等相關(guān)信息。

d.通過(guò)按鍵選擇白天和黑夜?fàn)顟B(tài),以及實(shí)現(xiàn)開始、暫停、清零等操作。

3.??源程序(Keil5)

? ? 本設(shè)計(jì)采用keil5 C51軟件(內(nèi)附安裝包)實(shí)現(xiàn)程序設(shè)計(jì)。如需用keil4打開程序,可自行通過(guò).c和.h文件新建工程即可。

#include <reg51.h>
#include <LCD12864.H>
#include <key.h>
#include <timer.h>
#include <interrupt.h>
int i;
extern int flag_mode;
extern int flag_state;
extern int flag_base;
extern int flag_price;
extern int time;
extern int s_s;
extern int s_g;
extern int f_s;
extern int f_g;
extern int m_s;
extern int m_g;
extern int flag_run;
extern int flag_sum;
int sum=0;
void init_LCD()
{  
	InitLCD();	  //初始化LCD12864
	ClearScreen(0);
	ShowChina(0,16*0+0,0+10);
	ShowChina(0,16*1+0,1+10); //模式
	ShowChina(0,16*2+8,2+10);
	ShowChina(0,16*3+8,3+10);
	ShowChina(0,16*4+8,4+10);//起步價(jià)
	ShowChina(0,16*5+16,5+10);
	ShowChina(0,16*6+16,6+10);//單價(jià)
 	ShowChina(4,16*0+0,17);
	ShowChina(4,16*1+0,18);    //狀態(tài)
 	ShowNumber(4,35,13);	   //:
 	ShowChina(6,16*0+0,19);
	ShowChina(6,16*1+0,20);    //時(shí)間
	ShowNumber(6,35,13);	   //:
	ShowNumber(6,64,13);	   //:
	ShowNumber(6,88,13);	   //:
}

void main(void)
{	init_LCD();
	init_timer();
	init_int0();
	init_int1();
	
     while(1)
   {
	   keyscan();
			   if(flag_run==1&&flag_sum==0)
			{		  
					   if(flag_mode==1){
						ShowChina(2,16*0+0,0);
						ShowChina(2,16*1+0,1);    //白天	   
					   } else{
				 		ShowChina(2,16*0+0,2);
						ShowChina(2,16*1+0,3);    //晚上	   
					  }
					  	if(flag_state==1){
					     for(i=0;i<2;i++) 	ShowChina(4,16*i+16*4,i+4);//運(yùn)行
						 TR0=1;	   
					   } else{
				     	for(i=0;i<2;i++) 	ShowChina(4,16*i+16*4,i+6);//暫停
						 TR0=0;	   
					  }
				 	ShowNumber(2,16*4-8,flag_base);	  //顯示顯示起步價(jià)
				 	ShowNumber(2,16*6+8,flag_price);  //顯示單價(jià)
				 	ShowNumber(6,48,s_s);	       //0
					ShowNumber(6,56,s_g);	       //0
					ShowNumber(6,72,f_s);	       //0
					ShowNumber(6,80,f_g);	       //0
					ShowNumber(6,96,m_s);	       //0
					ShowNumber(6,104,m_g);	       //0	
			}			 
			 if(flag_sum==1)
			{
				    TR0=0;							 				    
				 	ShowChina(4,16*0+0,21);
	        ShowChina(4,16*1+0,22);    //總價(jià)
					sum= flag_base+flag_price*time;
 	        ShowNumber(4,35,13);	   //:
         	ShowNumber(4,8*0+16*4,sum/100);//
          ShowNumber(4,8*1+16*4,sum%100/10);//
          ShowNumber(4,8*2+16*4,sum%100%10);//
					ShowChina(4,8*3+16*4,23);
	        ShowChina(4,8*5+16*4,24);    //總價(jià)						
			}
   }

4.??仿真proteus8.6

? ? 本設(shè)計(jì)采用proteus8.6軟件(內(nèi)附安裝包)實(shí)現(xiàn)仿真設(shè)計(jì),如下圖所示。proteus軟件一般存在高低版本兼容問(wèn)題,該仿真是通過(guò)proteus8.6導(dǎo)出的,所以請(qǐng)盡量使用proteus8.6打開文件,低于proteus8.6的版本不能夠正常使用,高于proteus8.6的版本除了proteus8.8/8.9理論上可以正常使用。

白天:

黑夜:

5.??設(shè)計(jì)報(bào)告

? ? 設(shè)計(jì)報(bào)告主要包括硬件電路、軟件設(shè)計(jì)、仿真調(diào)試等等,僅供參考。

6.??資料清單

? ? 設(shè)計(jì)資料主要包括C程序+仿真+設(shè)計(jì)報(bào)告+使用說(shuō)明+元件清單+操作視頻等。

7.??資料獲取鏈接

更多單片機(jī)仿真設(shè)計(jì)合集單片機(jī)仿真設(shè)計(jì)合集

  • 單片機(jī)仿真設(shè)計(jì)合集資料獲取.pdf
    下載

相關(guān)推薦

方案定制

去合作
方案開發(fā)定制化,2000+方案商即時(shí)響應(yīng)!