📄 meau.s
字号:
.dbfile E:\avr\1602B_LCD\meau.c
.blkb 2
.area idata
.word 20
.area data(ram, con, rel)
.dbfile E:\avr\1602B_LCD\meau.c
.blkb 2
.area idata
.word 0
.area data(ram, con, rel)
.dbfile E:\avr\1602B_LCD\meau.c
.blkb 2
.area idata
.word 999
.area data(ram, con, rel)
.dbfile E:\avr\1602B_LCD\meau.c
.blkb 2
.area idata
.word 0
.area data(ram, con, rel)
.dbfile E:\avr\1602B_LCD\meau.c
.blkb 2
.area idata
.word 21
.area data(ram, con, rel)
.dbfile E:\avr\1602B_LCD\meau.c
.blkb 2
.area idata
.word 19
.area data(ram, con, rel)
.dbfile E:\avr\1602B_LCD\meau.c
.blkb 1
.area idata
.byte 141
.area data(ram, con, rel)
.dbfile E:\avr\1602B_LCD\meau.c
.blkb 2
.area idata
.word 21
.area data(ram, con, rel)
.dbfile E:\avr\1602B_LCD\meau.c
.blkb 2
.area idata
.word 0
.area data(ram, con, rel)
.dbfile E:\avr\1602B_LCD\meau.c
.blkb 2
.area idata
.word 999
.area data(ram, con, rel)
.dbfile E:\avr\1602B_LCD\meau.c
.blkb 2
.area idata
.word 0
.area data(ram, con, rel)
.dbfile E:\avr\1602B_LCD\meau.c
.blkb 2
.area idata
.word 1
.area data(ram, con, rel)
.dbfile E:\avr\1602B_LCD\meau.c
.blkb 2
.area idata
.word 20
.area data(ram, con, rel)
.dbfile E:\avr\1602B_LCD\meau.c
.blkb 1
.area idata
.byte 207
.area data(ram, con, rel)
.dbfile E:\avr\1602B_LCD\meau.c
.dbstruct 0 13 .1
.dbfield 0 KeyTab_MenuIndex i
.dbfield 2 KeyTab_MaxItems i
.dbfield 4 KeyTab_PressOk i
.dbfield 6 KeyTab_PressEsc i
.dbfield 8 KeyTab_PressDown i
.dbfield 10 KeyTab_PressUp i
.dbfield 12 poiadd c
.dbend
.dbsym e KeyTab _KeyTab A[286:22]S[.1]
.area text(rom, con, rel)
.dbfile E:\avr\1602B_LCD\meau.c
.dbfunc e Judge_Menu_ID _Judge_Menu_ID fV
.area func_lit(rom, con, rel)
L17:
.word `L5
.word `L6
.word `L8
.word `L8
.word `L9
.word `L9
.word `L10
.word `L10
.word `L11
.word `L11
.word `L12
.word `L12
.word `L13
.word `L13
.word `L14
.word `L14
.word `L15
.word `L15
.word `L16
.word `L6
.word `L7
.word `L7
.area text(rom, con, rel)
.dbfile E:\avr\1602B_LCD\meau.c
.even
_Judge_Menu_ID::
.dbline -1
.dbline 60
;
; #include <iom64v.h>
; #include "1602B_LCD.h"
; #include "control.h"
;
; uchar IDNUM[2],KZNUM[2];
; uchar TKEY;
; int flag_cd=0,M;
; int function_flag2,function_flag1;
; uint RAd,NOWADDR;
; //extern unsigned int en;
; //int a_voltage_average,a_current_average,b_voltage_average,b_current_average,c_voltage_average,c_current_average;
; //int a_voltage_harmonic[4],a_current_harmonic[4],b_voltage_harmonic[4],b_current_harmonic[4],c_voltage_harmonic[4],c_current_harmonic[4];
;
; /*------------------------------------------------------------------------------*/
; /*------------------------------------------------------------------------------*/
; /* 初始化结构体数组
; /* CurMenuID=本菜单ID
; /* MaxMenuItem=同级菜单最大项数
; /* OkMenuID=子菜单层所对应的菜单ID,ID=999为菜单已经到底了
; /* EscMenuID=父菜单层所对应的菜单ID,ID=999为菜单已经到顶了
; /* DownMenuID=弟菜单层所对应的菜单ID,ID=999为菜单是独生子
; /* UpMenuID=兄菜单层所对应的菜单ID,ID=999为菜单是独生子
; /*------------------------------------------------------------------------------*/
;
;
; KeyTabStruct KeyTab[MAX_KEYTABSTRUCT_NUM]=
; {
; // CurMenuID, MaxMenuItem, OkMenuID, EscMenuID, DownMenuID, UpMenuID, poiadd,
;
; {MENU_FACE, 3, setup, 999, 999, 999, 999, },
; {setup, 17, set_data, MENU_FACE, new_record, output, 0x8f, },
; {set_data, 0, 999, setup, set_time2, SN, 0x8f, },
; {set_time2, 0, 999, setup, ID_Number, set_data, 0xcf, },
; {ID_Number, 0, 999, setup, KZ_Number, set_time2, 0x8f, },
; {KZ_Number, 0, 999, setup, speak_Second, ID_Number, 0xcf, },
; {speak_Second, 0, 999, setup, Police_Service_1, KZ_Number, 0x8f, },
; {Police_Service_1, 0, 999, setup, Police_Service_2, speak_Second, 0xcf, },
; {Police_Service_2, 0, 999, setup, Police_Service_3, Police_Service_1, 0x8f, },
; {Police_Service_3, 0, 999, setup, Fireman_Service_1, Police_Service_2, 0xcf, },
; {Fireman_Service_1, 0, 999, setup, Fireman_Service_2, Police_Service_3, 0x8f, },
; {Fireman_Service_2, 0, 999, setup, Fireman_Service_3, Fireman_Service_1, 0xcf, },
; {Fireman_Service_3, 0, 999, setup, secure_man_1, Fireman_Service_2, 0x8f, },
; {secure_man_1, 0, 999, setup, secure_man_2, Fireman_Service_3, 0xcf, },
; {secure_man_2, 0, 999, setup, secure_man_3, secure_man_1, 0x8f, },
; {secure_man_3, 0, 999, setup, secret_number_1, secure_man_2, 0xcf, },
; {secret_number_1, 0, 999, setup, secret_number_2, secure_man_3, 0x8f, },
; {secret_number_2, 0, 999, setup, SN, secret_number_1, 0xcf, },
; {SN, 0, 999, setup, set_data, secret_number_2, 0x8f, },
; {new_record, 0, 999, MENU_FACE, output, setup, 0xcf, },
; {output, 0, 999, MENU_FACE, quit, new_record, 0x8d, },
; {quit, 0, 999, MENU_FACE, setup, output, 0xcf, },
; };
;
;
; /*------------------------------------------------------------------------------*/
; /* ok、Esc,up,down按键调用子程序 */
; /*------------------------------------------------------------------------------*/
; void Judge_Menu_ID(void)
; {
.dbline 61
; switch(iMenuID)
ldi R24,21
ldi R25,0
lds R2,_iMenuID
lds R3,_iMenuID+1
cp R24,R2
cpc R25,R3
brge X1
xjmp L4
X1:
movw R18,R2
ldi R16,2
ldi R17,0
xcall empy16s
movw R30,R16
ldi R24,<L17
ldi R25,>L17
add R30,R24
adc R31,R25
lpm R0,Z+
lpm R1,Z
movw R30,R0
ijmp
X0:
.dbline 62
; {
L5:
.dbline 64
; case MENU_FACE:
; LCD_write_char(0, 0x01);
ldi R18,1
ldi R19,0
clr R16
clr R17
xcall _LCD_write_char
.dbline 65
; Dispaly_MENU_FACE();
xcall _Dispaly_MENU_FACE
.dbline 66
; break;
xjmp L4
L6:
.dbline 69
; case setup:
; case new_record:
; Dispaly_Menu_Root1();
xcall _Dispaly_Menu_Root1
.dbline 70
; break;
xjmp L4
L7:
.dbline 73
; case output:
; case quit:
; Dispaly_Menu_Root2();
xcall _Dispaly_Menu_Root2
.dbline 74
; break;
xjmp L4
L8:
.dbline 77
; case set_data:
; case set_time2:
; Dispaly_data_time();
xcall _Dispaly_data_time
.dbline 78
; break;
xjmp L4
L9:
.dbline 81
; case ID_Number:
; case KZ_Number:
; Dispaly_ID_KZ();
xcall _Dispaly_ID_KZ
.dbline 82
; break;
xjmp L4
L10:
.dbline 85
; case speak_Second:
; case Police_Service_1:
; Dispaly_speak_police();
xcall _Dispaly_speak_police
.dbline 86
; break;
xjmp L4
L11:
.dbline 89
; case Police_Service_2:
; case Police_Service_3:
; Dispaly_police2_police3();
xcall _Dispaly_police2_police3
.dbline 90
; break;
xjmp L4
L12:
.dbline 93
; case Fireman_Service_1:
; case Fireman_Service_2:
; Dispaly_Fireman1_Fireman2();
xcall _Dispaly_Fireman1_Fireman2
.dbline 94
; break;
xjmp L4
L13:
.dbline 97
; case Fireman_Service_3:
; case secure_man_1:
; Dispaly_Fireman3_secure1();
xcall _Dispaly_Fireman3_secure1
.dbline 98
; break;
xjmp L4
L14:
.dbline 101
; case secure_man_2:
; case secure_man_3:
; Dispaly_secure2_secure3();
xcall _Dispaly_secure2_secure3
.dbline 102
; break;
xjmp L4
L15:
.dbline 105
; case secret_number_2:
; case secret_number_1:
; Dispaly_secret_number();
xcall _Dispaly_secret_number
.dbline 106
; break;
xjmp L4
L16:
.dbline 108
xcall _Dispaly_SN
.dbline 109
.dbline 112
L4:
.dbline -2
L2:
.dbline 0 ; func end
ret
.dbend
.dbfunc e Dispaly_MENU_FACE _Dispaly_MENU_FACE fV
.even
_Dispaly_MENU_FACE::
.dbline -1
.dbline 119
; case SN:
; Dispaly_SN();
; break;
;
; default :
; break;
; }
; }
; /*------------------------------------------------------------------------------*/
; /* DispFaceBmp()
; /*------------------------------------------------------------------------------*/
; void Dispaly_MENU_FACE(void)
; {
.dbline 120
; LCD_write_string(0X81,"yueyou.com.tw"); //欢迎界面
ldi R18,<L19
ldi R19,>L19
ldi R16,129
xcall _LCD_write_string
.dbline -2
L18:
.dbline 0 ; func end
ret
.dbend
.dbfunc e Dispaly_Menu_Root1 _Dispaly_Menu_Root1 fV
.even
_Dispaly_Menu_Root1::
.dbline -1
.dbline 126
; }
; /*------------------------------------------------------------------------------*/
; /* Dispaly_Menu_Root1()
; /*------------------------------------------------------------------------------*/
; void Dispaly_Menu_Root1(void)
; {
.dbline 127
; LCD_write_string(0X80,"SETUP");
ldi R18,<L21
ldi R19,>L21
ldi R16,128
xcall _LCD_write_string
.dbline 128
; LCD_write_string(0Xc0,"NEW RECORD");
ldi R18,<L22
ldi R19,>L22
ldi R16,192
xcall _LCD_write_string
.dbline -2
L20:
.dbline 0 ; func end
ret
.dbend
.dbfunc e Dispaly_Menu_Root2 _Dispaly_Menu_Root2 fV
.even
_Dispaly_Menu_Root2::
.dbline -1
.dbline 134
; }
; /*------------------------------------------------------------------------------*/
; /* Dispaly_Menu_Root2()
; /*------------------------------------------------------------------------------*/
; void Dispaly_Menu_Root2(void)
; {
.dbline 135
; LCD_write_string(0X80,"OUTPUT");
ldi R18,<L24
ldi R19,>L24
ldi R16,128
xcall _LCD_write_string
.dbline 136
; LCD_write_string(0Xc0,"QUIT");
ldi R18,<L25
ldi R19,>L25
ldi R16,192
xcall _LCD_write_string
.dbline -2
L23:
.dbline 0 ; func end
ret
.dbend
.dbfunc e Dispaly_data_time _Dispaly_data_time fV
.even
_Dispaly_data_time::
.dbline -1
.dbline 142
; }
; /*------------------------------------------------------------------------------*/
; /* Dispaly_data_time()
; /*------------------------------------------------------------------------------*/
; void Dispaly_data_time(void)
; {
.dbline 143
; LCD_write_string(0X80,"Set_data");
ldi R18,<L27
ldi R19,>L27
ldi R16,128
xcall _LCD_write_string
.dbline 144
; LCD_write_string(0Xc0,"Set_time2");
ldi R18,<L28
ldi R19,>L28
ldi R16,192
xcall _LCD_write_string
.dbline -2
L26:
.dbline 0 ; func end
ret
.dbend
.dbfunc e Dispaly_ID_KZ _Dispaly_ID_KZ fV
.even
_Dispaly_ID_KZ::
.dbline -1
.dbline 149
; }
; /* Dispaly_ID_KZ()
; /*------------------------------------------------------------------------------*/
; void Dispaly_ID_KZ(void)
; {
.dbline 150
; LCD_write_string(0X80,"ID_Number");
ldi R18,<L30
ldi R19,>L30
ldi R16,128
xcall _LCD_write_string
.dbline 151
; LCD_write_string(0Xc0,"KZ_Number");
ldi R18,<L31
ldi R19,>L31
ldi R16,192
xcall _LCD_write_string
.dbline -2
L29:
.dbline 0 ; func end
ret
.dbend
.dbfunc e Dispaly_speak_police _Dispaly_speak_police fV
.even
_Dispaly_speak_police::
.dbline -1
.dbline 157
; }
; /*------------------------------------------------------------------------------*/
; /* Dispaly_fundamental_wave_down()
; /*------------------------------------------------------------------------------*/
; void Dispaly_speak_police(void)
; {
.dbline 158
; LCD_write_string(0X80,"Speak_Second");
ldi R18,<L33
ldi R19,>L33
ldi R16,128
xcall _LCD_write_string
.dbline 159
; LCD_write_string(0Xc0,"Police_1");
ldi R18,<L34
ldi R19,>L34
ldi R16,192
xcall _LCD_write_string
.dbline -2
L32:
.dbline 0 ; func end
ret
.dbend
.dbfunc e Dispaly_police2_police3 _Dispaly_police2_police3 fV
.even
_Dispaly_police2_police3::
.dbline -1
.dbline 165
; }
; /*------------------------------------------------------------------------------*/
; /* Dispaly_police2_police3()
; /*------------------------------------------------------------------------------*/
; void Dispaly_police2_police3(void)
; {
.dbline 166
; LCD_write_string(0X80,"Police_2");
ldi R18,<L36
ldi R19,>L36
ldi R16,128
xcall _LCD_write_string
.dbline 167
; LCD_write_string(0Xc0,"Police_3");
ldi R18,<L37
ldi R19,>L37
ldi R16,192
xcall _LCD_write_string
.dbline -2
L35:
.dbline 0 ; func end
ret
.dbend
.dbfunc e Dispaly_Fireman1_Fireman2 _Dispaly_Fireman1_Fireman2 fV
.even
_Dispaly_Fireman1_Fireman2::
.dbline -1
.dbline 174
; }
; /*------------------------------------------------------------------------------*/
; /*------------------------------------------------------------------------------*/
; /* Dispaly_Fireman1_Fireman2()
; /*------------------------------------------------------------------------------*/
; void Dispaly_Fireman1_Fireman2(void)
; {
.dbline 175
; LCD_write_string(0X80,"Fireman_1");
ldi R18,<L39
ldi R19,>L39
ldi R16,128
xcall _LCD_write_string
.dbline 176
; LCD_write_string(0Xc0,"Fireman_2");
ldi R18,<L40
ldi R19,>L40
ldi R16,192
xcall _LCD_write_string
.dbline -2
L38:
.dbline 0 ; func end
ret
.dbend
.dbfunc e Dispaly_Fireman3_secure1 _Dispaly_Fireman3_secure1 fV
.even
_Dispaly_Fireman3_secure1::
.dbline -1
.dbline 182
; }
; /*------------------------------------------------------------------------------*/
; /* Dispaly_Fireman3_Fireman2()
; /*------------------------------------------------------------------------------*/
; void Dispaly_Fireman3_secure1(void)
; {
.dbline 183
; LCD_write_string(0X80,"Fireman_3");
ldi R18,<L42
ldi R19,>L42
ldi R16,128
xcall _LCD_write_string
.dbline 184
; LCD_write_string(0Xc0,"Secure_1");
ldi R18,<L43
ldi R19,>L43
ldi R16,192
xcall _LCD_write_string
.dbline -2
L41:
.dbline 0 ; func end
ret
.dbend
.dbfunc e Dispaly_secure2_secure3 _Dispaly_secure2_secure3 fV
.even
_Dispaly_secure2_secure3::
.dbline -1
.dbline 190
; }
; /*------------------------------------------------------------------------------*/
; /* Dispaly_Fireman1_Fireman2()
; /*------------------------------------------------------------------------------*/
; void Dispaly_secure2_secure3(void)
; {
.dbline 191
; LCD_write_string(0X80,"Secure_2");
ldi R18,<L45
ldi R19,>L45
ldi R16,128
xcall _LCD_write_string
.dbline 192
; LCD_write_string(0Xc0,"Secure_3");
ldi R18,<L46
ldi R19,>L46
ldi R16,192
xcall _LCD_write_string
.dbline -2
L44:
.dbline 0 ; func end
ret
.dbend
.dbfunc e Dispaly_secret_number _Dispaly_secret_number fV
.even
_Dispaly_secret_number::
.dbline -1
.dbline 197
; }
; /* Dispaly_Fireman1_Fireman2()
; /*------------------------------------------------------------------------------*/
; void Dispaly_secret_number(void)
; {
.dbline 198
; LCD_write_string(0X80,"Secret_number1");
ldi R18,<L48
ldi R19,>L48
ldi R16,128
xcall _LCD_write_string
.dbline 199
; LCD_write_string(0Xc0,"Secret_number2");
ldi R18,<L49
ldi R19,>L49
ldi R16,192
xcall _LCD_write_string
.dbline -2
L47:
.dbline 0 ; func end
ret
.dbend
.dbfunc e Dispaly_SN _Dispaly_SN fV
.even
_Dispaly_SN::
.dbline -1
.dbline 204
; }
; /*------------------------------------------------------------------------------*/
; /*------------------------------------------------------------------------------*/
; void Dispaly_SN(void)
; {
.dbline 205
; LCD_write_string(0X80,"SN");
ldi R18,<L51
ldi R19,>L51
ldi R16,128
xcall _LCD_write_string
.dbline -2
L50:
.dbline 0 ; func end
ret
.dbend
.dbfunc e quit_fun _quit_fun fV
.even
_quit_fun::
.dbline -1
.dbline 210
; }
; /*------------------------------------------------------------------------------*/
; /*------------------------------------------------------------------------------*/
; void quit_fun(void)
; {
.dbline 214
; // state=0;
; // st_f=0;
; // t1count2=0;
; LCD_write_char(0,0x01); //按ESC后退出设置
ldi R18,1
ldi R19,0
clr R16
clr R17
xcall _LCD_write_char
.dbline -2
L52:
.dbline 0 ; func end
ret
.dbend
.dbfunc e Menu_function _Menu_function fV
.even
_Menu_function::
.dbline -1
.dbline 235
; }
;
; /*AT24c256地址分配一览表*/
; /*ID_Number: 0-5*/
; /*KZ_Number: 6-7*/
; /*speak_Second: 8-9*/
; /*Police_Service_1: 10-29*/
; /*Police_Service_2: 30-49*/
; /*Police_Service_3: 50-69*/
; /*Fireman_Service_1: 70-89*/
; /*Fireman_Service_2: 90-109*/
; /*Fireman_Service_3: 110-129*/
; /*secure_man_1: 130-149*/
; /*secure_man_2: 150-169*/
; /*secure_man_1: 170-189*/
; /* 菜单调用解释函数
; /*------------------------------------------------------------------------------
; */
;
; void Menu_function(void)
; {
.dbline 236
; switch(iMenuID) //菜单身份号//
lds R24,_iMenuID
lds R25,_iMenuID+1
cpi R24,2
ldi R30,0
cpc R25,R30
breq L56
xjmp L55
X2:
.dbline 237
; {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -