?? hn.bak
字號(hào):
/***************************************************************************************
在554的幾個(gè)口中預(yù)留了幾個(gè)功能:
1、通過(guò)554D設(shè)置時(shí)鐘正值。 格式為:ff SECOND MINUTE HOUR DAY MONTH YEAR 例如:ff 00 22 21 29 01 04表示04-01-29 21:22:00
2、通過(guò)554D設(shè)置出口入口里程和費(fèi)率。格式為:
3、應(yīng)繳費(fèi)額的計(jì)算方法要改正
4、到上位機(jī)的通訊協(xié)議要校準(zhǔn)
要解決的問(wèn)題:
1、我認(rèn)為tempb和tempd可以合并成一個(gè),當(dāng)時(shí)因?yàn)槭峭砩蠜](méi)有試驗(yàn)環(huán)境而沒(méi)能?chē)L試。
********************************************************************************************/
#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]
/*時(shí)鐘的變量*/
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;
/*時(shí)間默認(rèn)值*/
//unsigned char g8563_Store[6]; /*01-10-07 21:22:00*/
/*時(shí)鐘的變量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; /*鍵盤(pán)數(shù)據(jù)線(xiàn)*/
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); /* 延時(shí)子程序 */
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的函數(shù)聲明*******************/
void F29040reset(void);
void selectpage(void); /*給出一個(gè)地址,自動(dòng)送出頁(yè)面地址,且返回頁(yè)內(nèi)偏移地址*/
unsigned char F29040write(unsigned char byte) ;
unsigned char F29040read(void); /*向flash讀一個(gè)字節(jié),寫(xiě)入之前請(qǐng)調(diào)用F29040_reset*/
/******************************end of 040的函數(shù)聲明*******************/
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -