atmelusbci.lst
来自「这个是一个完整的MP3项目」· LST 代码 · 共 95 行
LST
95 行
C51 COMPILER V7.50 ATMELUSBCI 03/16/2006 09:11:14 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE ATMELUSBCI
OBJECT MODULE PLACED IN atmelusbci.OBJ
COMPILER INVOKED BY: C:\Program Files\keil\C51\BIN\C51.EXE atmelusbci.c LARGE BROWSE DEBUG OBJECTEXTEND
line level source
1 /*
2 * Copyright (c) 2004,北京博创兴业科技有限公司
3 * All rights reserved.
4 *
5 * 文件名称:atmelusbci.c
6 * 文件标识:atmelusbci
7 * 摘 要:USB操作相应函数定义
8 *
9 * 当前版本:2.0
10 * 作 者:Kent
11 * 完成日期:2004年5月20日
12 *
13 * 取代版本:1.1
14 * 原作者 :Frank
15 * 完成日期:2003年8月10日
16 */
17
18 #include "REGSND1.H"
19 #include "atmelusbci.h"
20
21 #define OSCclk 20
22
23 int AtmelUSBInit(unsigned char NDIV, unsigned int RDIV, unsigned char USBCD)
24 {
25 1 int i;
26 1 //set PLL CLK
27 1
28 1 // PLLclk=(OSCclk*(RDIV+1))/(int)(NDIV+1);
29 1 // USBclk=PLLclk/(int)(USBCD+1);
30 1
31 1 CKCON |= X2;//Set to select 6 clock periods per machine cycle
32 1 PLLNDIV = 0x7f&NDIV;//set NDIV
33 1 PLLCON |= (0x3&RDIV) << 6;//set RDIV
34 1 PLLRDIV = (0x3ff&RDIV) >> 2;
35 1
36 1 USBCLK = USBCD&0x03;
37 1
38 1 PLLCON &= (~PLLRES);//Enable PLL
39 1 PLLCON |= PLLEN;
40 1
41 1
42 1 //USBCON Register
43 1 USBCON &= (~USBE);
44 1 for (i=0; i<3000; i++)
45 1 USBCON |= USBE;
46 1 return (0);
47 1 }
48
49 void EpEnable(void)
50 {
51 1
52 1 UEPNUM = 0x00;//Ep0 as control Endpoint
53 1 UEPCONX = 0x80;
54 1
55 1 UEPNUM = 0x01;//Ep1 as Bulk-in Endpoint
C51 COMPILER V7.50 ATMELUSBCI 03/16/2006 09:11:14 PAGE 2
56 1 UEPCONX = 0x86;
57 1
58 1 UEPNUM = 0x02;//Ep2 as Bulk-out Endpoint
59 1 UEPCONX = 0x82;
60 1
61 1 UEPRST = 0x07;//rest FIFO
62 1 UEPRST = 0x00;
63 1
64 1 UEPIEN = 0x07;//Endpoint Interrupt Enable
65 1
66 1 USBIEN |= EEOFINT;
67 1 USBADDR = FEN;//Function Enable
68 1
69 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 + =
减小字号Ctrl + -
显示快捷键?