📄 f34x_msd_cf_basic_functions.lst
字号:
=2 sbit TR1 = 0x8E; // Timer1 on/off control
=2 sbit TF0 = 0x8D; // Timer0 overflow flag
=2 sbit TR0 = 0x8C; // Timer0 on/off control
=2 sbit IE1 = 0x8B; // Ext interrupt 1 edge fla
-g
=2 sbit IT1 = 0x8A; // Ext interrupt 1 type
=2 sbit IE0 = 0x89; // Ext interrupt 0 edge fla
-g
=2 sbit IT0 = 0x88; // Ext interrupt 0 type
=2
=2 // SCON0 0x98
=2 sbit S0MODE = 0x9F; // Serial mode control bit
-0
=2 // Bit6 UNUSED
=2 sbit MCE0 = 0x9D; // Multiprocessor communica
-tion enable
=2 sbit REN0 = 0x9C; // Receive enable
=2 sbit TB80 = 0x9B; // Transmit bit 8
=2 sbit RB80 = 0x9A; // Receive bit 8
=2 sbit TI0 = 0x99; // Transmit interrupt flag
=2 sbit RI0 = 0x98; // Receive interrupt flag
=2
=2 // IE 0xA8
=2 sbit EA = 0xAF; // Global interrupt enable
=2 sbit ESPI0 = 0xAE; // SPI0 interrupt enable
=2 sbit ET2 = 0xAD; // Timer2 interrupt enable
=2 sbit ES0 = 0xAC; // UART0 interrupt enable
=2 sbit ET1 = 0xAB; // Timer1 interrupt enable
=2 sbit EX1 = 0xAA; // External interrupt 1 ena
-ble
=2 sbit ET0 = 0xA9; // Timer0 interrupt enable
=2 sbit EX0 = 0xA8; // External interrupt 0 ena
-ble
=2
C51 COMPILER V7.50 F34X_MSD_CF_BASIC_FUNCTIONS 11/28/2006 10:53:58 PAGE 14
=2 // IP 0xB8
=2 // Bit7 UNUSED
=2 sbit PSPI0 = 0xBE; // SPI0 interrupt priority
=2 sbit PT2 = 0xBD; // Timer2 priority
=2 sbit PS0 = 0xBC; // UART0 priority
=2 sbit PT1 = 0xBB; // Timer1 priority
=2 sbit PX1 = 0xBA; // External interrupt 1 pri
-ority
=2 sbit PT0 = 0xB9; // Timer0 priority
=2 sbit PX0 = 0xB8; // External interrupt 0 pri
-ority
=2
=2 // SMB0CN 0xC0
=2 sbit MASTER = 0xC7; // Master/slave indicator
=2 sbit TXMODE = 0xC6; // Transmit mode indicator
=2 sbit STA = 0xC5; // Start flag
=2 sbit STO = 0xC4; // Stop flag
=2 sbit ACKRQ = 0xC3; // Acknowledge request
=2 sbit ARBLOST = 0xC2; // Arbitration lost indicat
-or
=2 sbit ACK = 0xC1; // Acknowledge flag
=2 sbit SI = 0xC0; // SMBus interrupt flag
=2
=2 // TMR2CN 0xC8
=2 sbit TF2H = 0xCF; // Timer2 high byte overflo
-w flag
=2 sbit TF2L = 0xCE; // Timer2 low byte overflow
- flag
=2 sbit TF2LEN = 0xCD; // Timer2 low byte interrup
-t enable
=2 sbit T2CE = 0xCC; // Timer2 capture enable
=2 sbit T2SPLIT = 0xCB; // Timer2 split mode enable
=2 sbit TR2 = 0xCA; // Timer2 on/off control
=2 sbit T2CSS = 0xC9; // Timer 2 Capture Source s
-elect
=2 sbit T2XCLK = 0xC8; // Timer2 external clock se
-lect
=2
=2 // PSW 0xD0
=2 sbit CY = 0xD7; // Carry flag
=2 sbit AC = 0xD6; // Auxiliary carry flag
=2 sbit F0 = 0xD5; // User flag 0
=2 sbit RS1 = 0xD4; // Register bank select 1
=2 sbit RS0 = 0xD3; // Register bank select 0
=2 sbit OV = 0xD2; // Overflow flag
=2 sbit F1 = 0xD1; // User flag 1
=2 sbit P = 0xD0; // Accumulator parity flag
=2
=2 // PCA0CN 0xD8
=2 sbit CF = 0xDF; // PCA0 counter overflow fl
-ag
=2 sbit CR = 0xDE; // PCA0 counter run control
=2 // Bit5 UNUSED
=2 sbit CCF4 = 0xDC; // PCA0 module4 capture/com
-pare flag
=2 sbit CCF3 = 0xDB; // PCA0 module3 capture/com
-pare flag
=2 sbit CCF2 = 0xDA; // PCA0 module2 capture/com
-pare flag
=2 sbit CCF1 = 0xD9; // PCA0 module1 capture/com
-pare flag
=2 sbit CCF0 = 0xD8; // PCA0 module0 capture/com
C51 COMPILER V7.50 F34X_MSD_CF_BASIC_FUNCTIONS 11/28/2006 10:53:58 PAGE 15
-pare flag
=2
=2 // ADC0CN 0xE8
=2 sbit AD0EN = 0xEF; // ADC0 enable
=2 sbit AD0TM = 0xEE; // ADC0 track mode
=2 sbit AD0INT = 0xED; // ADC0 conversion complete
- interrupt flag
=2 sbit AD0BUSY = 0xEC; // ADC0 busy flag
=2 sbit AD0WINT = 0xEB; // ADC0 window compare inte
-rrupt flag
=2 sbit AD0CM2 = 0xEA; // ADC0 conversion mode sel
-ect 2
=2 sbit AD0CM1 = 0xE9; // ADC0 conversion mode sel
-ect 1
=2 sbit AD0CM0 = 0xE8; // ADC0 conversion mode sel
-ect 0
=2
=2 // SPI0CN 0xF8
=2 sbit SPIF = 0xFF; // SPI0 interrupt flag
=2 sbit WCOL = 0xFE; // SPI0 write collision fla
-g
=2 sbit MODF = 0xFD; // SPI0 mode fault flag
=2 sbit RXOVRN = 0xFC; // SPI0 rx overrun flag
=2 sbit NSSMD1 = 0xFB; // SPI0 slave select mode 1
=2 sbit NSSMD0 = 0xFA; // SPI0 slave select mode 0
=2 sbit TXBMT = 0xF9; // SPI0 transmit buffer emp
-ty
=2 sbit SPIEN = 0xF8; // SPI0 SPI enable
=2
=2
=2 //----------------------------------------------------------------
--------------
=2 // Interrupt Priorities
=2 //----------------------------------------------------------------
--------------
=2
=2 #define INTERRUPT_INT0 0 // External Interrupt 0
=2 #define INTERRUPT_TIMER0 1 // Timer0 Overflow
=2 #define INTERRUPT_INT1 2 // External Interrupt 1
=2 #define INTERRUPT_TIMER1 3 // Timer1 Overflow
=2 #define INTERRUPT_UART0 4 // Serial Port 0
=2 #define INTERRUPT_TIMER2 5 // Timer2 Overflow
=2 #define INTERRUPT_SPI0 6 // Serial Peripheral Interf
-ace 0
=2 #define INTERRUPT_SMBUS0 7 // SMBus0 Interface
=2 #define INTERRUPT_USB0 8 // USB Interface
=2 #define INTERRUPT_ADC0_WINDOW 9 // ADC0 Window Comparison
=2 #define INTERRUPT_ADC0_EOC 10 // ADC0 End Of Conversion
=2 #define INTERRUPT_PCA0 11 // PCA0 Peripheral
=2 #define INTERRUPT_COMPARATOR0 12 // Comparator0
=2 #define INTERRUPT_COMPARATOR1 13 // Comparator1
=2 #define INTERRUPT_TIMER3 14 // Timer3 Overflow
=2 #define INTERRUPT_VBUS_LEVEL 15 // VBUS level-triggered int
-errupt
=2 #define INTERRUPT_UART1 16 // Serial Port 1
=2
=2 //----------------------------------------------------------------
--------------
=2 // Header File PreProcessor Directive
=2 //----------------------------------------------------------------
--------------
=2
C51 COMPILER V7.50 F34X_MSD_CF_BASIC_FUNCTIONS 11/28/2006 10:53:58 PAGE 16
=2 #endif // #define C8051F340_H
289 =2
290 =2 //----------------------------------------------------------------
--------------
291 =2 // End Of File
292 =2 //----------------------------------------------------------------
--------------
36 =1
37 =1 #define CF_NO_CARD 0x01
38 =1 sbit CF_RST = P1^0;
39 =1 sbit CF_OE = P1^1;
40 =1 sbit CF_CE1 = P1^2;
41 =1 sbit CF_CD1 = P1^3;
42 =1 sbit CF_RDY = P1^4;
43 =1 sbit CF_WE = P1^6;
44 =1
45 =1
46 =1 //----------------------------------------------------------------
--------------
47 =1 // Macro Prototypes
48 =1 //----------------------------------------------------------------
--------------
49 =1
50 =1 #define CF_SET_ADDR_LINE(value) {\
51 =1 P3 &= ~0xe0;\
52 =1 P3 |= (value << 5) & 0xe0;\
53 =1 }
54 =1
55 =1 #define CF_WR_DATA(value) {\
56 =1 P4MDOUT = 0xFF;\
57 =1 P4 = value;\
58 =1 }
59 =1
60 =1 #define CF_READ_DATA P4
61 =1
62 =1 #define CF_WAIT_STATE {\
63 =1 _nop_ ();\
64 =1 _nop_ ();\
65 =1 _nop_ ();\
66 =1 }
67 =1
68 =1 #define CF_READWRITE_IDLE {\
69 =1 P4MDOUT = 0x00;\
70 =1 P4 =0xff;\
71 =1 CF_OE = 1;\
72 =1 CF_WE = 1;\
73 =1 }
74 =1
75 =1 #define CF_WRITE {\
76 =1 CF_OE = 1;\
77 =1 CF_WE = 0;\
78 =1 }
79 =1
80 =1 #define CF_READ {\
81 =1 P4MDOUT = 0x00;\
82 =1 P4 =0xff;\
83 =1 CF_WE = 1;\
84 =1 CF_OE = 0;\
85 =1 }
86 =1
87 =1
88 =1 //----------------------------------------------------------------
C51 COMPILER V7.50 F34X_MSD_CF_BASIC_FUNCTIONS 11/28/2006 10:53:58 PAGE 17
--------------
89 =1 // Function Prototypes
90 =1 //----------------------------------------------------------------
--------------
91 =1
92 =1 char Dtct_Card(void);
93 =1 void Wait_Drq();
94 =1 void Wait_Busy();
95 =1 char Identify_Drive(char* buffer);
96 =1 char Init_CF();
97 =1 char Write_Sector(unsigned long address, char* buffer);
98 =1 char Read_Sector(unsigned long address, char* buffer);
99 =1
100 =1 //----------------------------------------------------------------
--------------
101 =1 // Macro Prototypes
102 =1 //----------------------------------------------------------------
--------------
103 =1
104 =1 //#define MACRO_CF_VERSIONS
105 =1 #ifndef MACRO_CF_VERSIONS
106 =1
107 =1 //----------------------------------------------------------------
--------------
108 =1 // Function Prototypes
109 =1 //----------------------------------------------------------------
--------------
110 =1
111 =1 char CF_GET_REGISTER_VALUE(char addr);
112 =1 void CF_SET_REGISTER_VALUE(char addr, char value);
113 =1
114 =1 #else
=1 #define CF_GET_REGISTER_VALUE(addr,value) {\
=1 CF_SET_ADDR_LINE(addr);\
=1 CF_READ;\
=1 CF_WAIT_STATE;\
=1 value = CF_READ_DATA;\
=1 CF_READWRITE_IDLE;\
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -