C51 COMPILER V9.60.7.0 MAIN 07/25/2024 00:56:09 PAGE 1 C51 COMPILER V9.60.7.0, COMPILATION OF MODULE MAIN OBJECT MODULE PLACED IN .\Objects\main.obj COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE main.c OPTIMIZE(8,SPEED) BROWSE DEBUG OBJECTEXTEND PRINT(.\Listings\main.ls -t) OBJECT(.\Objects\main.obj) line level source 1 #include 2 #include 3 //K=0.0016 0.002 4 const float K[] = {0.0016,0.0037,0.0020,0.0031} ; 5 char pp[16]; 6 float m = 0; 7 char *p ; 8 9 10 11 ///////////////////////////////////// 12 // Generated Initialization File // 13 ///////////////////////////////////// 14 15 // Peripheral specific initialization functions, 16 // Called from the Init_Device() function 17 18 void testswitch(int i); 19 void Reset_Sources_Init() 20 { 21 1 WDTCN = 0xDE; 22 1 WDTCN = 0xAD; 23 1 } 24 25 void Timer_Init1() 26 { 27 1 CKCON = 0x70; 28 1 TMOD = 0x20; 29 1 TH1 = 0xE6; 30 1 T2CON = 0x30; 31 1 RCAP2L = 0x64; 32 1 RCAP2H = 0xFF; 33 1 RCAP4H = 0xFF; 34 1 RCAP4L = 0x64; 35 1 T4CON = 0x30; 36 1 } 37 38 void Timer_Init() 39 { 40 1 CKCON = 0x70; 41 1 TMOD = 0x20; 42 1 TH1 = 0xE6; 43 1 T2CON = 0x30; 44 1 RCAP2L = 0xB2; 45 1 RCAP2H = 0xFF; 46 1 T4CON = 0x30; 47 1 RCAP4L = 0xB2; 48 1 RCAP4H = 0xFF; 49 1 } 50 51 void UART_Init() 52 { 53 1 SCON0 = 0x50; 54 1 SCON1 = 0x40; C51 COMPILER V9.60.7.0 MAIN 07/25/2024 00:56:09 PAGE 2 55 1 } 56 57 void Port_IO_Init() 58 { 59 1 // P0.0 - TX0 (UART0), Open-Drain, Digital 60 1 // P0.1 - RX0 (UART0), Open-Drain, Digital 61 1 // P0.2 - SDA (SMBus), Open-Drain, Digital 62 1 // P0.3 - SCL (SMBus), Open-Drain, Digital 63 1 // P0.4 - TX1 (UART1), Open-Drain, Digital 64 1 // P0.5 - RX1 (UART1), Open-Drain, Digital 65 1 // P0.6 - ECI, Open-Drain, Digital 66 1 // P0.7 - CP0 (Cmpr0), Open-Drain, Digital 67 1 68 1 // P1.0 - CP1 (Cmpr1), Open-Drain, Digital 69 1 // P1.1 - T1 (Timer1), Open-Drain, Digital 70 1 // P1.2 - INT1 (Tmr1), Open-Drain, Digital 71 1 // P1.3 - T2 (Timer2), Open-Drain, Digital 72 1 // P1.4 - T2EX (Tmr2), Open-Drain, Digital 73 1 // P1.5 - T4 (Timer4), Open-Drain, Digital 74 1 // P1.6 - T4EX (Tmr4), Open-Drain, Digital 75 1 // P1.7 - SYSCLK, Open-Drain, Digital 76 1 77 1 // P2.0 - CNVSTR, Open-Drain, Digital 78 1 // P2.1 - Unassigned, Open-Drain, Digital 79 1 // P2.2 - Unassigned, Open-Drain, Digital 80 1 // P2.3 - Unassigned, Open-Drain, Digital 81 1 // P2.4 - Unassigned, Open-Drain, Digital 82 1 // P2.5 - Unassigned, Open-Drain, Digital 83 1 // P2.6 - Unassigned, Open-Drain, Digital 84 1 // P2.7 - Unassigned, Open-Drain, Digital 85 1 86 1 // P3.0 - Unassigned, Open-Drain, Digital 87 1 // P3.1 - Unassigned, Open-Drain, Digital 88 1 // P3.2 - Unassigned, Open-Drain, Digital 89 1 // P3.3 - Unassigned, Open-Drain, Digital 90 1 // P3.4 - Unassigned, Open-Drain, Digital 91 1 // P3.5 - Unassigned, Open-Drain, Digital 92 1 // P3.6 - Unassigned, Open-Drain, Digital 93 1 // P3.7 - Unassigned, Open-Drain, Digital 94 1 95 1 XBR0 = 0xC5; 96 1 XBR1 = 0xF9; 97 1 XBR2 = 0x5D; 98 1 } 99 100 void Oscillator_Init() 101 { 102 1 int i = 0; 103 1 OSCXCN = 0x67; 104 1 for (i = 0; i < 3000; i++); // Wait 1ms for initialization 105 1 while ((OSCXCN & 0x80) == 0); 106 1 OSCICN = 0x08; 107 1 } 108 109 void Interrupts_Init() 110 { 111 1 IE = 0x10; 112 1 EIE2 = 0x40; 113 1 } 114 115 int div0(int i,int b) 116 { C51 COMPILER V9.60.7.0 MAIN 07/25/2024 00:56:09 PAGE 3 117 1 return b/i; 118 1 } 119 // Initialization function for device, 120 // Call Init_Device() from your main program 121 int q = 0; 122 void Init_Device(void) 123 { 124 1 int a= 11; 125 1 int b=22; 126 1 Reset_Sources_Init(); 127 1 Port_IO_Init(); 128 1 Oscillator_Init(); 129 1 Timer_Init(); 130 1 UART_Init(); 131 1 Interrupts_Init(); 132 1 q=div0(a,b); 133 1 testswitch(q); 134 1 } 135 136 void testswitch(int i) 137 { 138 1 switch(i) 139 1 { 140 2 case 0: 141 2 _nop_(); 142 2 _nop_(); 143 2 _nop_(); 144 2 _nop_(); 145 2 _nop_(); 146 2 break; 147 2 case 1: 148 2 _nop_(); 149 2 _nop_(); 150 2 _nop_(); 151 2 _nop_(); 152 2 break; 153 2 case 2: 154 2 _nop_(); 155 2 _nop_(); 156 2 _nop_(); 157 2 break; 158 2 case 3: 159 2 _nop_(); 160 2 _nop_(); 161 2 break; 162 2 case 4: 163 2 _nop_(); 164 2 case 0x100: 165 2 _nop_(); 166 2 break; 167 2 default: 168 2 _nop_(); 169 2 break; 170 2 171 2 } 172 1 } 173 174 175 float f =2999.9; 176 int main(void) 177 { 178 1 float p = f; C51 COMPILER V9.60.7.0 MAIN 07/25/2024 00:56:09 PAGE 4 179 1 /* 180 1 int i = 0; 181 1 p = (char*)K; 182 1 m = K[0]*K[1]; 183 1 for(i = 0;i