单片机出租车计价器程序及原理图
- 格式:doc
- 大小:306.00 KB
- 文档页数:11
1
#include
#include
#define uint unsigned int
#define uchar unsigned char
#define DISPON 0x3f //显示开
#define DISPOFF 0x3e //显示关
#define FIRSTROW 0xc0 //显示起始行设置1 1 L5 L4 L3 L2 L1 L0,在0到63行间选择
#define SETY 0xb8 //Y方向,8页64行,1 0 1 1 1 P2 P1 P0,0到8页选择
#define SETX 0x40 //X方向,半屏64列,0 1 C5 C4 C3 C2 C1 C0 ,0到63列选择
/*P2+P0口16位编址,有效位是P2.3~P2.0,无关位用“1”表示
P2.0--RS,P2.1--RW,P2.2--CS2,P2.3--CS1
右屏命令和数据读写编址 CS2 CS1 RW RS*/
#define LLCD_CMD_WR XBYTE[0xf4ff] //0 1 0 0
#define LLCD_DAT_WR XBYTE[0xf5ff] //0 1 0 1
#define LLCD_CMD_RD XBYTE[0xf6ff] //0 1 1 0
#define LLCD_DAT_RD XBYTE[0xf7ff] //0 1 1 1
/*左屏命令和数据读写编址*/
#define RLCD_CMD_WR XBYTE[0xf8ff] //1 0 0 0
#define RLCD_DAT_WR XBYTE[0xf9ff] //1 0 0 1
#define RLCD_CMD_RD XBYTE[0xfaff] //1 0 1 0
#define RLCD_DAT_RD XBYTE[0xfbff] //1 0 1 1
/**********************数据坐标记录**************************
左-路程:整数部分 x=9,y=1,小数部分 x=31,y=1
左-路程费用:整数部分 x=9,y=3,小数部分 x=31,y=3
总费用:整数部分-左:x=45,y=5
路程单价:x=34,y=7
右-时间:整数部分 x=20,y=1
右-时间费用:整数部分 x=10,y=3,小数部分 x=32,y=3
总费用:小数部分-右:x=2,y=5
时间单价:x=44,y=7
*************************************************************/
#define L_Mile_X_Z 9
#define L_Mile_X_D 30
#define L_Mile_Y 1
#define L_Cost_X_Z 9
#define L_Cost_X_D 30
#define L_Cost_Y 3
#define L_Total_X 45
#define L_Total_Y 5
#define L_Unit_X 34
#define L_Unit_Y 7 2
#define R_Time_X 20
#define R_Time_Y 1
#define R_Cost_X_Z 10
#define R_Cost_X_D 31
#define R_Cost_Y 3
#define R_Total_X 2
#define R_Total_Y 5
#define R_Unit_X 44
#define R_Unit_Y 7
sbit LED=P2^7 ;
sbit START=P1^0;
sbit STOP=P1^1;
sbit CLEAR=P1^2;
sbit MUINT_UP=P1^4;
sbit MUINT_D=P1^5;
sbit TUINT_UP=P1^6;
sbit TUINT_D=P1^7;
uchar Mile_Unit=4,Time_Unit=2;
long time_cost,time_cost_Z,time_cost_D,time_con_s,time_con_m;
long mile_cost,mile_cost_Z,mile_cost_D,mile_con_m,mile_con_km;
long speed_con,speed_con_m,speed,speed_flag,cost_flag;
long total_z=5,total_d;
code char shu[10][6]={
0x3E,0x41,0x41,0x41,0x3E,0x00, //0
0x00,0x42,0x7F,0x40,0x00,0x00, //1
0x42,0x61,0x51,0x49,0x46,0x00, //2
0x22,0x41,0x49,0x49,0x36,0x00, //3
0x38,0x24,0x22,0x7F,0x20,0x00, //4
0x27,0x45,0x45,0x45,0x39,0x00, //5
0x3E,0x45,0x45,0x45,0x38,0x00, //6
0x01,0x01,0x79,0x05,0x03,0x00, //7
0x36,0x49,0x49,0x49,0x36,0x00, //8
0x0E,0x51,0x51,0x51,0x3E,0x00, //9
};
/*************************初始化界面*****************************/
code uchar logo[]=
{
0xFF,0x07,0x03,0xE1,0x11,0x09,0x09,0x09,0x08,0x09,0x09,0x09,0x09,0x09,0x09,0x09,
0x08,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x08,0x09,0x09,0x09,0x09,0x09,0x09,0x09,
0x08,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x08,0x09,0x09,0x09,0x09,0x09,0x09,0x09,
0x08,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x08,0x09,0x09,0x11,0xE1,0x03,0x07,0xFF, 3
0xFF,0x07,0x03,0xE1,0x11,0x09,0x09,0x09,0x08,0x09,0x09,0x09,0x09,0x09,0x09,0x09,
0x08,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x08,0x09,0x09,0x09,0x09,0x09,0x09,0x09,
0x08,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x08,0x09,0x09,0x09,0x09,0x09,0x09,0x09,
0x08,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x08,0x09,0x09,0x11,0xE1,0x03,0x07,0xFF,
0xFE,0x00,0x00,0xFF,0x00,0x7E,0x3C,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0xFE,0x10,0x28,0x44,0x82,0x00,0xF8,0x08,0xF8,0x08,0xF8,0x00,0xFF,0x00,0x00,0xFF,
0xFF,0x00,0x00,0xFF,0x00,0x7E,0x3C,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x04,
0xF8,0x04,0xFE,0x00,0xF4,0x00,0xF8,0x08,0xF8,0x08,0xF8,0x00,0xFF,0x00,0x00,0xFE,
0xFE,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x00,0x02,
0x02,0x02,0x02,0x02,0x00,0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x02,0x02,
0x02,0x02,0x02,0x00,0x02,0x02,0x02,0x02,0x02,0x00,0x02,0x02,0x02,0x02,0x02,0x00,
0x00,0x00,0x40,0x80,0x00,0x00,0x00,0x80,0x40,0x00,0x00,0x00,0xFF,0x00,0x00,0xFF,
0xFF,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x02,0x02,0x02,0x02,0x02,0x00,0x02,0x02,0x02,0x02,0x02,0x00,
0x02,0x02,0x02,0x02,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x40,0x80,0x00,0x00,0x00,0x80,0x40,0x00,0x00,0x00,0xFF,0x00,0x00,0xFE,
0xFE,0x00,0x00,0xFF,0x00,0xFC,0x78,0x30,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x60,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,