📄 ad985411.lst
字号:
C51 COMPILER V8.02 AD985411 07/30/2007 18:46:28 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE AD985411
OBJECT MODULE PLACED IN .\AD985411.obj
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE E:\9854\AD9854\AD985411.c BROWSE DEBUG OBJECTEXTEND PRINT(.\AD985411.lst) O
-BJECT(.\AD985411.obj)
line level source
1 #ifndef uchar
2 #define uchar unsigned char
3 #endif
4
5 //#define msp430 FQ439
6 #define msp430 F16
7
8 //#define parameter parrel
9 #define parameter seri
10
11 #define seri 1
12 #define parrel 0
13
14 #define FQ439 1
15 #define F16 0
16
17 #define uchar unsigned char
18 #define uint unsigned int
19 #define ulong unsigned long
20 #define bool char
21 #define true 1
22 #define false 0
23
24 #define SINGLETONE 0
25 #define FSK 1
26 #define RAMPEDFSK 2
27 #define CHIRP 3
28 #define BPSK 4
29
30 #if( msp430 == 1 )
#include <msp430x43x.h>
#endif
33 #if( msp430 == 0 )
34 #include <msp430x16x.h>
*** WARNING C318 IN LINE 34 OF E:\9854\AD9854\AD985411.c: can't open file 'msp430x16x.h'
35 #endif
36
37 //////////////////////////////////////
38 /*
39 定义引脚
40 */
41
42 #define MRESET P2DIR |= BIT0
43 #define RESETHIGH P2OUT |= BIT0
44 #define RESETLOW P2OUT &= ~BIT0
45
46 #define SHAPEKEYING P3DIR |= BIT6
47 #define SHAPEKEYINGHIGH P3OUT |= BIT6
48 #define SHAPEKEYINGLOW P3OUT &= ~BIT6
49
50 #define FBH P3DIR |= BIT4
51 #define FBHHIGH P3OUT |= BIT4
52 #define FBHLOW P3OUT &= ~BIT4
53
C51 COMPILER V8.02 AD985411 07/30/2007 18:46:28 PAGE 2
54 #define UPDATE P3DIR |= BIT0
55 #define UPDATEHIGH P3OUT |= BIT0
56 #define UPDATELOW P3OUT &= ~BIT0
57
58
59 ////// P2.7 ~ P2.2 ADDR
60 ////// P2.1 -- > RD
61 ////// P2.0 -- > MASTER_RESET
62 ////// P1 --- > DATA
63 /////
64 #if( parameter == 0 ) // parrel
#define DOUT P1DIR |= 0xff
#define DIN P1DIR &= ~0xff
#define DATAOUT P1OUT
#define DATAIN P1IN
#define SADDR P2DIR |= 0xfc
#define ADDR P2OUT
#define RD P2DIR |= BIT1
#define RDHIGH P2OUT |= BIT1
#define RDLOW P2OUT &= ~BIT1
#define WR P3DIR |= BIT2
#define WRHIGH P3OUT |= BIT2
#define WRLOW P3OUT &= ~BIT2
#endif
83
84 #if( parameter == 1 ) // mode = 1 serries mode
85
86 //-------------IO PRESET--------------//
87 // P2.0- UD_CLK; P2.1(SIMO)- SDIO;
88 // P2.2(SOMI)-SDO; P2.3- UCLK;
89 // P2.4- /CS; P2.5- SHAPED KEY;
90 // P2.6- IO RST; P2.7- RST;
91 //------------------------------------//
92
93 #define HADEINIT P2OUT = 0xff;P2DIR = 0xff;P3OUT=0xff;P3DIR=0xFe
94
95 #define IORESET P2DIR |= BIT4
96 #define IORESETHIGH P2OUT |= BIT4
97 #define IORESETLOW P2OUT &= ~BIT4
98
99 #define SDO P2DIR |= BIT3
100 #define SDOHIGH P2OUT |= BIT3
101 #define SDOLOW P2OUT &= ~BIT3
102
103 #define SDIO P2DIR |= BIT2
104 #define SDIOHIGH P2OUT |= BIT2
105 #define SDIOLOW P2OUT &= ~BIT2
106
107 #define SCLK P3DIR |= BIT2
108 #define SCLKHIGH P3OUT |= BIT2
109 #define SCLKLOW P3OUT &= ~BIT2
110
111 #define CSB P2DIR |= BIT1
112 #define CSBHIGH P2OUT |= BIT1
113 #define CSBLOW P2OUT &= ~BIT1
114
115 #define SDIO_IN P2DIR&=~BIT2 //数据线选择输入
C51 COMPILER V8.02 AD985411 07/30/2007 18:46:28 PAGE 3
116 #define SDIO_OUT P2DIR|=BIT2 //数据线选择输出
117 #define SDIO_DATA P2IN&BIT2 //数据线上的输入数据
118
119 #define ORAMP_H P3OUT |= BIT7
120 #define ORAMP_L P3OUT &= ~BIT7
121
122 #define IOSYNC_H P2OUT|=BIT4 //i/o操作同步,为高时当前I/O操作立即结束
123 #define IOSYNC_L P2OUT&=~BIT4
124
125
126 #endif
127 /////////////////////////////////////
128 /*
129 公用函数 delay_9854 ( uint ) MRST() IOUpdata()
130 */
131 void delay_9854(uint time)
132 {
133 1 uint i;
134 1 for(i = 0; i < time; i++)
135 1 {
136 2 _NOP();
*** WARNING C206 IN LINE 136 OF E:\9854\AD9854\AD985411.C: '_NOP': missing function-prototype
137 2 _NOP();
138 2 _NOP();
139 2 _NOP();
140 2 }
141 1 }
142
143 void MRST(void)
144 {
145 1 RESETHIGH;
*** ERROR C202 IN LINE 145 OF E:\9854\AD9854\AD985411.C: 'P2OUT': undefined identifier
146 1 delay_9854(5000);
147 1 RESETLOW;
*** ERROR C202 IN LINE 147 OF E:\9854\AD9854\AD985411.C: 'P2OUT': undefined identifier
148 1 }
149
150 void IOUpdate(void)
151 {
152 1 UPDATELOW;
*** ERROR C202 IN LINE 152 OF E:\9854\AD9854\AD985411.C: 'P3OUT': undefined identifier
153 1 delay_9854(5);
154 1 UPDATEHIGH;
*** ERROR C202 IN LINE 154 OF E:\9854\AD9854\AD985411.C: 'P3OUT': undefined identifier
155 1 delay_9854(5);
156 1 UPDATELOW;
*** ERROR C202 IN LINE 156 OF E:\9854\AD9854\AD985411.C: 'P3OUT': undefined identifier
157 1 }
158
159 #if( parameter == 0 ) // parrel
uint systemclk;
void ParallelSendByte(uchar addr, uchar data)
{
DOUT;
WRHIGH;
ADDR = (addr & 0x3f);
WRLOW;
DATAOUT = data;
WRHIGH;
}
C51 COMPILER V8.02 AD985411 07/30/2007 18:46:28 PAGE 4
uchar ParallelReadByte(uchar addr)
{
uchar result;
DIN;
RDHIGH;
ADDR = (addr & 0x3f);
RDLOW;
result = DATAIN;
RDHIGH;
return result;
}
void ParallelSetReg(uchar saddr, uchar *data, uchar n)
{
uchar i;
for(i = 0; i < n; i++)
{
ParallelSendByte(saddr + i, *data);
data++;
}
IOUpdate();
}
void ParallelSetPhase(uchar saddr, float phase)
{
uchar temp[2];
uchar ph;
ph = (uint) (phase * 45.51111111);
ph = ph & 0x3fff;
temp[0] = ph / 256;
temp[1] = ph % 256;
ParallelSetReg(saddr, temp, 2);
}
void ParallelSetPhase1(float phase)
{
ParallelSetPhase(0, phase);
}
void ParallelSetPhase2(float phase)
{
ParallelSetPhase(2, phase);
}
void ParallelSetFreq(uchar saddr, double freq)
{
double ftw1;
double t;
uchar i;
uchar temp[6];
ftw1 = (freq * 281474976.710656 / (double) systemclk);
t = (double) (1099511627776);
for(i = 0; i < 6; i++)
{
temp[i] = (uchar) (ftw1 / t);
ftw1 = ftw1 - temp[i] * t;
t = t / 256.0;
}
ParallelSetReg(saddr, temp, 6);
}
C51 COMPILER V8.02 AD985411 07/30/2007 18:46:28 PAGE 5
void ParallelSetFTW1(double freq)
{
ParallelSetFreq(4, freq);
}
void ParallelSetFTW2(double freq)
{
ParallelSetFreq(0x0a, freq);
}
void ParallelSetDFW(double freq)
{
ParallelSetFreq(0x10, freq);
}
void ParallelSetUDClk(ulong clk)
{
uchar temp[4];
long t;
uchar i;
t = 16777216;
for (i = 0; i < 4; i++)
{
temp[i] = clk / t;
clk = clk % t;
t = t >> 8;
}
ParallelSetReg(0x16, temp, 4);
}
void ParallelSetRRClk(ulong clk)
{
uchar temp[3];
long t;
uchar i;
t = 65536;
for (i = 0; i < 3; i++)
{
temp[i] = clk / t;
clk = clk % t;
t = t >> 8;
}
ParallelSetReg(0x1a, temp, 3);
}
void ParallelSetOutShapeKey(uchar saddr, uint amplitude)
{
uchar temp[2];
temp[0] = amplitude / 256;
temp[1] = amplitude % 256;
ParallelSetReg(saddr, temp, 2);
}
void ParallelSetOSKI(uint amplitude)
{
ParallelSetOutShapeKey(0x21, amplitude);
}
void ParallelSetOSKQ(uint amplitude)
{
ParallelSetOutShapeKey(0x23, amplitude);
}
C51 COMPILER V8.02 AD985411 07/30/2007 18:46:28 PAGE 6
void ParallelSetOSKRAMPRATE(uchar rate)
{
ParallelSetReg(0x25, &rate,1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -