LCDView.lst
上传用户:xhjmsc
上传日期:2019-09-13
资源大小:389k
文件大小:21k
- ##############################################################################
- # #
- # IAR MSP430 C/EC++ Compiler V2.10A/W32 23/Apr/2007 18:04:06 #
- # Copyright 1996-2003 IAR Systems. All rights reserved. #
- # #
- # __rt_version = 1 #
- # __double_size = 32 #
- # __reg_r4 = free #
- # __reg_r5 = free #
- # __pic = no #
- # Source file = E:projectFaxProgramVson_Bryan_Fax_Conexant_070423 #
- # filesLCDView.c #
- # Command line = -I "C:Program FilesIAR SystemsEmbedded Workbench #
- # 3.2430INC" -I "C:Program FilesIAR #
- # SystemsEmbedded Workbench 3.2430INCCLIB" -lCN #
- # E:projectFaxProgramVson_Bryan_Fax_Conexant_070423 #
- # DebugList -lA E:projectFaxProgramVson_Bryan_Fax_ #
- # Conexant_070423DebugList -o #
- # E:projectFaxProgramVson_Bryan_Fax_Conexant_070423 #
- # DebugObj -z2 --no_cse --no_unroll --no_inline #
- # --no_code_motion --debug -e #
- # E:projectFaxProgramVson_Bryan_Fax_Conexant_070423 #
- # filesLCDView.c #
- # List file = E:projectFaxProgramVson_Bryan_Fax_Conexant_070423 #
- # DebugListLCDView.lst #
- # Object file = E:projectFaxProgramVson_Bryan_Fax_Conexant_070423 #
- # DebugObjLCDView.r43 #
- # #
- # #
- ##############################################################################
- E:projectFaxProgramVson_Bryan_Fax_Conexant_070423filesLCDView.c
- 1 //LCD View
- 2 //new Apr. 06, 2007
- 3 //Author bryan
- 4
- 5 #include "includeH.h"
- In segment DATA16_AN, at 0x1c
- unsigned char const volatile __data P4IN
- P4IN:
- 000000 DS8 1
- In segment DATA16_AN, at 0x1d
- unsigned char volatile __data P4OUT
- P4OUT:
- 000000 DS8 1
- 6
- 7
- 8
- In segment CODE, align 2, keep-with-next
- 9 void ViewCommunicationTX(unsigned char ViewTimeControlWord)
- ViewCommunicationTX:
- 10 {
- 000000 0A12 PUSH.W R10
- 000002 0B12 PUSH.W R11
- 000004 4A4C MOV.B R12, R10
- 11 unsigned char ucGeneralCnt = 0;
- 000006 4B43 MOV.B #0x0, R11
- 12 /*
- 13 unsigned char ucYear=0xa1;
- 14 unsigned char ucMonth=0xa2;
- 15 unsigned char ucDate=0xa3;
- 16 unsigned char ucHour=0xa4;
- 17 unsigned char ucMinute=0xa5;
- 18 unsigned char ucSecond=0xa6;
- 19 unsigned char ucRingNum=0xa7;
- 20 unsigned char ucIcon0=0xa8;
- 21 unsigned char ucIcon1=0xa9;
- 22 unsigned char ucIcon2=0xa0;
- 23 */
- 24 __disable_interrupt();
- 000008 32C2 DINT
- 25 VIEW_PORT_OUT &= ~bitVIEWCLK;
- 00000A E2C31D00 BIC.B #0x2, &0x1d
- 26 while ((VIEW_PORT_IN & bitVIEWDATASI) == bitVIEWDATASI)//wait Low
- ??ViewCommunicationTX_0:
- 00000E D2B31C00 BIT.B #0x1, &0x1c
- 000012 1528 JNC ??ViewCommunicationTX_2
- 27 {
- 28 if (gwTimeOverflowCount++ == 0xffff)
- 000014 1E42.... MOV.W &gwTimeOverflowCount, R14
- 000018 1F43 MOV.W #0x1, R15
- 00001A 0F5E ADD.W R14, R15
- 00001C 824F.... MOV.W R15, &gwTimeOverflowCount
- 000020 3E93 CMP.W #0xffff, R14
- 000022 0220 JNE ??ViewCommunicationTX_3
- 29 gucTimeOverflowCount++;
- 000024 D253.... ADD.B #0x1, &gucTimeOverflowCount
- 30 if (gucTimeOverflowCount == 10)
- ??ViewCommunicationTX_3:
- 000028 F2900A00.... CMP.B #0xa, &gucTimeOverflowCount
- 00002E EF23 JNE ??ViewCommunicationTX_0
- 31 {gucGeneralStatus &= ~bitSendFaxSignalOK;gucTimeOverflowCount=0;gwTimeOverflowCount=0;break;}
- 000030 F2C01000.... BIC.B #0x10, &gucGeneralStatus
- 000036 C243.... MOV.B #0x0, &gucTimeOverflowCount
- 00003A 8243.... MOV.W #0x0, &gwTimeOverflowCount
- 32 }
- 33 if ((VIEW_PORT_IN & bitVIEWDATASI) != bitVIEWDATASI)
- ??ViewCommunicationTX_2:
- 00003E D2B31C00 BIT.B #0x1, &0x1c
- 000042 182C JC ??ViewCommunicationTX_4
- 34 {
- 35 SendOneViewData(ViewTimeControlWord);//00 10Bytes is effect
- 000044 4C4A MOV.B R10, R12
- 000046 B012.... CALL #SendOneViewData
- 36 //01 4Bytes is effect RingNum Icon2-1
- 37
- 38 /*
- 39 SendOneViewData(gucHour);
- 40 SendOneViewData(gucMinute);
- 41 SendOneViewData(gucSecond);
- 42 SendOneViewData(gucMonth);
- 43 SendOneViewData(gucDate);
- 44 SendOneViewData(gucYear);
- 45 SendOneViewData(gucViewRingNum);
- 46 SendOneViewData(gucViewStaticStatus);
- 47 SendOneViewData(gucViewDynamicStatus);
- 48 SendOneViewData(gucIcon2);
- 49 */
- 50 for (ucGeneralCnt=0; ucGeneralCnt<10; ucGeneralCnt++)
- 00004A 4B43 MOV.B #0x0, R11
- ??ViewCommunicationTX_1:
- 00004C 7B900A00 CMP.B #0xa, R11
- 000050 092C JC ??ViewCommunicationTX_5
- 51 {
- 52 SendOneViewData(aucViewData[ucGeneralCnt]);
- 000052 4E4B MOV.B R11, R14
- 000054 3EF0FF00 AND.W #0xff, R14
- 000058 5C4E.... MOV.B aucViewData(R14), R12
- 00005C B012.... CALL #SendOneViewData
- 53 }
- 000060 5B53 ADD.B #0x1, R11
- 000062 F43F JMP ??ViewCommunicationTX_1
- 54
- 55 delay1us(50);
- ??ViewCommunicationTX_5:
- 000064 3C403200 MOV.W #0x32, R12
- 000068 B012.... CALL #delay1us
- 56 VIEW_PORT_OUT |= bitVIEWCLK;
- 00006C E2D31D00 BIS.B #0x2, &0x1d
- 57 VIEW_PORT_OUT |= bitVIEWDATASO;
- 000070 E2D21D00 BIS.B #0x4, &0x1d
- 58 }
- 59 _EINT();
- ??ViewCommunicationTX_4:
- 000074 32D2 EINT
- 60 }
- 000076 3B41 POP.W R11
- 000078 3A41 POP.W R10
- 00007A 3041 RET
- 61
- In segment CODE, align 2, keep-with-next
- 62 void ViewCommunicationRX(void)
- ViewCommunicationRX:
- 63 {
- 000000 0A12 PUSH.W R10
- 000002 0B12 PUSH.W R11
- 64 unsigned char ucGeneralCnt = 0;
- 000004 4A43 MOV.B #0x0, R10
- 65 __disable_interrupt();
- 000006 32C2 DINT
- 66 while ((VIEW_PORT_IN & bitVIEWDATASI) != bitVIEWDATASI)//wait Low
- ??ViewCommunicationRX_0:
- 000008 D2B31C00 BIT.B #0x1, &0x1c
- 00000C 152C JC ??ViewCommunicationRX_3
- 67 {
- 68 //if ((gucGeneralStatus & bitModemActive) == bitModemActive)
- 69 //break;
- 70 if (gwTimeOverflowCount++ == 0xffff)
- 00000E 1E42.... MOV.W &gwTimeOverflowCount, R14
- 000012 1F43 MOV.W #0x1, R15
- 000014 0F5E ADD.W R14, R15
- 000016 824F.... MOV.W R15, &gwTimeOverflowCount
- 00001A 3E93 CMP.W #0xffff, R14
- 00001C 0220 JNE ??ViewCommunicationRX_4
- 71 gucTimeOverflowCount++;
- 00001E D253.... ADD.B #0x1, &gucTimeOverflowCount
- 72 if (gucTimeOverflowCount == 10)
- ??ViewCommunicationRX_4:
- 000022 F2900A00.... CMP.B #0xa, &gucTimeOverflowCount
- 000028 EF23 JNE ??ViewCommunicationRX_0
- 73 {gucGeneralStatus &= ~bitSendFaxSignalOK;gucTimeOverflowCount=0;gwTimeOverflowCount=0;break;}
- 00002A F2C01000.... BIC.B #0x10, &gucGeneralStatus
- 000030 C243.... MOV.B #0x0, &gucTimeOverflowCount
- 000034 8243.... MOV.W #0x0, &gwTimeOverflowCount
- 74 }
- 75 VIEW_PORT_OUT &= ~bitVIEWCLK;
- ??ViewCommunicationRX_3:
- 000038 E2C31D00 BIC.B #0x2, &0x1d
- 76 while ((VIEW_PORT_IN & bitVIEWDATASI) == bitVIEWDATASI)//wait Low
- ??ViewCommunicationRX_1:
- 00003C D2B31C00 BIT.B #0x1, &0x1c
- 000040 0328 JNC ??ViewCommunicationRX_5
- 77 {
- 78 if ((gucGeneralStatus & bitModemActive) == bitModemActive)
- 000042 E2B3.... BIT.B #0x2, &gucGeneralStatus
- 000046 FA2B JNC ??ViewCommunicationRX_1
- 79 break;
- 80 }
- 81 if ((VIEW_PORT_IN & bitVIEWDATASI) != bitVIEWDATASI)
- ??ViewCommunicationRX_5:
- 000048 D2B31C00 BIT.B #0x1, &0x1c
- 00004C 132C JC ??ViewCommunicationRX_6
- 82 {
- 83 /*
- 84 SendOneViewData(0x80);
- 85 gucHour=ReceiveOneViewData();
- 86 gucMinute=ReceiveOneViewData();
- 87 gucSecond=ReceiveOneViewData();
- 88 gucMonth = ReceiveOneViewData();
- 89 gucDate = ReceiveOneViewData();
- 90 gucYear = ReceiveOneViewData();
- 91 gucViewRingNum=ReceiveOneViewData();
- 92 gucViewStaticStatus=ReceiveOneViewData();
- 93 gucViewDynamicStatus=ReceiveOneViewData();
- 94 gucIcon2=ReceiveOneViewData();
- 95 */
- 96 for (ucGeneralCnt=0; ucGeneralCnt<10; ucGeneralCnt++)
- 00004E 4A43 MOV.B #0x0, R10
- ??ViewCommunicationRX_2:
- 000050 7A900A00 CMP.B #0xa, R10
- 000054 092C JC ??ViewCommunicationRX_7
- 97 {
- 98 aucViewData[ucGeneralCnt]=ReceiveOneViewData();
- 000056 4B4A MOV.B R10, R11
- 000058 3BF0FF00 AND.W #0xff, R11
- 00005C B012.... CALL #ReceiveOneViewData
- 000060 CB4C.... MOV.B R12, aucViewData(R11)
- 99 }
- 000064 5A53 ADD.B #0x1, R10
- 000066 F43F JMP ??ViewCommunicationRX_2
- 100 delay1us(50);
- ??ViewCommunicationRX_7:
- 000068 3C403200 MOV.W #0x32, R12
- 00006C B012.... CALL #delay1us
- 101 VIEW_PORT_OUT |= bitVIEWCLK;
- 000070 E2D31D00 BIS.B #0x2, &0x1d
- 102 }
- 103
- 104 _EINT();
- ??ViewCommunicationRX_6:
- 000074 32D2 EINT
- 105
- 106 }
- 000076 3B41 POP.W R11
- 000078 3A41 POP.W R10
- 00007A 3041 RET
- 107
- 108
- 109
- In segment CODE, align 2, keep-with-next
- 110 void SendOneViewData(unsigned char ucViewTxData)
- SendOneViewData:
- 111 {
- 000000 0A12 PUSH.W R10
- 000002 0B12 PUSH.W R11
- 000004 4A4C MOV.B R12, R10
- 112 unsigned char ucGeneralCount=0;
- 000006 4B43 MOV.B #0x0, R11
- 113 for (ucGeneralCount=0;ucGeneralCount<8;ucGeneralCount++)
- 000008 4B43 MOV.B #0x0, R11
- ??SendOneViewData_0:
- 00000A 7B92 CMP.B #0x8, R11
- 00000C 1D2C JC ??SendOneViewData_1
- 114 {
- 115 VIEW_PORT_OUT &= ~bitVIEWCLK;
- 00000E E2C31D00 BIC.B #0x2, &0x1d
- 116 delay1us(50);//
- 000012 3C403200 MOV.W #0x32, R12
- 000016 B012.... CALL #delay1us
- 117 if ((ucViewTxData & BIT0) == BIT0)
- 00001A 5AB3 BIT.B #0x1, R10
- 00001C 0328 JNC ??SendOneViewData_2
- 118 {VIEW_PORT_OUT |= bitVIEWDATASO;} //set Tx bit
- 00001E E2D21D00 BIS.B #0x4, &0x1d
- 000022 023C JMP ??SendOneViewData_3
- 119 else
- 120 {VIEW_PORT_OUT &= ~bitVIEWDATASO;} //reset Tx bit
- ??SendOneViewData_2:
- 000024 E2C21D00 BIC.B #0x4, &0x1d
- 121 ucViewTxData=ucViewTxData>>1;
- ??SendOneViewData_3:
- 000028 12C3 CLRC
- 00002A 4A10 RRC.B R10
- 122 delay1us(50);//
- 00002C 3C403200 MOV.W #0x32, R12
- 000030 B012.... CALL #delay1us
- 123 VIEW_PORT_OUT |= bitVIEWCLK;
- 000034 E2D31D00 BIS.B #0x2, &0x1d
- 124 delay1us(100);
- 000038 3C406400 MOV.W #0x64, R12
- 00003C B012.... CALL #delay1us
- 125 VIEW_PORT_OUT &= ~bitVIEWCLK;
- 000040 E2C31D00 BIC.B #0x2, &0x1d
- 126
- 127 }
- 000044 5B53 ADD.B #0x1, R11
- 000046 E13F JMP ??SendOneViewData_0
- 128 }
- ??SendOneViewData_1:
- 000048 3B41 POP.W R11
- 00004A 3A41 POP.W R10
- 00004C 3041 RET
- 129
- In segment CODE, align 2, keep-with-next
- 130 unsigned char ReceiveOneViewData(void)
- ReceiveOneViewData:
- 131 {
- 000000 0A12 PUSH.W R10
- 000002 0B12 PUSH.W R11
- 132 unsigned char ucGeneralCount=0;
- 000004 4B43 MOV.B #0x0, R11
- 133 unsigned char ucViewRxData;
- 134 for (ucGeneralCount=0;ucGeneralCount<8;ucGeneralCount++)
- 000006 4B43 MOV.B #0x0, R11
- ??ReceiveOneViewData_0:
- 000008 7B92 CMP.B #0x8, R11
- 00000A 1E2C JC ??ReceiveOneViewData_1
- 135 {
- 136 ucViewRxData=ucViewRxData>>1;
- 00000C 12C3 CLRC
- 00000E 4A10 RRC.B R10
- 137 VIEW_PORT_OUT &= ~bitVIEWCLK;
- 000010 E2C31D00 BIC.B #0x2, &0x1d
- 138 delay1us(100);
- 000014 3C406400 MOV.W #0x64, R12
- 000018 B012.... CALL #delay1us
- 139 VIEW_PORT_OUT |= bitVIEWCLK;
- 00001C E2D31D00 BIS.B #0x2, &0x1d
- 140 delay1us(50);
- 000020 3C403200 MOV.W #0x32, R12
- 000024 B012.... CALL #delay1us
- 141 if ((VIEW_PORT_IN & bitVIEWDATASI) == bitVIEWDATASI)
- 000028 D2B31C00 BIT.B #0x1, &0x1c
- 00002C 0328 JNC ??ReceiveOneViewData_2
- 142 {ucViewRxData |= BIT7;} //1
- 00002E 7AD08000 BIS.B #0x80, R10
- 000032 023C JMP ??ReceiveOneViewData_3
- 143 else
- 144 {ucViewRxData &= ~BIT7;} //0
- ??ReceiveOneViewData_2:
- 000034 7AC08000 BIC.B #0x80, R10
- 145
- 146 delay1us(50);
- ??ReceiveOneViewData_3:
- 000038 3C403200 MOV.W #0x32, R12
- 00003C B012.... CALL #delay1us
- 147 VIEW_PORT_OUT &= ~bitVIEWCLK;
- 000040 E2C31D00 BIC.B #0x2, &0x1d
- 148 }
- 000044 5B53 ADD.B #0x1, R11
- 000046 E03F JMP ??ReceiveOneViewData_0
- 149 return ucViewRxData;
- ??ReceiveOneViewData_1:
- 000048 4C4A MOV.B R10, R12
- 00004A 3B41 POP.W R11
- 00004C 3A41 POP.W R10
- 00004E 3041 RET
- 150 }
- 151
- 152 /*
- 153 if ((VIEW_PORT_OUT & bitVIEWCLK) == bitVIEWCLK)
- 154 {VIEW_PORT_OUT &= ~bitVIEWDATA;} //Reset CLOCK
- 155 else
- 156 {VIEW_PORT_OUT |= bitVIEWDATA;} //set CLOCK
- 157 */
- Maximum stack usage in bytes:
- Function CSTACK
- -------- ------
- ReceiveOneViewData 6
- -> delay1us 6
- -> delay1us 6
- -> delay1us 6
- SendOneViewData 6
- -> delay1us 6
- -> delay1us 6
- -> delay1us 6
- ViewCommunicationRX 6
- -> ReceiveOneViewData 6
- -> delay1us 6
- ViewCommunicationTX 6
- -> SendOneViewData 6
- -> SendOneViewData 6
- -> delay1us 6
- Segment part sizes:
- Function/Label Bytes
- -------------- -----
- P4IN 1
- P4OUT 1
- ViewCommunicationTX 124
- ViewCommunicationRX 124
- SendOneViewData 78
- ReceiveOneViewData 80
-
- 406 bytes in segment CODE
- 2 bytes in segment DATA16_AN
-
- 406 bytes of CODE memory
- 0 bytes of DATA memory (+ 2 bytes shared)
- Errors: none
- Warnings: none