📄 test.c
字号:
/*
20070612 0通道好用
*/
#include <p18f452.h>
#include <timers.h>
#include <usart.h>
#include <adc.h>
#include <stdlib.h>
#include <delays.h>
#include <me.h>
#include <capture.h>
#include <i2c.h>
#include <portb.h>
#include <reset.h>
volatile unsigned char fire_cnt;
#pragma romdata LED_TABLE_ADDR=0x2400
const rom unsigned char LED_TABLE[5]={0xc8,0x96,0x64,0x32,0x00};
#pragma romdata
#pragma romdata TURN_SPEED_TABLE_ADDR=0x2405
const rom unsigned char TURN_SPEED_TABLE=0x64;
#pragma romdata
#pragma romdata PULSE_FLAG_ADDR=0x2406
const rom unsigned char PULSE_FLAG_TABLE=0x00;
#pragma romdata
#pragma romdata GAS_ON_TEMP_ADDR=0x2407
const rom unsigned char GAS_ON_TEMP_TABLE=0x00;
#pragma romdata
#pragma romdata GAS_OFF_TEMP_ADDR=0x2408
const rom unsigned char GAS_OFF_TEMP_TABLE=0x00;
#pragma romdata
#pragma romdata WATER_TABLE_ADDR=0x2500
const rom unsigned char WATER_TABLE[256]={0x00,0x00,
0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,0x5A,
0x5A,0x5A,0x5A,0x5A,0x58,0x56,0x54,0x52,0x50,0x4F,0x4D,0x4B,0x4A,0x49,0x48,0x47,
0x46,0x45,0x45,0x44,0x43,0x42,0x41,0x40,0x3E,0x3D,0x3C,0x3C,0x3B,0x3B,0x3A,0x39,
0x39,0x38,0x38,0x37,0x36,0x36,0x35,0x34,0x34,0x33,0x33,0x32,0x32,0x31,0x31,0x30,
0x30,0x30,0x2F,0x2E,0x2D,0x2C,0x2C,0x2C,0x2C,0x2B,0x2B,0x2B,0x2B,0x2A,0x2A,0x29,
0x29,0x28,0x28,0x27,0x27,0x27,0x26,0x26,0x26,0x25,0x25,0x24,0x24,0x23,0x23,0x23,
0x22,0x22,0x22,0x21,0x21,0x21,0x20,0x20,0x20,0x1F,0x1F,0x1F,0x1E,0x1E,0x1E,0x1D,
0x1D,0x1D,0x1C,0x1C,0x1C,0x1B,0x1B,0x1B,0x1A,0x1A,0x1A,0x19,0x19,0x19,0x18,0x18,
0x18,0x17,0x17,0x17,0x16,0x16,0x16,0x15,0x15,0x15,0x14,0x14,0x14,0x13,0x13,0x13,
0x12,0x12,0x12,0x12,0x11,0x11,0x11,0x10,0x10,0x10,0x0F,0x0F,0x0F,0x0E,0x0E,0x0E,
0x0D,0x0D,0x0D,0x0C,0x0C,0x0C,0x0B,0x0B,0x0B,0x0A,0x0A,0x0A,0x09,0x09,0x09,0x08,
0x08,0x08,0x07,0x07,0x07,0x06,0x06,0x06,0x05,0x05,0x05,0x04,0x04,0x04,0x03,0x03,
0x03,0x02,0x02,0x02,0x01,0x01,0x01,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,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
};
#pragma romdata
//SPEED ZKYL TABLE
#pragma romdata SPEED_ZKYL_ADDR=0x2700
const rom unsigned char SPEED_ZKYL_TABLE[768]={
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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,
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,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,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,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,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
#pragma romdata
//PERIOD LEVEL TABLE
#pragma romdata PERIOD_LEVEL_TABLE_ADDR=0x2A00
const rom unsigned char PERIOD_LEVEL_TABLE[256]={0x00,0x00,
0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,
0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x16,0x15,0x15,0x14,0x14,0x14,0x13,0x13,0x13,
0x12,0x12,0x12,0x12,0x11,0x11,0x11,0x11,0x10,0x10,0x10,0x10,0x10,0x10,0x0f,0x0f,
0x0f,0x0f,0x0f,0x0f,0x0e,0x0e,0x0e,0x0e,0x0d,0x0d,0x0d,0x0d,0x0c,0x0c,0x0c,0x0c,
0x0c,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,
0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
0x08,0x08,0x08,0x08,0x08,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
0x07,0x07,0x07,0x07,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,
0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x05,0x05,0x05,0x05,0x05,0x05,0x05,
0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x04,
0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
0x04,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00
};
#pragma romdata
//PYMK LEVLE TABLE
#pragma romdata PYMK_LEVEL_ADDR=0x2B00
const rom unsigned char PYMK_LEVEL_TABLE[256]={0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,
0x02,0x02,0x03,0x03,0x04,0x04,0x05,0x05,0x06,0x06,0x07,0x07,0x08,0x08,0x09,0x09,
0x0A,0x0A,0x0B,0x0B,0x0C,0x0C,0x0D,0x0D,0x0E,0x0E,0x0F,0x0F,0x10,0x10,0x11,0x11,
0x12,0x12,0x13,0x13,0x13,0x13,0x13,0x13,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,
0x14,0x14,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x16,0x16,0x16,0x16,
0x16,0x16,0x16,0x16,0x16,0x16,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,
0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x19,0x19,0x19,0x19,0x19,0x19,
0x19,0x19,0x19,0x19,0x1A,0x1A,0x1A,0x1A,0x1A,0x1A,0x1A,0x1A,0x1A,0x1A,0x1A,0x1A,
0x1A,0x1A,0x1B,0x1B,0x1B,0x1B,0x1B,0x1B,0x1B,0x1B,0x1B,0x1B,0x1B,0x1B,0x1B,0x1B,
0x1B,0x1B,0x1B,0x1B,0x1B,0x1B,0x1B,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,
0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,0x1D,0x1D,0x1D,0x1D,0x1D,
0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,
0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,
0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,
0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,
0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D,0x1D};
#pragma romdata
//SPEED PQYC TABLE
#pragma romdata SPEED_PQYC_ADDR=0x2C00
//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,
const rom unsigned char SPEED_PQYC_TABLE[768]={
0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x01,0x02,0x02,0x02,0x02,0x03,0x03,0x03,0x03,0x04,0x04,0x04,0x04,0x05,0x05,0x05,0x05,0x06,0x06,0x06,0x06,0x07,0x07,0x07,0x07,
0x08,0x08,0x08,0x08,0x09,0x09,0x09,0x09,0x0a,0x0a,0x0a,0x0a,0x0b,0x0b,0x0b,0x0b,0x0c,0x0c,0x0c,0x0c,0x0d,0x0d,0x0d,0x0d,0x0e,0x0e,0x0e,0x0e,0x0f,0x0f,0x0f,0x0f,
0x10,0x10,0x10,0x10,0x11,0x11,0x11,0x11,0x12,0x12,0x12,0x12,0x13,0x13,0x13,0x13,0x14,0x14,0x14,0x14,0x15,0x15,0x15,0x15,0x16,0x16,0x16,0x16,0x17,0x17,0x17,0x17,
0x18,0x18,0x18,0x18,0x19,0x19,0x19,0x19,0x1a,0x1a,0x1a,0x1a,0x1b,0x1b,0x1b,0x1b,0x1c,0x1c,0x1c,0x1c,0x1d,0x1d,0x1d,0x1d,0x1e,0x1e,0x1e,0x1e,0x1f,0x1f,0x1f,0x1f,
0x20,0x20,0x20,0x20,0x21,0x21,0x21,0x21,0x22,0x22,0x22,0x22,0x23,0x23,0x23,0x23,0x24,0x24,0x24,0x24,0x25,0x25,0x25,0x25,0x26,0x26,0x26,0x26,0x27,0x27,0x27,0x27,
0x28,0x28,0x28,0x28,0x29,0x29,0x29,0x29,0x2a,0x2a,0x2a,0x2a,0x2b,0x2b,0x2b,0x2b,0x2c,0x2c,0x2c,0x2c,0x2d,0x2d,0x2d,0x2d,0x2e,0x2e,0x2e,0x2e,0x2f,0x2f,0x2f,0x2f,
0x30,0x30,0x30,0x30,0x31,0x31,0x31,0x31,0x32,0x32,0x32,0x32,0x33,0x33,0x33,0x33,0x34,0x34,0x34,0x34,0x35,0x35,0x35,0x35,0x36,0x36,0x36,0x36,0x37,0x37,0x37,0x37,
0x38,0x38,0x38,0x38,0x39,0x39,0x39,0x39,0x3a,0x3a,0x3a,0x3a,0x3b,0x3b,0x3b,0x3b,0x3c,0x3c,0x3c,0x3c,0x3d,0x3d,0x3d,0x3d,0x3e,0x3e,0x3e,0x3e,0x3f,0x3f,0x3f,0x3f,
0x40,0x40,0x40,0x40,0x41,0x41,0x41,0x41,0x42,0x42,0x42,0x42,0x43,0x43,0x43,0x43,0x44,0x44,0x44,0x44,0x45,0x45,0x45,0x45,0x46,0x46,0x46,0x46,0x47,0x47,0x47,0x47,
0x48,0x48,0x48,0x48,0x49,0x49,0x49,0x49,0x4a,0x4a,0x4a,0x4a,0x4b,0x4b,0x4b,0x4b,0x4c,0x4c,0x4c,0x4c,0x4d,0x4d,0x4d,0x4d,0x4e,0x4e,0x4e,0x4e,0x4f,0x4f,0x4f,0x4f,
0x50,0x50,0x50,0x50,0x51,0x51,0x51,0x51,0x52,0x52,0x52,0x52,0x53,0x53,0x53,0x53,0x54,0x54,0x54,0x54,0x55,0x55,0x55,0x55,0x56,0x56,0x56,0x56,0x57,0x57,0x57,0x57,
0x58,0x58,0x58,0x58,0x59,0x59,0x59,0x59,0x5a,0x5a,0x5a,0x5a,0x5b,0x5b,0x5b,0x5b,0x5c,0x5c,0x5c,0x5c,0x5d,0x5d,0x5d,0x5d,0x5e,0x5e,0x5e,0x5e,0x5f,0x5f,0x5f,0x5f,
0x60,0x60,0x60,0x60,0x61,0x61,0x61,0x61,0x62,0x62,0x62,0x62,0x63,0x63,0x63,0x63,0x64,0x64,0x64,0x64,0x65,0x65,0x65,0x65,0x66,0x66,0x66,0x66,0x67,0x67,0x67,0x67,
0x68,0x68,0x68,0x68,0x69,0x69,0x69,0x69,0x6a,0x6a,0x6a,0x6a,0x6b,0x6b,0x6b,0x6b,0x6c,0x6c,0x6c,0x6c,0x6d,0x6d,0x6d,0x6d,0x6e,0x6e,0x6e,0x6e,0x6f,0x6f,0x6f,0x6f,
0x70,0x70,0x70,0x70,0x71,0x71,0x71,0x71,0x72,0x72,0x72,0x72,0x73,0x73,0x73,0x73,0x74,0x74,0x74,0x74,0x75,0x75,0x75,0x75,0x76,0x76,0x76,0x76,0x77,0x77,0x77,0x77,
0x78,0x78,0x78,0x78,0x79,0x79,0x79,0x79,0x7a,0x7a,0x7a,0x7a,0x7b,0x7b,0x7b,0x7b,0x7c,0x7c,0x7c,0x7c,0x7d,0x7d,0x7d,0x7d,0x7e,0x7e,0x7e,0x7e,0x7f,0x7f,0x7f,0x7f,
0x80,0x80,0x80,0x80,0x81,0x81,0x81,0x81,0x82,0x82,0x82,0x82,0x83,0x83,0x83,0x83,0x84,0x84,0x84,0x84,0x85,0x85,0x85,0x85,0x86,0x86,0x86,0x86,0x87,0x87,0x87,0x87,
0x88,0x88,0x88,0x88,0x89,0x89,0x89,0x89,0x8a,0x8a,0x8a,0x8a,0x8b,0x8b,0x8b,0x8b,0x8c,0x8c,0x8c,0x8c,0x8d,0x8d,0x8d,0x8d,0x8e,0x8e,0x8e,0x8e,0x8f,0x8f,0x8f,0x8f,
0x90,0x90,0x90,0x90,0x91,0x91,0x91,0x91,0x92,0x92,0x92,0x92,0x93,0x93,0x93,0x93,0x94,0x94,0x94,0x94,0x95,0x95,0x95,0x95,0x96,0x96,0x96,0x96,0x97,0x97,0x97,0x97,
0x98,0x98,0x98,0x98,0x99,0x99,0x99,0x99,0x9a,0x9a,0x9a,0x9a,0x9b,0x9b,0x9b,0x9b,0x9c,0x9c,0x9c,0x9c,0x9d,0x9d,0x9d,0x9d,0x9e,0x9e,0x9e,0x9e,0x9f,0x9f,0x9f,0x9f,
0xa0,0xa0,0xa0,0xa0,0xa1,0xa1,0xa1,0xa1,0xa2,0xa2,0xa2,0xa2,0xa3,0xa3,0xa3,0xa3,0xa4,0xa4,0xa4,0xa4,0xa5,0xa5,0xa5,0xa5,0xa6,0xa6,0xa6,0xa6,0xa7,0xa7,0xa7,0xa7,
0xa8,0xa8,0xa8,0xa8,0xa9,0xa9,0xa9,0xa9,0xaa,0xaa,0xaa,0xaa,0xab,0xab,0xab,0xab,0xac,0xac,0xac,0xac,0xad,0xad,0xad,0xad,0xae,0xae,0xae,0xae,0xaf,0xaf,0xaf,0xaf,
0xb0,0xb0,0xb0,0xb0,0xb1,0xb1,0xb1,0xb1,0xb2,0xb2,0xb2,0xb2,0xb3,0xb3,0xb3,0xb3,0xb4,0xb4,0xb4,0xb4,0xb5,0xb5,0xb5,0xb5,0xb6,0xb6,0xb6,0xb6,0xb7,0xb7,0xb7,0xb7,
0xb8,0xb8,0xb8,0xb8,0xb9,0xb9,0xb9,0xb9,0xba,0xba,0xba,0xba,0xbb,0xbb,0xbb,0xbb,0xbc,0xbc,0xbc,0xbc,0xbd,0xbd,0xbd,0xbd,0xbe,0xbe,0xbe,0xbe,0xbf,0xbf,0xbf,0xbf};
#pragma romdata
//ZKYL LEVLE TABLE
#pragma romdata ZKYL_LEVLE_ADDR=0x2F00
const rom unsigned char ZKYL_LEVEL_TABLE[256]={0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,
0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,
0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,
0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,
0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,0x09,
0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,
0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,0x0b,
0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,
0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,0x0d,
0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,0x0e,
0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,
0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,0x11,
0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,0x12,
0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,0x13,
0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,0x14,
0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,
0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,0x16,
0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,0x17,
0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,
0x18,0x18,0x18,0x18
};
#pragma romdata
void timer_isr(void);
void high_isr(void);
void soft_stk_test(void);
#pragma code high_vector=0x0008
void high_interrrupt(void)
{
_asm GOTO timer_isr _endasm
}
#pragma code
#pragma code low_vector=0x0018
void low_interrrupt(void)
{
_asm GOTO high_isr _endasm
}
#pragma code
void INI_PORT(void);
void INI_DATA(void);
void INI_TIMER0(void);
void INI_UART(void);
void AD_SAMPLE(void);
void SEND_STATUS(void);
void UART_SEND(unsigned char data);
void SEND_DATA(unsigned char data);
void PROCESS_UART(void);
// in-line assembly definitions....
#define TableRead_PostInc() {_asm TBLRDPOSTINC _endasm} // table read with post increment
#define TableRead_PostDec() {_asm TBLRDPOSTDEC _endasm} // table read with post decrement
#define TableWrite_PreInc() {_asm TBLWTPREINC _endasm} // table write with pre increment
unsigned char CODE_READ(unsigned long addr);
void CODEwritePage (unsigned long addr,unsigned char data);
void TURN_TO_GAS(void);
void SAVE_PYMK(void);
void ACC_PYMK_ZKYL(void);
void LED_DISPLAY(void);
#pragma code my_code=0x4000
#pragma interruptlow high_isr
void high_isr(void)
{
//return;
}
#pragma interrupt timer_isr
void timer_isr(void)
{
//—————————————————串口处理——————————————————————————————————————————
if(PIR1bits.RCIF)
{
unsigned char TempUartData;
PIR1bits.RCIF=0;
TempUartData=ReadUSART();
if(OLD_COMMAND==TempUartData)
{
if(COMMAND_CNT>=20)
{
COMMAND_CNT=0x00;
switch(TempUartData)
{
case 0xae: REC_FLAG.onebit.RD_EN=0;break;
case 0xaf: REC_FLAG.onebit.RD_EN=1;break;
case 0xac: REC_FLAG.onebit.WR_EN=0;break;
case 0xad: REC_FLAG.onebit.WR_EN=1;break;
case 0xa4: REC_FLAG.onebit.STUDY_ENABLE=0;break;
case 0xa5: REC_FLAG.onebit.STUDY_ENABLE=1;break;
default: break;
}
}
else
COMMAND_CNT++;
}
else
{
COMMAND_CNT=0x00;
OLD_COMMAND=TempUartData;
}
UART_DATA[(TempUartData>>4)&0x0f]=TempUartData;
}
//————————————————定时中断——————————————————————————————————————————————
if(INTCONbits.TMR0IF)
{
INTCONbits.TMR0IF=0;
TMR0L=0xf0;
TMR0H=0xFC; //0xfc
//=======================LED_BIT_OUT()===================================;
if(REC_FLAG.onebit.LED_EN)
{
//PORTBbits.QLXS=0x00;
LED_WIDTH--;
if(LED_WIDTH==0x00)
{
REC_FLAG.onebit.LED_EN=0x00;
//PORTBbits.QLXS=0x01;
}
}
//=========================PJ_TIMING()===================================;
//=================CAL_PY_STATUS()===============================;
PZ_NEW.AllBits=PORTC;
PZ_STATUS.AllBits=PZ_OLD.AllBits ^ PZ_NEW.AllBits;
PZ_OLD.AllBits=PZ_NEW.AllBits;
PZ_COME.AllBits=PZ_STATUS.AllBits & PZ_OLD.AllBits & 0x3f;
PZ_OVER.AllBits=PZ_STATUS.AllBits & (~PZ_OLD.AllBits) & 0x3f;
//================CAL_SPEED()==================================;
if(PZ0_PERIOD==0xffff)
{
PZ_PERIOD_OVFL.onebit.PZ0=1;
}
else
{
PZ_PERIOD_OVFL.onebit.PZ0=0;
PZ0_PERIOD++;
}
//喷油10秒计数器
if(PZ_COME.onebit.PZ0){
MONITOR_FLAG.onebit.PULSE_EXIST=0x01;
PULSE_DOG_CNT=0x0a;
PZ_PERIOD=PZ0_PERIOD;
PZ0_PERIOD=0x0000;
PERIOD_ADDR=(PZ_PERIOD>>1)&0x7fff;
if(!PULSE_FLAG.onebit.S1)
{
PERIOD_ADDR=(PERIOD_ADDR>>1)&0x7fff;
if(!PULSE_FLAG.onebit.S0)
PERIOD_ADDR=(PERIOD_ADDR>>1)&0x7fff;
}
if(PERIOD_ADDR>0xFD)PERIOD_ADDR=0xFD;
TEMP_SPEED_LEVEL=PERIOD_LEVEL_TABLE[PERIOD_ADDR + 0x02];
if(TEMP_SPEED_LEVEL>0x17)TEMP_SPEED_LEVEL=0x17;
int_a=SPEED_LEVEL & 0xff;
int_addr=int_a * 0x20;
int_d=ZKYL_LEVEL & 0xff;
int_addr=int_addr+int_d;
int_addr=int_addr+ 0x0002;
if(int_addr>=0x300)int_addr=0x2FF;
PQ_PERCENT=(signed char)SPEED_PQYC_TABLE[int_addr];
if(PQ_PERCENT>=0)
PERCENT_FLAG.onebit.sign=0;
else
PERCENT_FLAG.onebit.sign=1;
}
//=====PZ0=======================================================================
//===============计算喷油脉宽===================================
if(PZ_OLD.onebit.PZ0)
{
if(PZ0_PYMK<0xFD)
PZ0_PYMK++;
}
if(PZ_OVER.onebit.PZ0){
PYMK=PZ0_PYMK;
PZ0_PYMK=0;
}
//===============计算喷气延迟===========
if(PZ_OVER.onebit.PZ0)
{
PQ0_TIMER=0;
PQ_OVFL.onebit.PZ0=0;
PQ0_TIMER=0;
if(PQ_PERCENT<0)
int_a=(-PQ_PERCENT)&0xff;
else
int_a=PQ_PERCENT;
if(int_a>99)int_a=99;
int_d=PYMK & 0xff;
int_b=int_d;
int_d=int_d * int_a;
int_d=int_d/100;
if(PERCENT_FLAG.onebit.sign)
int_d=int_d;
else
int_d=int_b+int_d;
if(int_d<=0) int_d=1;
if(int_d>0xff) int_d=0xff;
PQYC=int_d;
}
//=============================执行喷气延迟============================
if(PZ_COME.onebit.PZ0){
PZ0_PQYC=PQYC;
if(PERCENT_FLAG.onebit.sign){
PQ_LAST.onebit.PZ0=0;
PQ_CUT.onebit.PZ0=1;
PQ_REG.onebit.PZ0=0;
}
else{
PQ_LAST.onebit.PZ0=1;
PQ_CUT.onebit.PZ0=0;
PQ_REG.onebit.PZ0=1;
}
}
//=======================喷气看门计数器====================
if(PZ_OVER.onebit.PZ0){
PQ_CUT.onebit.PZ0=0;
if(PERCENT_FLAG.onebit.sign){
PQ_REG.onebit.PZ0=0;
}
}
if(PQ_LAST.onebit.PZ0)
if(PZ0_PQYC!=0x00)
PZ0_PQYC--;
else{
PQ_REG.onebit.PZ0=0;
PQ_LAST.onebit.PZ0=0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -