📄 application.lst
字号:
C51 COMPILER V7.06 APPLICATION 10/15/2007 20:16:02 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE APPLICATION
OBJECT MODULE PLACED IN application.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE application.c DEBUG OBJECTEXTEND
stmt level source
1
2 #include "fx2.h"
3 #include "fx2regs.h"
4 #include "application.h"
5 #include "syncdly.h"
6 #include "isr.h"
7
8 #define GPIFTRIGRD 4
9 /*******************************************************************
10 函数功能:DA传送数据,10位精度。
11 入口参数:dac_data8位数据。
12 出口参数:无
13 说明:
14 *******************************************************/
15
16 void DAC_5618(unsigned char dac_dataH,unsigned char dac_dataL,unsigned char dac_channel)
17 {
18 1 unsigned char TempL,TempH;
19 1 if(dac_channel==0x01) //使用通道A。(即out0)
20 1 {
21 2 nCS = 1;
22 2 TempH=0xc0; //模式调整
23 2 TempL=0x00;
24 2 TempH|=(dac_dataH<<2)|(dac_dataL>>6);
25 2 TempL|=(dac_dataL<<2);
26 2 nCS = 0;
27 2 SPI_Transmit(TempH);
28 2 SPI_Transmit(TempL);
29 2 nCS = 1;
30 2 }
31 1 else if (dac_channel==0x02) //使用通道B。(即out1)
32 1 {
33 2 nCS = 1;
34 2 TempH=0x40;
35 2 TempL=0x00;
36 2 TempH|=(dac_dataH<<2)|(dac_dataL>>6);
37 2 TempL|=(dac_dataL<<2);
38 2 nCS = 0;
39 2 SPI_Transmit(TempH);
40 2 SPI_Transmit(TempL);
41 2 nCS = 1;
42 2 }
43 1
44 1 else
45 1 {
46 2 // asm("NOP");
47 2 }
48 1 }
49 //*****************************************************************/
50 //初始化spi
51 void SPI_Transmit(unsigned char dac_data)
52 {
53 1 unsigned char i;
54 1
55 1 for(i=0;i<8;i++)
C51 COMPILER V7.06 APPLICATION 10/15/2007 20:16:02 PAGE 2
56 1 {
57 2 SCK = 1;
58 2 if(dac_data&0x80)
59 2 DIN=1;
60 2 else
61 2 DIN=0;
62 2 SCK=0;
63 2 dac_data<<=1;
64 2 }
65 1 SCK = 1;//
66 1 }
67 //******************************************************
68 //******************************************************
69 void Peripheral_SingleWordRead( WORD xdata *gdata )
70 {
71 1 BYTE g_data = 0x00;
72 1 while( !( GPIFTRIG & 0x80 ) )
73 1 {
74 2 }
75 1 g_data = XGPIFSGLDATLX; // trigger GPIF
76 1 while( !( GPIFTRIG & 0x80 ) ) // poll GPIFTRIG.7 Done bit
77 1 {
78 2 ;
79 2 }
80 1 *gdata = ( ( WORD )XGPIFSGLDATH << 8 ) | ( WORD )XGPIFSGLDATLNOX;
81 1 }
82 //*****************************************************
83 // write single word to PERIPHERAL, using GPIF
84 //*****************************************************
85 void Peripheral_SingleWordWrite( WORD gdata )
86 {
87 1 while( !( GPIFTRIG & 0x80 ) ) // poll GPIFTRIG.7 Done bit
88 1 {
89 2 ;
90 2 }
91 1
92 1 XGPIFSGLDATH = gdata >> 8;
93 1 XGPIFSGLDATLX = gdata; // trigger GPIF
94 1
95 1 }
96 //--------------------------------------------------------------
97 // read(s) from PERIPHERAL, using GPIF and EPxFIFO
98 //--------------------------------------------------------------
99 void Peripheral_FIFORead( BYTE FIFO_EpNum )
100 {
101 1 GPIFTRIG = GPIFTRIGRD | FIFO_EpNum; // launch GPIF FIFO READ Transaction to EP6 FIFO
102 1 SYNCDELAY;
103 1 while( !( GPIFTRIG & 0x80 ) ) // poll GPIFTRIG.7 GPIF Done bit
104 1 {
105 2 ;
106 2 }
107 1
108 1 SYNCDELAY;
109 1 // for EPx read(s)
110 1 }
111 //--------------------------------------------------------------
112 // Set GPIF Transaction Count
113 //--------------------------------------------------------------
114 void Peripheral_SetGPIFTC( WORD xfrcnt)
115 {
116 1 GPIFTCB1 = xfrcnt >> 8; // setup transaction count
117 1 SYNCDELAY;
C51 COMPILER V7.06 APPLICATION 10/15/2007 20:16:02 PAGE 3
118 1 GPIFTCB0 = ( BYTE )xfrcnt;
119 1 }
120
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 194 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 5
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 + -