📄 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 + -