📄 main.lst
字号:
C51 COMPILER V8.02 MAIN 11/16/2007 15:24:15 PAGE 1
C51 COMPILER V8.02, COMPILATION OF MODULE MAIN
OBJECT MODULE PLACED IN Main.OBJ
COMPILER INVOKED BY: d:\Keil\C51\BIN\C51.EXE Main.c BROWSE DEBUG OBJECTEXTEND
line level source
1 /****************************************Copyright (c)**************************************************
2 ** 广州周立功单片机发展有限公司
3 ** 研 究 所
4 ** 产品一部
5 **
6 ** http://www.zlgmcu.com
7 **
8 ** 文 件 名: main.c
9 ** 最后修改日期: 2004年11月15日
10 ** 描 述: 用户应用程序
11 ** 版 本: V5.0
12 **********************************************************************************************************
-/
13 /*串口一次接收EP2_PACKET_SIZE个字节*/
14 #include <reg52.h>
15 #include "D12Config.h"
16 #include "Descriptor.h"
17 #include "Chap_9.h"
18 #include "D12Driver.h"
19 #include <stdio.h>
20 extern INT8U idata EpBuf_num;
21 INT8U Uart_OK=0;
22 sbit led1=P1^2;
23 sbit led2=P1^3;
24 //初始化串口
25 Initail_Uart()
26 {
27 1 SCON=0X50;
28 1 TMOD=0X21;
29 1 PCON=0X80;
30 1 TH1 =0XFF;
31 1 TL1 =0XFF;
32 1 TR1=1;
33 1 ES=1;
34 1 EA=1;
35 1 }
36
37 Uart_Isr() interrupt 4
38 {
39 1 ES=0;
40 1 RI=0;
41 1 EpBuf[EpBuf_num]=SBUF;
42 1 EpBuf_num++;
43 1
44 1 if(EpBuf_num==EP2_PACKET_SIZE)
45 1 Uart_OK=1;
46 1
47 1 ES=1;
48 1 }
49
50
51
52 main()
53 {
54 1 unsigned char i;
C51 COMPILER V8.02 MAIN 11/16/2007 15:24:15 PAGE 2
55 1 led1=0;
56 1 if (Init_D12()!=0) //初始化D12
57 1 return; //如果初始化不成功,返回
58 1
59 1 EX0 = 1; //开外部中断0
60 1 PX0 = 0; //设置外部中断0中断优先级
61 1 EA = 1; //开80C51总中断
62 1 Initail_Uart() ;
63 1 while(1)
64 1 {
65 2 usbserve(); //处理USB事件
66 2 if(bEPPflags.bits.configuration)
67 2 {
68 3 //在这里添加端点操作代码
69 3 //请参考光盘提供的示例
70 3 if(bEPPflags.bits.ep2_rxdone==1)
71 3 { //端点2收到数据
72 4 DISABLE();
73 4
74 4 bEPPflags.bits.ep2_rxdone =0; //清空端点2收到数据标志
75 4
76 4 ENABLE();
77 4
78 4 led1=0; //(数据处理)将数据通过串口发送出来
79 4 ES=0; //将收到的数据发送给串口
80 4 for(i=0;i<EpBuf_num;i++)
81 4 {
82 5 SBUF=EpBuf[i];
83 5 while(TI==0);
84 5 TI=0;
85 5 }
86 4 EpBuf_num=0; //清发送与接收的缓冲区
87 4 led1=1;
88 4 ES=1;
89 4 // D12_WriteEndpoint(5,10,EpBuf); //通过usb发10个字节到PC机
90 4
91 4 }
92 3 }
93 2 if(Uart_OK)
94 2 {
95 3 D12_WriteEndpoint(5,EpBuf_num,EpBuf); //通过usb发EpBuf_num个字节到PC机
96 3 Uart_OK=0;
97 3 EpBuf_num=0;
98 3 }
99 2 }
100 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 181 ----
CONSTANT SIZE = ---- ----
XDATA SIZE = ---- ----
PDATA SIZE = ---- ----
DATA SIZE = 1 ----
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 + -