?? main.lst
字號:
C51 COMPILER V6.12 MAIN 08/20/2006 21:10:48 PAGE 1
C51 COMPILER V6.12, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN main.OBJ
COMPILER INVOKED BY: C:\keil\C51\BIN\c51.exe main.c DB OE
stmt level source
*** WARNING C500 IN LINE 1 OF MAIN.C: MISSING DEVICE (SECURITY KEY NOT FOUND)
1
2 //頭文件
3 /////////////////////////////
4 #include "c8051F320.h"
5 #include "stdio.h"
6 #include "intrins.h"
7 #include "Usb_FunDec.h"
8 #include "Usb_Parameter.h"
9 #include "Usb_Register.h"
10 #include "Usb_Request.h"
11 ///////////////////////////////////////////////////////////////////////////////////////
12 // 16-bit SFR declarations
13 sfr16 DP = 0x82; // data pointer
14 sfr16 TMR2RL = 0xca; // Timer2 reload
15 sfr16 TMR2 = 0xcc; // Timer2 counter
16 sfr16 TMR3 = 0x94; // Timer3 counter
17 sfr16 TMR3RL = 0x92; // Timer3 reload
18 sfr16 PCA0CP1 = 0xe9; // PCA0 Module 1 Capture/Compare
19 sfr16 PCA0CP2 = 0xeb; // PCA0 Module 2 Capture/Compare
20 sfr16 PCA0CP3 = 0xed; // PCA0 Module 3 Capture/Compare
21 sfr16 PCA0CP4 = 0xfd; // PCA0 Module 4 Capture/Compare
22 sfr16 PCA0CP0 = 0xfb; // PCA0 Module 0 Capture/Compare
23 sfr16 PCA0 = 0xf9; // PCA0 counter
24 ////////////////////////////////////////////////////////////////////////////////////////
25 //宏定義
26 #define System_Clock 12000000 //系統時鐘
27 #define Baud_Rate 9600 //串口波特率
28 ////////////////////////////////////////////////////////////////////////////////////////
29 //位定義
30 sbit LED = P0^0; //LED控制腳
31 ////////////////////////////////////////////////////////////////////////////////////////
32 //函數申明
33 void Init_Device(void); //單片機初始化
34 void Reset_Sources_Init(void); //單片機復位源初始化
35 void Timer_Init(void); //定時器初始化
36 void UART_Init(void); //串口初始化
37 void ADC_Init(void); //AD轉換器初始化
38 void Voltage_Reference_Init(void); //電壓基準愿初始化
39 void Port_IO_Init(void); //IO口初始化
40 void Oscillator_Init(void); //系統時鐘初始化
41 void Interrupts_Init(void); //中斷源初始化
42 void Time_Delay(unsigned int time); //延時函數定義,時間為time毫秒
43 //////////////////////////////////////////////////////////////////////
44 //外部函數調用
45 extern void Flash_Init(void);
46 extern void Flash_Format16(void);
47 extern void Test_Flash(void);
48 extern void Flash_Verify(void);
49 ///////////////////////////////////////////////////////////////////////////////////////////////////
50
51 //主函數
52 void main ()
53 {
54 1 unsigned int i;
C51 COMPILER V6.12 MAIN 08/20/2006 21:10:48 PAGE 2
55 1 PCA0MD &= ~0x40; // 關看門狗
56 1 Init_Device(); // 單片機初始化
57 1 Flash_Init(); // FLASH初始化
58 1 Usb_Init(); // USB初始化
59 1 EA = 1; // 開中斷中斷
60 1
61 1 while (1)
62 1 {
63 2 Time_Delay(1);
64 2 LED=0;
65 2 }
66 1 }
*** WARNING C280 IN LINE 54 OF MAIN.C: 'i': unreferenced local variable
67
68
69
70 ////////////////////////////////////////////////////////////////////////////////////////////////////
71 //單片機初始化
72 void Init_Device(void)
73 {
74 1 Reset_Sources_Init();
75 1 Timer_Init();
76 1 UART_Init();
77 1 ADC_Init();
78 1 Voltage_Reference_Init();
79 1 Port_IO_Init();
80 1 Oscillator_Init();
81 1 Interrupts_Init();
82 1 }
83
84 void Reset_Sources_Init()
85 {
86 1 }
87
88 //定時器0使用系統時鐘,為16位定時器方式;定時器1使用系統時鐘的12分頻,8位重裝載方式,波特率發生器
89 void Timer_Init()
90 {
91 1 TCON = 0x40;
92 1 TMOD = 0x20;
93 1 CKCON = 0x01;
94 1 TL1 = -System_Clock/4/2/Baud_Rate;
95 1 TH1 = -System_Clock/4/2/Baud_Rate;
96 1 TR0=0;
97 1 TR1=1;
98 1 }
99
100 //8位方式,1起始位+8數據位+1停止位,接收容許,并且只有停止位為1時才觸發接收中斷
101 void UART_Init()
102 {
103 1 SCON0 = 0x30;
104 1 TI0=1; //為printf函數做準備
105 1 }
106
107 void ADC_Init()
108 {
109 1 }
110
111 void Voltage_Reference_Init()
112 {
113 1 }
114
115 void Port_IO_Init()
C51 COMPILER V6.12 MAIN 08/20/2006 21:10:48 PAGE 3
116 {
117 1 P0MDOUT = 0x11;
118 1 XBR0 = 0x01;
119 1 XBR1 = 0x40;
120 1 P2MDOUT = 0xBF;
121 1 }
122
123 //系統使用內部時鐘,頻率為12MHz,USB工作在全速,時鐘為48MHz
124 void Oscillator_Init()
125 {
126 1 int i = 0;
127 1 CLKMUL = 0x80;
128 1 for (i = 0; i < 20; i++); // Wait 5us for initialization
129 1 CLKMUL |= 0xC0;
130 1 while ((CLKMUL & 0x20) == 0);
131 1 OSCICN = 0x83;
132 1
133 1 }
134
135 void Interrupts_Init()
136 {
137 1 EIE1 |= 0x02; // 允許USB中斷
138 1 }
139 //////////////////////////////////////////////////////////////////////////////////////////////////
140 void Time_Delay(unsigned int time)
141 {
142 1 unsigned int i=0,j=0;
143 1 for(i=0;i<time;i++)
144 1 {
145 2 for(j=0;j<1200;j++)
146 2 {_nop_();}
147 2 }
148 1 }
149
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 159 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- 2
IDATA SIZE = ---- ----
BIT SIZE = ---- ----
END OF MODULE INFORMATION.
C51 COMPILATION COMPLETE. 2 WARNING(S), 0 ERROR(S)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -