亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? main2151.c

?? 出 租 車 計 價 器 源 碼 LCM12864 24C02 AT89C51
?? C
字號:
//////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////出租車計價器///////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////
#include <reg52.h>
#include <intrins.h>
#include <string.h>
#define uchar unsigned char
#define uint unsigned int
#define TIME0H 0x9C	//0.1ms

sbit KEY_1= P1^0;
sbit KEY_2= P1^1;
sbit KEY_3= P1^2;
sbit KEY_4= P1^3;
uchar KEY;
uchar tpKEY;
//////////////////////////////////////////Menu//////////////////////////////////////////////

uchar setPriceMod=0;//0設置白天,1設置晚上

uchar priceMod=0;//0按白天計價,1按晚上計價


///////////////////////////////////計算用全局變量///////////////////////////////////////////
float dayPrice=5.5, nightPrice=6.5;	//價格
float distance;//里程

uint wheelPerimeter=100;//車輪周長cm
uint circle=0; //圈數


///////////////////////////////////////顯示/////////////////////////////////////////////////
uchar data arr_dayPrice[3],arr_nightPrice[3];
uchar data arr_totalCost[3];
uchar data arr_distance[4];
uchar data arr_wheelPerimeter[3];
uchar data arr_circle[3];


//-----------------------------------LCD------------------------------
#define  LCD12864_IO  P0
#define  LINE1   0
#define  LINE2   1
#define  HIGH   1
#define  LOW    0
#define  CLERADISPLAY LCD12864_command(0x01);
#define   uchar  unsigned char
#define   uint   unsigned int
sbit xssjj=P2^5;

uchar temp=33;
uchar code  weiB_a[8]={0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01};
uchar code  weiB_b[8]={0x80,0xa0,0x50,0x28,0x14,0x0a,0x05,0x01};
uchar  weiB_c[8]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
    int a=16;
uchar data juli[3];


/********************************************************************/
sbit LCD12864_EN=P2^2;  //en
sbit LCD12864_DIN=P2^0; //rs
sbit LCD12864_CLK=P2^1; //rw
sbit cs1=P2^3;
sbit cs2=P2^4;
/********************************************************************/
//void lcd_gps_wei(unsigned char wei_x,unsigned char wei_y);

void LCD12864_DELAY(unsigned int a)
{
for(;a>0;a--)
_nop_();
}
/*******************************************************************/
void LCD12864_busy(void)
{
    bit BF = 0;
    LCD12864_EN=0;
    LCD12864_DIN=0;
    LCD12864_CLK=1;
    LCD12864_IO=0xff;  //單片機讀數據之前必須先置高位
    do
    {
     	LCD12864_EN=1;
        BF=LCD12864_IO&0x80;
        LCD12864_EN=0;
    } while(BF);
}
/*******************************************************************/
//          寫入命令
/*******************************************************************/
void LCD12864_command(unsigned char command)
{
    LCD12864_busy();
    LCD12864_EN=0;
    LCD12864_DIN=0;
    LCD12864_CLK=0;

    LCD12864_EN=1;
    LCD12864_IO=command;
    LCD12864_EN=0;
}
/*******************************************************************/
//          寫入一字節數據
/*******************************************************************/
 void LCD12864_data(unsigned char dat)
{
    LCD12864_busy();
    LCD12864_EN=0;
    LCD12864_DIN=1;
    LCD12864_CLK=0;

    LCD12864_EN=1;
    LCD12864_IO=dat;
    LCD12864_EN=0;
}
void LCD12864_char(unsigned char dat)
{
if((dat>=0)&&(dat<=9))
     dat|=0x30;
    LCD12864_data(dat);
}

/*******************************************************************/
//          設置顯示位置    X(1~8),Y(1~4)
/*******************************************************************/
void LCD12864_address(unsigned char line,unsigned char row)
{
    switch(row)
    {
        case 1:LCD12864_command(0x7f + line);
        break;
        case 2:LCD12864_command(0x8f + line);
        break;
        case 3:LCD12864_command(0x87 + line);
        break;
        case 4:LCD12864_command(0x97 + line);
        default:
        break;
    }
}
/*******************************************************************/
//          在指定位置顯示字符串
/*******************************************************************/
void LCD12864_string(unsigned char row,unsigned char line,unsigned char *s)
{
    unsigned char LCD12864_temp;
    LCD12864_address(row,line);
    LCD12864_temp=*s;
    while(LCD12864_temp != 0x00)
    {
        LCD12864_data(LCD12864_temp);
        LCD12864_temp=*(++s);
    }
}
/********************************************************************/
void Delay_100xuS(uint x) //
{
    unsigned int i,j;
    for( i =0;i < x;i++ )
    {
        for( j =0;j<9;j++ );
    }
}
/*******************************************************************/
//          初始化設置
/*******************************************************************/
void LCD12864_init(void)
{
    CLERADISPLAY      //  clear DDRAM
    LCD12864_command(0x30);     //  8 bits unsigned interface,basic instrument
    LCD12864_command(0x02);     //  cursor return
    LCD12864_command(0x0c);     //  display,cursor on
    LCD12864_command(0x03);
    LCD12864_command(0x06);
    CLERADISPLAY       //  clear DDRAM
}

void Mcu_init(void)
{
LCD12864_init();
CLERADISPLAY
CLERADISPLAY
LCD12864_init();
}
//----------------------------------------------------LCD-------------------------------------
//--------------------------------------------------Menu----------------------------------
void MainMenu()
{
	 CLERADISPLAY
	 LCD12864_string(1,1,"1.菜單");
	 if(priceMod==0)
	 	LCD12864_string(7,4,"白天");
	 if(priceMod==1)
	 	LCD12864_string(7,4,"夜晚");
 	 LCD12864_string(1,2,"2.開始計費");
	 LCD12864_string(1,3,"3.停止計費");
	 LCD12864_string(1,4,"4.收費模式");
}
void ListMenu()
{
	CLERADISPLAY
	LCD12864_string(1,1,"1.設置價格");
		//if(feeMode==0)
	LCD12864_string(1,2,"2.設置輪胎周長");
	 //if(feeMode==1)

	LCD12864_string(1,4,"3.返回");
}
void SetPriceMenu()
{
	CLERADISPLAY
	if(setPriceMod==0)
		LCD12864_string(1,1,"1.白天:      元");
	if(setPriceMod==1)
		LCD12864_string(1,1,"1.晚上:      元");
	LCD12864_string(1,2,"2.++");
	LCD12864_string(1,3,"3.--");
	LCD12864_string(1,4,"4.完成");
}

void BillingMenu()
{
	 CLERADISPLAY
	 LCD12864_string(1,1,"行駛:      千米");
	 LCD12864_string(1,2,"單價:        元");
	 LCD12864_string(1,3,"總價:        元");

}
void SetWheelMenu()
{
	 CLERADISPLAY
	 LCD12864_string(1,1,"周長:      厘米");
	 LCD12864_string(1,2,"++");
	 LCD12864_string(1,3,"--");
	 LCD12864_string(1,4,"完成");
}
//--------------------------------------------------Menu----------------------------------

//--------------------------------------------------數據轉換------------------------------
void ChangeDayPrice()
{
	uint tpDayPrice=dayPrice*10;
	arr_dayPrice[0]=tpDayPrice/10+'0';
	arr_dayPrice[1]='.';
	arr_dayPrice[2]=tpDayPrice%10+'0';
}
void ChangeNightPrice()
{
  	uint tpNightPrice=nightPrice*10;
	arr_nightPrice[0]=tpNightPrice/10+'0';
	arr_nightPrice[1]='.';
	arr_nightPrice[2]=tpNightPrice%10+'0';
}
void ChangeWheelPerimeter()
{
	 uint tpWheelPerimeter=wheelPerimeter;
	 arr_wheelPerimeter[0]=wheelPerimeter/100+'0';
	 arr_wheelPerimeter[1]=wheelPerimeter/10%10+'0';
	 arr_wheelPerimeter[2]=wheelPerimeter%10+'0';
}
void ChangeCircle()
{
	uint tpCircle=circle;
	arr_circle[0]=tpCircle/100+'0';
	arr_circle[1]=tpCircle/100%10+'0';
	arr_circle[2]=tpCircle%10+'0';
}
void ChangeDistance()
{}
void ChangeTotalCost()
{}

//---------------------------------------------------------------------------------------------
void Delay(void)
{
        unsigned char i;
        unsigned int j;
        for(i=0;i<200;i++)
        for(j=1000;j>0;j--);
}
jisuan()
{
        juli[0]=a/10+'0';
        juli[1]=a%10+'0';
}


void DelayM(unsigned int a)
{//延時函數 1MS/次
		unsigned char i;
		while( --a != 0)
		{
			for(i = 0; i < 125; i++);  //一個 ; 表示空語句,CPU空轉。
		}   				   //i 從0加到125,CPU大概就耗時1毫秒
}
void ShowSetPrice()
{
	uchar tpKEY=0;
	SetPriceMenu();
	ChangeDayPrice();
	ChangeNightPrice();
	if(setPriceMod==0)
	{
		LCD12864_string(6,1,arr_dayPrice);
	}
	else if(setPriceMod==1)
	{
		LCD12864_string(6,1,arr_nightPrice);
	}
	while(1)
	{
			if(KEY_1==0)
			{
				DelayM(20);
				tpKEY=1;

				while(KEY_1==0);
				DelayM(20);
				if(tpKEY==1)
				{
					if(setPriceMod==0)
					{
						LCD12864_string(1,1,"1.晚上");
						LCD12864_string(6,1,arr_nightPrice);
						setPriceMod=1;

					}
					else if(setPriceMod==1)
					{
						LCD12864_string(1,1,"1.白天");
						LCD12864_string(6,1,arr_dayPrice);
						setPriceMod=0;
					}
					tpKEY=0;
				}
			}
			if(KEY_2==0)
			{
				DelayM(20);
				tpKEY=1;

				while(KEY_2==0);
				DelayM(20);
				if(tpKEY==1)
				{
					if(setPriceMod==0)
					{
						dayPrice+=0.1;
						ChangeDayPrice();
						LCD12864_string(6,1,arr_dayPrice);
					}
					else if(setPriceMod==1)
					{
						nightPrice+=0.1;
						ChangeNightPrice();
						LCD12864_string(6,1,arr_nightPrice);
					}
				}
				tpKEY=0;
			}
			if(KEY_3==0)
			{
				DelayM(20);
				tpKEY=1;

				while(KEY_3==0);
				DelayM(20);
				if(tpKEY==1)
				{
					if(setPriceMod==0)
					{
						dayPrice-=0.1;
						ChangeDayPrice();
						LCD12864_string(6,1,arr_dayPrice);
					}
					else if(setPriceMod==1)
					{
						nightPrice-=0.1;
						ChangeNightPrice();
						LCD12864_string(6,1,arr_nightPrice);
					}
				}
				tpKEY=0;
			}


			if(KEY_4==0)
			{
				DelayM(20);
				CLERADISPLAY
				return;
				while(KEY_4==0);
				DelayM(20);
			}
		}


}
void ShowSetWheel()
{
	uchar tpKEY=0;
	SetWheelMenu();
	ChangeWheelPerimeter();
	LCD12864_string(5,1,arr_wheelPerimeter);
	while(1)
	{
		 	if(KEY_1==0)
			{
				DelayM(20);
				tpKEY=1;

				while(KEY_1==0);
				DelayM(20);
				if(tpKEY==1)
					tpKEY=0;

			}
			if(KEY_2==0)
			{
				DelayM(20);
				tpKEY=1;

				while(KEY_2==0);
				DelayM(20);
				if(tpKEY==1)
				{

						wheelPerimeter++;
						ChangeWheelPerimeter();
						LCD12864_string(5,1,arr_wheelPerimeter);
				}
				tpKEY=0;
			}
			if(KEY_3==0)
			{
				DelayM(20);
				tpKEY=1;

				while(KEY_3==0);
				DelayM(20);
				if(tpKEY==1)
				{
					wheelPerimeter--;
					ChangeWheelPerimeter();
					LCD12864_string(5,1,arr_wheelPerimeter);
				}
				tpKEY=0;
			}


			if(KEY_4==0)
			{
				DelayM(20);
				return;
				while(KEY_4==0);
				DelayM(20);
			}
		}
}
void ShowList()
{
	uchar tpKEY;
	ListMenu();
	while(1)
	{
			if(KEY_1==0)
			{
				DelayM(20);
				tpKEY=1;

				while(KEY_1==0);
				DelayM(20);
				if(tpKEY==1)
					ShowSetPrice();	  //設置價格

			}
			if(KEY_2==0)
			{
				DelayM(20);
				tpKEY=1;

				while(KEY_2==0);
				DelayM(20);
				if(tpKEY==1)
					ShowSetWheel();		  //設置輪胎周長
				tpKEY=0;

			}
		/*	if(KEY_3==0)
			{
				DelayM(20);
				reSet();
				while(KEY_3==0);
				DelayM(20);
			}	   */


			if(KEY_4==0)
			{
				DelayM(20);
				tpKEY=1;
				while(KEY_4==0);
				DelayM(20);
				if(tpKEY==1)
				{
					CLERADISPLAY
					MainMenu();
					tpKEY=0;
					return;
				}
			}

	}
}
void Billing()
{
	uchar tpKEY=0;
	BillingMenu();
	while(1)
	{
		if(KEY_2==0)
		{
			DelayM(20);
			tpKEY=1;
			while(KEY_2==0);
			DelayM(20);
			if(tpKEY==1)
			{
				tpKEY=0;
				MainMenu();
				return;
			}
		}
	}
}
void ReSet()
{}
void SetMod()
{

	if(priceMod==0)
	{
		LCD12864_string(7,4,"夜晚");
		priceMod=1;
	}
	else if(priceMod==1)
	{
	 	LCD12864_string(7,4,"白天");
		priceMod=0;
	}
}
void Inital()
{ }


	   


void main()
{

	

		Inital();
//		uchar tpKEY;
		Mcu_init();
   	    CLERADISPLAY
		MainMenu();

		while(1)
        {

        	if(KEY_1==0)
			{
				DelayM(20);
				tpKEY=1;
				while(KEY_1==0);
				DelayM(20);
				if(tpKEY==1)
				{
					ShowList();
					tpKEY=0;
				}
			}
			if(KEY_2==0)
			{
				DelayM(20);
				tpKEY=1;
				while(KEY_2==0);
				DelayM(20);
				if(tpKEY==1)
				{
					Billing();
					tpKEY=0;
				}
			}
			if(KEY_3==0)
			{
				DelayM(20);
//				reSet();
				while(KEY_3==0);
				DelayM(20);
			}


			if(KEY_4==0)
			{
				DelayM(20);
				tpKEY=1;
				while(KEY_4==0);
				DelayM(20);
				if(tpKEY==1)
				{
					SetMod();
					tpKEY=0;
				}
			}
			//菜單
			//計費 再按停止計費
			//復位 ,系統復位(長按)
			//白天模式(默認),晚上模式(按)


	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99这里只有精品| 欧美一区二区女人| 欧美日韩国产高清一区| 久久影音资源网| 亚洲成人自拍偷拍| 成人av在线一区二区| 日韩一区二区在线看| 亚洲色图都市小说| 国产精品一区一区| 制服视频三区第一页精品| 中文字幕亚洲电影| 国产成人免费视频网站高清观看视频 | 不卡的av在线播放| 91精品国产高清一区二区三区蜜臀 | 色婷婷久久综合| 国产午夜亚洲精品不卡| 午夜电影久久久| 欧美亚日韩国产aⅴ精品中极品| 中文字幕+乱码+中文字幕一区| 日本欧美久久久久免费播放网| 91久久精品一区二区三区| 亚洲国产成人午夜在线一区| 精品亚洲国产成人av制服丝袜| 欧美日韩成人高清| 一区二区三区丝袜| 99热这里都是精品| 国产精品日产欧美久久久久| 国产精品夜夜嗨| wwwwww.欧美系列| 韩国精品免费视频| 精品1区2区在线观看| 美女国产一区二区| 精品理论电影在线观看| 精品无人码麻豆乱码1区2区 | 亚洲美女免费在线| 91免费在线视频观看| 国产精品福利影院| 97久久超碰国产精品电影| 国产精品大尺度| 91在线porny国产在线看| 亚洲三级电影全部在线观看高清| 成人理论电影网| 国产精品久久久久影院| 99在线精品免费| 亚洲美女一区二区三区| 色噜噜夜夜夜综合网| 五月婷婷激情综合网| 欧美成人女星排名| 韩日av一区二区| www成人在线观看| 波多野结衣中文字幕一区二区三区| 国产精品丝袜黑色高跟| 色欲综合视频天天天| 亚洲国产另类av| 日韩欧美的一区二区| 粉嫩蜜臀av国产精品网站| 亚洲欧美另类久久久精品2019| 在线免费不卡视频| 免费在线看成人av| 国产日韩欧美在线一区| 色呦呦网站一区| 欧美a级理论片| 国产日韩精品一区二区浪潮av| 黑人精品欧美一区二区蜜桃| 日本一区二区视频在线观看| www.日韩在线| 香蕉影视欧美成人| 久久久久久久久久久久久夜| 91麻豆.com| 爽好久久久欧美精品| 久久嫩草精品久久久久| 日本精品一区二区三区四区的功能| 日韩专区一卡二卡| 国产日韩精品一区二区浪潮av| 一本大道久久精品懂色aⅴ| 麻豆精品视频在线| 亚洲欧洲日本在线| 欧美三区在线视频| 国产suv精品一区二区三区| 午夜日韩在线观看| 国产精品视频免费| 欧美精品日韩一本| 成人午夜在线视频| 日本在线不卡视频一二三区| 国产精品午夜电影| 日韩一区二区三区免费看 | 亚洲一区二区三区不卡国产欧美| 欧美xxxxx牲另类人与| 色婷婷av一区二区三区大白胸 | 国产亚洲一区二区在线观看| 欧美系列一区二区| 不卡区在线中文字幕| 另类小说视频一区二区| 亚洲午夜电影网| 亚洲欧洲美洲综合色网| 久久久不卡网国产精品二区| 欧美一区二区三级| 欧美日韩精品欧美日韩精品一综合| 床上的激情91.| 国产自产高清不卡| 欧美96一区二区免费视频| 一区二区三区中文字幕| 国产精品久久夜| 国产喷白浆一区二区三区| 欧美变态凌虐bdsm| 日韩三级电影网址| 7777精品伊人久久久大香线蕉最新版| 99精品在线免费| av成人动漫在线观看| 成人午夜在线播放| 国产传媒一区在线| 国产成人免费av在线| 国产成人av自拍| 风流少妇一区二区| 成人一区二区视频| 成人国产电影网| 91一区二区在线| 91丨九色丨黑人外教| 91丨九色丨尤物| 欧美亚洲日本国产| 欧美丰满少妇xxxxx高潮对白| 欧美日韩电影一区| 日韩精品一区二区三区视频播放| 日韩欧美中文字幕制服| 精品久久久久久久一区二区蜜臀| 精品国产1区2区3区| 精品福利一区二区三区免费视频| 久久综合久久鬼色| 欧美激情自拍偷拍| 亚洲精品免费一二三区| 亚洲午夜久久久久久久久久久| 亚洲第一搞黄网站| 美女mm1313爽爽久久久蜜臀| 久久99精品久久久久久国产越南| 国模娜娜一区二区三区| 粉嫩av一区二区三区在线播放| 成人av在线一区二区| 在线看不卡av| 日韩一区二区三区高清免费看看 | 亚洲欧美在线视频| 洋洋av久久久久久久一区| 亚洲成av人片一区二区梦乃| 精品一区二区三区不卡| 高潮精品一区videoshd| 色综合色狠狠天天综合色| 7777精品伊人久久久大香线蕉| 日韩精品一区二区三区蜜臀 | 国产亚洲成av人在线观看导航 | 91浏览器入口在线观看| 56国语精品自产拍在线观看| 久久久精品国产免大香伊| 18成人在线观看| 日本亚洲三级在线| 高清不卡在线观看| 91麻豆精品国产91久久久资源速度| 久久嫩草精品久久久久| 亚洲一区二区在线免费观看视频| 久久av资源网| 色综合欧美在线| 久久影音资源网| 亚洲高清免费在线| 国产91精品久久久久久久网曝门| 欧美视频精品在线观看| 国产色产综合色产在线视频| 同产精品九九九| 97久久超碰精品国产| 精品久久久影院| 偷偷要91色婷婷| 91免费看`日韩一区二区| 欧美精品一区二区三区在线 | 亚洲丝袜精品丝袜在线| 麻豆一区二区三区| 精品视频一区 二区 三区| 中文字幕欧美三区| 久久精品二区亚洲w码| 在线观看网站黄不卡| 国产精品国产自产拍高清av | 麻豆精品在线视频| 日本福利一区二区| 欧美国产禁国产网站cc| 国内外成人在线| 欧美成人艳星乳罩| 日本一区中文字幕| 欧美在线你懂得| 亚洲免费成人av| a美女胸又www黄视频久久| wwww国产精品欧美| 精品一区二区三区蜜桃| 欧美一区二区三区啪啪| 亚洲二区视频在线| 91国模大尺度私拍在线视频| 国产精品乱人伦| 粉嫩aⅴ一区二区三区四区五区| 精品成人佐山爱一区二区| 日本不卡一二三区黄网| 日韩一区二区在线观看视频播放| 丝袜美腿亚洲色图| 欧美日韩久久不卡| 亚洲第一主播视频| 宅男噜噜噜66一区二区66|