⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hn.bak

📁 液晶兼容0701
💻 BAK
字号:
/***************************************************************************************
在554的几个口中预留了几个功能:
1、通过554D设置时钟正值。          格式为:ff SECOND MINUTE  HOUR DAY MONTH YEAR 例如:ff 00 22 21 29 01 04表示04-01-29 21:22:00
2、通过554D设置出口入口里程和费率。格式为:
3、应缴费额的计算方法要改正
4、到上位机的通讯协议要校准
要解决的问题:
1、我认为tempb和tempd可以合并成一个,当时因为是晚上没有试验环境而没能尝试。

********************************************************************************************/
#include <absacc.h>
#include <reg52_p.h>
#include <INTRINS.H>               
#include <AddCrc16.h>  

#define ezai1   6
#define ezai2   10
#define ezai3   18
#define ezai4   14
#define ezai5   18
#define ezai6   12
#define ezai7   22
#define ezai8   13

#define t_x_feeb  (t_x_fee/100)
#define t_x_fees  ((t_x_fee%100)/10)
#define t_x_feeg  ((t_x_fee%100)%10)


#define   chaoxianlvg  (chaoxianlv%10)
#define   chaoxianlvs  ((chaoxianlv%100)/10)
#define   chaoxianlvb  (chaoxianlv/100)


#define CS_IN0 P15
#define CS_IN1 P16
#define CS_IN2 P17
#define PUSH   DBIAOP15=P15;DBIAOP16=P16;DBIAOP17=P17
#define POP    P15=DBIAOP15;P16=DBIAOP16;P17=DBIAOP17

#define ST554A     CS_IN0=1;CS_IN1=0;CS_IN2=1
#define ST554B     CS_IN0=0;CS_IN1=0;CS_IN2=1
#define ST554C     CS_IN0=1;CS_IN1=1;CS_IN2=0
#define ST554D     CS_IN0=0;CS_IN1=1;CS_IN2=0
#define reset554   CS_IN0=1;CS_IN1=0;CS_IN2=0
#define CS256      CS_IN0=0;CS_IN1=0;CS_IN2=0
#define CS512A     CS_IN0=1;CS_IN1=1;CS_IN2=1
#define CS512B     CS_IN0=0;CS_IN1=1;CS_IN2=1


#define flashreset 0xf0

#define flashaddress5555 0x5555
#define flashaddress2AAA 0x2AAA


#define RBR  XBYTE[0x0000]
#define ST01 XBYTE[0x0001] 
#define ST02 XBYTE[0x0002]
#define ST03 XBYTE[0x0003]
#define ST04 XBYTE[0x0004]
#define ST05 XBYTE[0x0005]
#define ST06 XBYTE[0x0006]
#define ST07 XBYTE[0x0007]
/*时钟的变量*/
sbit I2C_SDA=P3^4;
sbit I2C_SCK=P3^5;


#define SECOND  0
#define MINUTE  1
#define HOUR    2
#define DAY     3
#define MONTH   4
#define YEAR    5
unsigned char counttime;
//bit k_x_send;
bit upreceivok=1;
bit shishi,danji;
//unsigned char i;
unsigned char  g8563_Store[6];
unsigned char xuhao=1,chedaoh;


unsigned char d_p_modi;

/*时间默认值*/
//unsigned char  g8563_Store[6];    /*01-10-07 21:22:00*/

/*时钟的变量end*/
unsigned char k_x_jishi;
unsigned int  savednum,sendnum;
unsigned char g_p_js;
/*********040的变量******************************/
unsigned long address;
unsigned int  lowaddress;
unsigned char page;
sbit A18=P1^2;
sbit A17=P1^1;
sbit A16=P1^0;
/**********end of 040的变量*****************************/

unsigned char  bcd(unsigned int y1,unsigned char px);

unsigned char tempa,tempb,tempc,tempd,numd;
unsigned char tolcd[5];
unsigned char xdata subcom[58];
unsigned char xdata toupcom[10][58];
unsigned char  todaping[8]={0xa0,0,0,0,0,0,0,0};

unsigned char xdata beilv;

unsigned char subnum=0,txtolcdnum;
unsigned char receipt[8];
unsigned char chexing;
unsigned char cheing=0,cheshu=0,cheshutemp;
unsigned int  glcglc;

bit DBIAOP15;
bit DBIAOP16;
bit DBIAOP17;


bit shizhong=0;
bit chexorchk,keyfinish,lcdok;
bit rukoufinish,chukoufinish,chexingfinish;

sbit sda= P1^3; /*键盘数据线*/
unsigned char dat=0;
unsigned char dat2=0;
//unsigned char enter=0;
unsigned char key,key0;//,cursor;
unsigned char count=0,time=0;
/***************************************/
bit feefinish=0;
bit  subrecok;
bit txtolcd;
bit receivefull,candispnext;

bit receiv554b=0;

sbit ACC0=ACC^0;
sbit ACC1=ACC^1;
sbit ACC2=ACC^2;
sbit ACC3=ACC^3;
sbit ACC4=ACC^4;
sbit ACC5=ACC^5;
sbit ACC6=ACC^6;
sbit ACC7=ACC^7;
/*****************************/

void shishichuli(void);

void delay_time(unsigned int  delay);               /*  延时子程序  */            
void initial(void);
void init554(void);                         /*  初始化子程序  */
void Check0_Txd_ST554(unsigned char mTxd);
//void Crc16( unsigned char *ptr,unsigned char len);
void jieshou(void);
void lcdinit(void);
void cursorpo(void);
void init554(void);
void In1uSDelay(void);
void InI2C_Start(void);
void InI2C_Stop(void);
void InI2C_ReadACK(void);
void InI2C_WriteACK(void);
void InI2C_Write(void);
void InI2C_Read(void);
void I2C_WriteData(unsigned char mLocation,unsigned char mData);
unsigned char I2C_ReadData(unsigned char mLocation);
void P8563_ReadDay(void);
void InP8563_Read(void);
void P8563_ReadTime(void);
void P8563_WriteTime(void);
void P8563_Init(void);
void modifytime(void);
void dispclk(void);
void bendichuli(void);
void gunping(void);
void tongbudata(void);
void initchedaohao(void);
void modifyclk(void);
void modchedaohao(void);
void lcddisp(unsigned char i,unsigned char j,unsigned char m,unsigned char n);
void sendidel(void);
void tobuff(void);
void his_del(void);
void help(void);

/******************************040的函数声明*******************/
void F29040reset(void);
void selectpage(void); /*给出一个地址,自动送出页面地址,且返回页内偏移地址*/
unsigned char F29040write(unsigned char byte) ;
unsigned char F29040read(void); /*向flash读一个字节,写入之前请调用F29040_reset*/
/******************************end of 040的函数声明*******************/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -