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

📄 temp.lst

📁 51单片机实验例程
💻 LST
📖 第 1 页 / 共 5 页
字号:
002A C4              900             SWAP    A
002B 540F            901             ANL     A,#0FH
002D 48              902             ORL     A,R0
002E F7              903             MOV     @R1,A
                     904     ;               TempDelay(1);
                     905                             ; SOURCE LINE # 176
002F 7F01            906             MOV     R7,#01H
0031 120000   F      907             LCALL   _TempDelay
                     908     ;     }
                     909                             ; SOURCE LINE # 177
                     910     ; }
A51 MACRO ASSEMBLER  TEMP                                                                 09/16/2009 23:33:52 PAGE    15

                     911                             ; SOURCE LINE # 178
0034                 912     ?C0025:
0034 22              913             RET     
                     914     ; END OF GemTemp
                     915     
                     916     ; 
                     917     ; /************************************************************
                     918     ; *Function:内部配置
                     919     ; *parameter:
                     920     ; *Return:
                     921     ; *Modify:
                     922     ; *************************************************************/
                     923     ; void Config18b20 (void)  //重新配置报警限定值和分辨率
                     924     
----                 925             RSEG  ?PR?Config18b20?TEMP
0000                 926     Config18b20:
                     927             USING   0
                     928                             ; SOURCE LINE # 186
                     929     ; {
                     930                             ; SOURCE LINE # 187
                     931     ;      Init18b20();
                     932                             ; SOURCE LINE # 188
                     933     ;      WriteByte(0xcc);  //skip rom
                     934                             ; SOURCE LINE # 189
0000 120000   F      935             LCALL   L?0032
                     936     ;      WriteByte(0x4e);  //write scratchpad
                     937                             ; SOURCE LINE # 190
0003 7F4E            938             MOV     R7,#04EH
0005 120000   F      939             LCALL   _WriteByte
                     940     ;      WriteByte(0x19);  //上限
                     941                             ; SOURCE LINE # 191
0008 7F19            942             MOV     R7,#019H
000A 120000   F      943             LCALL   _WriteByte
                     944     ;      WriteByte(0x1a);  //下限
                     945                             ; SOURCE LINE # 192
000D 7F1A            946             MOV     R7,#01AH
000F 120000   F      947             LCALL   _WriteByte
                     948     ;      WriteByte(0x7f);     //set 11 bit (0.125)
                     949                             ; SOURCE LINE # 193
0012 7F7F            950             MOV     R7,#07FH
0014 120000   F      951             LCALL   _WriteByte
                     952     ;      Init18b20();
                     953                             ; SOURCE LINE # 194
                     954     ;      WriteByte(0xcc);  //skip rom
                     955                             ; SOURCE LINE # 195
0017 120000   F      956             LCALL   L?0032
                     957     ;      WriteByte(0x48);  //保存设定值
                     958                             ; SOURCE LINE # 196
001A 7F48            959             MOV     R7,#048H
001C 120000   F      960             LCALL   _WriteByte
                     961     ;      Init18b20();
                     962                             ; SOURCE LINE # 197
                     963     ;      WriteByte(0xcc);  //skip rom
                     964                             ; SOURCE LINE # 198
001F 120000   F      965             LCALL   L?0033
                     966     ;      WriteByte(0xb8);  //回调设定值
                     967                             ; SOURCE LINE # 199
0022 7FB8            968             MOV     R7,#0B8H
0024 020000   F      969             LJMP    _WriteByte
                     970     ; END OF Config18b20
                     971     
                     972     ; }
                     973     ; 
                     974     ; /************************************************************
                     975     ; *Function:读18B20ID
                     976     ; *parameter:
A51 MACRO ASSEMBLER  TEMP                                                                 09/16/2009 23:33:52 PAGE    16

                     977     ; *Return:
                     978     ; *Modify:
                     979     ; *************************************************************/
                     980     ; void ReadID (void)//读取器件 id
                     981     
----                 982             RSEG  ?PR?ReadID?TEMP
0000                 983     ReadID:
                     984             USING   0
                     985                             ; SOURCE LINE # 208
                     986     ; {
                     987                             ; SOURCE LINE # 209
                     988     ;       Init18b20();
                     989                             ; SOURCE LINE # 210
0000 120000   F      990             LCALL   Init18b20
                     991     ;       WriteByte(0x33);  //read rom
                     992                             ; SOURCE LINE # 211
0003 7F33            993             MOV     R7,#033H
0005 120000   F      994             LCALL   _WriteByte
                     995     ;       read_bytes(8);
                     996                             ; SOURCE LINE # 212
0008 7F08            997             MOV     R7,#08H
000A 020000   F      998             LJMP    _read_bytes
                     999     ; END OF ReadID
                    1000     
                    1001     ; }
                    1002     ; 
                    1003     ; /************************************************************
                    1004     ; *Function:18B20ID全处理
                    1005     ; *parameter:
                    1006     ; *Return:
                    1007     ; *Modify:
                    1008     ; *************************************************************/
                    1009     ; void TemperatuerResult(void)
                    1010     
----                1011             RSEG  ?PR?TemperatuerResult?TEMP
0000                1012     TemperatuerResult:
                    1013             USING   0
                    1014                             ; SOURCE LINE # 221
                    1015     ; {
                    1016                             ; SOURCE LINE # 222
                    1017     ;       p = id_buff;
                    1018                             ; SOURCE LINE # 223
0000 750000   F     1019             MOV     p,#LOW (id_buff)
*** _________________________________________^
*** ERROR #A48 IN 1019 (Temp.SRC, LINE 1019): DATA-ADDRESS EXPECTED
                    1020     ;       ReadID();
                    1021                             ; SOURCE LINE # 224
0003 120000   F     1022             LCALL   ReadID
                    1023     ;       Config18b20();
                    1024                             ; SOURCE LINE # 225
0006 120000   F     1025             LCALL   Config18b20
                    1026     ;       Init18b20 ();
                    1027                             ; SOURCE LINE # 226
                    1028     ;       WriteByte(0xcc);   //skip rom
                    1029                             ; SOURCE LINE # 227
0009 120000   F     1030             LCALL   L?0033
                    1031     ;       WriteByte(0x44);   //Temperature convert
                    1032                             ; SOURCE LINE # 228
000C 7F44           1033             MOV     R7,#044H
000E 120000   F     1034             LCALL   _WriteByte
                    1035     ; 
                    1036     ;       Init18b20 ();
                    1037                             ; SOURCE LINE # 230
                    1038     ;       WriteByte(0xcc);   //skip rom
                    1039                             ; SOURCE LINE # 231
0011 120000   F     1040             LCALL   L?0033
A51 MACRO ASSEMBLER  TEMP                                                                 09/16/2009 23:33:52 PAGE    17

                    1041     ;       WriteByte(0xbe);   //read Temperature
                    1042                             ; SOURCE LINE # 232
0014 7FBE           1043             MOV     R7,#0BEH
0016 120000   F     1044             LCALL   _WriteByte
                    1045     ;       p = temp_buff;
                    1046                             ; SOURCE LINE # 233
0019 750000   F     1047             MOV     p,#LOW (temp_buff)
*** _________________________________________^
*** ERROR #A48 IN 1047 (Temp.SRC, LINE 1047): DATA-ADDRESS EXPECTED
                    1048     ;       GemTemp();
                    1049                             ; SOURCE LINE # 234
001C 020000   F     1050             LJMP    GemTemp
                    1051     ; END OF TemperatuerResult
                    1052     
                    1053     ; }
                    1054     ; 
                    1055     ; unsigned int TempTick=0;
                    1056     ; void GetTemp()
                    1057     
----                1058             RSEG  ?PR?GetTemp?TEMP
0000                1059     GetTemp:
                    1060             USING   0
                    1061                             ; SOURCE LINE # 238
                    1062     ; {       
                    1063                             ; SOURCE LINE # 239
                    1064     ;      if(TIM==1)
                    1065                             ; SOURCE LINE # 240
0000 E500     F     1066             MOV     A,TIM
0002 B40114         1067             CJNE    A,#01H,?C0030
                    1068     ;       {  TIM=0;
                    1069                             ; SOURCE LINE # 241
0005 E4             1070             CLR     A
0006 F500     F     1071             MOV     TIM,A
                    1072     ;          TemperatuerResult();
                    1073                             ; SOURCE LINE # 242
0008 120000   F     1074             LCALL   TemperatuerResult
                    1075     ;          D[5]=Temperature;
                    1076                             ; SOURCE LINE # 243
000B 7800     F     1077             MOV     R0,#LOW (Temperature)
000D E6             1078             MOV     A,@R0
000E FE             1079             MOV     R6,A
000F 08             1080             INC     R0
0010 E6             1081             MOV     A,@R0
0011 FF             1082             MOV     R7,A
0012 7800     F     1083             MOV     R0,#LOW (D+0AH)
0014 A606           1084             MOV     @R0,AR6
0016 08             1085             INC     R0
0017 A607           1086             MOV     @R0,AR7
                    1087     ;       }
                    1088                             ; SOURCE LINE # 244
                    1089     ; 
                    1090     ; }
                    1091                             ; SOURCE LINE # 246
0019                1092     ?C0030:
0019 22             1093             RET     
                    1094     ; END OF GetTemp
                    1095     
----                1096     CSEG    AT      0001BH
001B 020000   F     1097             LJMP    T1zd
                    1098     
                    1099     ; 
                    1100     ; /*************************************
                    1101     ;  [ t1 (0.5ms)中断] 中断中做 PWM 输出
                    1102     ;   ------------1000/(0.02ms*250)=200Hz
                    1103     ; *************************************/
                    1104     ; void T1zd(void) interrupt 3 
A51 MACRO ASSEMBLER  TEMP                                                                 09/16/2009 23:33:52 PAGE    18

                    1105     
----                1106             RSEG  ?PR?T1zd?TEMP
                    1107             USING   0
0000                1108     T1zd:
                    1109                             ; SOURCE LINE # 252
                    1110     ; {
                    1111     ;    TH1 = 0xfe;    //11.0592
                    1112                             ; SOURCE LINE # 254
0000 758DFE         1113             MOV     TH1,#0FEH
                    1114     ;    TL1 = 0x33;
                    1115                             ; SOURCE LINE # 255
0003 758B33         1116             MOV     TL1,#033H
                    1117     ;    TIM++;
                    1118                             ; SOURCE LINE # 256
0006 0500     F     1119             INC     TIM
                    1120     ; 
                    1121     ; }
                    1122    

⌨️ 快捷键说明

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