📄 ch375h.lst
字号:
C51 COMPILER V7.20 CH375H 03/07/2006 16:55:21 PAGE 1
C51 COMPILER V7.20, COMPILATION OF MODULE CH375H
OBJECT MODULE PLACED IN CH375H.OBJ
COMPILER INVOKED BY: C:\Program Files\Keil Uvision V7.20\C51\BIN\C51.EXE CH375H.C BROWSE DEBUG OBJECTEXTEND
line level source
1 //=================================================================================================
2 //*************************************************************************************************
3 // Module Name : CH375H.C
4 // Device object:
5 // Create date : 2005-11-11
6 // Modify date : 2005-11-11
7 // Description : USB 1.1 Host for CH375
8 // USB 2.0 Host for CH375A
9 // Author : Li yuanzheng
10 // Version : V1.0
11 //*************************************************************************************************
12 //=================================================================================================
13 //
14 //-------------------------------------------------------------------------------------------------
15 // Includes
16 //-------------------------------------------------------------------------------------------------
17
18 #include <regx52.h> // SFR declarations
19
20 #define CH375HF_DEFINITION 1 // Definition of the assign
21 #include "CH375H.H"
22
23 //********************************************************************************************************
-********
24 //--------------------------------------------------------------------------------------------------------
---------
25 // 外部定义的被CH375程序库调用的子程序
26 //--------------------------------------------------------------------------------------------------------
---------
27 //********************************************************************************************************
-********
28 //
29 //=================================================================================================
30 // CH375与MCU以并口方式连接
31 //=================================================================================================
32 //
33 #if MCUConnectMode == 1
34
35 //-------------------------------------------------------------------------------------------------
36 // 总线I/O 的单片机
37 #if MCUBusIOMode == 1
//-------------------------------------------------------------------------------------------------
//
//-------------------------------------------------------------------------------------------------
// 外部定义的被CH375程序库调用的子程序,向CH375写命令,最小周期为4uS,否则之前之后各延时2uS
void xWriteCH375Cmd( UINT8 mCmd )
{
mDelayuS( 2 ); // 至少延时1uS
CH375_CMD_PORT = mCmd;
mDelayuS( 2 ); // 至少延时2uS
}
//-------------------------------------------------------------------------------------------------
// 外部定义的被CH375程序库调用的子程序,向CH375写数据,最小周期为1.5uS,否则之后延时1.5uS
void xWriteCH375Data( UINT8 mData )
C51 COMPILER V7.20 CH375H 03/07/2006 16:55:21 PAGE 2
{
CH375_DAT_PORT = mData;
mDelayuS( 2 ); // 至少延时2uS
}
//-------------------------------------------------------------------------------------------------
// 外部定义的被CH375程序库调用的子程序,从CH375读数据,最小周期为1.5uS,否则之前延时1.5uS
UINT8 xReadCH375Data( void )
{
UINT8 mData;
mDelayuS( 2 ); // 至少延时1uS
mData = CH375_DAT_PORT;
return( mData );
}
//-------------------------------------------------------------------------------------------------
// 非总线I/O 的单片机
#else
72 //-------------------------------------------------------------------------------------------------
73 //
74 //-------------------------------------------------------------------------------------------------
75 // 由于使用通用I/O模块并口读写时序,所以进行初始化
76 void CH375_PORT_INIT( void )
77 {
78 1 CH375_CS = 1;
79 1 CH375_WR = 1;
80 1 CH375_RD = 1;
81 1 CH375_A0 = 0;
82 1 PORT = 0xFF; // 并口输入
83 1 }
84
85 //-------------------------------------------------------------------------------------------------
86 // 外部定义的被CH375程序库调用的子程序,向CH375写命令,最小周期为4uS,否则之前之后各延时2uS
87 void xWriteCH375Cmd( UINT8 mCmd )
88 {
89 1 mDelayuS( 2 ); // 至少延时1uS
90 1 PORT = mCmd; // 向CH375的并口输出数据
91 1 CH375_A0 = 1;
92 1 CH375_CS = 0;
93 1 CH375_WR = 0; // 输出有效写控制信号, 写CH375芯片的命令端口
94 1 CH375_CS = 0; // 该操作无意义,仅作延时,CH375要求读写脉冲宽度大于100nS
95 1 CH375_WR = 1; // 输出无效的控制信号, 完成操作CH375芯片
96 1 CH375_CS = 1;
97 1 CH375_A0 = 0;
98 1 PORT = 0xFF; // 禁止数据输出
99 1 mDelayuS( 2 ); // 至少延时2uS
100 1 }
101
102 //-------------------------------------------------------------------------------------------------
103 // 外部定义的被CH375程序库调用的子程序,向CH375写数据,最小周期为1.5uS,否则之后延时1.5uS
104 void xWriteCH375Data( UINT8 mData )
105 {
106 1 PORT = mData; // 向CH375的并口输出数据
107 1 CH375_A0 = 0;
108 1 CH375_CS = 0;
109 1 CH375_WR = 0; // 输出有效写控制信号, 写CH375芯片的数据端口
110 1 CH375_CS = 0; // 该操作无意义,仅作延时,CH375要求读写脉冲宽度大于100nS
111 1 CH375_WR = 1; // 输出无效的控制信号, 完成操作CH375芯片
112 1 CH375_CS = 1;
113 1 PORT = 0xFF; // 禁止数据输出
C51 COMPILER V7.20 CH375H 03/07/2006 16:55:21 PAGE 3
114 1 mDelayuS( 2 ); // 至少延时2uS
115 1 }
116
117 //-------------------------------------------------------------------------------------------------
118 // 外部定义的被CH375程序库调用的子程序,从CH375读数据,最小周期为1.5uS,否则之前延时1.5uS
119 UINT8 xReadCH375Data( void )
120 {
121 1 UINT8 mData;
122 1
123 1 mDelayuS( 2 ); // 至少延时1uS
124 1 PORT = 0xFF; // 输入
125 1 CH375_A0 = 0;
126 1 CH375_CS = 0;
127 1 CH375_RD = 0; // 输出有效写控制信号, 读CH375芯片的数据端口
128 1 CH375_CS = 0; // 该操作无意义,仅作延时,CH375要求读写脉冲宽度大于100nS
129 1 mData = PORT; // 从CH375的并口输入数据
130 1 CH375_RD = 1; // 输出无效的控制信号, 完成操作CH375芯片
131 1 CH375_CS = 1;
132 1
133 1 return( mData );
134 1 }
135
136 #endif
137
138 //=================================================================================================
139 // CH375与MCU以串口方式连接
140 //=================================================================================================
141 //
142 #else
//-------------------------------------------------------------------------------------------------
// 设置波特率和其它串口参数
// 设置串口通讯波特率,为了满足在2mS传输64字节的要求,波特率应该大于350Kbps,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -