📄 d12driver.lst
字号:
C51 COMPILER V7.06 D12DRIVER 12/03/2004 14:38:17 PAGE 1
C51 COMPILER V7.06, COMPILATION OF MODULE D12DRIVER
OBJECT MODULE PLACED IN D12Driver.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE D12Driver.c BROWSE DEBUG OBJECTEXTEND
stmt level source
1 /****************************************Copyright (c)**************************************************
2 ** 广州周立功单片机发展有限公司
3 ** 研 究 所
4 ** 产品一部
5 **
6 ** http://www.zlgmcu.com
7 **
8 ** 文 件 名: D12Driver.c
9 ** 最后修改日期: 2004年11月15日
10 ** 描 述: USB驱动程序软件包: PDIUSBD12 设备端驱动程序 应用层
11 ** 版 本: V5.0
12 **********************************************************************************************************
-/
13
14 #include <reg52.h>
15 #include "D12Config.h"
16 #include "D12CI.h"
17 #include "D12HAL.h"
18 #include "Chap_9.h"
19 #include "Descriptor.h"
20 #include "D12Driver.h"
21
22 INT8U idata GenEpBuf[EP1_PACKET_SIZE]; //端点1接收缓冲区
23 INT8U idata EpBuf[EP2_PACKET_SIZE]; //端点2接收缓冲区
24
25 /*********************************************************************
26 ** 函数名称: Init_D12()
27 ** 功能描述: 设置D12与硬件的连接, 初始化D12, 复位D12
28 ** 输 入: 无
29 ** 输 出: 0: 初始化成功 1: 初始化失败
30 **********************************************************************/
31 INT8U Init_D12(void)
32 {
33 1 bEPPflags.value = 0; //初始化USB事件标志变量
34 1
35 1 Init_D12Port(); //初始化PDIUSBD12与51单片机连接的端口
36 1 Rst_D12(); //复位PDIUSBD12
37 1 reconnect_USB(); //重新连接USB
38 1
39 1 if (D12_ReadChipID() != 0x1012) //读取芯片ID号,如果不为1012H
40 1 return 1; //则复位失败
41 1
42 1 return 0; //初始化成功
43 1 }
44
45 /*******************************************************************
46 ** 函数名称: usbserve()
47 ** 功能描述: USB事件处理函数
48 ** 输 入: 无
49 ** 输 出: 无
50 ********************************************************************/
51 void usbserve(void)
52 {
53 1 if (bEPPflags.bits.setup_packet){ //Setup包处理
54 2 DISABLE();
C51 COMPILER V7.06 D12DRIVER 12/03/2004 14:38:17 PAGE 2
55 2 bEPPflags.bits.setup_packet = 0;
56 2 control_handler(); //调用请求处理子程序
57 2 ENABLE();
58 2 }//if setup_packet
59 1
60 1 if (bEPPflags.bits.bus_reset) { //USB总线复位处理
61 2 DISABLE();
62 2 bEPPflags.bits.bus_reset = 0;
63 2 ENABLE();
64 2 d12_busreset();
65 2 } // if bus reset
66 1
67 1 if (bEPPflags.bits.suspend) { //D12挂起改变处理
68 2 DISABLE();
69 2 bEPPflags.bits.suspend= 0;
70 2 ENABLE();
71 2 d12_suspend();
72 2 } // if suspend change
73 1
74 1 /**************** 挂起处理 *************************/
75 1 if (bEPPflags.bits.configuration ==1) // USB已配置完成
76 1 MCU_D12SUSPD = 1; // 释放D12_SUSPEND 挂起脚
77 1 else
78 1 MCU_D12SUSPD = 0; // 钳制D12_SUSPEND 为低电平
79 1
80 1 if(MCU_D12SUSPD == 1) // 如果检测到挂起信号
81 1 { // D12_SUSPEND为高电平,CPU进入掉电模式
82 2 P0 = 0xFF; // 进入掉电前使各引脚电平为高,请根据实际情况来决定
83 2 P1 = 0xFF;
84 2 P2 = 0xFF;
85 2 P3 = 0xFF;
86 2 MCU_D12SUSPD = 1;
87 2 PCON |= 0x02; // 单片机完全掉电
88 2 while (1);
89 2 }
90 1 //在此添加其它usb事件处理代码
91 1 }
92
93
94 /*******************************************************************
95 ** 函数名称: d12_busreset()
96 ** 功能描述: USB总线复位处理函数
97 ** 输 入: 无
98 ** 输 出: 无
99 ********************************************************************/
100 void d12_busreset(void)
101 {
102 1 //在此添加总线复位处理代码
103 1 }
104
105 /*******************************************************************
106 ** 函数名称: dma_eot()
107 ** 功能描述: DMA结束处理函数
108 ** 输 入: 无
109 ** 输 出: 无
110 ********************************************************************/
111 void dma_eot(void)
112 {
113 1 //在此添加DMA结束处理代码
114 1 }
115
116 /*******************************************************************
C51 COMPILER V7.06 D12DRIVER 12/03/2004 14:38:17 PAGE 3
117 ** 函数名称: d12_suspend()
118 ** 功能描述: 总线挂起改变处理函数
119 ** 输 入: 无
120 ** 输 出: 无
121 ********************************************************************/
122 void d12_suspend(void)
123 {
124 1 //在此添加总线挂起改变代码
125 1 }
126
127 /*******************************************************************
128 ** 函数名称: ep1_txdone()
129 ** 功能描述: 端点1 IN(发送)处理处理函数
130 ** 输 入: 无
131 ** 输 出: 无
132 ********************************************************************/
133 void ep1_txdone(void)
134 {
135 1 D12_ReadLastTransactionStatus(3); //清中断标志位
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -