eepromcopy.lst
来自「一个非常好的微处理器烧录EEPROM的C++ 原代码项目文件,直接可用,一拖一」· LST 代码 · 共 307 行 · 第 1/2 页
LST
307 行
C51 COMPILER V7.50 EEPROMCOPY 07/08/2006 11:59:22 PAGE 1
C51 COMPILER V7.50, COMPILATION OF MODULE EEPROMCOPY
OBJECT MODULE PLACED IN EepromCopy.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE EepromCopy.c LARGE BROWSE DEBUG OBJECTEXTEND
line level source
1 /*********************************************************************************************************
-******************
2 * Project: EepromCopy Software Part
3 *
-
4 * File: EepromCopy.C (Source)
-
5 *
-
6 *Version: V0.00
-
7 *
-
8 * Created: 2006.05.10
9 * Last Change: 2006.05.10
10 *
-
11 * Author: LaiJun
-
12 *
13 * Company: COBY
14 *
-
15 * Compiler: KEIL C51 V7.07
-
16 *
-
17 * Description:
18 *
19 * SM5964(@12MHz)
20 *
21 *Copyright (c) COBY Integration Technology, Inc.
22 *All rights reserved.
23 *
24 **********************************************************************************************************
-*****************/
25 #include "PublicDef.h"
26 #include "PublicFunction.h"
27 //define Public var
28 union
29 {
30 BYTE bytes[128];
31 WORD words[64];
32 DWORD dwords[32];
33 } GpBuffer;
34 BYTE *ptGpBuffer;
35
36 BYTE bDelayTime,Operate_Flag;
37 WORD wDelayTime,wDemoDelay;
38 void InitMcu(void)
39 {
40 1 #ifdef MCU_SM5964_SynCmos
41 1 TMOD=0x10;
42 1 TL1=bCOPYTL1;
43 1 TH1=bCOPYTH1;
C51 COMPILER V7.50 EEPROMCOPY 07/08/2006 11:59:22 PAGE 2
44 1 SCON=0x50;
45 1 T2CON=0x30;
46 1 PCON=0x00;
47 1 TH2=RCAP2H=0xff;
48 1 TL2=RCAP2L=BAUD_UART;
49 1 IT1 =0;
50 1 ET1=ES=1;
51 1 PT1=0;PS=1;
52 1 TR1=TR2=1;
53 1 EX1=0;
54 1 WDTC=0;
55 1 EA=btENABLE;
56 1 SCONF=0x0E;
57 1 DBANK=0x00;
58 1 #endif
59 1 }
60
61 void TurnOnOff_Light(BYTE Light)
62 {
63 1 switch (Light)
64 1 {
65 2 case LIGHT_RED:
66 2 Pin_LIGHT_RED=1;
67 2 Pin_LIGHT_GREEN=0;
68 2 break;
69 2 case LIGHT_GREEN:
70 2 Pin_LIGHT_RED=0;
71 2 Pin_LIGHT_GREEN=1;
72 2 break;
73 2 case LIGHT_YELLOW:
74 2 Pin_LIGHT_RED=1;
75 2 Pin_LIGHT_GREEN=1;
76 2 break;
77 2 case LIGHT_OFF:
78 2 Pin_LIGHT_RED=0;
79 2 Pin_LIGHT_GREEN=0;
80 2 break;
81 2 }
82 1 }
83
84 BYTE Chek_Chip(BYTE Chip_Number)
85 {
86 1 #define CHIP_R 1
87 1 #define CHIP_D 2
88 1
89 1 if (Chip_Number&CHIP_R)
90 1 {
91 2 SetIIC_Type(IIC_AT24CXX_R);
92 2 Reset_Eeprom();
93 2 ptGpBuffer=GpBuffer.bytes;
94 2 if (EepromRead(0,1)==btIIC_ERROR)
95 2 return btIIC_ERROR;
96 2 }
97 1 if (Chip_Number&CHIP_D)
98 1 {
99 2 SetIIC_Type(IIC_AT24CXX_D);
100 2 Reset_Eeprom();
101 2 ptGpBuffer=GpBuffer.bytes;
102 2 if (EepromRead(0,1)==btIIC_ERROR)
103 2 return btIIC_ERROR;
104 2 }
105 1 return btIIC_RIGHT;
C51 COMPILER V7.50 EEPROMCOPY 07/08/2006 11:59:22 PAGE 3
106 1 }
107
108 void Copy_Eeprom(void)
109 {
110 1 WORD Eeprom_Pages;
111 1 #if SELECT_TYPE_METHOD==SELECT_BY_SOFT
112 1 Eeprom.bType_Eeprom=EEPROM_TYPE;
113 1 #else
Eeprom.bType_Eeprom=Pin_Type_Select&0x0f;
#endif
116 1 switch (Eeprom.bType_Eeprom)
117 1 {
118 2 case EEPROM_24C01:
119 2 Eeprom.wPages_Eeprom=EEPROM_PAGES_24C01;
120 2 Eeprom.bBytes_PerPage=PAGEBYTES_24C02;
121 2 break;
122 2 case EEPROM_24C02:
123 2 Eeprom.wPages_Eeprom=EEPROM_PAGES_24C02;
124 2 Eeprom.bBytes_PerPage=PAGEBYTES_24C02;
125 2 break;
126 2 case EEPROM_24C04:
127 2 Eeprom.wPages_Eeprom=EEPROM_PAGES_24C04;
128 2 Eeprom.bBytes_PerPage=PAGEBYTES_24C16;
129 2 break;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?