📄 test.lst
字号:
C51 COMPILER V7.50 TEST 03/04/2006 21:34:30 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE TEST
OBJECT MODULE PLACED IN Test.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE Test.c OPTIMIZE(7,SPEED) BROWSE DEFINE(MHz11) DEBUG OBJECTEXTEND CODE
line level source
1 /*------------------------------------------------------------------------------
2 TEST.C: ISD51 Demo for TI MSC 1210
3
4 Copyright 2003 Keil Software, Inc.
5 ------------------------------------------------------------------------------*/
6
7 #include <REG1210.H>
8 #include <intrins.h>
9 #include <stdio.h>
10 #include "ISD51.h"
11
12 #define XTAL 11059200 // XTAL frequency 11.0592 MHz
13
14 // defines for UART BAUDRATE
15 #define BAUDRATE 9600 // 9600bps communication baudrate
16 #define T2RELOAD (65536-(XTAL/32/BAUDRATE))
17 sbit Load = P2^2; //5615 control bit
18 sbit YellowLed = P2^1;// EVM Ledlight
19
20 void delay(void) {
21 1 long i;
22 1
23 1 i =0x0ffff;
24 1 while(i--);
25 1 }
26
27 void Send_SpiData3(unsigned char h,unsigned char l)
28 {
29 1 Load =0;
30 1
31 1 SPIDATA = h;
32 1
33 1 while((AIE&0x08) != 0x08){};
34 1
35 1 SPIDATA = l;
36 1 while((AIE&0x08) != 0x08){};
37 1
38 1 Load = 1;
39 1 //printf("\nSPI Send high Value %X ** low Value %X",h,l);
40 1 }
41
42
43
44
45 void main (void) {
46 1
47 1 // Setup Serial Interface 0
48 1 T2CON = 0x34; // Use Timer 2 as baudrate generator
49 1 RCAP2H = 0xFF;
50 1 RCAP2H = (T2RELOAD >> 8); // baudrate reload factor
51 1 RCAP2L = T2RELOAD;
52 1
53 1 SCON0 = 0x50; // enable serial uart & receiver
54 1 PCON |= 0x80; // double baudrate for UART0
55 1 P3DDRL &= 0xF0; // P3DDRL set port pins of UART0 to input/strong drive output
C51 COMPILER V7.50 TEST 03/04/2006 21:34:30 PAGE 2
56 1 P3DDRL |= 0x07; // P3DDRL set port pins of UART0 to input/strong drive output
57 1
58 1 // System Timer Setup
59 1 // The following settings are important for ISD51 (enable flash programming, disable watchdog)
60 1 USEC = ((XTAL+500000)/1000000)-1; // USEC timer factor
61 1 ONEMS = (XTAL/1000)-1; // (MSECH+MSCL) MS Timer counting at 1.0ms
62 1
63 1 HMSEC = 100-1; // Hundred MS Timer to 100.0ms
64 1 SECINT = (10-1) | 0x80; // SECINT= 10 * HMS Timer Rate = 1 sec
65 1 // '0x80' will set the MSB for write immediate
66 1 MSINT = (10-1) | 0x80; // MSINT = 10ms for Tone period time base
67 1 PDCON = 0x1D; // Powerup SysTimer
68 1
69 1 FTCON = 0xA5; // setup flash programming times
70 1
71 1 EICON = 0x40; //DIS enable all auxiliary interrupts
72 1
73 1 EA = 1; //DIS Enable global interrupt flag
74 1
75 1 #if 1 // init ISD51 and wait until the uVision2 Debugger connects
76 1 ISDwait (); // wait for connection to uVision2 Debugger
77 1 #endif
78 1
79 1 //Set SPI Registers
80 1 P1 = 0xFF;
81 1 AIE = 0x00;
82 1 PDCON &=0xFE;
83 1 P1DDRH = 0x75;
84 1 SPITCON = 0x18; //VERY IMPORTANT
85 1
86 1 SPICON = 0x04;
87 1
88 1 while (1) {
89 2
90 2 Send_SpiData3(0x0A,0x00) ;
91 2 delay();
92 2 YellowLed = !YellowLed;
93 2
94 2 }
95 1 }
C51 COMPILER V7.50 TEST 03/04/2006 21:34:30 PAGE 3
ASSEMBLY LISTING OF GENERATED OBJECT CODE
; FUNCTION delay (BEGIN)
; SOURCE LINE # 20
; SOURCE LINE # 23
0000 E4 CLR A
0001 7500FF R MOV i+03H,#0FFH
0004 7500FF R MOV i+02H,#0FFH
0007 F500 R MOV i+01H,A
0009 F500 R MOV i,A
000B ?C0001:
; SOURCE LINE # 24
000B 7800 R MOV R0,#LOW i
000D 74FF MOV A,#0FFH
000F 120000 E LCALL ?C?LLDIIDATA8
0012 EC MOV A,R4
0013 4D ORL A,R5
0014 4E ORL A,R6
0015 4F ORL A,R7
0016 70F3 JNZ ?C0001
; SOURCE LINE # 25
0018 ?C0003:
0018 22 RET
; FUNCTION delay (END)
; FUNCTION _Send_SpiData3 (BEGIN)
; SOURCE LINE # 27
;---- Variable 'l' assigned to Register 'R5' ----
;---- Variable 'h' assigned to Register 'R7' ----
; SOURCE LINE # 28
; SOURCE LINE # 29
0000 C2A2 CLR Load
; SOURCE LINE # 31
0002 8F9B MOV SPIDATA,R7
0004 ?C0004:
; SOURCE LINE # 33
0004 E5A6 MOV A,AIE
0006 30E3FB JNB ACC.3,?C0004
0009 ?C0005:
; SOURCE LINE # 35
0009 8D9B MOV SPIDATA,R5
000B ?C0006:
; SOURCE LINE # 36
000B E5A6 MOV A,AIE
000D 30E3FB JNB ACC.3,?C0006
0010 ?C0007:
; SOURCE LINE # 38
0010 D2A2 SETB Load
; SOURCE LINE # 40
0012 22 RET
; FUNCTION _Send_SpiData3 (END)
; FUNCTION main (BEGIN)
; SOURCE LINE # 45
; SOURCE LINE # 48
0000 75C834 MOV T2CON,#034H
; SOURCE LINE # 49
0003 75CBFF MOV RCAP2H,#0FFH
; SOURCE LINE # 50
0006 75CBFF MOV RCAP2H,#0FFH
; SOURCE LINE # 51
C51 COMPILER V7.50 TEST 03/04/2006 21:34:30 PAGE 4
0009 75CADC MOV RCAP2L,#0DCH
; SOURCE LINE # 53
000C 759850 MOV SCON0,#050H
; SOURCE LINE # 54
000F 438780 ORL PCON,#080H
; SOURCE LINE # 55
0012 53B3F0 ANL P3DDRL,#0F0H
; SOURCE LINE # 56
0015 43B307 ORL P3DDRL,#07H
; SOURCE LINE # 60
0018 75FB0A MOV USEC,#0AH
; SOURCE LINE # 61
001B 75FD2B MOV ONEMS+01H,#02BH
001E 75FC32 MOV ONEMS,#032H
; SOURCE LINE # 63
0021 75FE63 MOV HMSEC,#063H
; SOURCE LINE # 64
0024 75F989 MOV SECINT,#089H
; SOURCE LINE # 66
0027 75FA89 MOV MSINT,#089H
; SOURCE LINE # 67
002A 75F11D MOV PDCON,#01DH
; SOURCE LINE # 69
002D 75EFA5 MOV FTCON,#0A5H
; SOURCE LINE # 71
0030 75D840 MOV EICON,#040H
; SOURCE LINE # 73
0033 D2AF SETB EA
0035 ?C0009:
; SOURCE LINE # 76
0035 3098FD JNB RI_0,?C0009
0038 E599 MOV A,SBUF0
003A 64A5 XRL A,#0A5H
003C 6004 JZ ?C0010
003E ?C0012:
003E C298 CLR RI_0
0040 80F3 SJMP ?C0009
0042 ?C0010:
0042 120000 E LCALL __isd_init
; SOURCE LINE # 80
0045 7590FF MOV P1,#0FFH
; SOURCE LINE # 81
0048 E4 CLR A
0049 F5A6 MOV AIE,A
; SOURCE LINE # 82
004B 53F1FE ANL PDCON,#0FEH
; SOURCE LINE # 83
004E 75AF75 MOV P1DDRH,#075H
; SOURCE LINE # 84
0051 759D18 MOV SPITCON,#018H
; SOURCE LINE # 86
0054 759A04 MOV SPICON,#04H
0057 ?C0013:
; SOURCE LINE # 88
; SOURCE LINE # 90
0057 E4 CLR A
0058 FD MOV R5,A
0059 7F0A MOV R7,#0AH
005B 120000 R LCALL _Send_SpiData3
; SOURCE LINE # 91
005E 120000 R LCALL delay
; SOURCE LINE # 92
C51 COMPILER V7.50 TEST 03/04/2006 21:34:30 PAGE 5
0061 B2A1 CPL YellowLed
; SOURCE LINE # 94
0063 80F2 SJMP ?C0013
0065 22 RET
; FUNCTION main (END)
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 146 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 4
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -