📄 stc12c5412adiap.lst
字号:
C51 COMPILER V7.10 STC12C5412ADIAP 05/03/2007 10:20:05 PAGE 1
C51 COMPILER V7.10, COMPILATION OF MODULE STC12C5412ADIAP
OBJECT MODULE PLACED IN STC12C5412ADIAP.OBJ
COMPILER INVOKED BY: C:\Keil\C51\BIN\C51.EXE STC12C5412ADIAP.C BROWSE DEBUG OBJECTEXTEND
line level source
1 /*********************************************************************************************************
-**/
2 /*********************************************************************************************************
-**
3 * MCU特殊功能寄存器地址
4 **********************************************************************************************************
-*/
5 sfr ISP_CONTR = 0xE7;
6 sfr ISP_TRIG = 0xE6;
7 sfr ISP_CMD = 0xE5; /*FLASH命令位*/
8 sfr ISP_ADDRL = 0xE4; /*FLASH地址低位*/
9 sfr ISP_ADDRH = 0xE3; /*FLASH地址高位*/
10 sfr ISP_DATA = 0xE2; /*FLASH数据位*/
11
12 /*********************************************************************************************************
-**
13 * MCU IAP命令
14 **********************************************************************************************************
-*/
15 #define ISP_IAP_BYTE_READ 0x01;
16 #define ISP_IAP_BYTE_PROGRAM 0x02;
17 #define ISP_IAP_SECOTR_ERASE 0x03;
18
19 /*********************************************************************************************************
-**
20 * IAP子程序
21 * 1. Sector-Erase 扇区擦除
22 * 2. Byte-Program 字节编程
23 * 3. Byte-Verify 字节校读
24 **********************************************************************************************************
-*/
25 /*********************************************************************************************************
-**
26 * 扇区擦除子程序
27 **********************************************************************************************************
-*/
28 void sector_erase(unsigned short int dataAddr)
29 {
30 1 unsigned short int destAddr = dataAddr;
31 1
32 1 ISP_ADDRH = destAddr>>8; /*存入地址的高位字节*/
33 1 ISP_ADDRL = destAddr; /*存入地址的低位字节*/
34 1 ISP_CONTR = 0X01;
35 1 ISP_CONTR |=0X80;
36 1 ISP_CMD =ISP_IAP_SECOTR_ERASE;
37 1 ISP_TRIG =0X46;
38 1 ISP_TRIG =0XB9;
39 1 return;
40 1 }
41
42 /*********************************************************************************************************
-**
43 * 字节编程子程序
44 **********************************************************************************************************
-*/
C51 COMPILER V7.10 STC12C5412ADIAP 05/03/2007 10:20:05 PAGE 2
45 void byte_program(unsigned short int dataAddr, unsigned char dataByte)
46 {
47 1 unsigned short int destAddr = dataAddr;
48 1
49 1 ISP_DATA=dataByte;
50 1 ISP_ADDRH = destAddr>>8; /*存入地址的高位字节*/
51 1 ISP_ADDRL = destAddr; /*存入地址的低位字节*/
52 1 ISP_CONTR = 0X01;
53 1 ISP_CONTR |=0X80;
54 1 ISP_CMD =ISP_IAP_BYTE_PROGRAM;
55 1 ISP_TRIG =0X46;
56 1 ISP_TRIG =0XB9;
57 1 return;
58 1 }
59
60
61 /*********************************************************************************************************
-**
62 * 字节校读子程序
63 **********************************************************************************************************
-*/
64
65 unsigned char byte_verify(unsigned short int dataAddr)
66 {
67 1 unsigned short int destAddr = dataAddr;
68 1 unsigned char readByte;
69 1 ISP_ADDRH = destAddr>>8; /*存入地址的高位字节*/
70 1 ISP_ADDRL = destAddr; /*存入地址的低位字节*/
71 1 ISP_CONTR = 0X01;
72 1 ISP_CONTR |=0X80;
73 1 ISP_CMD =ISP_IAP_BYTE_READ;
74 1 ISP_TRIG =0X46;
75 1 ISP_TRIG =0XB9;
76 1 readByte =ISP_DATA;
77 1 return(readByte);
78 1 }
MODULE INFORMATION: STATIC OVERLAYABLE
CODE SIZE = 76 ----
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 + -