📄 addangfeng.lst
字号:
__start:
__text_start:
075D EFCF LDI R28,0xFF
075E E0D4 LDI R29,4
075F BFCD OUT 0x3D,R28
0760 BFDE OUT 0x3E,R29
0761 51C0 SUBI R28,0x10
0762 40D0 SBCI R29,0
0763 EA0A LDI R16,0xAA
0764 8308 STD Y+0,R16
0765 2400 CLR R0
0766 E3EA LDI R30,0x3A
0767 E0F1 LDI R31,1
0768 E011 LDI R17,1
0769 35E5 CPI R30,0x55
076A 07F1 CPC R31,R17
076B F011 BEQ 0x076E
076C 9201 ST R0,Z+
076D CFFB RJMP 0x0769
076E 8300 STD Z+0,R16
076F E8E0 LDI R30,0x80
0770 E0FE LDI R31,0xE
0771 E0A0 LDI R26,0
0772 E0B1 LDI R27,1
0773 E01E LDI R17,0xE
0774 3BEA CPI R30,0xBA
0775 07F1 CPC R31,R17
0776 F021 BEQ 0x077B
0777 95C8 LPM
0778 9631 ADIW R30,1
0779 920D ST R0,X+
077A CFF9 RJMP 0x0774
077B 940E1A1F CALL _main
_exit:
077D CFFF RJMP _exit
FILE: D:\addanfeng\addanfeng.c
(0001) //产品名称:奥德新气动型铆接机
(0002) //时间:2006.12.7
(0003) //作者:leidailiang
(0004) //eeprom[0]:铆接时间l //eeprom[1]:铆接时间h
(0005) //eeprom[2]:nooooooop //eeprom[4]:判断是否初次写EEPROM
(0006) //eeprom[5]:EEPROM擦写次数移位eeprom[7]:系统清计低位
(0007) //eeprom[8]:系统清计高位//eeprom[9]:系统清计高位
(0008) //------------------------定义头文件----------------
(0009) #include <iom162v.h>
(0010) #include <macros.h>
(0011) #include <math.h>
(0012) #include <eeprom.h>
(0013)
(0014) //-------------------------定义常量-----------------
(0015)
(0016) #define OPENBZ 0X55
(0017) #define CLOSEBZ 0XAA
(0018) #define CE 0X20
(0019) #define CLK 0X08
(0020) #define DI 0X10
(0021) #define yearhz 0x0e
(0022) #define monthhz 0x10
(0023) #define dayhz 0x12
(0024) #define maohaohz 0x0c
(0025) #define weekhz 0x14
(0026) #define xianganghz 0x22
(0027) //----------------------宏定义----------------------
(0028) #define clr_cs_out PORTB&=0XBF
(0029) #define set_cs_out PORTB|=0X40
(0030)
(0031) #define output_Y0 PORTB&=0Xfd
(0032) #define without_Y0 PORTB|=0X02
(0033)
(0034) #define output_Y1 PORTB&=0Xfb
(0035) #define without_Y1 PORTB|=0X04
(0036)
(0037) #define output_Y2 PORTB&=0Xf7
(0038) #define without_Y2 PORTB|=0X08
(0039)
(0040) #define output_Y4 PORTB&=0Xdf
(0041) #define without_Y4 PORTB|=0X20
(0042)
(0043) #define eor_resc PORTD^=BIT(PD0)
(0044)
(0045) //----------------------定义绝对地址空间------------
(0046) #define CS1_ADDRESS (*(volatile unsigned char *)0xE600)
(0047) #define CS2_ADDRESS (*(volatile unsigned char *)0xD600)
(0048) #define code_ADDRESS (*(volatile unsigned char *)0xF400)
(0049) #define data_ADDRESS (*(volatile unsigned char *)0xF600)
(0050) #define inport0 (*(volatile unsigned char *)0x8b00)
(0051) #define inport1 (*(volatile unsigned char *)0x4b00) //16c650
(0052) void dis_control_mode(unsigned char line,unsigned char column, unsigned char lcd_csx);
(0053) void delay(unsigned int n);
(0054) void init_disp(void);
(0055) void strat_scarn(void);
(0056) void write_code(unsigned char w_code);
(0057) void write_data(unsigned char wdata);
(0058) void write_cs1(unsigned char cs1_data);
(0059) void write_cs2(unsigned char cs2_data);
(0060) void set_xy(unsigned char x_page,unsigned char y);
(0061) void set_xytemp(unsigned char x_page,unsigned char y);
(0062) void SetOnOff(unsigned char onoff);
(0063) void PARAMETER_SETDISP(void);
(0064) void PARAMETER_SET(void);
(0065) void PJZCS(void);
(0066) void init_time0(void);
(0067) void clear_lcd(void);
(0068) void display_number(unsigned char x_line,unsigned char y_line,unsigned char lcd_x );
(0069) void display_number_decimal(void);
(0070) void disp_number(unsigned char x_line,unsigned char y_line,unsigned char lcd_x,unsigned char jj );
(0071) void init_lcd(void);
(0072) void DISPLY_CLOCK (void);
(0073) void oil_pump_open (void);
(0074) void oil_pump_off (void);
(0075) void main_axis_open (void);
(0076) void main_axis_off (void);
(0077) void electricity_valve_open (void);
(0078) void electricity_valve_off (void);
(0079) unsigned char RTEEPROMReady(void);
(0080)
(0081) unsigned char HB1=6,HB2=0,HB3=0,HB4=2,HB5=0,HB6=0;
(0082) unsigned char keycytemp,jishu;
(0083) //unsigned char pjyx_flag[20]={0,0,0,0,0,0,0,0,0,0,OPENBZ,0,0,0,0}; //按键子程序暂存值
(0084) unsigned char grating_key=CLOSEBZ,switch1_key,switch2_key,switch3_key,manual_auto_key,down_key,up_key,switch2_keystata,setup_key,add_key,dcc_key,clear_key,no_key=OPENBZ;
(0085) unsigned char grating_keytemp1=CLOSEBZ,grating_keytemp2=CLOSEBZ,jishubz;
(0086) unsigned char setupdisp_flag=0,setupitem_flag=0;
(0087) unsigned char valve_state_flag=OPENBZ,halfauto_state=0,auto_state=0;
(0088) unsigned char ryear=11,rmonth=11,rday=11,rhour=11,rminute=11,rsecond,rweek;
(0089) unsigned char wyear=12,wmonth=12,wday=12,whour=12,wminute=12,wsecond,wweek;
(0090) unsigned char zhuangangle=0,zhuangangle_plan;
(0091) unsigned int maojietime=0,maojietime_plan,user_password=4,passwordtime=0,passwrodjishu=0;
(0092) unsigned char passstate=0;
(0093) unsigned long int temp,geishusum=0,qishusum=0,geishusumtemp=55;
(0094) unsigned char time0=0,time1=0;time2=0,time3=0,time4=0;
(0095) unsigned char cortrolMODEL=0,temp1,main_flag;
(0096) unsigned char eepromywcs=0,eepromywcstemp=0xff;//EEPROM擦写次数移位
(0097) const unsigned char danfen_bz1[]={ //厂标上部分
(0098) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x40,0x40,0x20,0x20,0x10,
(0099) 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
(0100) 0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,
(0101) 0x10,0x20,0x20,0x40,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0102) 0x00,0x00,0x00,0x00,0x00,0xF0,0x08,0x04,0x02,0x01,0x00,0x00,0x07,0x03,0x01,0x01,
(0103) 0x01,0xC1,0xFF,0x3F,0x00,0x00,0x01,0xFF,0xFF,0x01,0x00,0x00,0x01,0xFF,0xFF,0x01,
(0104) 0x00,0xF8,0xFC,0x06,0x03,0x01,0x01,0x01,0x06,0xFC,0xF8,0x00,0x01,0xFF,0xFF,0x01,
(0105) 0x01,0x01,0x03,0x06,0x0C,0xF8,0xE1,0x02,0x04,0x08,0xF0,0x00,0x00,0x00,0x00,0x00,
(0106) };
(0107)
(0108) const unsigned char danfen_bz2[]={ //厂标下部分
(0109) 0x00,0x00,0x00,0x00,0x00,0x0F,0x10,0x20,0x40,0x80,0x00,0x00,0x00,0xC0,0xF0,0x98,
(0110) 0x9F,0x83,0x80,0xC0,0xE0,0x00,0x80,0xFF,0xFF,0x81,0x01,0x01,0x81,0xFF,0xFF,0x80,
(0111) 0x00,0x1F,0x3F,0x20,0x40,0x90,0xB0,0xE0,0x60,0xBF,0x9F,0x00,0x80,0xFF,0xFF,0x80,
(0112) 0x80,0x80,0x40,0x60,0x38,0x0F,0x87,0x40,0x20,0x10,0x0F,0x00,0x00,0x00,0x00,0x00,
(0113) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x02,0x04,0x04,0x08,
(0114) 0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
(0115) 0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
(0116) 0x08,0x04,0x04,0x02,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
(0117) };
(0118) const unsigned char wecome_right[]={ //:奥德铆压设
(0119) 0x00,0x00,0xFC,0x54,0x46,0xFD,0x44,0x54,0xFC,0x00,0x00,0x00,0x20,0x10,0xC8,0x36,
(0120) 0xF4,0x94,0xF4,0x9F,0xF4,0x94,0xF4,0x00,0x00,0x00,0x60,0x50,0xEE,0x28,0xF8,0x04,
(0121) 0xFA,0xF0,0x08,0xF8,0x00,0x00,0x00,0x00,0xFC,0x04,0x04,0x04,0xE4,0x04,0x04,0x04,
(0122) 0x00,0x00,0x00,0x20,0x24,0xE8,0x20,0x00,0x40,0x3E,0x04,0x3E,0x40,0x00,0x00,0x00,
(0123) 0x80,0x88,0x4B,0x29,0x1E,0x09,0x18,0x29,0x4B,0x88,0x80,0x00,0x02,0x01,0x7F,0x00,
(0124) 0x31,0x12,0x26,0x4A,0x86,0x6A,0x08,0x10,0x00,0x00,0x00,0x01,0x3F,0x51,0x21,0x1F,
(0125) 0x03,0x7F,0x02,0x07,0x00,0x80,0x40,0x30,0x4F,0x40,0x41,0x41,0x7F,0x41,0x51,0x60,
(0126) 0x40,0x40,0x00,0x00,0x00,0x3F,0x10,0x48,0x23,0x15,0x19,0x25,0x43,0x40,0x00,0x00,
(0127) };
(0128) const unsigned char wecome_left[]={ //:备有限公司
(0129) 0x00,0x80,0x40,0x20,0x9C,0x6B,0x48,0xB8,0x8C,0x00,0x00,0x00,0x00,0x00,0x08,0x08,
(0130) 0x88,0xE8,0x58,0x4F,0x48,0x48,0xE8,0x08,0x08,0x00,0x00,0xFE,0x42,0xBE,0x00,0xFE,
(0131) 0x92,0x92,0x92,0xFE,0x00,0x00,0x00,0x00,0x00,0x80,0x60,0x18,0x00,0x82,0x0C,0x30,
(0132) 0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x24,0xA4,0xA4,0xA4,0xA4,0x24,0x04,0xFC,0x00,
(0133) 0x00,0x04,0x02,0x7D,0x4A,0x4A,0x7E,0x4A,0x7E,0x01,0x03,0x02,0x00,0x00,0x02,0x01,
(0134) 0x00,0x7F,0x09,0x09,0x09,0x49,0x7F,0x00,0x00,0x00,0x00,0xFF,0x08,0x07,0x00,0x3F,
(0135) 0x41,0x22,0x0C,0x12,0x61,0x40,0x00,0x00,0x03,0x00,0x70,0x2C,0x23,0x20,0x2C,0x10,
(0136) 0x20,0x41,0x01,0x00,0x00,0x00,0x00,0x00,0x1F,0x08,0x08,0x0F,0x20,0x40,0xFF,0x00,
(0137) };
(0138)
(0139) const unsigned char hand_strat[]={//手指开始1.bmp --
(0140) 0x00,0xF8,0xF8,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF8,0xFC,0xFE,0xFF,0xFF,0xFF,
(0141) 0x71,0x70,0x70,0x70,0x70,0x70,0x70,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0142) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0143) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0144) 0x00,0x3F,0x3F,0x1F,0x1F,0x1F,0x1F,0x1F,0x3F,0x3F,0x3F,0x7F,0x7F,0x7F,0x3F,0x1F,
(0145) 0x1B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x0C,0x00,0x00,0x00,0x0C,0x0C,
(0146) 0x00,0x00,0x00,0x0C,0x0C,0x00,0x00,0x00,0x0C,0x0C,0x00,0x00,0x00,0x0C,0x0C,0x00,
(0147) 0x00,0x00,0x0C,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0148) };
(0149) const unsigned char control_mode[]={ //控制方式
(0150) 0x08,0x08,0x08,0xFF,0x88,0x48,0x00,0x98,0x48,0x28,0x0A,0x2C,0x48,0xD8,0x08,0x00,
(0151) 0x50,0x4F,0x48,0x48,0xFF,0x48,0x48,0x48,0x00,0xFC,0x00,0x00,0xFF,0x00,0x08,0x08,
(0152) 0x08,0x08,0x08,0x08,0xF9,0x4A,0x4C,0x48,0x48,0xC8,0x08,0x08,0x08,0x00,0x08,0x88,
(0153) 0x88,0x88,0x88,0x88,0x08,0xFF,0x08,0x09,0x0E,0x0A,0x08,0x00,0x00,0x00,0x00,0x00,
(0154) 0x02,0x42,0x81,0x7F,0x00,0x00,0x40,0x42,0x42,0x42,0x7E,0x42,0x42,0x42,0x40,0x00,
(0155) 0x00,0x3F,0x01,0x01,0xFF,0x21,0x41,0x3F,0x00,0x0F,0x40,0x80,0x7F,0x00,0x40,0x40,
(0156) 0x20,0x10,0x0C,0x03,0x00,0x00,0x20,0x40,0x40,0x3F,0x00,0x00,0x00,0x00,0x20,0x60,
(0157) 0x30,0x1F,0x10,0x08,0x08,0x00,0x07,0x18,0x20,0x40,0x80,0x70,0x00,0x00,0x66,0x66,
(0158) };
(0159)
(0160) const unsigned char stop[]={ //:停止
(0161) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0162) 0x80,0x40,0x20,0xF8,0x07,0x02,0x04,0x74,0x54,0x55,0x56,0x54,0x74,0x04,0x04,0x00,
(0163) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0164) 0x00,0x00,0x00,0x00,0xF0,0x00,0x00,0x00,0xFF,0x40,0x40,0x40,0x40,0x40,0x00,0x00,
(0165) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0166) 0x00,0x00,0x00,0xFF,0x00,0x03,0x01,0x05,0x45,0x85,0x7D,0x05,0x05,0x05,0x03,0x00,
(0167) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0168) 0x40,0x40,0x40,0x40,0x7F,0x40,0x40,0x40,0x7F,0x40,0x40,0x40,0x40,0x40,0x40,0x00,
(0169) };
(0170) const unsigned char start[]={ //:启动
(0171) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0172) 0x00,0x00,0x00,0xF8,0x48,0x48,0x48,0x49,0x4E,0x4A,0x48,0x48,0x48,0x78,0x00,0x00,
(0173) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0174) 0x20,0x24,0x24,0xE4,0x24,0x24,0x24,0x20,0x10,0x10,0xFF,0x10,0x10,0xF0,0x00,0x00,
(0175) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0176) 0x40,0x20,0x18,0x07,0x00,0x7E,0x22,0x22,0x22,0x22,0x22,0x22,0x22,0x7E,0x00,0x00,
(0177) 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
(0178) 0x08,0x1C,0x0B,0x08,0x0C,0x05,0x4E,0x24,0x10,0x0C,0x03,0x20,0x40,0x3F,0x00,0x00,
(0179) };
(0180) const unsigned char main_state[]={//主轴状态
(0181) 0x00,0x00,0x10,0x10,0x10,0x10,0x11,0xF6,0x12,0x10,0x10,0x10,0x10,0x00,0x00,0xE8,
(0182) 0xB8,0x8F,0xE8,0x88,0x88,0x00,0xF0,0x10,0x10,0xFF,0x10,0x10,0xF0,0x00,0x08,0x30,
(0183) 0x00,0xFF,0x20,0x20,0x20,0x20,0xFF,0x20,0xE1,0x26,0x2C,0x20,0x20,0x04,0x04,0x04,
(0184) 0x84,0x44,0x34,0x4F,0x94,0x24,0x44,0x84,0x84,0x04,0x00,0x00,0x00,0x00,0x00,0x00,
(0185) 0x00,0x20,0x21,0x21,0x21,0x21,0x21,0x3F,0x21,0x21,0x21,0x21,0x21,0x20,0x00,0x08,
(0186) 0x08,0x08,0x7F,0x04,0x04,0x00,0x7F,0x11,0x11,0x1F,0x11,0x11,0x7F,0x00,0x04,0x02,
(0187) 0x01,0x7F,0x40,0x20,0x18,0x07,0x00,0x00,0x03,0x0C,0x30,0x20,0x20,0x00,0x61,0x39,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -