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

📄 test.c

📁 发动机点火提前角的一个程序
💻 C
📖 第 1 页 / 共 4 页
字号:
/*
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 + -