📄 atmelusbci.lst
字号:
C51 COMPILER V6.23a ATMELUSBCI 12/02/2003 11:07:23 PAGE 1
C51 COMPILER V6.23a, COMPILATION OF MODULE ATMELUSBCI
OBJECT MODULE PLACED IN atmelusbci.OBJ
COMPILER INVOKED BY: d:\SoftDev\Keil\C51\BIN\C51.EXE atmelusbci.c LARGE BROWSE DEBUG OBJECTEXTEND
stmt level source
1 /****************************************************************/
2 /* UP-MP3DIY100 */
3 /* Beijing Universal Pioneering Technology Co., LTD */
4 /* CopyRighted,All right Reserved www.up-tech.com */
5 /* July,2003 */
6 /* 010-62387873 62381842 */
7 /****************************************************************/
8
9 #include "REGSND1.H"
10 #include "atmelusbci.h"
11
12 #define OSCclk 16//采用16M时钟,后续的许多编程内容与此时钟频率有关
13
14 //设置PLL的时钟,并得到USB工作所需要的48M时钟
15 int AtmelUSBInit(unsigned char NDIV,unsigned int RDIV,unsigned char USBCD)
16 {
17 1 int i;
18 1
19 1
20 1 //USB 时钟的频率计算方法
21 1 // PLLclk=(OSCclk*(RDIV+1))/(int)(NDIV+1);
22 1 // USBclk=PLLclk/(int)(USBCD+1);
23 1
24 1 CKCON|=X2;//Set to select 6 clock periods per machine cycle
25 1 //set PLL CLK
26 1 PLLNDIV = 0x7f&NDIV;//set NDIV
27 1 PLLCON |= (0x3&RDIV)<<6;//set RDIV
28 1 PLLRDIV = (0x3ff&RDIV)>>2;
29 1
30 1 USBCLK=USBCD&0x03;//设置USBCLK
31 1
32 1 PLLCON&=(~PLLRES);//Enable PLL
33 1 PLLCON|=PLLEN;
34 1
35 1
36 1 //USBCON Register
37 1 USBCON&=(~USBE);//禁止USB控制器
38 1 for(i=0;i<3000;i++)//延时
39 1 USBCON|=USBE;//使能USB控制器
40 1 return(0);
41 1 }
42
43 //设置端点的工作模式
44 void EpEnable(void)
45 {
46 1 UEPNUM=0x00;//Ep0 as control Endpoint
47 1 UEPCONX=0x80;
48 1
49 1 UEPNUM=0x01;//Ep1 as Bulk-in Endpoint
50 1 UEPCONX=0x86;
51 1
52 1 UEPNUM=0x02;//Ep2 as Bulk-out Endpoint
53 1 UEPCONX=0x82;
54 1
55 1 UEPRST=0x07;//rest FIFO
C51 COMPILER V6.23a ATMELUSBCI 12/02/2003 11:07:23 PAGE 2
56 1 UEPRST=0x00;
57 1
58 1 UEPIEN=0x07;//Endpoint Interrupt Enable
59 1
60 1 USBIEN|=EEOFINT;
61 1 USBADDR=FEN;//Function Enable
62 1
63 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 + -