#include "p18f452.h"
#pragma config WDT=OFF
#pragma config OSC=HS
/********报警的宏定义*****/
#define PE0 PORTEbits.RE0//小灯
#define buzzer PORTEbits.RE1//蜂鸣器
#define left_alarm PORTAbits.RA3//左端报警
#define right_alarm PORTAbits.RA1//右端报警
#define top_alarm PORTCbits.RC4//上端报警
#define bottom_alarm PORTCbits.RC2//下端报警
#define DC PORTDbits.RD0//DC
//#define DC1 PORTDbits.RD2//DC1
//#define DC2 PORTBbits.RB5//DC2
/***I2C的宏定义***/
#define scl PORTDbits.RD5
#define sda PORTDbits.RD6
#define trisd5 TRISDbits.TRISD5
#define trisd6 TRISDbits.TRISD6
/***LCD的宏定义***/
#define A0 PORTDbits.RD3 //控制信号/数据信号转换标识符,0:控制,1:数据
#define LCD_RET PORTDbits.RD4 //重置信号,0:重置,1:正常
#define SCL PORTCbits.RC3 //时钟信号
#define SDA PORTCbits.RC5 //数据信号
#define CS_LCD PORTDbits.RD7// chip选择,0:enable,1:disable
/***button的宏定***/
#define PB0 PORTBbits.RB0
#define PB1 PORTBbits.RB1
#define PB2 PORTBbits.RB2
#define PB4 PORTBbits.RB4
//#define PB5 PORTBbits.RB5
#define PB6 PORTBbits.RB6
#define PB7 PORTBbits.RB7
/***电机控制的宏定义***/
#define y_dir PORTBbits.RB5//水平方向控制
#define x_dir PORTDbits.RD1//垂直方向控制
#define pwm2 PORTDbits.RD2//电机1的脉冲输出
#define pwm1 PORTBbits.RB3//电机2的脉冲输出
/*****主程序变量****/
unsigned char alarm_x;//水平报警标志位
unsigned char alarm_y;//竖直报警标志位
//unsigned char i,j,k,m;//临时变量
//unsigned char test=1;//电机测试标志位
unsigned char homing;//归位标志位
unsigned char run_flag;//运行标志变量,运行和暂停状态切换时使用
unsigned char counter1;//平移次数设定值
unsigned char counter;//平移次数显示值
unsigned char cycle1;//根据修改要求,增加循环次数可调设定值
unsigned char round1;//根据修改要求,增加重复次数设定值
unsigned char cycle;//根据修改要求,运行次数可调
unsigned char round;//根据修改要求,循环次数可调
unsigned char step_flag;//运行步标志位
unsigned char step;//步数变量
unsigned short long x_move,y_move;//x_move表示水平转速,y_move表示垂直转速
unsigned int t_clean,t_dep;//t_clean表示沉积时间,t_dep表示清洗时间
unsigned short long t_counter=0;//定时器计数变量
/****按键设置****/
unsigned char page;//page表示页数,默认值在第一页。
unsigned char place=0;//表示被选中的位数
unsigned char movedown_0;
unsigned char movedown_23;
unsigned char movedown_45;
unsigned char movedown_6;
unsigned char movedown_7;//表示被选中的选项,=0时,表示“水平转速”被选中;=1表示“垂直转速”被选中。。。
unsigned char coe[52];
/*={0,0,0,0,0,//水平转速的系数coefficient
0,0,0,0,0,//垂直转速的系数
0,0,0,0,0,//平移次数的系数
0,0,0,//沉积时间系数1_1
0,0,0,//沉积时间系数1_2
0,0,0,//沉积时间系数1_3
0,0,0,//沉积时间系数2_1
0,0,0,//沉积时间系数2_2
0,0,0,//沉积时间系数2_3
0,0,0,//清洗时间系数1_1
0,0,0,//清洗时间系数1_2
0,0,0,//清洗时间系数1_3
0,0,0,//清洗时间系数2_1
0,0,0,//清洗时间系数2_2
0,0,0,//清洗时间系数2_3
0,0,//循环次数的系数
0,0,//运行次数的系数
0,0//平移次数的系数
};
*/
/****字库(长*宽=16*12)****/
#pragma idata bigdata
/****界面1****/
unsigned char yun[24]={0x10,0xF1,0x02,0x08,0x89,0xC9,0xB9,0x89,0xC9,0x89,0x08,0x00,0x06,0x01,0x02,0x04,
0x05,0x04,0x04,0x04,0x04,0x05,0x04,0x00};/*运*/
unsigned char xing[24]={0x48,0x24,0xF3,0x08,0x09,0x09,0x09,0x09,0xF9,0x09,0x08,0x00,0x00,0x00,0x07,0x00,
0x00,0x04,0x04,0x04,0x07,0x00,0x00,0x00};/*行*/
unsigned char zan[24]={0x22,0x2E,0xDB,0x7E,0x4A,0x60,0x5E,0x4A,0x4A,0xF9,0x09,0x00,0x00,0x00,0x07,0x05,
0x05,0x05,0x05,0x05,0x05,0x07,0x00,0x00};/*暂*/
unsigned char ting[24]={0x10,0xFC,0x03,0x62,0xBA,0xAA,0xAB,0xAA,0xAA,0xBA,0x62,0x00,0x00,0x07,0x00,0x00,
0x00,0x04,0x04,0x07,0x00,0x00,0x00,0x00};/*停*/
unsigned char she[24]={0x10,0x11,0xF2,0x20,0x10,0x6F,0xA1,0x21,0xAF,0x68,0x08,0x00,0x00,0x00,0x03,0x05,
0x04,0x04,0x02,0x01,0x02,0x04,0x04,0x00};/*设*/
unsigned char zhi[24]={0x10,0x17,0xF5,0x55,0x57,0x5D,0x57,0x55,0xF5,0x17,0x10,0x00,0x04,0x04,0x07,0x05,
0x05,0x05,0x05,0x05,0x07,0x04,0x04,0x00};/*置*/
unsigned char gui[24]={0x00,0xFE,0x00,0xFF,0x00,0x22,0x22,0x22,0x22,0x22,0xFE,0x00,0x04,0x04,0x02,0x01,
0x02,0x02,0x02,0x02,0x02,0x02,0x07,0x00};/*归*/
unsigned char wei[24]={0x10,0xFC,0x03,0x04,0x34,0xC5,0x06,0x84,0x74,0x04,0x04,0x00,0x00,0x07,0x00,0x04,
0x04,0x05,0x04,0x07,0x04,0x04,0x04,0x00};/*位*/
unsigned char sheng[24]={0x54,0x7D,0x85,0xFF,0x85,0x7D,0x54,0x00,0xFE,0x00,0xFF,0x00,0x02,0x01,0x00,0x07,
0x00,0x01,0x02,0x00,0x05,0x04,0x07,0x00};/*剩*/
unsigned char yu[24]={0x10,0x50,0x48,0xD4,0x52,0xF1,0x52,0xD4,0x48,0x50,0x10,0x00,0x04,0x02,0x01,0x04,
0x04,0x07,0x00,0x00,0x01,0x06,0x00,0x00};/*余*/
unsigned char ci[24]={0x81,0xC2,0x34,0x00,0x10,0x0C,0xF7,0x84,0x04,0x14,0x0C,0x00,0x00,0x07,0x00,0x04,
0x02,0x01,0x00,0x00,0x01,0x02,0x04,0x00};/*次*/
unsigned char shu[24]={0xA5,0x96,0xCC,0xBF,0x96,0xA5,0x18,0x67,0x84,0x7C,0x04,0x00,0x04,0x05,0x02,0x02,
0x03,0x04,0x04,0x02,0x01,0x02,0x04,0x00};/*数*/
unsigned char colon[12]={0x00,0x00,0x10,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x00,0x00};/*冒号*/
unsigned char number[240]={0xF8,0x04,0x04,0x04,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x02,0x02,
0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*0*/
0x00,0x08,0xFC,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x03,0x02,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*1*/
0x18,0x84,0x44,0x24,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x02,0x02,0x02,
0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*2*/
0x08,0x04,0x24,0x24,0xD8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x02,0x02,
0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*3*/
0x40,0xB0,0x88,0xFC,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,
0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*4*/
0x3C,0x24,0x24,0x24,0xC4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x02,0x02,
0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*5*/
0xF8,0x24,0x24,0x2C,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x02,0x02,
0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*6*/
0x0C,0x04,0xE4,0x1C,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*7*/
0xD8,0x24,0x24,0x24,0xD8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x02,0x02,
0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*8*/
0x38,0x44,0x44,0x44,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x02,0x02,
0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*9*/};
/****界面2****/
unsigned char ding[24]={0x04,0x16,0xD2,0x12,0x12,0xF3,0x92,0x92,0x92,0x92,0x06,0x00,0x04,0x02,0x01,0x01,
0x02,0x03,0x04,0x04,0x04,0x04,0x04,0x00};/*定*/
unsigned char zuo[24]={0x04,0x04,0xC4,0x34,0x2F,0x24,0xE4,0x24,0x24,0x26,0x04,0x00,0x02,0x05,0x04,0x04,
0x04,0x04,0x07,0x04,0x04,0x04,0x04,0x00};/*左*/
unsigned char yi[24]={0x8A,0x6A,0xFE,0x29,0x49,0x24,0xAA,0x53,0x6A,0x46,0xC2,0x00,0x01,0x00,0x07,0x00,
0x05,0x05,0x04,0x03,0x02,0x01,0x00,0x00};/*移*/
unsigned char xia[24]={0x02,0x02,0x02,0x02,0x02,0xFE,0x12,0x12,0x22,0x43,0x02,0x00,0x00,0x00,0x00,0x00,
0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00};/*下*/
unsigned char fan3[24]={0x10,0x11,0xF6,0x80,0x7E,0x0A,0xAA,0x49,0xA9,0x19,0x00,0x00,0x04,0x02,0x01,0x02,
0x04,0x05,0x04,0x04,0x04,0x05,0x04,0x00};/*返*/
unsigned char hui[24]={0x00,0xFF,0x01,0xF9,0x49,0x49,0x49,0xF9,0x01,0x01,0xFF,0x00,0x00,0x07,0x02,0x02,
0x02,0x02,0x02,0x02,0x02,0x02,0x07,0x00};/*回*/
unsigned char shui[24]={0x08,0x08,0xC8,0x38,0x00,0xFF,0x20,0x50,0x88,0x04,0x00,0x00,0x02,0x01,0x00,0x04,
0x04,0x07,0x00,0x00,0x00,0x01,0x02,0x00};/*水*/
unsigned char ping[24]={0x20,0x21,0x25,0x39,0x21,0xFF,0x21,0x31,0x2D,0x21,0x20,0x00,0x00,0x00,0x00,0x00,
0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00};/*平*/
unsigned char xun[24]={0x24,0xF2,0x09,0x00,0xFE,0x05,0xF5,0x5F,0x55,0x55,0xF5,0x00,0x00,0x07,0x00,0x06,
0x01,0x00,0x07,0x05,0x05,0x05,0x07,0x00,};/*循*/