📄 debug375.lst
字号:
C51 COMPILER V7.50 DEBUG375 12/06/2005 11:33:34 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE DEBUG375
OBJECT MODULE PLACED IN debug375.OBJ
COMPILER INVOKED BY: C:\Keil\C51\Bin\c51.exe debug375.c DB OE SMALL ROM(LARGE)
line level source
1 #include <reg51.h>
2 //#include <stdio.h>
3 #include <string.h>
4 /*端口地址依然可用*/
5 unsigned char volatile xdata CH375_CMD_PORT _at_ 0xBDF1; /* CH375命令端口的I/O地址 */
6 unsigned char volatile xdata CH375_DAT_PORT _at_ 0xBCF0; /* CH375数据端口的I/O地址 */
7 sbit CH375_INT_WIRE = 0xB0^2; /* P3.2, INT0, 连接CH375的INT#引脚,用于查询中断状态 */
8
9 #define INT8 unsigned char
10
11 //外部命令
12 #define CMD_RESET_ALL 0x05 /* 执行硬件复位 */
13 #define CMD_CHECK_EXIST 0x06 /* 测试工作状态 */
14 #define CMD_SET_USB_MODE 0x15
15 #define CMD_DISK_INIT 0x51
16 #define CMD_GET_STATUS 0x22
17 #define CMD_DISK_SIZE 0x53
18 #define CMD_RD_USB_DATA 0x28
19 #define CMD_DISK_READ 0x54
20 #define CMD_DISK_RD_GO 0x55
21 #define CMD_DISK_WRITE 0x56
22 #define CMD_DISK_WR_GO 0x57
23 #define CMD_RD_USB_DATA 0x28
24 #define CMD_WR_USB_DATA 0x2B
25
26 //操作状态结果
27 #define CMD_RET_SUCCESS 0x51 //操作成功
28 #define CMD_RET_ABORT 0x5F //操作失败
29
30 //中断状态结果
31 #define USB_INT_SUCCESS 0x14
32 #define USB_INT_DISK_READ 0x1D
33 #define USB_INT_DISK_WRITE 0x1E
34 //#define flash_pro(x) {if(c==x) flash_led2();//正确慢闪
35 //else flash_led1();} //错误快闪
36
37
38 unsigned char c; //用于返回命令状态
39 unsigned char *pchar;
40 unsigned char xdata Usb_Buf[64];
41
42 /* 延时1微秒 */
43 void mDelay1uS( )
44 {
45 1 INT8 i;
46 1 for ( i = 1; i != 0; i -- );
47 1 }
48
49 /* 延时2微秒*/
50 void mDelay2uS( )
51 {
52 1 INT8 i;
53 1 for ( i = 2; i != 0; i -- );
54 1 }
55
C51 COMPILER V7.50 DEBUG375 12/06/2005 11:33:34 PAGE 2
56 /* 延时100毫秒*/
57 void mDelay100mS( )
58 {
59 1 INT8 i, j,cn;
60 1 for ( i = 150; i != 0; i -- )
61 1 for ( j = 200; j != 0; j -- )
62 1 cn+=3;
63 1 }
64
65
66
67
68 /* 向CH375命令端口写命令数据 */
69 void CH375_CMD_PORT_d_out( INT8 d_out )
70 {
71 1 mDelay1uS( );
72 1 CH375_CMD_PORT=d_out;
73 1 mDelay2uS( ); /* 至少延时2uS */
74 1
75 1 }
76
77 /* 向CH375数据端口写数据 */
78 void CH375_DAT_PORT_d_out( INT8 d_out )
79 {
80 1 CH375_DAT_PORT=d_out;
81 1 mDelay1uS( );
82 1
83 1
84 1 }
85
86 INT8 CH375_DAT_PORT_in( )
87 {
88 1 mDelay1uS( );
89 1 return( CH375_DAT_PORT );
90 1 }
91
92 //快闪灯
93 void flash_led1()
94 {
95 1 P1=0xff; //灯灭
96 1 mDelay100mS( );
97 1 P1=0x00; //灯亮
98 1 mDelay100mS( );
99 1 }
100
101 //慢闪灯
102 void flash_led2()
103 {
104 1 P1=0xff; //灯灭
105 1 mDelay100mS( );
106 1 mDelay100mS( );
107 1 mDelay100mS( );
108 1 P1=0x00; //灯亮
109 1 mDelay100mS( );
110 1 mDelay100mS( );
111 1 mDelay100mS( );
112 1 }
113
114
115 /*******************************************************/
116
117 print_s(unsigned char *pstring,unsigned char string_len)//打印字符串,pstring为字符串首址,string_len为长
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -