?? atmelusbci.lst
字號:
C51 COMPILER V7.07 ATMELUSBCI 11/20/2006 17:50:26 PAGE 1
C51 COMPILER V7.07, COMPILATION OF MODULE ATMELUSBCI
OBJECT MODULE PLACED IN atmelusbci.OBJ
COMPILER INVOKED BY: D:\Program Files\keil\C51\BIN\C51.EXE atmelusbci.c LARGE BROWSE DEBUG OBJECTEXTEND
stmt level source
1 /*
2 ** All rights reserved.
3 *
4 * 文件名稱:atmelusbci.c
5 * 文件標識:atmelusbci
6 * 摘 要:USB操作相應函數定義
7 *
8 * 當前版本:
9 * 作 者:
10 * 完成日期:
11 *
12 *
13 */
14
15 #include "REGSND1.H"
16 #include "atmelusbci.h"
17
18 #define OSCclk 20//采用20M時鐘,后續的許多編程內容與此時鐘頻率有關
19
20 //設置PLL的時鐘,并得到USB工作所需要的48M時鐘
21 int AtmelUSBInit(unsigned char NDIV, unsigned int RDIV, unsigned char USBCD)
22 {
23 1 int i;
24 1 //USB 時鐘的頻率計算方法
25 1 // PLLclk=(OSCclk*(RDIV+1))/(int)(NDIV+1);
26 1 // USBclk=PLLclk/(int)(USBCD+1);
27 1
28 1 CKCON |= X2;//Set to select 6 clock periods per machine cycle即X2模式啟動
29 1 //set PLL CLK
30 1 PLLNDIV = 0x7f & NDIV;//set NDIV
31 1 PLLCON |= (0x3 & RDIV) << 6;//set RDIV
32 1 PLLRDIV = (0x3ff & RDIV) >> 2;
33 1
34 1 USBCLK = USBCD & 0x03;//設置USBCLK
35 1
36 1 PLLCON &= (~PLLRES);//Enable PLL
37 1 PLLCON |= PLLEN;
38 1
39 1 //USBCON Register
40 1 USBCON &= (~USBE);//禁止USB控制器
41 1
42 1 for (i=0; i<3000; i++);//延時
43 1
44 1 USBCON |= USBE;//使能USB控制器
45 1 return (0);
46 1 }
47
48 //設置端點的工作模式
49 void EpEnable(void)
50 {
51 1 UEPNUM = 0x00;//Ep0 as control Endpoint
52 1 UEPCONX = 0x80;
53 1
54 1 UEPNUM = 0x01;//Ep1 as Bulk-in Endpoint
55 1 UEPCONX = 0x86;
C51 COMPILER V7.07 ATMELUSBCI 11/20/2006 17:50:26 PAGE 2
56 1
57 1 UEPNUM = 0x02;//Ep2 as Bulk-out Endpoint
58 1 UEPCONX = 0x82;
59 1
60 1 UEPRST = 0x07;//rest FIFO
61 1 UEPRST = 0x00;
62 1
63 1 UEPIEN = 0x07;//Endpoint Interrupt Enable
64 1
65 1 USBIEN |= EEOFINT;
66 1 USBADDR = FEN;//Function Enable
67 1
68 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 108 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = ---- ----
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 + -