📄 usb.lst
字号:
C51 COMPILER V8.05a USB 02/21/2008 09:56:10 PAGE 1
C51 COMPILER V8.05a, COMPILATION OF MODULE USB
OBJECT MODULE PLACED IN USB.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE USB.C BROWSE DEBUG OBJECTEXTEND
line level source
1 #include "C8051F340.h"
2 #include "intrins.h"
3 #include <PORTDEFINE.H>
4 #include <MCU.H>
5
6 unsigned char xdata CH375_CMD_PORT _at_ CH375_CMD_PORT_ADDR;
7 unsigned char xdata CH375_DAT_PORT _at_ CH375_DAT_PORT_ADDR;
8
9 void Delayus(unsigned char n)
10 { // 48Mhz 1us
11 1 unsigned char i,j;
12 1 for(j=0; j<n; j++)
13 1 {
14 2 for(i=0; i<5; i++)
15 2 {
16 3 _nop_();
17 3 _nop_();
18 3 _nop_();
19 3 _nop_();
20 3 _nop_();
21 3 _nop_();
22 3 }
23 2 }
24 1 }
25
26 void Delayms(unsigned char n)
27 {
28 1 unsigned int i;
29 1 unsigned char j;
30 1 for(j=0;j<n;j++)
31 1 {
32 2 for(i=0;i<3000;i++)
33 2 {
34 3 _nop_();
35 3 _nop_();
36 3 _nop_();
37 3 _nop_();
38 3 _nop_();
39 3 _nop_();
40 3 _nop_();
41 3 _nop_();
42 3 _nop_();
43 3 _nop_();
44 3 }
45 2 }
46 1 }
47
48 void Selectchip(unsigned char ch,unsigned char mode) //ch为高位地址
49 {
50 1 switch(mode)
51 1 {
52 2 case 0: P2=ch&0x3f; //选择液晶,高两位为00
53 2 STRCLK=0;
54 2 STRCLK=1;
55 2 break;
C51 COMPILER V8.05a USB 02/21/2008 09:56:10 PAGE 2
56 2 case 1: P2=(ch&0x7f)|0x40; //选择FLASH,高两位为01
57 2 STRCLK=0;
58 2 STRCLK=1;
59 2 break;
60 2 case 2: P2=(ch|0x80)&0xbf; //选择USB,高两位为10
61 2 STRCLK=0;
62 2 STRCLK=1;
63 2 break;
64 2 case 3: P2=ch|0xc0; //选择跳线,高两位为11
65 2 STRCLK=0;
66 2 STRCLK=1;
67 2 break;
68 2 default: break;
69 2 }
70 1 }
71
72
73 void xWriteCH375Cmd(unsigned char cmd)
74 { //* 向CH375的命令端口写入命令,周期不小于4uS,如果单片机较快则延时
75 1 Delayus(5);
76 1 SelExRam();
77 1 CH375_CMD_PORT=cmd;
78 1 SelInRam();
79 1 Delayus(5);
80 1 }
81
82 void xWriteCH375Data(unsigned char dat)
83 { //* 向CH375的数据端口写入数据,周期不小于1.5uS,如果单片机较快则延时
84 1
85 1 Delayus(5);
86 1 SelExRam();
87 1 CH375_DAT_PORT=dat;
88 1 SelInRam();
89 1 Delayus(5); //* 如果是MCS51单片机,因其较慢,所以实际上无需延时
90 1
91 1 }
92
93 unsigned char xReadCH375Data(void)
94 { //* 从CH375的数据端口读出数据,周期不小于1.5uS,如果单片机较快则延时
95 1 unsigned char uc1;
96 1
97 1 Delayus(5); //* 如果是MCS51单片机,因其较慢,所以实际上无需延时
98 1 SelExRam();
99 1 uc1=CH375_DAT_PORT;
100 1 SelInRam();
101 1 Delayus(5);
102 1
103 1 return uc1;
104 1 }
105
106 void USB_RESET()
107 {
108 1 USBRST=1; //高电平复位
109 1 Delayus(5);
110 1 USBRST=0;
111 1 Delayms(40); //40ms完成硬件复位
112 1 }
113
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 179 ----
C51 COMPILER V8.05a USB 02/21/2008 09:56:10 PAGE 3
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 + -