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

📄 main.ls1

📁 att7025是一个单相SOC的单心片电表方案
💻 LS1
📖 第 1 页 / 共 4 页
字号:
                     208     ; #include <MAIN.H>
                     209     ;  xdata struct Emu_Parameter Emu_Parameter;
                     210     ;  xdata struct Emu_Parameter_change Emu_Parameter_change;
                     211     ;  xdata struct real_energy real_energy;
                     212     ;  xdata struct meter_para meter_para;
                     213     ;  data unsigned char  aa[2]={0x0f,0x01};
                     214     ;  xdata unsigned char  g_CommBuffer[50];
                     215     ;  unsigned char NUM;
                     216     ;  unsigned int timea;
                     217     ; 
                     218     ; void main (void) //_at_ 0x100 
                     219     
----                 220             RSEG  ?PR?main?MAIN
0000                 221     main:
                     222             USING   0
                     223                             ; SOURCE LINE # 12
                     224     ; {
                     225                             ; SOURCE LINE # 13
                     226     ; //unsigned char i;
                     227     ;     //i = temp2;
                     228     ;   SP =0x7f;//程序堆栈指针
                     229                             ; SOURCE LINE # 16
0000 75817F          230             MOV     SP,#07FH
                     231     ;   CKCON&= 0xf8;//定时器/计数器时钟控制Timer 使用clk/4 作为时钟
                     232                             ; SOURCE LINE # 17
0003 538EF8          233             ANL     CKCON,#0F8H
                     234     ;       BWPR=0xC3       ;//使能写PMOD[1:0]操作
                     235                             ; SOURCE LINE # 18
0006 759AC3          236             MOV     BWPR,#0C3H
                     237     ;       BWPR=0x9B;//开启所有受保护位的写使能
                     238                             ; SOURCE LINE # 19
0009 759A9B          239             MOV     BWPR,#09BH
                     240     ;       CBORCFG|=0x80;//开启高频晶振电路功能
                     241                             ; SOURCE LINE # 20
000C 43BC80          242             ORL     CBORCFG,#080H
                     243     ;       BWPR=0xA8;//关闭所有受保护位和受保护寄存器的写使能
                     244                             ; SOURCE LINE # 21
000F 759AA8          245             MOV     BWPR,#0A8H
0012                 246     ?C0001:
                     247     ;  
                     248     ;       while((SYSSCR&0x80) != 0x80)//LOCK=1表示高频晶振已经稳定
                     249                             ; SOURCE LINE # 23
0012 E5B6            250             MOV     A,SYSSCR
0014 30E7FB          251             JNB     ACC.7,?C0001
                     252     ;       {;}     
                     253                             ; SOURCE LINE # 24
0017                 254     ?C0002:
                     255     ;       BWPR=0xC3;//使能写PMOD[1:0]操作
                     256                             ; SOURCE LINE # 25
A51 MACRO ASSEMBLER  MAIN                                                                 04/14/2007 11:59:56 PAGE     5

0017 759AC3          257             MOV     BWPR,#0C3H
                     258     ;       BWPR=0x9B;//开启所有受保护位的写使能    
                     259                             ; SOURCE LINE # 26
001A 759A9B          260             MOV     BWPR,#09BH
                     261     ;       CCLKCFG |=0x02;//                       ;//SYSCK1=1,fsys=fpri
                     262                             ; SOURCE LINE # 27
001D 43BD02          263             ORL     CCLKCFG,#02H
                     264     ;       CFMCFG|=0xE4;//                 ;BROM EN可以调用Monitor Rom中程序,             
                     265                             ; SOURCE LINE # 28
0020 43BEE4          266             ORL     CFMCFG,#0E4H
                     267     ; //    BWPR=0xA8;//关闭所有受保护位和受保护寄存器的写使能
                     268     ;    LcdDrvInit();
                     269                             ; SOURCE LINE # 30
0023 120000   F      270             LCALL   LcdDrvInit
                     271     ;       BWPR=0xA8;//关闭所有受保护位和受保护寄存器的写使能
                     272                             ; SOURCE LINE # 31
0026 759AA8          273             MOV     BWPR,#0A8H
                     274     ;       //usart_init();
                     275     ;       //interrupt_init();
                     276     ; //    init_ATT7027();
                     277     ; //    load_Flash_write();
                     278     ; //    CLRALL_LCD_BUF(); 
                     279     ;    init_time();   
                     280                             ; SOURCE LINE # 37
0029 120000   F      281             LCALL   init_time
                     282     ;       EA      =1 ;
                     283                             ; SOURCE LINE # 38
002C D2AF            284             SETB    EA
                     285     ;       Autobaud();
                     286                             ; SOURCE LINE # 39
002E 12FCBC          287             LCALL   0FCBCH
                     288     ;       EICON|= 0x20;//     ;BREAK PONIT IE 
                     289                             ; SOURCE LINE # 40
0031 43D820          290             ORL     EICON,#020H
0034                 291     ?C0003:
                     292     ;       while(1)
                     293                             ; SOURCE LINE # 41
                     294     ;       { 
                     295                             ; SOURCE LINE # 42
                     296     ; /****************************************************/
                     297     ; //把这个放到WHILE(1)能编译过前面就不能进行仿真了
                     298     ; 
                     299     ;       if(RI == 1)
                     300                             ; SOURCE LINE # 46
0034 309805          301             JNB     RI,?C0005
                     302     ;               {
                     303                             ; SOURCE LINE # 47
                     304     ;                       Cmd_parser();
                     305                             ; SOURCE LINE # 48
0037 12F903          306             LCALL   0F903H
                     307     ;       RI = 0 ;
                     308                             ; SOURCE LINE # 49
003A C298            309             CLR     RI
                     310     ;     }  
                     311                             ; SOURCE LINE # 50
003C                 312     ?C0005:
                     313     ;  
                     314     ;  /* for(i=1;i<=24;i++)
                     315     ;   {
                     316     ;   LADR=i;
                     317     ;   LDAT=0xf ;
                     318     ;    }   */
                     319     ; /****************************************************/
                     320     ;  //RTC_CAL_TEMP();
                     321     ;  EMU_Parameter_change1();
                     322                             ; SOURCE LINE # 59
A51 MACRO ASSEMBLER  MAIN                                                                 04/14/2007 11:59:56 PAGE     6

003C 120000   F      323             LCALL   EMU_Parameter_change1
                     324     ;   switch(NUM)
                     325                             ; SOURCE LINE # 60
003F E500     F      326             MOV     A,NUM
0041 14              327             DEC     A
0042 B40900          328             CJNE    A,#09H,?C0021
0045                 329     ?C0021:
0045 4003            330             JC      $ + 5H
0047 020000   F      331             LJMP    ?C0016
004A 900000   F      332             MOV     DPTR,#?C0022
004D 75F003          333             MOV     B,#03H
0050 A4              334             MUL     AB
0051 C583            335             XCH     A,DPH
0053 25F0            336             ADD     A,B
0055 C583            337             XCH     A,DPH
0057 73              338             JMP     @A+DPTR
0058                 339     ?C0022:
0058 020000   F      340             LJMP    ?C0007
005B 020000   F      341             LJMP    ?C0008
005E 020000   F      342             LJMP    ?C0009
0061 020000   F      343             LJMP    ?C0010
0064 020000   F      344             LJMP    ?C0011
0067 020000   F      345             LJMP    ?C0012
006A 020000   F      346             LJMP    ?C0013
006D 020000   F      347             LJMP    ?C0014
0070 020000   F      348             LJMP    ?C0015
                     349     ;   {
                     350                             ; SOURCE LINE # 61
                     351     ;     case 1: // Time
                     352                             ; SOURCE LINE # 62
0073                 353     ?C0007:
                     354     ;      UpdateLCD(0X11111111);
                     355                             ; SOURCE LINE # 63
0073 7F11            356             MOV     R7,#011H
0075 7E11            357             MOV     R6,#011H
0077 7D11            358             MOV     R5,#011H
0079 7C11            359             MOV     R4,#011H
                     360     ;       break;
                     361                             ; SOURCE LINE # 64
007B 8058            362             SJMP    ?C0032
                     363     ;     case 2: // Date
                     364                             ; SOURCE LINE # 65
007D                 365     ?C0008:
                     366     ;      UpdateLCD(0X22222222);
                     367                             ; SOURCE LINE # 66
007D 7F22            368             MOV     R7,#022H
007F 7E22            369             MOV     R6,#022H
0081 7D22            370             MOV     R5,#022H
0083 7C22            371             MOV     R4,#022H
0085                 372     ?C0024:
                     373     ;       break;
                     374                             ; SOURCE LINE # 67
0085 804E            375             SJMP    ?C0032
                     376     ;     case 3: // Energy
                     377                             ; SOURCE LINE # 68
0087                 378     ?C0009:
                     379     ;      UpdateLCD(0X33333333);
                     380                             ; SOURCE LINE # 69
0087 7F33            381             MOV     R7,#033H
0089 7E33            382             MOV     R6,#033H
008B 7D33            383             MOV     R5,#033H
008D 7C33            384             MOV     R4,#033H
008F                 385     ?C0025:
                     386     ;       break;
                     387                             ; SOURCE LINE # 70
008F 8044            388             SJMP    ?C0032
A51 MACRO ASSEMBLER  MAIN                                                                 04/14/2007 11:59:56 PAGE     7

                     389     ;     case 4: // PeakLevel
                     390                             ; SOURCE LINE # 71
0091                 391     ?C0010:
                     392     ;     UpdateLCD(0X44444444);
                     393                             ; SOURCE LINE # 72
0091 7F44            394             MOV     R7,#044H
0093 7E44            395             MOV     R6,#044H
0095 7D44            396             MOV     R5,#044H
0097 7C44            397             MOV     R4,#044H
0099                 398     ?C0026:
                     399     ;       break;
                     400                             ; SOURCE LINE # 73
0099 803A            401             SJMP    ?C0032
                     402     ;     case 5: //Time
                     403                             ; SOURCE LINE # 74
009B                 404     ?C0011:
                     405     ;     UpdateLCD(0X55555555);
                     406                             ; SOURCE LINE # 75
009B 7F55            407             MOV     R7,#055H
009D 7E55            408             MOV     R6,#055H
009F 7D55            409             MOV     R5,#055H
00A1 7C55            410             MOV     R4,#055H
00A3                 411     ?C0027:
                     412     ;       break;
                     413                             ; SOURCE LINE # 76
00A3 8030            414             SJMP    ?C0032
                     415     ;     case 6: // Energy
                     416                             ; SOURCE LINE # 77
00A5                 417     ?C0012:
                     418     ;     UpdateLCD(0X66666666);
                     419                             ; SOURCE LINE # 78
00A5 7F66            420             MOV     R7,#066H
00A7 7E66            421             MOV     R6,#066H
00A9 7D66            422             MOV     R5,#066H
00AB 7C66            423             MOV     R4,#066H

⌨️ 快捷键说明

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