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

📄 meau.lis

📁 AVR单片机 液晶菜单程序 使用的1602B_LCD液晶
💻 LIS
📖 第 1 页 / 共 5 页
字号:
 0000           ;                       
 0000           ;                       {MENU_FACE,                                3,    setup,                                        999,                                        999,                                     999,                           999,        },
 0000           ;                       {setup,                            17,   set_data,                             MENU_FACE,                     new_record,                           output,                    0x8f,       },
 0000           ;                       {set_data,                         0,       999,                                                   setup,                             set_time2,                                SN,                    0x8f,       },
 0000           ;             {set_time2,                          0,       999,                                                   setup,                             ID_Number,                                set_data,                  0xcf,       },
 0000           ;                       {ID_Number,                            0,           999,                                           setup,                 KZ_Number,                        set_time2,             0x8f,       },
 0000           ;                       {KZ_Number,                        0,       999,                                                   setup,                     speak_Second,                     ID_Number,                     0xcf,       },
 0000           ;                       {speak_Second,                 0,           999,                                               setup,                 Police_Service_1,             KZ_Number,             0x8f,       },
 0000           ;                       {Police_Service_1,                 0,       999,                                                   setup,                             Police_Service_2,                     speak_Second,          0xcf,       },
 0000           ;                       {Police_Service_2,                 0,       999,                                                   setup,                             Police_Service_3,                     Police_Service_1,      0x8f,       },
 0000           ;                       {Police_Service_3,                 0,       999,                                                   setup,                             Fireman_Service_1,                        Police_Service_2,      0xcf,       },
 0000           ;                       {Fireman_Service_1,                0,       999,                                                   setup,                             Fireman_Service_2,                        Police_Service_3,      0x8f,       },
 0000           ;                       {Fireman_Service_2,                0,       999,                                                   setup,                             Fireman_Service_3,                        Fireman_Service_1,     0xcf,       },
 0000           ;                       {Fireman_Service_3,                0,       999,                                                   setup,                             secure_man_1,                             Fireman_Service_2,     0x8f,       },
 0000           ;                       {secure_man_1,                 0,           999,                                                   setup,                             secure_man_2,                             Fireman_Service_3,     0xcf,       },
 0000           ;                       {secure_man_2,                 0,           999,                                                   setup,                             secure_man_3,                             secure_man_1,          0x8f,       },
 0000           ;                       {secure_man_3,                 0,           999,                                                   setup,                             secret_number_1,              secure_man_2,          0xcf,       },
 0000           ;                       {secret_number_1,              0,       999,                           setup,                 secret_number_2,              secure_man_3,              0x8f,       },
 0000           ;                       {secret_number_2,              0,       999,                           setup,                 SN,                           secret_number_1,       0xcf,       },
 0000           ;                       {SN,                           0,       999,                           setup,                 set_data,                     secret_number_2,       0x8f,       },
 0000           ;                       {new_record,                   0,           999,                                                   MENU_FACE,                     output,                                   setup,                 0xcf,       },
 0000           ;                       {output,                       0,       999,                           MENU_FACE,             quit,                         new_record,            0x8d,       },
 0000           ;             {quit,                         0,       999,                           MENU_FACE,             setup,                        output,                0xcf,       },
 0000           ;                };    
 0000           ; 
 0000           ;               
 0000           ; /*------------------------------------------------------------------------------*/
 0000           ; /*                        ok、Esc,up,down按键调用子程序                         */
 0000           ; /*------------------------------------------------------------------------------*/
 0000           ; void Judge_Menu_ID(void)
 0000           ;    {
 0000                   .dbline 61
 0000           ;       switch(iMenuID)
 0000 85E1              ldi R24,21
 0002 90E0              ldi R25,0
 0004 20900000          lds R2,_iMenuID
 0008 30900100          lds R3,_iMenuID+1
 000C 8215              cp R24,R2
 000E 9305              cpc R25,R3
 0010 0CF4              brge X1
 0012 2BC0              xjmp L4
 0014           X1:
 0014 9101              movw R18,R2
 0016 02E0              ldi R16,2
 0018 10E0              ldi R17,0
 001A 0E940000          xcall empy16s
 001E F801              movw R30,R16
 0020 80E0              ldi R24,<L17
 0022 90E0              ldi R25,>L17
 0024 E80F              add R30,R24
 0026 F91F              adc R31,R25
 0028 0590              lpm R0,Z+
 002A 1490              lpm R1,Z
 002C F001              movw R30,R0
 002E 0994              ijmp
 0030           X0:
 0030                   .dbline 62
 0030           ;       {       
 0030           L5:
 0030                   .dbline 64
 0030           ;        case MENU_FACE:
 0030           ;         LCD_write_char(0, 0x01);
 0030 21E0              ldi R18,1
 0032 30E0              ldi R19,0
 0034 0027              clr R16
 0036 1127              clr R17
 0038 0E940000          xcall _LCD_write_char
 003C                   .dbline 65
 003C           ;             Dispaly_MENU_FACE();
 003C 17D0              xcall _Dispaly_MENU_FACE
 003E                   .dbline 66
 003E           ;                 break;
 003E 15C0              xjmp L4
 0040           L6:
 0040                   .dbline 69
 0040           ;        case setup:
 0040           ;        case new_record:
 0040           ;            Dispaly_Menu_Root1();
 0040 1BD0              xcall _Dispaly_Menu_Root1
 0042                   .dbline 70
 0042           ;                 break;
 0042 13C0              xjmp L4
 0044           L7:
 0044                   .dbline 73
 0044           ;        case output:
 0044           ;        case quit:
 0044           ;             Dispaly_Menu_Root2();
 0044 24D0              xcall _Dispaly_Menu_Root2
 0046                   .dbline 74
 0046           ;                  break; 
 0046 11C0              xjmp L4
 0048           L8:
 0048                   .dbline 77
 0048           ;        case set_data:
 0048           ;        case set_time2:
 0048           ;             Dispaly_data_time();
 0048 2DD0              xcall _Dispaly_data_time
 004A                   .dbline 78
 004A           ;                 break;
 004A 0FC0              xjmp L4
 004C           L9:
 004C                   .dbline 81
 004C           ;        case ID_Number:
 004C           ;        case KZ_Number:        
 004C           ;                Dispaly_ID_KZ();
 004C 36D0              xcall _Dispaly_ID_KZ
 004E                   .dbline 82
 004E           ;                 break;
 004E 0DC0              xjmp L4
 0050           L10:
 0050                   .dbline 85
 0050           ;        case speak_Second: 
 0050           ;        case Police_Service_1:
 0050           ;             Dispaly_speak_police();
 0050 3FD0              xcall _Dispaly_speak_police
 0052                   .dbline 86
 0052           ;                 break;
 0052 0BC0              xjmp L4
 0054           L11:
 0054                   .dbline 89
 0054           ;        case Police_Service_2:
 0054           ;        case Police_Service_3:
 0054           ;             Dispaly_police2_police3();
 0054 48D0              xcall _Dispaly_police2_police3
 0056                   .dbline 90
 0056           ;                 break;
 0056 09C0              xjmp L4
 0058           L12:
 0058                   .dbline 93
 0058           ;        case Fireman_Service_1:
 0058           ;        case Fireman_Service_2:
 0058           ;             Dispaly_Fireman1_Fireman2();
 0058 51D0              xcall _Dispaly_Fireman1_Fireman2
 005A                   .dbline 94
 005A           ;                 break;
 005A 07C0              xjmp L4
 005C           L13:
 005C                   .dbline 97
 005C           ;        case Fireman_Service_3:
 005C           ;        case  secure_man_1:
 005C           ;                 Dispaly_Fireman3_secure1();
 005C 5AD0              xcall _Dispaly_Fireman3_secure1
 005E                   .dbline 98
 005E           ;                 break; 
 005E 05C0              xjmp L4
 0060           L14:
 0060                   .dbline 101
 0060           ;       case  secure_man_2:
 0060           ;       case  secure_man_3:
 0060           ;                Dispaly_secure2_secure3();
 0060 63D0              xcall _Dispaly_secure2_secure3
 0062                   .dbline 102
 0062           ;                 break;
 0062 03C0              xjmp L4
 0064           L15:
 0064                   .dbline 105
 0064           ;       case secret_number_2:
 0064           ;       case secret_number_1:
 0064           ;                 Dispaly_secret_number(); 
 0064 6CD0              xcall _Dispaly_secret_number
 0066                   .dbline 106
 0066           ;                 break; 
 0066 01C0              xjmp L4
 0068           L16:
 0068                   .dbline 108
 0068 75D0              xcall _Dispaly_SN
 006A                   .dbline 109
 006A                   .dbline 112
 006A           L4:
 006A                   .dbline -2
 006A           L2:
 006A                   .dbline 0 ; func end
 006A 0895              ret
 006C                   .dbend
 006C                   .dbfunc e Dispaly_MENU_FACE _Dispaly_MENU_FACE fV
                        .even
 006C           _Dispaly_MENU_FACE::
 006C                   .dbline -1
 006C                   .dbline 119
 006C           ;       case SN:
 006C           ;                 Dispaly_SN(); 
 006C           ;                 break;  
 006C           ;    
 006C           ;       default :
 006C           ;            break;
 006C           ;       }
 006C           ;   }
 006C           ; /*------------------------------------------------------------------------------*/
 006C           ; /*                               DispFaceBmp()
 006C           ; /*------------------------------------------------------------------------------*/
 006C           ; void Dispaly_MENU_FACE(void)
 006C           ; { 
 006C                   .dbline 120
 006C           ;  LCD_write_string(0X81,"yueyou.com.tw");  //欢迎界面
 006C 20E0              ldi R18,<L19
 006E 30E0              ldi R19,>L19
 0070 01E8              ldi R16,129
 0072 0E940000          xcall _LCD_write_string
 0076                   .dbline -2
 0076           L18:
 0076                   .dbline 0 ; func end
 0076 0895              ret
 0078                   .dbend
 0078                   .dbfunc e Dispaly_Menu_Root1 _Dispaly_Menu_Root1 fV
                        .even
 0078           _Dispaly_Menu_Root1::
 0078                   .dbline -1
 0078                   .dbline 126
 0078           ; }
 0078           ; /*------------------------------------------------------------------------------*/
 0078           ; /*                               Dispaly_Menu_Root1()
 0078           ; /*------------------------------------------------------------------------------*/
 0078           ; void Dispaly_Menu_Root1(void)
 0078           ; {
 0078                   .dbline 127
 0078           ;  LCD_write_string(0X80,"SETUP");
 0078 20E0              ldi R18,<L21
 007A 30E0              ldi R19,>L21
 007C 00E8              ldi R16,128
 007E 0E940000          xcall _LCD_write_string
 0082                   .dbline 128
 0082           ;  LCD_write_string(0Xc0,"NEW RECORD");
 0082 20E0              ldi R18,<L22
 0084 30E0              ldi R19,>L22
 0086 00EC              ldi R16,192
 0088 0E940000          xcall _LCD_write_string
 008C                   .dbline -2
 008C           L20:
 008C                   .dbline 0 ; func end
 008C 0895              ret
 008E                   .dbend
 008E                   .dbfunc e Dispaly_Menu_Root2 _Dispaly_Menu_Root2 fV
                        .even
 008E           _Dispaly_Menu_Root2::
 008E                   .dbline -1
 008E                   .dbline 134
 008E           ;  }
 008E           ;  /*------------------------------------------------------------------------------*/
 008E           ; /*                               Dispaly_Menu_Root2()
 008E           ; /*------------------------------------------------------------------------------*/
 008E           ; void Dispaly_Menu_Root2(void)
 008E           ; {
 008E                   .dbline 135
 008E           ;  LCD_write_string(0X80,"OUTPUT");
 008E 20E0              ldi R18,<L24
 0090 30E0              ldi R19,>L24
 0092 00E8              ldi R16,128
 0094 0E940000          xcall _LCD_write_string
 0098                   .dbline 136
 0098           ;  LCD_write_string(0Xc0,"QUIT");
 0098 20E0              ldi R18,<L25
 009A 30E0              ldi R19,>L25
 009C 00EC              ldi R16,192
 009E 0E940000          xcall _LCD_write_string
 00A2                   .dbline -2
 00A2           L23:
 00A2                   .dbline 0 ; func end
 00A2 0895              ret
 00A4                   .dbend
 00A4                   .dbfunc e Dispaly_data_time _Dispaly_data_time fV
                        .even
 00A4           _Dispaly_data_time::
 00A4                   .dbline -1
 00A4                   .dbline 142
 00A4           ; } 
 00A4           ; /*------------------------------------------------------------------------------*/
 00A4           ; /*                           Dispaly_data_time()
 00A4           ; /*------------------------------------------------------------------------------*/
 00A4           ; void Dispaly_data_time(void)
 00A4           ; {
 00A4                   .dbline 143
 00A4           ; LCD_write_string(0X80,"Set_data");
 00A4 20E0              ldi R18,<L27
 00A6 30E0              ldi R19,>L27
 00A8 00E8              ldi R16,128
 00AA 0E940000          xcall _LCD_write_string
 00AE                   .dbline 144
 00AE           ; LCD_write_string(0Xc0,"Set_time2");
 00AE 20E0              ldi R18,<L28
 00B0 30E0              ldi R19,>L28
 00B2 00EC              ldi R16,192
 00B4 0E940000          xcall _LCD_write_string
 00B8                   .dbline -2
 00B8           L26:

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -