STC12LE5408 [ETC]

STC12C5410AD;
STC12LE5408
型号: STC12LE5408
厂家: ETC    ETC
描述:

STC12C5410AD

文件: 总149页 (文件大小:1184K)
中文:  中文翻译
下载:  下载PDF数据表文档文件
STC12C5410AD 系列 片机器件手册  
--- 1 /器周8051  
---法解密  
---功耗,超低价  
--- 高速,高可靠  
--- 抗静 , 抗干  
STC12C5412, STC12C5412AD  
STC12C5410, STC12C5410AD  
STC12C5408, STC12C5408AD  
STC12C5406, STC12C5406AD  
STC12C5404, STC12C5404AD  
STC12C5402, STC12C5402AD  
STC12LE5412, STC12LE5412AD  
STC12LE5410, STC12LE5410AD  
STC12LE5408, STC12LE5408AD  
STC12LE5406, STC12LE5406AD  
STC12LE5404, STC12LE5404AD  
STC12LE5402, STC12LE5402AD  
援:宏晶科技(深圳)  
www.MCU-Memory.com  
support@MCU-Memory.com  
Update date: 2006-4-15 ( 随 注意更新)  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
界革命 覆盖市 需求  
STC 12C5410AD列 1T 8051 片机  
1 个  
/ 机器周期,高速、高可靠,4 PWM8 路高A/D  
宏晶科技是新一代增 型8051 片机 准的制定者,致力于提供 足中国市 需求的世界 高性能 片机技 ,在 内 于 先地位, 售网 覆盖全国保  
量的基 上,以极低的价格和完善的服 得了客 的 期信 广受 迎的STC89C51全系列 片机的基 上, 全力推1 /器周期的  
片机,全面提升8051 片机性能。 迎海内外厂家前来洽 合作!新客  
直接 系深圳,以 得更好的技 支持与服 。  
1个  
/器周期,超小封8051 片机  
DIP-28(窄体)/ SOP-28  
DIP-28/20,SOP-28/20 超小封装 8051  
P2.2  
P2.3  
RST  
1
2
3
28  
27  
26  
VDD  
RST  
1
20  
19  
18  
17  
16  
VCC  
4路  
1T  
P2.1  
RxD/P3.0  
TxD/P3.1  
XTAL2  
2
3
4
5
P1.7/SCLK/ADC7  
P1.6/MISO/ADC6  
P1.5/MOSI/ADC5  
P1.4/SS/ADC4  
PWM/PCA/CCU  
8051 CPU  
P2.0/PCA2/PWM2  
/比  
RxD/P3.0  
TxD/P3.1  
4
5
25  
24  
P1.7/SCLK/ADC7  
P1.6/MISO/ADC6  
XTAL1  
XTAL2  
XTAL1  
6
23  
22  
21  
20  
19  
18  
17  
16  
15  
P1.5/MOSI/ADC5  
P1.4/SS/ADC4  
P1.3/ADC3  
P1.2/ADC2  
P1.1/ADC1  
P1.0/ADC0  
P3.7/PCA0/PWM0  
P2.7  
INT0/P3.2  
INT1/P3.3  
6
7
15  
14  
P1.3/ADC3  
P1.2/ADC2  
1/2/4/8/10/12K  
8道  
7
Flash  
A/D  
INT0/P3.2  
INT1/P3.3  
ECI/T0/P3.4  
8
ECI/T0/P3.4  
PWM1/T1/P3.5  
Gnd  
8
13  
12  
11  
P1.1/ADC1  
P1.0/ADC0  
P3.7/PWM0  
程序存 器  
9
9
10  
11  
12  
13  
14  
10  
PWM1/PCA1/T1/P3.5  
UART双工  
异步串行口  
ISP / IAP  
512/256字  
数据 RAM  
PWM3/PCA3/P2.4  
DIP-20,SOP-20,(超小封TSSOP-20定 )  
STC12C2052、STC12C4052A/D  
P2.5  
VSS  
P2.6  
STC12C2052AD、STC12C4052AD A/D  
Timer 0  
Timer 1  
1K字  
EEPROM  
WDT  
SPI  
硬件看 狗  
TxD/P3.1  
P0.0  
5
29  
P1.7/SCLK/ADC7  
P1.6/MISO/ADC6  
P1.5/MOSI/ADC5  
P0.3  
6
28  
27  
26  
25  
24  
23  
22  
21  
XTAL2  
7
PLCC-32  
无法解密  
源 控  
Port1,Port3  
可配I/O口  
XTAL1  
8
(上 复位,  
9
P1.4/SS/ADC4  
P1.3/ADC3  
P0.2  
INT0/P3.2  
P0.1  
复位)  
10  
11  
12  
13  
ISP / IAP  
INT1/P3.3  
ECI/T0/P3.4  
PWM1/T1/P3.5  
Port2,Port0  
可配I/O口  
片内  
R/C振 器  
P1.2/ADC2  
P1.1/ADC1  
XTAL2  
XTAL1  
晶体或  
振器  
大客 特价支持  
可配置振 器  
CPU  
STC12C5410/STC12C2052列主要性能:  
STC12C5410AD列 片机的理由:  
●高速:1 个  
5.5~3.4V,2.0~3.8V(STC12LE5410AD 系列)  
●低功耗 :空 模式,掉 模式(可由外部中断 醒)  
●工作 率:035MHz相当于普80510420MHz  
--- 可48MHz,相当8051: 0~576MHz  
:外部晶体或内RC可 ,ISP下  
/ 机器周期,RISC 8051 核,速度比普8051 12 倍  
加密性 , 无法解密  
抗干  
1 、抗静 (E S D 保  
2 、 4KV 速脉冲干 (EFT  
3 、 不怕 源抖  
4 、 度范 ,-40℃~85℃  
5 、I/O 口 殊  
:
程用 程序  
12K/10K/8K/6K/4K/2KFlash序存 器,擦写次10次以上  
512RAM据存 器  
●芯片E2PROM能  
ISP / IAP在系 /在 可 程,无需仿真器  
10ADC,8道,STC12C2052AD8ADC  
6、 机内部的 源供  
7、 机内部的  
8、 机内部的复位  
特殊  
特殊  
特殊  
9、 机内部的看  
特殊  
●4道捕 /比  
元(PWM/PCA/CCUSTC12C2052AD 系列 2道  
4定 器4外部中断(支持上升沿/降沿中断)  
1 个  
/ 器周期,可用低 晶振,大幅降低 E M I  
--- 也可用来再  
--- 出口欧美的有力保  
超低功耗:  
●2 16 位定 器,兼容普8051 的定 器。4 PCA 可再  
●硬件看 狗(WDT)  
4 个定 器  
1 、掉 模式:  
2 、空 模式:  
典型功耗  
典型功耗  
<0.1μA  
<1.3mA  
●高SPI信端口  
●全双工异步串行口(UART),兼容普8051串口  
●先 的指令集 构,兼容普8051令集  
3正常工作模式: 典型功耗  
4掉 模式可由外部中断 醒,适用于 池  
2.7mA - 7mA  
供 系 ,如水表、气表、便携  
系 可 程, 无需 程器, 可 程升  
等。  
4
8个8通用工作寄存器(32通用寄存器)  
有硬件乘/法指令  
●通I/O 27/23/15  位后 : 准双向/ 上拉(普8051  
可 置成四种模式:准双向/ 上拉,推/ 拉, / 阻,开漏  
能力均可达20mA,但整个芯片最大不得超 55mA  
I/O )  
STC-ISP 下  
内部集M A X 8 1 0  
程器,1 / 人/ 天  
用复位 路,原复位 路可以  
保留,也可以不用,不用 R E S E T 脚直接短到地  
I/O口  
网址:www.MCU-Memory.com  
技 支持:13922805190  
深 圳Tel:0755-82948409  
82948410  
38850557  
53560138  
62634001  
Fax0755-82944243  
Fax:020-38850581  
Fax021-53080587  
Fax010-62538683  
82905966  
取  
广州 Tel:020-38851405  
上海 Tel:021-53560136  
北京 Tel:010-62538687  
从网上下  
品申  
,
真至深圳STC 片机  
片机供 商  
直接 系深圳以 得更好的技 支持和服  
新客  
ISP 下  
/ 程工具  
迎海内外厂家前来洽 合作  
宏晶科技: 片/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南  
2
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
STC 89 列 片机,高速、高可靠、在  
提升的是性能,降低的是成本  
P4地址 0E8H  
STC89C52RC 系列  
STC89C58RD+ 系列 片机的理由:  
IAP  
1280  
8/16/32/64k  
内置系  
ISP 控程序  
INT2/P4.3  
INT3/P4.2  
SRAM  
加密性 ,法解密  
P4口均可位 址  
干 :  
1抗静 (E S D 保 )  
2 、 松 2KV/4KV速脉冲干 (EFT  
P0  
看 狗  
8 位  
并行端口  
3、  
4、 度范 ,-40℃~85℃  
5I/O 口 特殊 理  
6、 机内部的 源供 系  
7、 机内部的  
,不怕 源抖  
理器  
P1  
P2  
P3  
P4  
8051  
高速0-90M可靠  
E2PROM  
低功耗低价  
+
IAP  
特殊 理  
STC  
Data Flash  
P4.0P4.3  
四个附送  
I/O 端口  
特殊 理  
特殊 理  
特殊 理  
8、 机内部的复位 路  
9、 机内部的看 狗 路  
(E8H)  
模式:< 0.1μA, 空 模式:2mA  
MAX810  
三大降低 片机  
外部 磁 射的措施:  
用复位 路  
A / D (高速)可做:  
— — 出口欧美的有力保  
1ALE ;  
倍速和  
双倍速可  
“I S P ”  
反复 置  
音量、  
UART(串口)  
3 个定  
双数据  
A / D  
2如 6  
3、 机  
/ 机器周期,外部  
振 器增益可  
率可降一半;  
1/2gain。  
不加价  
超低功耗:  
1掉 模式:  
2空 模式:  
典型功耗  
典型功耗  
<0.1μA  
2mA  
STC 89 系列 片机 型一 表 超低价  
E2P  
ROM  
A
/
D
最 高  
看 双  
P
4
I
S
P
I
A
P
3正常工作模式: 典型功耗  
4mA - 7mA  
降低  
Flash RAM  
Hz  
3V  
4掉 模式可由外部中断 醒,适用于 池  
EMI  
存 器 字  
狗 速 口  
5V  
供 系 ,如水表、气表、便携  
等。  
在系 可 程,需 程器,升  
√ √ √ √  
√ √ √ √  
√ √ √ √  
√ √ √ √  
√ √ √ √  
STC 89C51 RC  
STC 89C52 RC  
STC 89C53 RC  
0~80M  
0~80M  
0~80M  
4K  
8K  
512  
512  
2K  
2K  
STC-ISP 下  
程器,1 万/ 人/ 天  
可供 内部集MAX810 复位 路的 片机,  
D 本才有内部集成 用复位 路,原复位  
路可以保留,也可以不用,不用 RESET 直  
接短到地  
15K  
16K  
20K  
32K  
64K  
4K  
512  
STC 89C54 RD+ 0~80M  
STC 89C55 RD+ 0~80M  
STC 89C58 RD+ 0~80M  
STC 89C516 RD+ 0~80M  
STC 89LE51 RC  
1280  
1280  
1280  
1280  
512  
16K  
16K  
16K  
√ √ √ √  
√ √ √ √  
√ √ √ √  
√ √ √ √  
√ √ √ √  
√ √ √ √  
√ √ √ √  
√ √ √ √  
√ √ √  
T2/P1.0  
1
2
3
4
5
6
7
8
40  
39  
38  
37  
36  
35  
34  
33  
VCC  
T2EX/P1.1  
P1.2  
P0.0/AD0  
P0.1/AD1  
P0.2/AD2  
P0.3/AD3  
P0.4/AD4  
P0.5/AD5  
P0.6/AD6  
0~80M  
0~80M  
2K  
2K  
P1.3  
P1.4  
STC 89LE52 RC  
8K  
512  
P1.5  
P1.6  
P1.7  
STC 89LE53 RC  
0~80M 15K  
0~80M 16K  
512  
STC 89LE54 RD+  
1280  
1280  
1280  
16K  
16K  
RST  
RXD/P3.0  
TXD/P3.1  
INT0/P3.2  
INT1/P3.3  
T0/P3.4  
T1/P3.5  
WR/P3.6  
RD/P3.7  
XTAL2  
9
32  
31  
30  
29  
28  
27  
26  
25  
24  
23  
22  
21  
P0.7/AD7  
EA  
10  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
STC 89LE58 RD+  
0~80M  
0~80M  
32K  
64K  
ALE/PROG  
PSEN  
STC 89LE516RD+  
P2.7/A15  
P2.6/A14  
P2.5/A13  
P2.4/A12  
P2.3/A11  
P2.2/A10  
P2.1/A9  
P2.0/A8  
STC 89LE516AD  
0~90M,3.6~1.9V 64K  
512  
关于 片机 明<管脚与流行8051容>  
大客 超低价  
DIP-40,PLCC-44,PQFP-44封装(RC/RD+PLCC、PQFPP4E8H,ADP4C0H)  
XTAL1  
VSS  
RC/RD+PLCC、PQFP两个外部中P4.2/INT3,P4.3/INT2。 P4均可位 址  
5V: 5.5V~3.8V3.4V(24M3V: 3.6V~2.4V2.0V,  
RC/RD+列  
真正的看 狗,可放心省去外部看 狗,缺省 关 ,打开后无法关 。 倍倍速可反复  
“6 / 机器周期”和“12 / 机器周期”可ISP 程 反复 置,启 后才生效  
另 STC89LE516AD58AD、54AD、52AD、51AD 片机, 高A/D  
S TC  
片机在  
程典
PC / 
STC3232,STC232,MAX232,SP232  
P1.5  
P1.6  
P1.7  
1
2
3
4
5
6
7
8
9
33  
32  
31  
30  
29  
28  
24  
23  
P0.4/AD4  
P0.5/AD5  
P0.6/AD6  
P0.7/AD7  
EA  
P4.1  
LE/PROG  
PSEN  
P1.5  
P1.6  
P1.7  
7
8
9
39  
38  
37  
36  
35  
34  
33  
32  
31  
30  
29  
P0.4/AD4  
P0.5/AD5  
P0.6/AD6  
P0.7/AD7  
EA  
P4.1  
ALE/PROG  
PSEN  
10uF  
2
3
Vcc  
1
2
3
4
5
6
7
8
C1+  
V+  
Vcc 16  
GND 15  
RST  
RST  
10  
11  
12  
13  
14  
15  
16  
17  
PLCC-44  
RXD/P3.0  
INT2/P4.3  
TXD/P3.1  
INT0/P3.2  
INT1/P3.3  
T0/P3.4  
T1/P3.5  
RXD/P3.0  
INT2/P4.3  
TXD/P3.1  
INT0/P3.2  
INT1/P3.3  
T0/P3.4  
T1/P3.5  
Gnd  
<P4 ,  
并可位 址>  
PC_RxD (COM Pin2)  
5
C1-  
T1OUT 14  
R1IN 13  
R1OUT 12  
T1IN 11  
T2IN 10  
PC_TxD (COM Pin3)  
MCU_RxD (P3.0)  
2.7/A15  
P2.6/A14  
P2.5/A13  
P2.7/A15  
P2.6/A14  
P2.5/A13  
0.1uF  
C2+  
C2-  
10  
11  
Vcc  
Vcc  
P3.0  
VCC  
MCU_TxD (P3.1)  
V-  
P3.1  
89C52RC  
XTAL2  
0.1uF  
T2OUT  
R2IN  
89C58RD+  
10μF  
10K  
R2OUT  
9
89LE52RC  
89LE516RD+  
GND RESET  
XTAL1  
另有:STC89LE516AD 系列 片机  
技 支持:13922805190  
网址:www.MCU-Memory.com  
深 圳Tel:0755-82948409  
广州 Tel:020-38851405  
上海 Tel:021-53560136  
北京 Tel:010-62538687  
82948410  
38850557  
53560138  
62634001  
Fax0755-82944243  
Fax:020-38850581  
Fax021-53080587  
Fax010-62538683  
82905966  
取  
片机供 商  
从网上下  
真至深圳STC 片  
机 片ISP 下 / 工具  
品申  
,
新客  
直接 系深圳以 得更好的技 支持和服  
迎海内外厂家前来洽 合作  
宏晶科技: 片/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南  
3
 
第1 章 STC  
片机宣  
............................................................2  
1.1 STC12C5410AD 系列 片机宣  
1.2 STC89C51RC/RD+ 系列 片机宣  
.................................................. 2  
................................................ 3  
第2 章 STC12C5410AD 系列 片机 体介 ..............................................6  
2.1 STC12C5410AD 系列 片机 介 ....................................................... 6  
2.2 STC12C5410AD 系列 片机管脚 及封装尺寸 ......................................... 7  
2.2.1 STC12C5410AD 系列 片机管脚 ................................................. 7  
2.2.2 STC12C5410AD 系列 片机封装尺寸 ............................................. 8  
2.3 STC12C5410AD 系列 片机 型一 表 ................................................ 11  
2.4 STC12C5410AD 系列 片机命名  
.................................................. 12  
2.5 STC12C5410AD 系列 片机典型 用 路 .............................................. 13  
2.5.1 STC12C5410AD 系列 28典型 用 路 ..................................... 13  
2.5.2 STC12C5410AD 系列 20典型 用 路 ..................................... 14  
2.6 STC12C5410AD列 片机指令系 与普8051令代 完全兼容,但 行速度大幅提升 .. 15  
2.7 STC12C5410AD 系列 片机特殊功能寄存器映像 ........................................ 19  
2.8 STC12C5410AD 系列 片机中断 ...................................................... 23  
2.9 STC12C5410AD列 片机定 0/1UART口的速度与普8051容,但也可12 .. 25  
2.10 STC12C5410AD 系列 片机系 工作  
2.11 STC12C5410AD 系列 片机系  
,ISP下  
程 可  
内部  
/部  
.... 26  
分 寄存器,可将系  
分成 低 率工........ 26  
第3 章 STC12C5410AD  片机I/O 口 及其功.................................27  
3.1 I/O 口各种不同的工作模式及配置介 ................................................27  
3.2 I/O 口各种不同的工作模式 构框 ..................................................28  
3.3 一种典型三极管控制 ............................................................29  
第4 章 STC12C5410AD  片机的看 狗及 件复位 ...................................30  
4.1 STC12C5410AD 系列 片机看 狗 用及  
4.1.1 看 狗 用介 ............................................................... 30  
4.1.2 一个完整的看 狗 程序,在下 板上可以直接 ............................. 32  
4.2 如何用 件 系 复............................................................ 33  
程序 ...................................... 30  
第5 章 STC12C5410AD 系列 片机EEPROM 的 ......................................34  
5.1 IAP EEPROM ................................................................. 34  
5.2 IAP/EEPROM  
5.3 一个完整IAP/EEPROM  
第6 章 STC12C5410AD  片机的定 器的使用及  
............................................................... 36  
程序,在下 板上可以直接  
............................ 39  
.............................43  
6.1 定 0/1.................................................................. 43  
6.2 定 0/1 用程序 ............................................................ 47  
6. 3  1 波特率 生器(一个完整的  
程序,在下 板上可以直接  
........... 52  
第7 章 STC12C5410AD 系列 片机A/D  
功能 .......................................59  
7.1 A/D  
寄存器 .................................................................... 59  
.............................................................. 60  
7.2 典A/D  
7.3 一个完整A/D  
程序,在下 板上可以直接  
................................... 61  
第8 章 STC12C5410AD 系列 片机PCA/PWM 的 ....................................65  
8.1 PCA/PWM 寄存器列..............................................................65  
8.2 PCA/PWM 功能介 ................................................................67  
8.3 PCA 功能 展外部中断的示例程..................................................72  
8.4 PCA 功能做定 器的示例程序(可  
8.5 PWM C 示例 ..............................................................81  
8.6 PCA/PWM增特殊功能寄存器声明( ..........................................82  
8.7 PWM 出 言示例 ............................................................84  
8.8 PCA高速脉冲 出程序示例( 125KHz方波.................................87  
8.9 利用定 0溢出作 PCA模 的 PWMPCA 定 器 .91  
第9 章 STC12C5410AD 系列 片机的掉 模式 ...........................................98  
9.1 PCON 寄存器的高 用,上 复位 志, 入掉 模.............................. 98  
入掉 模式后由外部中0外部中1 示例程序 .............................. 99  
入掉 模式前I/O 口 置特 注意事 ( A 版本, C 本无此 ) 101  
4个16定 器) ...............................76  
9.2  
9.3  
10 章 STC12C5410AD 系列 片机 气特性 .......................................... 102  
11 章 STC12C5410AD 系列 片机开 / 程工具 明 ................................ 104  
11.1 在系 可 程(ISP原理,官方演示工具使用 明 ............................... 104  
11.1.1 在系 可 程(ISP)原理使用 明 .......................................... 104  
11.1.2 在系 可 程(ISP)典型 用 路 ........................................ 105  
11.1.3  
ISP制 件界面使用 明 .......................................... 106  
11.1.4 宏晶科技ISP下  
程工具硬件使用 明 .................................... 107  
器,如何用宏晶科技ISPRS-232 ... 107  
11.1.5 用 板如果没RS-232  
11.2  
12 章 ....................................................................... 109  
12.1 附 A 数RAM存 器 ................................................. 109  
12.1.1 内部数RAM ......................................................... 109  
12.1.2 内部数RAM 址 程序 ................................................... 110  
12.2 附 B 串行外 接口(SPI)及 .......................................... 111  
器/  
器, 程器,仿真................................................ 108  
12.2.1 串行外 接口(SPI)功能描.............................................. 111  
12.2.2 行外 接口(SPI示例程序( 主 从).................................. 118  
12.2.3 行外 接口(SPI示例程序( 主多从).................................. 125  
12.3 附 C 用串行口 I/O.................................................... 133  
12.4 附 D STC12C2052AD 片机 ............................................. 135  
12.5 附 E STC 片机普I/O口  
LCD 示 .................................... 137  
12.6 附 F I/O二极管并 描按 ...................................... 144  
12.7 附 G 典MCU/DSP/uC位、 源 控、外部看 狗 用 ..................... 145  
12.8 附 H STCSRAM 型一 表 ............................................... 146  
12.9 附 I 提供 4000V速脉冲干  
12.10 附 J 用注意事 .......................................................... 148  
12.12 附 K 料升 史 忘 ..................................................... 149  
....................................... 147  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
STC12C5410AD 系列 1T 片机 介  
STC12C5410列 片机是  
/器周期(1T)的兼8051核 片机,是高/功耗的新一代  
8051 片机,全新的流水 /令集 构,内部集MAX810 用复位 路。  
特 点 :  
1. 增 型 1T 流水 /令集 构 8051 CPU  
2. 工作  
3. 工作 率范 :0 - 35 MHz ,相当于普8051 0~420MHz.  
4. 用 用程序空 12K / 10K / 8K / 6K / 4K / 2K 字  
5.5V - 3.4V (5V 片机) / 3.8V - 2.0V (3V 片机)  
工作 率可48MHz.  
5. 片上集成 512 字 RAM  
6. 通I/O(27/23 位后 : 准双向/上拉(普8051  
可 置成四种模式:准双向/ 上拉,推/ 拉,  
I/O)  
入/ 阻,开漏  
I/O口  
7. ISP在系 可 程)/IAP(在 用可 程 需 用 程器  
可通 串口(P3.0/P3.1)直接下 用 程序,数秒即可完成一片  
8. EEPROM 功能  
能力均可达20mA,但整个芯片最大不得超 55mA  
9. 看 狗  
10.内部集MAX810 复位 路(外部晶20M  ,可省外部复位 路)  
11.  
源:外部高精度晶/  
用 在下 用 程序 ,可  
常温下内R/C 振 器 率 :5.2MHz ~ 6.8MHz  
精度要求不高 ,可 使用内部 ,但因 有温漂,  
12.2个16/ 器  
13.外部中2,下降沿中断或低 平触 中断,Power Down 模式可由外部中断低 平触 中断方式 醒  
14.PWM(4 /PCA 程 数器 列 可用来再 4 个定 器  
--- 也可用来再 4定 器4外部中断(上升沿中/降沿中断均可支持)  
,内R/C 振 器  
是使用内R/C振 器 外部晶/  
4MHz ~ 8MHz  
15.ADC, 10 位精ADC,8路  
16.用异步串行口(UART)  
17.SPI步通信口, 主模/模式  
18.工作温度范 : 0 - 75℃ / -40 - +85℃  
19.封装: PDIP-28,SOP-28,PDIP-20,SOP-20,PLCC-32,TSSOP-20(超小封状,定 )  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 6  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
STC12C5410AD 系列 1T 片机管脚  
P2.2  
1
28  
27  
26  
25  
24  
23  
22  
21  
20  
19  
18  
17  
16  
15  
VDD  
P2.2  
1
28  
27  
26  
25  
24  
23  
22  
21  
20  
19  
18  
17  
16  
15  
VDD  
P2.3  
2
P2.1  
P2.3  
2
P2.1  
RST  
RxD/P3.0  
3
P2.0/CEX2/PCA2/PWM2  
P1.7/SCLK/ADC7  
P1.6/MISO/ADC6  
P1.5/MOSI/ADC5  
P1.4/SS/ADC4  
P1.3/ADC3  
RST  
RxD/P3.0  
3
P2.0/CEX2/PCA2/PWM2  
4
4
P1.7/SCLK  
P1.6/MISO  
P1.5/MOSI  
P1.4/SS  
P1.3  
TxD/P3.1  
5
TxD/P3.1  
5
XTAL2  
6
XTAL2  
6
XTAL1  
7
XTAL1  
7
INT0/P3.2  
8
INT0/P3.2  
8
INT1/P3.3  
9
P1.2/ADC2  
INT1/P3.3  
9
P1.2  
ECI/T0/P3.4  
PWM1/PCA1/CEX1/T1/P3.5  
PWM3/PCA3/CEX3/P2.4  
P2.5  
10  
11  
12  
13  
14  
P1.1/ADC1  
ECI/T0/P3.4  
PWM1/PCA1/CEX1/T1/P3.5  
PWM3/PCA3/CEX3/P2.4  
P2.5  
10  
11  
12  
13  
14  
P1.1  
P1.0/ADC0  
P1.0  
P3.7/CEX0/PCA0/PWM0  
P2.7  
P3.7/CEX0/PCA0/PWM0  
P2.7  
VSS  
P2.6  
VSS  
P2.6  
STC12C5410AD(A/D  
STC12C5410(A/D  
RST  
RxD/P3.0  
TxD/P3.1  
1
2
3
4
5
20  
19  
18  
17  
16  
15  
14  
13  
12  
11  
VCC  
RST  
RxD/P3.0  
TxD/P3.1  
1
2
3
4
5
20  
19  
18  
17  
16  
15  
14  
13  
12  
11  
VCC  
P1.7/SCLK  
P1.6/MISO  
P1.5/MOSI  
P1.4/SS  
P1.3  
P1.2  
P1.1  
P1.0  
P1.7/SCLK/ADC7  
P1.6/MISO/ADC6  
P1.5/MOSI/ADC5  
P1.4/SS/ADC4  
P1.3/ADC3  
P1.2/ADC2  
P1.1/ADC1  
P1.0/ADC0  
XTAL2  
XTAL1  
XTAL2  
XTAL1  
INT0/P3.2  
INT1/P3.3  
ECI/T0/P3.4  
PWM1/CEX1/T1/P3.5  
6
7
8
9
INT0/P3.2  
INT1/P3.3  
ECI/T0/P3.4  
PWM1/PCA1/CEX1/T1/P3.5  
Gnd  
6
7
8
9
Gnd  
10  
P3.7/CEX0/PWM0  
10  
P3.7/CEX0/PCA0/PWM0  
STC12C5410AD(A/D  
STC12C5410(A/D  
TxD/P3.1  
5
29  
28  
27  
26  
25  
24  
23  
22  
21  
P1.7/SCLK/ADC7  
P0.0  
XTAL2  
6
P1.6/MISO/ADC6  
P1.5/MOSI/ADC5  
P0.3  
7
XTAL1  
8
PLCC-32  
9
P1.4/SS/ADC4  
P1.3/ADC3  
P0.2  
INT0/P3.2  
P0.1  
10  
11  
12  
13  
INT1/P3.3  
ECI/T0/P3.4  
PWM1/PCA1/CEX1/T1/P3.5  
P1.2/ADC2  
P1.1/ADC1  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 7  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
STC12C5410AD列 1T 片机封装尺寸  
32-PIN PLASTIC LEAD CHIP CARRIER (PLCC)  
0.485 inch(12.32 mm)  
0.495 inch(12.57 mm)  
Optional Pin #1  
Identifier  
0.106 (2.69)  
0.112 (2.84)  
0.447(11.35)  
0.453(11.51)  
0.042(1.07)  
0.048(1.22)  
0.023(0.58)  
×30°  
0.029 (0.74)  
0.013(0.33)  
0.021(0.53)  
0.042(1.07)  
0.585(14.86)  
0.595(15.11)  
0.547(13.89)  
0.553 (14.05)  
0.048(1.22)  
0.490(12.45)  
0.530(13.46)  
0.026(0.66)  
0.032 (0.81)  
0.400(10.16)  
BSC  
0.050(1.27)  
BSC.  
0.015(0.38)Min  
0.075 (1.91)  
0.095 (2.41)  
0.050(1.27)  
BSC.  
0.125 (3.18)  
0.140 (3.56)  
28-PIN SMALL OUTLINE PACKAGE (SOP)  
28-PIN PLASTIC DUAL-IN-LINE  
PACKAGE (PDIP)  
0.020 (0.508)  
0.014 (0.350)  
1.445 (36.70)  
1.455 (36.96)  
PIN1  
0.280 (7.11)  
0.240 (6.10)  
0.299 (7.60) 0.420 (10.7)  
0.291 (7.39) 0.393 (9.98)  
0.090(2.29)  
MAX  
PIN1  
1.300(33.02) REF  
0.210(5.33)  
MAX  
0.005(0.127)  
MIN  
0.050 (1.270)  
0.703 (17.856)  
SEATING  
PLANE  
0.015(0.381)MIN  
0.150 (3.81)  
0.115 (2.92)  
0.112 (2.844)  
0.693 (17.602)  
0.100 (2.540)  
0.022 (0.559)  
0.014 (0.356)  
0.070(1.78)  
0.045(1.13)  
0.100 (2.54)  
0.014 (0.350)  
0.004 (0.102)  
0.325(8.26)  
0.300(7.62)  
0
REF  
10  
0.013 (0.330)  
0.009 (0.229)  
0
0.014(0.356)  
0.008(0.203)  
REF  
15  
0.430(10.92)MAX  
0.0484 (1.228)  
0.0276 (0.700)  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 8  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
20S, 20-lead, 0.300" Wide, Plastic Gull WIng Small  
Outline (SOIC-20 / SOP-20)  
20P3, 20-lead, 0.300" Wide, Plastic Dual Inline  
Package(PDIP-20)  
Dimensions in Inches and (Millimeters)  
Dimensions in Inches and (Millimeters)  
JEDEC STANDARD MS-001 AD  
0.020 (0.508)  
0.013 (0.330)  
1.060 (26.9)  
0.980 (24.9)  
PIN1  
0.299 (7.60)  
0.291 (7.39)  
0.280 (7.11)  
0.240 (6.10)  
0.420 (10.7)  
0.393 (9.98)  
PIN1  
0.090(2.29)  
MAX  
0.900(22.86) REF  
0.050 (1.27)  
0.210(5.33)  
MAX  
0.005(0.127)  
MIN  
SEATING  
PLANE  
0.513 (13.0)  
0.497 (12.6)  
0.105 (2.67)  
0.092 (2.34)  
0.015(0.381)MIN  
0.150 (3.81)  
0.115 (2.92)  
0.022 (0.559)  
0.014 (0.356)  
0.070(1.78)  
0.045(1.13)  
0.012 (0.305)  
0.003 (0.076)  
0.100 (2.54)  
0.325(8.26)  
0.300(7.62)  
0
REF  
8
0.013 (0.330)  
0.009 (0.229)  
0
0.014(0.356)  
0.008(0.203)  
REF  
15  
0.035 (0.889)  
0.015 (0.381)  
0.430(10.92)MAX  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 9  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
STC12C5410ADTSSOP-20装需  
PACKAGEPLASTIC SHRINK SMALL OUTLINE (TSSOP-20,6.4mm ×6.4mm)  
D(6.40mm~6.60mm)  
Φ
e(0.65mm)  
B(0.19mm~0.30mm)  
L(0.50mm~0.75mm)  
DIMENSIONS  
in inches (mm)  
Minimum/Maximum  
20-PIN  
- /0.043  
A
(- /1.10)  
0.002/0.006  
A1  
(0.05/0.15mm)  
0.007/0.012  
B
D
(0.19/0.30mm)  
0.252/0.260  
(6.40/6.60mm)  
0.169/0.177  
E
(4.30/4.50mm)  
0.026 BSC  
e
(0.65mm BSC)  
0.126 BSC  
(3.20mm BSC)  
E2  
L
0.020/0.030  
(0.50/0.75mm)  
Φ
0°/8°  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 10  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
STC12C5410AD 系列 片机 型一 表  
Flash  
程序 SRAM  
(V) 存 器 字  
S
P
I
工作  
PCA  
PWM  
内置 EEP  
复位 ROM  
封装  
20-Pin  
封装 封装  
28-Pin 32-Pin  
UART  
A/D I/O  
STC12C5401  
5.5 - 3.4  
5.5 - 3.4  
1K  
1K  
512 2  
512 2  
512 2  
512 2  
512 2  
512 2  
512 2  
512 2  
512 2  
512 2  
512 2  
512 2  
512 2  
512 2  
512 2  
512 2  
512 2  
512 2  
512 2  
512 2  
512 2  
512 2  
512 2  
512 2  
512 2  
512 2  
512 2  
512 2  
有 4路  
有 4路 有 27/23 有  
有 4路 27/23 有  
有 4路 有 27/23 有  
有 4路 27/23 有  
有 4路 有 27/23 有  
有 4路 27/23 有  
有 4路 有 27/23 有  
有 4路 27/23 有  
有 4路 有 27/23 有  
有 4路 27/23 有  
27/23 有  
有 有 DIP/SOP/TSSOP DIP/SOP PLCC-32  
有 有 DIP/SOP/TSSOP DIP/SOP PLCC-32  
有 有 DIP/SOP/TSSOP DIP/SOP PLCC-32  
有 有 DIP/SOP/TSSOP DIP/SOP PLCC-32  
有 有 DIP/SOP/TSSOP DIP/SOP PLCC-32  
有 有 DIP/SOP/TSSOP DIP/SOP PLCC-32  
有 有 DIP/SOP/TSSOP DIP/SOP PLCC-32  
有 有 DIP/SOP/TSSOP DIP/SOP PLCC-32  
有 有 DIP/SOP/TSSOP DIP/SOP PLCC-32  
有 有 DIP/SOP/TSSOP DIP/SOP PLCC-32  
有 有 DIP/SOP/TSSOP DIP/SOP PLCC-32  
有 有 DIP/SOP/TSSOP DIP/SOP PLCC-32  
有 有 DIP/SOP/TSSOP DIP/SOP PLCC-32  
有 有 DIP/SOP/TSSOP DIP/SOP PLCC-32  
有 有 DIP/SOP/TSSOP DIP/SOP PLCC-32  
有 有 DIP/SOP/TSSOP DIP/SOP PLCC-32  
有 有 DIP/SOP/TSSOP DIP/SOP PLCC-32  
有 有 DIP/SOP/TSSOP DIP/SOP PLCC-32  
有 有 DIP/SOP/TSSOP DIP/SOP PLCC-32  
有 有 DIP/SOP/TSSOP DIP/SOP PLCC-32  
有 有 DIP/SOP/TSSOP DIP/SOP PLCC-32  
有 有 DIP/SOP/TSSOP DIP/SOP PLCC-32  
有 有 DIP/SOP/TSSOP DIP/SOP PLCC-32  
有 有 DIP/SOP/TSSOP DIP/SOP PLCC-32  
有 有 DIP/SOP/TSSOP DIP/SOP PLCC-32  
有 有 DIP/SOP/TSSOP DIP/SOP PLCC-32  
有 有 DIP/SOP/TSSOP DIP/SOP PLCC-32  
有 有 DIP/SOP/TSSOP DIP/SOP PLCC-32  
STC12C5401AD  
STC12C5402  
5.5 - 3.4 2K  
5.5 - 3.4 2K  
5.5 - 3.4 4K  
5.5 - 3.4 4K  
5.5 - 3.4 6K  
5.5 - 3.4 6K  
5.5 - 3.4 8K  
5.5 - 3.4 8K  
5.5 - 3.4 10K  
5.5 - 3.4 10K  
5.5 - 3.4 12K  
5.5 - 3.4 12K  
STC12C5402AD  
STC12C5404  
STC12C5404AD  
STC12C5406  
STC12C5406AD  
STC12C5408  
STC12C5408AD  
STC12C5410  
STC12C5410AD  
STC12C5412  
有 4路 有 27/23 有  
有 4路 有 27/23 有  
有 4路 有 27/23 有  
STC12C5412AD  
STC12LE5401  
2.0 - 3.8  
1K  
1K  
有 4路  
有 4路 有 27/23 有  
有 4路 27/23 有  
有 4路 有 27/23 有  
有 4路 27/23 有  
有 4路 有 27/23 有  
有 4路 27/23 有  
有 4路 有 27/23 有  
有 4路 27/23 有  
有 4路 有 27/23 有  
有 4路 27/23 有  
有 4路 有 27/23 有  
有 4路 27/23 有  
有 4路 有 27/23 有  
27/23 有  
STC12LE5401AD 2.0 - 3.8  
STC12LE5402  
STC12LE5402AD 2.0 - 3.8 2K  
STC12LE5404 2.0 - 3.8 4K  
STC12LE5404AD 2.0 - 3.8 4K  
STC12LE5406 2.0 - 3.8 6K  
STC12LE5406AD 2.0 - 3.8 6K  
STC12LE5408 2.0 - 3.8 8K  
STC12LE5408AD 2.0 - 3.8 8K  
STC12LE5410 2.0 - 3.8 10K  
STC12LE5410AD 2.0 - 3.8 10K  
STC12LE5412 2.0 - 3.8 12K  
STC12LE5412AD 2.0 - 3.8 12K  
2.0 - 3.8 2K  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 11  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
STC12C5410AD 系列 片机 命名  
STC12xx54xx xx — 35x-xxxx xx  
管脚数  
20,28,32  
何种封装:如  
PDIP,SOP,PLCC,TSSOP  
工作温度范 :  
I:工 ,-40℃ ~ +85 ℃  
C:商 , 0℃ ~ 70℃  
工作 率:  
12工作 率可12MHz  
35工作 率可35MHz  
48工作 率可48MHz  
ADA/D  
功能  
无AD 字 , 无A/D  
程序空 大小, 如:  
044K字 , 08 8K字  
10 10K 字 ,12 12K 字  
RAM 512 字 ,PCA/PWM是4 路  
C: 5.5V3.4V  
LE2.0V~3.8V  
LV2.0V~3.8V,超低功耗 ,工作 2MHz :  
正常工作 流 < 2.7mA;  
空 模式 流 < 1.3mA;  
掉 模式 流 < 0.1 μA  
STC 1T 8051, 工作 率 ,速度是普80518~12倍  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 12  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
STC12C5410AD 系列 片机 典型 用 路(28Pin)  
就可以下 程序  
---- 通 RS-232  
器 接  
Vcc  
PC /  
串口  
STC3232,STC232,MAX232,SP232  
端的  
10μF  
Vcc  
2
3
1
2
3
4
5
6
7
8
C1+  
V+  
Vcc 16  
GND 15  
STC-ISP 件  
控制下  
0.1uF  
0.1uF  
Gnd  
PC_RxD (COM Pin2)  
5
C1-  
T1OUT 14  
R1IN 13  
PC_TxD (COM Pin3)  
“用 程序”  
到STC 机  
C2+  
C2-  
USB +5V  
R1OUT 12  
T1IN 11  
建 用 系 上  
留此接口,可方便  
在 下 用 程序  
V-  
USB+5V T1OUT R1IN GND  
0.1uF  
SW1  
T2OUT  
R2IN  
T2IN 10  
R2OUT  
9
Power On  
源开关  
U1-P1.0  
U1-P1.1  
MCU-VCC  
U1-P3.0  
U1-P3.1  
GND  
USB1  
晶振 率20M下 :  
可以不C1R10~10K  
不 建 保R/C位 路  
Vcc  
28 Pin  
Vcc  
1K  
1
2
3
4
P2.2  
VDD 28  
P2.1 27  
1K  
10μF  
C1  
P2.3  
RST  
P2.0/PCA2/PWM2 26  
P1.7/SCLK/ADC7 25  
10K  
R1  
RxD/P3.0  
5
6
7
8
9
TxD/P3.1  
XTAL2  
P1.6/MISO/ADC6 24  
P1.5/MOSI/ADC5 23  
P1.4/SS/ADC4 22  
P1.3/ADC3 21  
P1.2/ADC2 20  
P1.1/ADC1 19  
P1.0/ADC0 18  
P3.7/PCA0/PWM0 17  
P2.7 16  
<33pF  
<33pF  
10μF  
0.1μF  
XTAL1  
INT0/P3.2  
INT1/P3.3  
10 ECI/T0/P3.4  
11 PWM1/PCA1/T1/P3.5  
12 PWM3/PCA3/P2.4  
13 P2.5  
14 VSS  
P2.6 15  
如果使用内部 R / C 振  
(4MHz~8MHz,制造 差),XTAL1和  
XTAL2浮空.  
如果外部  
33MHz上 ,  
使用 程  
座就是 程器  
建 直接使用外部有源晶振,  
XTAL1,XTAL2必 浮空.  
此 路已做成一STC12C5410AD 系列 片机 ISP 下  
RS-232 平  
程工具,可直接 送 客  
用 在自己的目 系 上,如P3.0/P3.1  
232口,就可以在系 /升 。建 如果用 板上RS-232 平  
座,含 Gnd / P3.1 / P3.0 / Vcc 四个信号 ,当然如能引Gnd / P3.1 / P3.0 / Vcc / P1.1 /  
P1.0 六个信号 最好, 就可以在用 系 上直接 程了。关ISP 程的原理及 用指南  
附 部分“STC12C5410AD列 片机 ISP 程 原理 工具使用 明”部分。另外我 有 准化的 程  
下 工具,用 可以在上面 程后再插到目 系 上,也可以借用它上面RS-232 平 器 到  
,以做下 程之用。 程一个芯片大致需几秒 ,速度比普通的通用 程器快很多,故无  
用 程器。  
STC-ISP 件从网www.MCU-Memory.com下  
后 接到  
的普RS-  
器, 引出一个插  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 13  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
STC12C5410AD 系列 片机 典型 用 路(20Pin)  
就可以下 程序  
----RS-232  
器 接  
Vcc  
PC /  
串口  
STC3232,STC232,MAX232,SP232  
端的  
10μF  
Vcc  
2
3
1
2
3
4
5
6
7
8
C1+  
V+  
Vcc 16  
GND 15  
STC-ISP 件  
0.1uF  
0.1uF  
Gnd  
控制下  
PC_RxD (COM Pin2)  
5
C1-  
T1OUT 14  
R1IN 13  
PC_TxD (COM Pin3)  
“用 程序”  
到STC 机  
C2+  
C2-  
USB +5V  
R1OUT 12  
T1IN 11  
建 用 系 上  
留此接口,可方便  
在 下 用 程序  
V-  
0.1uF  
SW1  
T2OUT  
R2IN  
T2IN 10  
USB+5V T1OUT R1IN GND  
R2OUT  
9
Power On  
源开关  
U1-P1.0  
U1-P1.1  
MCU-VCC  
U1-P3.0  
U1-P3.1  
GND  
晶振 率20M下 :  
USB1  
可以不C1R10~10K  
不 建 保R/C位 路  
Vcc  
20 Pin  
R1  
10K  
Vcc  
10μF  
C1  
1 RST  
VCC 20  
P1.7/SCLK/ADC7 19  
P1.6/MISO/ADC6 18  
P1.5/MOSI/ADC5 17  
P1.4/SS/ADC4 16  
P1.3/ADC3 15  
1K  
1K  
2 RxD/P3.0  
3 TxD/P3.1  
4 XTAL2  
<33pF  
<33pF  
10μF  
0.1μF  
5 XTAL1  
6 INT0/P3.2  
7 INT1/P3.3  
8 ECI/T0/P3.4  
P1.2/ADC2 14  
P1.1/ADC1 13  
9 PWM1/PCA1/T1/P3.5 P1.0/ADC0 12  
10 Gnd  
P3.7/PCA0/PWM0 11  
如果使用内部 R / C 振  
(4MHz~8MHz,制造 差),XTAL1和  
XTAL2浮空.  
使用 程  
座就是 程器  
如果外部  
33MHz上 ,  
建 直接使用外部有源晶振,  
XTAL1,XTAL2必 浮空.  
此 路已做成一STC12C5410AD 系列 片机 ISP 下  
程工具,可直接 送 客  
用 在自己的目 系 上,如P3.0/P3.1  
RS-232 平  
后 接到  
的普RS-  
232口,就可以在系 /升 。建 如果用 板上RS-232 平  
器, 引出一个插  
座,含 Gnd / P3.1 / P3.0 / Vcc 四个信号 ,当然如能引Gnd / P3.1 / P3.0 / Vcc / P1.1 /  
P1.0 六个信号 最好, 就可以在用 系 上直接 程了。关ISP 程的原理及 用指南  
附 部分“STC12C5410AD列 片机 ISP 程 原理 工具使用 明”部分。另外我 有 准化的 程  
下 工具,用 可以在上面 程后再插到目 系 上,也可以借用它上面RS-232 平 器 到  
,以做下 程之用。 程一个芯片大致需几秒 ,速度比普通的通用 程器快很多,故无  
用 程器。  
STC-ISP 件从网www.MCU-Memory.com下  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 14  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
指令系 分 及与普8051令 行 比  
效率大幅提升  
---8051令代 完全兼容,但 行的  
---INC DPTR令的 行速度大幅提24倍  
---12指令,一个  
就可以 行完成,平均速度8~12倍  
如果按功能分 ,STC89/12 列 片机指令系 可分 :  
1.数据 送 指令;  
2.算 操作 指令;  
3.  
操作 指令;  
4.控制 移 指令;  
5.布  
量操作 指令。  
按功能分 的指令系 表如下表所示。  
数据 送 指令  
机器周期  
机器周期 效率  
12  
/
1
/
助 符  
功能 明  
字 数  
提升  
所需  
所需  
MOV  
MOV  
MOV  
MOV  
MOV  
MOV  
MOV  
MOV  
MOV  
A,Rn  
寄存器内容送入累加器  
1
2
1
2
1
2
2
2
2
12  
1
12  
A,direct  
A,@Ri  
直接地址 元中的数据送入累加器  
接RAM中的数据送入累加器  
立即送入累加器  
12  
12  
12  
12  
24  
12  
12  
24  
2
2
2
2
4
2
3
3
6
6
6
6
6
6
4
8
A,#data  
Rn,A  
累加器内容送入寄存器  
Rn,direct  
Rn,#data  
direct,A  
direct,Rn  
直接地址 元中的数据送入寄存器  
立即数送入寄存器  
累加器内容送入直接地址 元  
寄存器内容送入直接地址 元  
直接地址 元中的数据送入另一个直接  
地址 元  
MOV  
direct,direct  
3
24  
4
6
MOV  
MOV  
MOV  
MOV  
MOV  
MOV  
direct,@Ri  
接RAM中的数据送入直接地址 元  
2
3
1
2
2
3
24  
24  
12  
24  
12  
24  
4
3
3
3
3
3
6
8
4
8
4
8
direct,#data 立即数送入直接地址 元  
@Ri,A  
累加器内容送 接RAM 元  
直接地址 元数据送入 接RAM 元  
立即数送入 接RAM 元  
@Ri,direct  
@Ri,#data  
DPTR,#data16 16位立即数送入地址寄存器  
以DPTR 基地址 址 址 元中的数据  
MOVC  
MOVC  
A,@A+DPTR  
A,@A+PC  
1
1
24  
24  
4
4
6
6
送入累加器  
以PC 基地址 址 址 元中的数据送  
入累加器  
MOVX  
MOVX  
MOVX  
MOVX  
PUSH  
POP  
A,@Ri  
外部RAM(8位地址)送入累加器  
外部RAM(16位地址)送入累加器  
累加器送外部RAM(8位地址)  
累加器送外部RAM(16位地址)  
直接地址 元中的数据 入堆  
出 送直接地址 元  
1
1
1
1
2
2
1
2
1
1
24  
24  
24  
24  
24  
24  
12  
12  
12  
12  
3
3
3
3
4
3
3
4
4
4
8
8
8
8
6
8
4
3
3
3
A,@DPTR  
@Ri,A  
@DPTR ,A  
direct  
direct  
A,Rn  
XCH  
寄存器与累加器交  
XCH  
A,direct  
A,@Ri  
直接地址 元与累加器交  
接RAM与累加器交  
XCH  
XCHD  
A,@Ri  
接RAM的低半字 与累加器交  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 15  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
算 操作 指令  
周期  
周期 提升  
效率  
所需  
12  
所需  
12  
/
1
/
助 符  
功能 明  
寄存器内容加到累加器  
字 数  
ADD  
ADD  
ADD  
ADD  
ADDC  
ADDC  
ADDC  
ADDC  
SUBB  
SUBB  
SUBB  
SUBB  
INC  
INC  
A,Rn  
A,direct  
A,@Ri  
A,#data  
A,Rn  
A,direct  
A,@Ri  
A,#data  
A,Rn  
A,direct  
A,@Ri  
A,#data  
A
1
2
1
2
1
2
1
2
1
2
1
2
1
1
2
1
1
1
2
1
1
1
1
1
2
3
3
2
2
3
3
2
2
3
3
2
2
3
4
4
2
3
4
4
1
4
5
4
6
直接地址 元中的数据加到累加器  
接RAM中的数据加到累加器  
立即加到累加器  
12  
12  
12  
12  
12  
12  
12  
12  
12  
12  
12  
12  
12  
12  
12  
12  
12  
12  
12  
24  
48  
48  
12  
4
4
6
寄存器内容  
直接地址 元的内容  
接RAM内容 位加到累加器  
立即数 位加到累加器  
位加到累加器  
6
4
位加到累加器  
4
6
6
累加器 借位减寄存器内容  
累加器 借位减直接地址 元的内容  
累加器 借位减 接RAM中的内容  
累加器 借位减立即数  
累加器加1  
4
4
6
6
4
Rn  
寄存器加1  
INC  
INC  
DEC  
DEC  
direct  
@Ri  
直接地址 元加1  
接RAM 元加1  
3
3
6
A
累加器减1  
Rn  
寄存器减1  
4
3
DEC  
DEC  
INC  
MUL  
direct  
@Ri  
直接地址 元减1  
接RAM 元减1  
3
DPTR  
地址寄存器DPTR加1  
A乘以B  
24  
12  
9.6  
AB  
DIV  
AB  
A除以B  
DA  
A
累加器十 制 整  
3
操作 指令  
周期 提升  
效率  
所需  
12  
/
1
/
助 符  
功能 明  
字 数  
期所需  
12  
12  
12  
12  
12  
24  
12  
12  
12  
12  
12  
24  
12  
12  
12  
12  
12  
24  
12  
12  
12  
12  
12  
12  
12  
ANL  
ANL  
ANL  
ANL  
ANL  
ANL  
ORL  
ORL  
ORL  
ORL  
ORL  
ORL  
XRL  
XRL  
XRL  
XRL  
XRL  
XRL  
CLR  
CPL  
RL  
A,Rn  
累加器与寄存器相“与”  
1
2
1
2
2
3
1
2
1
2
2
3
1
2
1
2
2
3
1
1
1
1
1
1
1
2
6
4
4
6
3
6
6
4
4
6
3
6
6
4
4
6
3
6
A,direct  
A,@Ri  
A,#data  
direct,A  
direct,#data  
A,Rn  
累加器与直接地址 元相“与”  
累加器与 接RAM 元相“与”  
累加器与立即数相“与”  
3
3
2
4
4
2
3
3
2
4
4
2
3
3
2
4
4
1
2
1
1
1
1
1
直接地址 元与累加器相“与”  
直接地址 元与立即数相“与”  
累加器与寄存器相“或”  
A,direct  
A,@Ri  
A,#data  
direct,A  
direct,#data  
A,Rn  
累加器与直接地址 元相“或”  
累加器与 接RAM 元相“或”  
累加器与立即数相“或”  
直接地址 元与累加器相“或”  
直接地址 元与立即数相“或”  
累加器与寄存器相“异或”  
累加器与直接地址 元相“异或”  
累加器与 接RAM 元相“异或”  
累加器与立即数相“异或”  
直接地址 元与累加器相“异或”  
直接地址 元与立即数相“异或”  
累加器清“0”  
A,direct  
A,@Ri  
A,#data  
direct,A  
direct,#data  
A
12  
A
累加器求反  
6
A
累加器循 左移  
12  
12  
12  
12  
12  
RLC  
RR  
A
累加器  
位位循 左移  
A
累加器循 右移  
RRC  
SWAP  
A
累加器  
位位循 右移  
A
累加器半字 交  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 16  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
控制 移 指令  
周期  
周期 提升  
效率  
所需  
12  
所需  
24  
/
1
/
助 符  
功能 明  
(短) 用子程序  
字 数  
ACALL  
CALL  
addr11  
addr16  
2
3
1
1
2
3
2
1
2
2
3
3
3
3
3
3
1
6
6
4
4
3
4
3
3
3
3
5
4
4
5
4
5
1
4
4
6
6
8
6
8
8
8
8
用子程序  
子程序返回  
中断返回  
(短) 移  
24  
24  
24  
24  
24  
24  
24  
24  
24  
24  
24  
24  
24  
24  
24  
12  
L
RET  
RETI  
AJMP  
addr11  
addr16  
re1  
JMP  
L
SJMP  
JMP  
@A+DPTR  
re1  
相 于DPTR的 接 移  
累加器 零 移  
JZ  
JNZ  
re1  
累加器非零 移  
CJNE  
CJNE  
CJNE  
CJNE  
DJNZ  
DJNZ  
NOP  
A,direct,re1 累加器与直接地址 元比 ,不相等  
4.8  
A,#data,re1  
累加器与立即数比 ,不相等  
6
6
Rn,#data,re1 寄存器与立即数比 ,不相等  
@Ri,#data,re1  
Rn,re1  
接RAM 元与立即数比 ,不相等  
4.8  
寄存器减1,非零 移  
直接地址 元减1,非零 移  
空操作  
6
direct,re1  
4.8  
12  
量操作 指令  
功能 明  
周期  
周期 提升  
效率  
所需  
12  
所需  
12  
/
1
/
助 符  
字 数  
CLR  
CLR  
SETB  
SETB  
CPL  
CPL  
ANL  
ANL  
ORL  
ORL  
MOV  
MOV  
JC  
C
清 位位  
1
2
1
2
1
2
2
2
2
2
2
2
2
2
3
3
3
1
4
1
4
1
4
3
3
3
3
3
3
3
3
4
4
5
12  
0
bit  
清 直接地址位  
0
置 位位  
1
置 直接地址位  
1
位位求反  
12  
12  
12  
12  
12  
24  
24  
24  
24  
12  
24  
24  
24  
24  
24  
24  
3
C
12  
bit  
3
C
12  
bit  
直接地址位求反  
3
8
8
8
8
4
8
8
8
6
6
C,bit  
C,bit  
C,bit  
C,bit  
C,bit  
bit,C  
re1  
位位和直接地址位相“与”  
位位和直接地址位的反 相“与”  
位位和直接地址位相“或”  
位位和直接地址位的反 相“或”  
直接地址位送入 位位  
位位送入直接地址位  
位位 1  
JNC  
JB  
re1  
位位 0  
bit,re1  
bit,re1  
bit,re1  
直接地址位 1  
直接地址位 0  
直接地址位 1  
JNB  
JBC  
移, 位清0  
4.8  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 17  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
指令 行速度效率提升  
指令系 共包111 指令,其中:  
行速度24的  
行速度12的  
共1条  
12条  
共1条  
行速度9.6的  
行速度8的  
21条  
37条  
共4条  
行速度6的  
行速度4.8的  
行速度4的  
21条  
14条  
行速度3的  
根据 指令的使用 率分析  
下运行速度提升8~12。  
,STC12列 1T 8051 片机比普通8051 片机在同 的工作 率  
指令 行  
(供参考:  
指令系 共包111 指令,其中:  
1个  
2个  
3个  
4个  
5个  
6个  
就可 行完成的指令  
就可 行完成的指令  
就可 行完成的指令  
就可 行完成的指令  
就可 行完成的指令  
就可 行完成的指令  
12条  
20条  
40条  
32条  
共5条  
共2条  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 18  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
特殊功能寄存器映像 SFR Mapping  
Bit  
Addressable  
Non Bit Addressable  
0/8  
1/9  
CH  
2/A  
3/B  
4/C  
5/D  
6/E  
7/F  
CCAP0H CCAP1H  
CCAP2H  
CCAP3H  
F8h  
F0h  
E8h  
E0h  
D8h  
FFh  
F7h  
EFh  
E7h  
DFh  
0000,0000 0000,0000 0000,0000 0000,0000 0000,0000  
B
0000,0000  
PCA_PWM0 PCA_PWM1 PCA_PWM2 PCA_PWM3  
xxxx,xx00 xxxx,xx00 xxxx,xx00 xxxx,xx00  
CL CCAP0L  
CCAP1L  
CCAP2L  
CCAP3L  
0000,0000 0000,0000 0000,0000 0000,0000 0000,0000  
ACC  
WDT_CONTR ISP_DATA ISP_ADDRH ISP_ADDRL ISP_CMD ISP_TRIG ISP_CONTR  
0000,0000 0x00,0000 1111,1111 0000,0000 0000,0000 xxxx,xx00 xxxx,xxxx 0000,1000  
CCON CMOD CCAPM0 CCAPM1 CCAPM2 CCAPM3  
00xx,0000 0xxx,x000 x000,0000 x000,0000 x000,0000 x000,0000  
PSW  
0000,0000  
D0h  
C8h  
C0h  
D7h  
CFh  
C7h  
ADC_CONTR ADC_DATA CLK_DIV  
0000,0000 0000,0000 xxxx,x000  
IP  
SADEN  
ADC_LOW2  
0000,0000  
B8h  
B0h  
A8h  
A0h  
98h  
90h  
88h  
80h  
BFh  
B7h  
AFh  
A7h  
9Fh  
97h  
8Fh  
87h  
x000,0000 don't use  
P3 P3M0  
1x11,1111 0000,0000 0000,0000  
IE SADDR  
P3M1  
IPH  
x000,0000  
0000,0000 don't use  
P2  
1111,1111  
TEST_WDT  
don't use  
SCON  
SBUF  
0000,0000 xxxx,xxxx  
P1 P1M0  
1111,1111 0000,0000 0000,0000 0000,0000 0000,0000 0000,0000 0000,0000  
TCON TMOD TL0 TL1 TH0 TH1 AUXR  
0000,0000 0000,0000 0000,0000 0000,0000 0000,0000 0000,0000 0000,00xx  
P0 SP DPL DPH SPSTAT SPCTL SPDAT  
xxxx,1111 0000,0111 0000,0000 0000,0000 00xx,xxxx 0000,0100 0000,0000 0011,0000  
0/8 1/9 2/A 3/B 4/C 5/D 6/E 7/F  
P1M1  
P0M0  
P0M1  
P2M0  
P2M1  
PCON  
出部分 Intel 8052 新增加的特殊功能寄存器,般用 可不管  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 19  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
STC12C5410AD列 8051 片机内核特殊功能寄存器 C51 Core SFRs  
Fax: 0755-82944243  
Mnemonic Add Name  
7
6
5
4
3
2
1
0
Reset Value  
0000,0000  
0000,0000  
ACC  
B
E0h Accumulator  
F0h B Register  
PSW  
SP  
D0h Program Status Word  
81h Stack Pointer  
CY AC F0 RS1 RS0 OV  
F1 P 0000,0000  
0000,0111  
DPL  
DPH  
82h Data Pointer Low Byte  
83h Data Pointer High Byte  
0000,0000  
0000,0000  
STC12C5410AD8051 片机系 管理特殊功能寄存System Management SFRs  
Mnemonic Add Name  
7
6
5
4
3
2
1
0
IDL  
-
Reset value  
0011,0000  
0000,00xx  
xxxx,x000  
PCON  
AUXR  
87h Power Control  
SMOD  
SMOD0  
LVDF  
POF  
GF1  
GF0  
PD  
8Eh Auxiliary Register T0x12 T1x12 UART_M0x6 EADCI ESPI  
ELVDI  
CLKS2  
-
CLK_DIV C7h Clock Divder  
-
-
-
-
-
CLKS1  
CLKS0  
STC12C5410AD8051 片机 I/O 口 特殊功能寄存器 Port SFRs  
Mnemonic Add  
Name  
7
6
5
4
3
2
1
0
Reset Value  
P0  
80h  
93h  
94h  
90h  
91h  
92h  
A0h  
95h  
96h  
B0h  
B1h  
B2h  
8-bit Port 0  
-
-
-
-
P0.3 P0.2 P0.1 P0.0 xxxx,1111  
P0M0  
P0M1  
P1  
0000,0000  
0000,0000  
8-bit Port 1 P1.7 P1.6 P1.5 P1.4 P1.3 P1.2 P1.1 P1.0 1111,1111  
P1M0  
P1M1  
P2  
0000,0000  
0000,0000  
8-bit Port 2 P2.7 P2.6 P2.5 P2.4 P2.3 P2.2 P2.1 P2.0 1111,1111  
P2M0  
P2M1  
P3  
0000,0000  
0000,0000  
8-bit Port 3 P3.7  
-
P3.5 P3.4 P3.3 P3.2 P3.1 P3.0 1x11,1111  
P3M0  
P3M1  
0000,0000  
0000,0000  
STC12C5410AD列 8051 片机 定 器 特殊功能寄存器  
Timer SFRs  
Mnemonic Add Name  
7
6
5
4
TR0  
M0  
3
2
1
IE0  
M1  
0
Reset Value  
0000,0000  
TCON  
TMOD  
88h Timer / Counter 0 and 1 ControlTF1  
TR1  
TF0  
IE1  
IT1  
IT0  
GATE C/T#  
GATE1 C/T1#  
M1  
M1_1  
GATE C/T#  
M0  
M0_0  
89h Timer / Counter 0 and 1 Modes  
0000,0000  
M1_0 GATE0 C/T0# M0_1  
TL0  
TH0  
TL1  
TH1  
AUXR  
8Ah Timer / Counter 0 Low Byte  
8Ch Timer / Counter 0 High Byte  
8Bh Timer / Counter 1 Low Byte  
8Dh Timer / Counter 1 High Byte  
8Eh Auxiliary Register  
0000,0000  
0000,0000  
0000,0000  
0000,0000  
0000,00xx  
T0x12 T1x12 UART_M0x6 EADCI ESPI ELVDI  
-
-
STC12C5410AD列 8051 片机 串行口 特殊功能寄存器  
Serial I/O Port SFRs  
Mnemonic Add Name  
7
6
5
4
3
2
1
0
Reset Value  
0000,0000  
xxxx,xxxx  
0000,0000  
0000,0000  
0000,00xx  
SCON  
SBUF  
SADEN  
SADDR  
AUXR  
98h Serial Control  
SM0/FE SM1  
SM2  
REN  
TB8 RB8  
TI  
RI  
99h Serial Data Buffer  
B9h Slave Address Mask  
A9h Slave Address  
8Eh  
Auxiliary Register T0x12  
T1x12 UART_M0x6 EADCI ESPI ELVDI  
-
-
STC12C5410AD列 8051 片机 看 狗定 器 特殊功能寄存器 Watch Dog Timer SFRs  
Mnemonic Add Name  
7
6
5
4
3
2
1
0 Reset Value  
Watch-Dog-Timer  
Control register  
WDT_CONTR E1h  
宏晶科技:  
WDT_FLAG - EN_WDT CLR_WDT IDLE_WDT PS2 PS1 PS0 xx00,0000  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 20  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
STC12C5410AD列 1T 8051  
Mnemonic Add Name  
片机 中断 特殊功能寄存Interrupt SFRs  
3
7
6
5
4
2
1
0
Reset Value  
0000,0000  
IE  
IP  
A8h Interrupt Enable  
EA  
EPCA_LVD EADC_SPI  
PPCA_LVD PADC_SPI  
ES  
ET1  
EX1  
ET0  
EX0  
Interrupt Priority  
B8h  
Low  
-
-
PS  
PT1  
PT1H  
IE1  
PX1  
PT0  
PX0  
xx00,0000  
0000,0000  
0000,0000  
Interrupt Priority  
High  
IPH  
B7h  
PPCA_LVDH PADC_SPIH  
PSH  
TR0  
PX1H PT0H PX0H  
Timer / Counter 0 and  
1 Control  
TCON  
88h  
TF1  
TR1  
TF0  
IT1  
IE0  
IT0  
SCON  
PCON  
AUXR  
98h Serial Control  
87h Power Control  
SM0/FE  
SMOD  
SM1  
SM2  
REN  
POF  
TB8  
GF1  
RB8  
GF0  
TI  
PD  
-
RI  
IDL  
-
0000,0000  
0011,0000  
0000,00xx  
0xx0,0000  
00xx,xxxx  
00xx,0000  
0xxx,x000  
SMOD0  
LVDF  
8Eh Auxiliary Register  
T0x12  
ADC_POWER  
SPIF  
T1x12 UART_M0x6  
EADCI  
ESPI  
ELVDI  
ADC_CONTR C5h A/D  
控制寄存器  
SPEED1  
SPEED0  
ADC_FLAG ADC_START CHS2 CHS1 CHS0  
SPSTAT  
CCON  
84h SPI Status Register  
D8h PCA Control Register  
D9h PCA Mode Register  
WCOL  
CR  
-
-
-
-
-
CCF3  
-
-
-
-
CF  
-
CCF2 CCF1 CCF0  
CPS1 CPS0 ECF  
CMOD  
CIDL  
-
-
PCA Module 0  
DAh  
CCAPM0  
CCAPM1  
CCAPM2  
CCAPM3  
-
-
-
-
ECOM0  
ECOM1  
ECOM2  
ECOM3  
CAPP0  
CAPP1  
CAPP2  
CAPP3  
CAPN0  
MAT0  
MAT1  
MAT2  
MAT3  
TOG0 PWM0 ECCF0 x000,0000  
TOG1 PWM1 ECCF1 x000,0000  
TOG2 PWM2 ECCF2 x000,0000  
TOG3 PWM3 ECCF3 x000,0000  
Mode Register  
PCA Module 1  
DBh  
CAPN1  
CAPN2  
CAPN3  
Mode Register  
PCA Module 2  
DCh  
Mode Register  
PCA Module 3  
DDh  
Mode Register  
STC12C5410AD列 8051 片机 PCA/PWM 特殊功能寄存器  
PCA/PWM SFRs  
Mnemonic Add Name  
7
6
5
4
3
2
1
0
Reset value  
CCF0 00xx,0000  
ECF 0xxx,x000  
CCON  
CMOD  
D8h PCA Control Register  
D9h PCA Mode Register  
PCA Module  
Mode Register  
PCA Module  
Mode Register  
PCA Module  
Mode Register  
PCA Module  
Mode Register  
CF  
CR  
-
-
-
CCF3 CCF2  
CCF1  
CIDL  
-
-
-
CPS1 CPS0  
0
CCAPM0  
CCAPM1  
CCAPM2  
CCAPM3  
DAh  
DBh  
DCh  
DDh  
-
-
-
-
ECOM0 CAPP0 CAPN0 MAT0 TOG0  
ECOM1 CAPP1 CAPN1 MAT1 TOG1  
ECOM2 CAPP2 CAPN2 MAT2 TOG2  
ECOM3 CAPP3 CAPN3 MAT3 TOG3  
PWM0  
PWM1  
PWM2  
PWM3  
ECCF0 x000,0000  
ECCF1 x000,0000  
ECCF2 x000,0000  
ECCF3 x000,0000  
1
2
3
CL  
CH  
E9h PCA Base Timer Low  
F9h PCA Base Timer High  
0000,0000  
0000,0000  
PCA Module-0 Capture  
Register Low  
CCAP0L  
CCAP0H  
CCAP1L  
CCAP1H  
CCAP2L  
CCAP2H  
CCAP3L  
CCAP3H  
EAh  
0000,0000  
0000,0000  
0000,0000  
0000,0000  
0000,0000  
0000,0000  
0000,0000  
0000,0000  
PCA Module-0 Capture  
Register High  
FAh  
PCA Module-1 Capture  
Register Low  
EBh  
PCA Module-1 Capture  
Register High  
FBh  
PCA Module-2 Capture  
Register Low  
ECh  
PCA Module-2 Capture  
Register High  
FCh  
PCA Module-3 Capture  
Register Low  
EDh  
PCA Module-3 Capture  
Register High  
FDh  
PCA PWM Mode  
Auxiliary Register  
PCA_PWM0 F2h  
PCA_PWM1 F3h  
PCA_PWM2 F4h  
PCA_PWM3 F5h  
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
EPC0H EPC0L xxxx,xx00  
EPC1H EPC1L xxxx,xx00  
EPC2H EPC2L xxxx,xx00  
EPC3H EPC3L xxxx,xx00  
0
1
2
3
PCA PWM Mode  
Auxiliary Register  
PCA PWM Mode  
Auxiliary Register  
PCA PWM Mode  
Auxiliary Register  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 21  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
STC12C5410AD列 8051 片机 ISP/IAP 特殊功能寄存器 ISP/IAP SFRs  
Fax: 0755-82944243  
Mnemonic Add Name  
7
6
5
4
3
2
1
0 Reset Value  
ISP_DATA E2h ISP/IAP Flash Data Register  
ISP_ADDRH E3h ISP/IAP Flash Address High  
ISP_ADDRL E4h ISP/IAP Flash Address Low  
1111,1111  
0000,0000  
0000,0000  
ISP_CMD  
E5h ISP/IAP Flash Command Register -  
-
-
-
-
-
MS1 MS0 xxxx,x000  
xxxx,xxxx  
ISP_TRIG E6h ISP/IAP Flash Command Trigger  
ISP_CONTR E7h ISP/IAP Control Register  
ISPEN SWBS SWRST CMD_FAIL 1 WT2 WT1 WT0 0000,1000  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 22  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
中断  
STC12C5410AD中断与普8051全兼容, 先 可  
4 。  
先 2  
Vector  
Polling  
Interrupt  
Source  
中断源  
Interrupt  
Request  
中断 求  
Address Sequence 中断  
中断  
向量地址  
先 0  
最低  
先 3  
最高  
先 1  
中断  
次序  
/INT0  
0003H  
000BH  
0013H  
001BH  
0023H  
002BH  
0(最 先) PX0H,PX0  
0,0  
0,0  
0,0  
0,0  
0,0  
0,1  
1,0  
1,0  
1,0  
1,0  
1,0  
1,0  
1,1  
1,1  
1,1  
1,1  
1,1  
1,1  
IE0  
Timer 0  
/INT1  
1
2
3
4
5
PT0H,PT0  
PX1H,PX1  
PT1H,PT1  
PSH, PS  
0,1  
0,1  
0,1  
0,1  
0,1  
TF0  
IE1  
Timer 1  
UART  
IF1  
RI + TI  
ADC/SPI  
PADC_SPIH,PADC_SPI 0,0  
ADC_FLAG + SPIF  
CF +  
CCF0 + CCF1 + CCF2 + CCF3  
+ LVDF  
PCA/LVD  
0033H  
6
PPCA_LVDH,PPCA_LVD 0,0  
0,1  
1,0  
1,1  
STC12C5410AD列 1T 8051  
片机 中断 特殊功能寄存Interrupt SFRs  
Mnemonic Add Name  
7
6
5
4
3
2
1
0
Reset Value  
0000,0000  
IE  
IP  
A8h Interrupt Enable  
EA  
EPCA_LVD EADC_SPI  
PPCA_LVD PADC_SPI  
ES  
ET1  
EX1  
ET0  
EX0  
Interrupt Priority  
B8h  
Low  
-
-
PS  
PT1  
PT1H  
IE1  
PX1  
PT0  
PX0  
xx00,0000  
0000,0000  
0000,0000  
Interrupt Priority  
High  
IPH  
B7h  
PPCA_LVDH PADC_SPIH  
PSH  
TR0  
PX1H PT0H PX0H  
Timer / Counter 0 and  
1 Control  
TCON  
88h  
TF1  
TR1  
TF0  
IT1  
IE0  
IT0  
SCON  
PCON  
AUXR  
98h Serial Control  
87h Power Control  
SM0/FE  
SMOD  
SM1  
SM2  
REN  
POF  
TB8  
GF1  
RB8  
GF0  
TI  
PD  
-
RI  
IDL  
-
0000,0000  
0011,0000  
0000,00xx  
0xx0,0000  
00xx,xxxx  
00xx,0000  
0xxx,x000  
SMOD0  
LVDF  
8Eh Auxiliary Register  
T0x12  
ADC_POWER  
SPIF  
T1x12 UART_M0x6  
EADCI  
ESPI  
ELVDI  
ADC_CONTR C5h A/D  
控制寄存器  
SPEED1  
SPEED0  
ADC_FLAG ADC_START CHS2 CHS1 CHS0  
SPSTAT  
CCON  
84h SPI Status Register  
D8h PCA Control Register  
D9h PCA Mode Register  
WCOL  
CR  
-
-
-
-
-
CCF3  
-
-
-
-
CF  
-
CCF2 CCF1 CCF0  
CPS1 CPS0 ECF  
CMOD  
CIDL  
-
-
PCA Module 0  
DAh  
CCAPM0  
CCAPM1  
CCAPM2  
CCAPM3  
-
-
-
-
ECOM0  
ECOM1  
ECOM2  
ECOM3  
CAPP0  
CAPP1  
CAPP2  
CAPP3  
CAPN0  
MAT0  
MAT1  
MAT2  
MAT3  
TOG0 PWM0 ECCF0 x000,0000  
TOG1 PWM1 ECCF1 x000,0000  
TOG2 PWM2 ECCF2 x000,0000  
TOG3 PWM3 ECCF3 x000,0000  
Mode Register  
PCA Module 1  
DBh  
CAPN1  
CAPN2  
CAPN3  
Mode Register  
PCA Module 2  
DCh  
Mode Register  
PCA Module 3  
DDh  
Mode Register  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 23  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
PCA/PWM 特殊功能寄存器 , 其中部分位PCA断有关  
Fax: 0755-82944243  
Mnemonic Add Name  
7
6
5
4
3
2
1
0
Reset value  
CCF3 CCF2 CCF1 CCF0 00xx,0000  
CPS1 CPS0 ECF 0xxx,x000  
CCON  
CMOD  
D8h PCA Control Register CF  
CR  
-
-
-
D9h PCA Mode Register  
CIDL  
-
-
-
PCA Module 0  
DAh  
CCAPM0  
CCAPM1  
CCAPM2  
CCAPM3  
-
-
-
-
ECOM0 CAPP0 CAPN0 MAT0 TOG0 PWM0 ECCF0 x000,0000  
ECOM1 CAPP1 CAPN1 MAT1 TOG1 PWM1 ECCF1 x000,0000  
ECOM2 CAPP2 CAPN2 MAT2 TOG2 PWM2 ECCF2 x000,0000  
ECOM3 CAPP3 CAPN3 MAT3 TOG3 PWM3 ECCF3 x000,0000  
Mode Register  
PCA Module 1  
DBh  
Mode Register  
PCA Module 2  
DCh  
Mode Register  
PCA Module 3  
DDh  
Mode Register  
CL  
CH  
E9h PCA Base Timer Low  
F9h PCA Base Timer High  
0000,0000  
0000,0000  
PCA Module-0 Capture  
Register Low  
CCAP0L  
CCAP0H  
CCAP1L  
CCAP1H  
CCAP2L  
CCAP2H  
CCAP3L  
CCAP3H  
EAh  
0000,0000  
0000,0000  
0000,0000  
0000,0000  
0000,0000  
0000,0000  
0000,0000  
0000,0000  
PCA Module-0 Capture  
Register High  
FAh  
PCA Module-1 Capture  
Register Low  
EBh  
PCA Module-1 Capture  
Register High  
FBh  
PCA Module-2 Capture  
Register Low  
ECh  
PCA Module-2 Capture  
Register High  
FCh  
PCA Module-3 Capture  
Register Low  
EDh  
PCA Module-3 Capture  
Register High  
FDh  
PCA PWM Mode  
Auxiliary Register 0  
PCA_PWM0 F2h  
PCA_PWM1 F3h  
PCA_PWM2 F4h  
PCA_PWM3 F5h  
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
EPC0H EPC0L xxxx,xx00  
EPC1H EPC1L xxxx,xx00  
EPC2H EPC2L xxxx,xx00  
EPC3H EPC3L xxxx,xx00  
PCA PWM Mode  
Auxiliary Register 1  
PCA PWM Mode  
Auxiliary Register 2  
PCA PWM Mode  
Auxiliary Register 3  
STC12C5410AD8051 片SPI能模 特殊功能寄存器 SPIF与中断有关  
Mnemonic Add Name 0 Reset value  
SPCTL 85h SPI Control Register SSIG SPEN DORD MSTR CPOL CPHA SPR1 SPR0 0000,0000  
SPSTAT 84h SPI Status Register SPIF WCOL -  
7
6
5
4
3
2
1
-
-
-
-
- 00xx,xxxx  
0000,0000  
SPDAT  
86h SPI Data Register  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 24  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
0/定 器1,UART口的速度  
Mnemonic Add Name  
7
6
5
4
3
2
1 0 Reset Value  
AUXR 8Eh Auxiliary Register T0x12 T1x12 UART_M0x6 EADCI ESPI ELVDI - - 0000,00xx  
01:  
STC12C5410AD列是 1T 8051 片机, 了兼容  
8051,定 01位后是  
8051  
的速度,12 分 , 是 兼容  
T0x12: 0, 0是  
8051但也可不 12 分 , 1T。  
8051度,121, 0速度是  
805112,不分  
805112,不分  
T1x12: 0, 1是  
8051度,121, 1速度是  
UART口用定 1波特率 生器,T1x12就可以控UART12T 1T。  
UART口的模0:  
STC12C5410AD列是 1T 8051 片机, 了兼容  
8051,UART口复位后是兼容  
8051。  
UART_M0x6: 0, UART 串口的模0是  
12T8051度,12分 ;  
1, UART口的模0速度是  
12T8051的62分  
EADCI:  
ESPI:  
0, 禁A/D 中断; 1,允 A/D断  
0, 禁SPI 中断; 1,允 SPI断  
ELVDI:  
0, 禁止低 中断; 1,允 低 中断  
5V 片机,3.7V 低 ,3V 片机,2.4V下 低 ,  
ELVDI=1(允 低 中断, 会 低 中断  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 25  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
系 工作  
STC12C5410AD 系列是 1T 8051 片机,系  
兼容  
8051。  
出厂 准配置是使用芯片内部R/C,5V 片机常温下 率5MHz - 6.9Hz,因 随着温度  
的 化,内R/C的 率会有一些温 ,  
率要求不敏感的 合。  
4MHz - 8MHz故内R/C 只适用于  
在 STC12C5410AD列 片机 ISP下 用 序 ,可以在  
“下次冷启 后 源 外部晶体或  
下 完用 程序后停 ,冷启 后 片机的工作  
后 生的高精度  
:
使用的就不是内R/C是外部晶体振  
XTAL2浮空。  
XTAL1/XTAL2脚上可以直接XTAL1外部  
如果 要 置成使用内R/C,在 STC12C5410AD列 片机 ISP下 用 序 ,可  
以在  
:
“下次冷启 后  
源 内R/C”  
分 寄存器,可将系  
分成 低 率工作  
系 分 及分 寄存器  
2
Mnemonic  
CLK_DIV  
Add Name  
7
6
5
4
3
1
0
Reset value  
xxxx,x000  
C7h Clock Divder  
-
-
-
-
-
CLKS2  
CLKS1  
CLKS0  
如用 系 希望大幅降低功耗, 可 系  
行分 。  
CLKS2  
CLKS1  
CLKS0  
CPU的  
工作  
(外部  
/2  
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
或内部R/C振  
)
/4  
/8  
/16  
/32  
/64  
/128  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 26  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
I/O口 构  
I/O配置  
STC12C5410AD 系列 片机其所I/O 口均可由 件配置4 工作 型之一,如下表所示。4 种  
型分 :准双向口( 8051 出模式 挽 出、 入(高阻)或开漏 出功能。每个口由  
2控制寄存器中的相 位控制每个引脚工作 型。STC12C5410AD列 片机上 复位后 准双向口(  
8051 出模式)模式。2V上  
高 平,0.8V下  
低 平。  
I/O 口工作 型 定  
P3口 定 <P3.7,P3.6,P3.5,P3.4,P3.3,P3.2,P3.1,P3.0>  
P3M0【 7: 0】  
P3M1【 7: 0】  
口 模 式  
I/ O  
准 双 向 口  
口 模 式 )  
(
流 可 达  
8 0 5 1 I/ O  
,
0
0
2 0 m A ,  
差 ,  
2 3 0 µ A ,  
由 于 制 造  
2 5 0 uA  
1 6 0 uA  
, 尽 量 少 用 )  
推 挽  
出 (  
上 拉  
出 , 可 达  
2 0 m A  
0
1
1
1
0
1
入 ( 高 阻 )  
开 漏  
, 内 部 上 拉  
阻 断 开 , 要 外 加  
(Open Drain)  
P2口 定 <P2.7,P2.6,P2.5,P2.4,P2.3,P2.2,P2.1,P2.0>  
P2M070】  
P2M170】  
口模式  
I/O  
8051 I/O  
拉 流  
准双向口  
(
可达  
口模式)  
,
0
0
20mA ,  
230µA ,  
由于制造 差,  
250uA 160uA  
推挽 出( 上拉 出,可达  
入(高阻)  
,尽量少用)  
20mA  
0
1
1
1
0
1
开漏  
,内部上拉 阻断开,要外加  
(Open Drain)  
P1口 定 <P1.7,P1.6,P1.5,P1.4,P1.3,P1.2,P1.1,P1.0>  
P1M0【7:0】  
P1M1【7:0】  
口模式(  
如做 使用,需先将其 置成开漏或高阻 入)  
A/D  
I/O  
P1.x  
准双向口(  
灌 流可达  
口模式)  
8051 I/O  
拉 流  
,
0
0
20mA ,  
230µA ,  
由于制造 差,  
250uA 160uA  
,尽量少用)  
0
1
1
0
推挽 出( 上拉 出,可达  
20mA  
口需作  
入(高阻),如果  
,如果  
使用,可 此模式  
A/D  
I/O  
1
1
开漏  
口需作  
I/O  
使用,可 此模式  
A/D  
(Open Drain)  
P0口 定 <P0.7,P0.6,P0.5,P0.4,P0.3,P0.2,P0.1,P0.0>  
P0M070】  
P0M170】  
口模式  
I/O  
准双向口  
口模式)  
,
(
8051 I/O  
拉 流  
可达  
0
0
20mA ,  
230µA ,  
由于制造 差,  
250uA 160uA  
推挽 出( 上拉 出,可达  
入(高阻)  
,尽量少用)  
20mA  
0
1
1
1
0
1
开漏  
,内部上拉 阻断开,要外加  
(Open Drain)  
例:  
MOV P1M0,#11000000B  
MOV P1M1,#10100000B  
;P1.7 开漏,P1.6 高阻 入,P1.5  
推挽 出,P1.4/P1.3/P1.2/P1.1/P1.0 弱上拉  
注意:  
然每I/O在弱上拉 都能承20mA灌 流( 是要加限流 阻,1K,560Ω等),在 推挽  
出 都能 20mA拉 流,但是整个芯片的工作 流推荐不要超 55mA。  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 27  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
1.准双向口 出配置  
准双向口 出 型可用作 出和 入功能而不需重新配置口  
能力很弱,允 外部装置将其拉低。当引脚 出 低 ,它的  
流。准双向口3 上拉晶体管适 不同的需要。  
出状 。 是因 当口  
出 1  
能力很 ,可吸收相当大的  
在3上拉晶体管中,1上拉晶体管称 “弱上拉当口 寄存器 1引脚本身也 1 打开。  
此上拉提供基本 流使准双向口 出 1果一个引脚 出 1而由外部装置下拉到低 上拉关 而  
“极弱上拉” 持开状 , 了把 个引脚 拉 低部装置必 有足 的灌 流能力使引脚上的  
以下。  
降到  
第2 上拉晶体管,称 “极弱上拉当口  
拉源 生很弱的上拉 流将引脚上拉 高 平。  
存 1 打开。当引脚 空 , 个极弱的上  
第3上拉晶体管称 “ 上拉当口  
存器0到1跳  
, 个上拉用来加快准双向口由  
0 到 。当 生 种情况 , 上拉打开 2 个机器周期以使引脚能 迅速地上拉到高 平。  
1
准双向口 出如下 所示。  
VDD  
VDD  
VDD  
由于制造 差,  
弱上拉能力  
250uA~160uA  
2个CPU  
200uA  
极弱  
30uA  
2mA  
端口  
引脚  
口 存数据  
灌 流最大  
20mA,  
出低  
入数据  
STC12LE5410 系列 片机 3V 器件,如果用 在引脚加5V  
,将会有 流从引脚流VDD,  
致 外的功率消耗。因此,建 不要在准双向口模式中3V 片机引脚施5V  
限流 阻,或用二极管做 入隔离,或用三极管做 出隔离。  
,如使用的 ,要加  
准双向口 有一个施密特触  
2.挽 出配置  
推挽 出配置的下拉 构与开漏 出以及准双向口的下拉 构相同,但当 存器 1 提供持 的  
入以及一个干 抑制 路。  
上拉。推挽模式一般用于需要更大  
推挽引脚配置如下 所示。  
流的情况。  
VDD  
拉 流最大可到20mA, 出高  
口 存数据  
端口  
引脚  
灌 流也可承20mA, 出低  
入数据  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 28  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
3 .  
入(高阻)配置  
入口配置如下 所示。  
入(高阻) ,不提供吸20mA 流的能力  
端口  
引脚  
入数据  
入口 有一个施密特触  
入以及一个干 抑制 路。  
4.开漏 出配置  
当口  
存器 0 ,开漏 出关 所有上拉晶体管。当作 一个  
出 , 种配置方式必 有  
外部上拉,一般通  
阻外接VDD。 方式的下拉与准双向口相同。 出口 配置如下 所示。  
开漏端口 有一个施密特触  
入以及一个干 抑制 路。  
端口  
引脚  
口 存数据  
灌 流也可承20mA, 出低  
入数据  
一种典型三极管控制 路  
R1  
R3  
10K(3.3K10K)  
I/O口  
R2  
15K(3.3K15K)  
如果用弱上拉控制,建 加上拉 R13.3K10K 果不加上拉 R13.3K10K 建  
R2的 在15K上,或用 推挽 出  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 29  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
看 狗 用及 程序  
适用型号: STC12C5410AD列  
Mnemonic Add Name  
Watch-Dog-Timer  
Control register  
7
6
5
4
3
2
1
0 Reset Value  
WDT_CONTR E1h  
WDT_FLAG - EN_WDT CLR_WDT IDLE_WDT PS2 PS1 PS0 xx00,0000  
SymbolFunction能  
WDT_FLAG  
When WDT overflowsthis bit is set. It can be cleared by software.  
看 狗溢出 志位,当溢出 , 位由硬件1,可用 件将其0。  
Enable WDT bit. When set, WDT is started  
EN_WDT  
看 狗允 位, 当 置 “1” ,看 狗启 。  
CLR_WDT  
WDT clear bit. When set, WDT will recount. Hardware will automatically clear  
this bit.  
看 狗清“0”位,当  
“1” ,看 狗将重新 数。硬件将自 清“0”此位。  
IDLE_WDT  
When set, WDT is enabled in IDLE mode. When clear, WDT is disabled in IDLE mode  
看 狗“IDLE”模式位,当 置 “1” ,看 狗定 器在“空 模式” 数  
当清“0” 位 , 看 狗定 器在“空 模式” 不 数  
PS2, PS1, PS0 Pre-scale value of Watchdog timer is shown as the bellowed table:  
看 狗定 器 分 ,如下表所示  
Pre-scale  
PS2  
PS1  
PS0  
WDT Period @20MHz  
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
2
39.3 mS  
78.6 mS  
157.3 mS  
314.6 mS  
629.1 mS  
1.25S  
4
8
16  
32  
64  
128  
256  
2.5S  
5S  
The WDT period is determined by the following equation 看 狗溢出  
看 狗溢出  
=( N x Pre-scale x 32768) / Oscillator frequency  
12MHz:  
看 狗溢出  
= ( 12 x Pre-scale x 32768) / 12000000 = Pre-scale x 393216 / 12000000  
P r e - s c a l e  
P S 2  
P S 1  
P S 0  
W D T P e r i o d @ 1 2 M H z  
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
2
6 5 . 5 m S  
1 3 1 . 0 m S  
2 6 2 . 1 m S  
5 2 4 . 2 m S  
1 . 0 4 8 5 S  
2 . 0 9 7 1 S  
4 . 1 9 4 3 S  
8 . 3 8 8 6 S  
4
8
1 6  
3 2  
6 4  
1 2 8  
2 5 6  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 30  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
11.0592MHz:  
Fax: 0755-82944243  
看 狗溢出  
= (12 x Pre-scale x 32768) / 11059200 = Pre-scale x 393216 / 11059200  
Pre-scale  
PS2  
PS1  
PS0  
WDT Period @11.0592MHz  
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
2
71.1 mS  
142.2 mS  
284.4 mS  
568.8 mS  
1.1377S  
2.2755S  
4.5511S  
9.1022S  
4
8
16  
32  
64  
128  
256  
言程序示例  
WDT_CONTR DATA  
;复位入口  
0E1H ;  
或者 WDT_CONTR EQU 0E1H  
ORG  
LJMP  
0000H  
Initial  
ORG  
0060H  
Initial:  
MOV  
WDT_CONTR, #00111100B; Load initial value 看 狗定 器控制寄存器初始化  
; EN_WDT = 1, CLR_WDT = 1, IDLE_WDT = 1, PS2 = 1, PS1 = 0, PS0 = 0  
Main_Loop:  
LCALL Display_Loop  
LCALL Keyboard_Loop  
MOV  
WDT_CONTR, #00111100B ; 喂狗, 不要用 ORL  
WDT_CONTR, #00010000B  
LJMP  
Main_Loop  
C 言程序示例  
#include<reg52.h>  
sfr  
WDT_CONTR = 0xe1;  
void main()  
{ ⋯  
WDT_CONTR = 0x3c;  
/* 0011,1100 EN_WDT = 1,CLR_WDT = 1,IDLE_WDT = 1,PS2 = 1,PS1 = 0,PS0 = 0 */  
while(1){  
display();  
keyboard();  
WDT_CONTR = 0x3c; /* 喂狗, 不要用 WDT_CONTR = WDT_CONTR | 0x10;*/  
}
}
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 31  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
;本程序  
STC12C5410AD STC12C2052AD 列 片机的看 狗及其溢出  
算公式  
;本演示程序STC-ISP Ver 3.0A.PCB 的下  
程工具上  
通 ,相关的工作状 P1上 示  
;看 狗及其溢出  
WDT_CONTR  
= (12 * Pre_scale *32768)/Oscillator frequency  
EQU 0E1H ; 看 狗地址  
WDT_TIME_LED  
EQU P1.5 ;P1.5 控制看 狗溢出  
;看 狗溢出 可由 指示灯亮的  
EQU P1.7 ; 用 P1.7 控制看 狗溢出复位指示灯, 如点亮表示 看 狗溢出复位  
指示灯的上一次状 位  
指示灯,  
度或熄 的  
度表示  
WDT_FLAG_LED  
Last_WDT_Time_LED_Status EQU 00H ; , 存 看 狗溢出  
;WDT 复位 (所用Oscillator frequency = 18.432MHz):  
;Pre_scale_Word EQU 00111100B ; 0,启 看 狗, 分 =32, 0.68S  
Pre_scale_Word EQU 00111101B ; 0,启 看 狗, 分 =64, 1.36S  
;Pre_scale_Word EQU 00111110B ; 0,启 看 狗, 分 =128, 2.72S  
;Pre_scale_Word EQU 00111111B ; 0,启 看 狗, 分 =256, 5.44S  
ORG 0000H  
AJMP MAIN  
ORG 0100H  
MAIN:  
MOV A, WDT_CONTR  
ANL A, #10000000B  
JNZ WDT_Reset  
;
是否 看 狗复位  
;WDT_CONTR.7 = 1, 看 狗复位, 跳 到看 狗复位程序  
;WDT_CONTR.7 = 0, 位, 冷启 , RAM 元内容 随机  
SETB Last_WDT_Time_LED_Status  
; 上 复位,  
;始化看 狗溢出  
指示灯的状 位 = 1  
CLR WDT_TIME_LED  
; 上 复位, 点亮看 狗溢出  
; 启 看 狗  
指示灯  
MOV WDT_CONTR, #Pre_scale_Word  
WAIT1:  
SJMP WAIT1  
; 循  
行本 句(停机),等待看 狗溢出复位  
;WDT_CONTR.7 = 1, 复位, 启 , RAM 元内容不 , 复位前的  
WDT_Reset:  
CLR WDT_FLAG_LED  
; 看 狗复位, 启  
; 是看 狗复位,点亮看 狗溢出复位指示灯  
JB Last_WDT_Time_LED_Status, Power_Off_WDT_TIME_LED; 1 灯, 0相 灯  
;根据看 狗溢出 指示灯的上一次状 位 置 WDT_TIME_LED 灯,  
;若上次亮本次就熄 , 若上次熄 本次就亮  
CLR WDT_TIME_LED  
; 上次熄 本次点亮看 狗溢出  
指示灯  
CPL Last_WDT_Time_LED_Status ; 将看 狗溢出  
指示灯的上一次状 位取反  
WAIT2:  
SJMP WAIT2  
; 循  
行本 句(停机),等待看 狗溢出复位  
Power_Off_WDT_TIME_LED:  
SETB WDT_TIME_LED  
; 上次亮本次就熄 看 狗溢出  
指示灯  
CPL Last_WDT_Time_LED_Status ; 将看 狗溢出  
WAIT3:  
SJMP WAIT3  
指示灯的上一次状 位取反  
; 循  
行本 句(停机),等待看 狗溢出复位  
END  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 32  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
如何用 件 系 复位  
用程序在运行 程当中,有 会有特殊需求,需要  
片机系  
复位( 启 之一,  
起来 麻 。 STC 新  
的8051 机由于硬件上未支持此功能,用 必 用 件模  
推出的增 8051据客 要求增加ISP_CONTR 特殊功能寄存器,  
了此功能。用 只需  
的控  
ISP_CONTR 特殊功能寄存器的其中两位 SWBS / SWRST 就可以系 复位了。  
ISP_CONTR:ISP/IAP制寄存器,地址在 0E7H 元  
B7  
B6 B5  
B4  
B3 B2 B1 B0 Reset Value  
WT2 WT1 WT0 0000,1000  
ISPEN SWBS SWRST CMD_FAIL 1  
ISPEN:  
SWBS:  
ISP/IAP 功能允 位。0:禁ISP/IAP 程改 Flash,1:允  
程改 Flash  
从用  
用程序区启 (0ISP 序区启 (1 SWRST 接配合  
才可以  
SWRST: 0: 不操作1:  
生 件系 复位,硬件自 清零。  
CMD_FAIL: 如果送ISP/IAP令,并 ISP_TRIG46h/B9h触 失 ,  
件清零。  
1,需由  
;从用  
用程序区(AP) 件复位并切 到用  
用程序区(AP)开始 行程序  
MOV ISP_CONTR, #00100000B;SWBS = 0(  
AP), SWRST = 1( 复位)  
用程序区(AP)开始 行程序  
AP), SWRST = 1( 复位)  
;从系 ISP 控程序区 件复位并切 到用  
MOV ISP_CONTR, #00100000B;SWBS = 0(  
;从用  
用程序区(AP) 件复位并切 到系 ISP 控程序区开始 行程序  
MOV ISP_CONTR, #01100000B;SWBS = 1( ISP), SWRST = 1( 复位)  
;从系 ISP 控程序区 件复位并切 到系 ISP 控程序区开始 行程序  
MOV ISP_CONTR, #01100000B;SWBS = 1(  
ISP), SWRST = 1( 复位)  
本复位是整个系 复位,所有的特殊功能寄存器都会复位到初始 ,I/O 也会初始化。  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 33  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
STC12C5410AD 系列 1T 8051 IAP 用  
STC12C5410AD列 1T 8051 片机EEPROM的 用  
-- IAP技 可  
EEPROM,内Flash写次数 100,000以上  
STC12C5410AD列 1T 8051 片机 ISP/IAP 特殊功能寄存器  
ISP/IAP SFRs  
3 2  
Mnemonic Add Name  
7
6
-
5
-
4
-
1 0 Reset Value  
1111,1111  
ISP_DATA E2h ISP/IAP Flash Data Register  
ISP_ADDRH E3h ISP/IAP Flash Address High  
ISP_ADDRL E4h ISP/IAP Flash Address Low  
0000,0000  
0000,0000  
ISP_CMD  
E5h ISP/IAP Flash Command Register-  
- - MS1 MS0 xxxx,xx00  
xxxx,xxxx  
ISP_TRIG E6h ISP/IAP Flash Command Trigger  
ISP_CONTR E7h ISP/IAP Control Register  
ISPEN SWBS SWRST CMD_FAIL 1 WT2 WT1 WT0 0000,1000  
ISP_DATA:  
ISP/IAP 操作 的数据寄存器。  
ISP/IAPFlash 出的数据放在此 ,Flash的数据也需放在此  
ISP_ADDRH:ISP/IAP作 的地址寄存器高八位。  
ISP_ADDRL:ISP/IAP 操作 的地址寄存器低八位。  
ISP_CMD:  
B7 B6  
ISP/IAP作 的命令模式寄存器, 命令触 寄存器触 方可生效。  
B5 B4 B3 B2 B1 B0 命 令 / 操 作  
模 式  
保 留  
-
命 令  
0 Standby  
-
-
-
-
-
-
-
-
-
-
0
0
待 机 模 式 , 无 ISP操 作  
从 用  
行 字  
用 程 序 区  
"Data Flash/EEPROM区 "  
-
-
-
1
0
1
从 用  
行 字  
用 程 序 区  
"Data Flash/EEPROM区 "  
"Data Flash/EEPROM区 "  
-
-
-
-
-
-
-
-
-
-
1
1
从 用  
用 程 序 区  
行 扇 区 擦 除  
程序在用  
用程序区 , 可以 数Flash (EEPROM) 字  
/ 字  
程/ 区擦除,  
STC12C5412AD/STC12LE5412AD外。STC12C5410AD列 片机出厂 就已完全加密。  
ISP_TRIG:  
ISP/IAP 操作 的命令触 寄存器。  
ISPEN(ISP_CONTR.7) = 1 , ISP_TRIG46h,再写B9h,  
ISP/IAP令才会生效。  
ISP_CONTR:ISP/IAP制寄存器,地址在 0E7H 元  
B7  
B6  
B5  
B4  
B3  
B2  
B1  
B0  
WT0 0000,1000  
程改 Flash  
从用 主程序区启 (0ISP 序区启 (1。  
0: 不操作;1: 生 件系 复位,硬件自 清零。  
Reset Value  
ISPEN SWBS SWRST  
CMD_FAIL 1  
WT2  
WT1  
ISPEN:  
SWBS:  
ISP/IAP 功能允 位。0:禁ISP/IAP 程改 Flash,1:允  
SWRST:  
CMD_FAIL: 如果送ISP/IAP令,并 ISP_TRIG46h/B9h触 失 ,  
件清零。  
1,需由  
;在用  
用程序区(AP) 件复位并从用  
MOV ISP_CONTR, #00100000B;SWBS = 0(  
用程序区(AP) 件复位并从系 ISP 控程序区开始 行程序  
MOV ISP_CONTR, #01100000B;SWBS = 1( ISP), SWRST = 1( 复位)  
;在系 ISP 控程序区 件复位并从用 用程序区(AP)开始 行程序  
MOV ISP_CONTR, #00100000B;SWBS = 0( AP), SWRST = 1( 复位)  
;在系 ISP 控程序区 件复位并从系 ISP 控程序区开始 行程序  
MOV ISP_CONTR, #01100000B;SWBS = 1( ISP), SWRST = 1( 复位)  
宏晶科技: 片/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 34  
用程序区(AP)开始 行程序  
AP), SWRST = 1( 复位)  
;在用  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
置 等 待  
WT2 WT1 WT0  
CPU  
Program/  
(多 少 个 CPU 工 作  
)
Sector Erase  
扇 区 擦 除  
Recommended System Clock  
跟 等 待 参 数  
Read/  
的 推 荐 系  
1
1
1
1
0
0
0
0
1
1
0
0
1
1
0
0
1
0
1
0
1
0
1
0
2个  
2个  
2个  
2个  
2个  
2个  
2个  
2个  
55个  
21012个  
42024个  
1MHz  
110个  
165个  
330个  
660个  
1100个  
1320个  
1760个  
2MHz  
63036个  
3MHz  
126072个  
252144个  
420240个  
504288个  
672384个  
6MHz  
12MHz  
20MHz  
24MHz  
30MHz  
STC12C5410AD列 片机内部可Data Flash(EEPROM)地址(与程序空 是分开的):  
如果  
用程序区 IAP 数据,  
句会被 片机忽略,  
行下一句。  
程序在用  
用程序区(AP) , 可以 Data Flash(EEPROM) IAP/ISP作。  
STC12C5412AD/STC12LE5412AD程序区可以修改 用程序区(灵活)。  
STC12C5410AD,STC12C5410,STC12LE5410AD,STC12LE5410  
STC12C5408AD,STC12C5408,STC12LE5408AD,STC12LE5408  
STC12C5406AD,STC12C5406,STC12LE5406AD,STC12LE5406  
STC12C5404AD,STC12C5404,STC12LE5404AD,STC12LE5404  
STC12C5402AD,STC12C5402,STC12LE5402AD,STC12LE5402  
STC12C5401AD,STC12C5401,STC12LE5401AD,STC12LE5401  
系列 片机内部可Data Flash(EEPROM)的地址:  
每 个 扇 区 512字  
4个 扇 区  
第 一 扇 区  
起 始 地 址  
第 二 扇 区  
起 始 地 址  
束 地 址  
29FFh  
束 地 址  
2BFFh  
同 一 次 修 改 的 数 据  
放 在 同 一 个 扇 区 , 不 必  
2800h  
2A00h  
, 当 然 可 全 用 , 用  
2K字 EEPROM 。  
第 三 扇 区  
第 四 扇 区  
由 于 擦 除 是 按 扇 区 擦  
除 , 所 以 每 个 扇 区 用 的  
越 少 越 方 便 , 256 个 字  
起 始 地 址  
2C00h  
束 地 址  
2DFFh  
起 始 地 址  
2E00h  
束 地 址  
2FFFh  
以 内  
合 理 。  
STC12C5412,STC12C5412AD,STC12LE5412,STC12LE5412AD 片机可 自身内部 用程序区 IAP/ISP  
操作,故所有部分均可Data Flash(EEPROM)使用,其地址如下:  
第 一 扇 区  
束 地 址  
01FFh  
第 二 扇 区  
第 三 扇 区  
束 地 址  
05FFh  
第 四 扇 区  
束 地 址  
07FFh  
起 始 地 址  
0000h  
起 始 地 址  
0200h  
束 地 址 起 始 地 址  
起 始 地 址  
0600h  
03FFh  
0400h  
第 五 扇 区  
束 地 址  
09FFh  
第 六 扇 区  
第 七 扇 区  
束 地 址  
0DFFh  
第 八 扇 区  
束 地 址  
0FFFh  
起 始 地 址  
0800h  
起 始 地 址  
0A00h  
束 地 址 起 始 地 址  
起 始 地 址  
0E00h  
0BFFh  
0C00h  
每 个 扇 区  
512字  
第 九 扇 区  
第 十 扇 区  
第 十 一 扇 区  
第 十 二 扇 区  
起 始 地 址  
1000h  
束 地 址  
11FFh  
起 始 地 址  
束 地 址 起 始 地 址  
束 地 址  
15FFh  
第 十 五 扇 区  
束 地 址 起 始 地 址 束 地 址  
1BFFh 1C00h 1DFFh  
第 十 九 扇 区  
束 地 址 起 始 地 址 束 地 址  
23FFh 2400h 25FFh  
第 二 十 二 扇 区 第 二 十 三 扇 区  
起 始 地 址 束 地 址 起 始 地 址 束 地 址  
2A00h 2BFFh 2C00h 2DFFh  
起 始 地 址  
1600h  
束 地 址  
17FFh  
同 一 次  
1200h  
13FFh  
1400h  
修 改 的 数 据  
放 在 同 一 个  
扇 区 , 不 必  
可 全 用  
第 十 三 扇 区  
起 始 地 址 束 地 址  
1800h  
第 十 四 扇 区  
第 十 六 扇 区  
起 始 地 址 束 地 址  
1E00h 1FFFh  
第 二 十 扇 区  
起 始 地 址 束 地 址  
2600h 27FFh  
第 二 十 四 扇 区  
起 始 地 址 束 地 址  
2E00h 2FFFh  
起 始 地 址  
1A00h  
, 当 然  
19FFh  
第 十 七 扇 区  
第 十 八 扇 区  
起 始 地 址  
2200h  
起 始 地 址  
2000h  
束 地 址  
21FFh  
第 二 十 一 扇 区  
起 始 地 址 束 地 址  
29FFh  
2800h  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 35  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
STC12C5410AD 系列 IAP 用 介  
STC12C5410AD 系列 EEPROM的 用  
;DATA EQU明新增特殊功能寄存器地址要看你用的  
器/  
ISP_DATA  
ISP_ADDRH  
ISP_ADDRL  
ISP_CMD  
DATA  
DATA  
DATA  
DATA  
DATA  
DATA  
0E2h;或  
0E3h;或  
0E4h;或  
0E5h;或  
0E6h;或  
0E7h;或  
ISP_DATA  
ISP_ADDRH  
ISP_ADDRL  
ISP_CMD  
EQU  
0E2h  
0E3h  
0E4h  
0E5h  
0E6h  
0E7h  
EQU  
EQU  
EQU  
EQU  
EQU  
ISP_TRIG  
ISP_CONTR  
ISP_TRIG  
ISP_CONTR  
;定 ISP/IAP令及等待  
ISP_IAP_BYTE_READ  
EQU 1  
;字  
;字  
ISP_IAP_BYTE_PROGRAM EQU 2  
,前提是 字 是空,0FFh  
空,要擦一扇区  
,30MHz0,24M1,  
;20MHz2,12M3,6M4,3M5,2M6,1M7,  
ISP_IAP_SECTOR_ERASE EQU 3  
;扇区擦除,要某字  
; 置等待  
WAIT_TIME  
EQU 0  
;字  
MOV ISP_ADDRH,#BYTE_ADDR_HIGH  
MOV ISP_ADDRL,#BYTE_ADDR_LOW  
MOV ISP_CONTR,#WAIT_TIME; 等待  
;送地址高字  
;送地址低字  
地址需要改  
才需重新送地址  
此两句可以合成一句,且只送一次就 了  
ORL ISP_CONTR,#10000000B;允 ISP/IAP作  
MOV ISP_CMD,  
MOV ISP_TRIG,  
MOV ISP_TRIG,  
#ISP_IAP_BYTE_READ;送字  
#46h ;先46h,再B9hISP/IAP 存器,每次都需如此  
#0B9h;送B9h,ISP/IAP令立即被触 起  
行程序。  
;数据 出ISP_DATA存器后,CPU  
命令,命令不需改  
,不需重新送命令  
;CPU IAP 完成后,才会  
NOP  
行程序  
MOV A,  
ISP_DATA  
;将 出的数据送Acc  
;以下 句可不用,只是出于安全考 而已  
MOV ISP_CONTR,#00000000B  
MOV ISP_CMD, #00000000B  
;MOV ISP_TRIG, #00000000B  
;MOV ISP_ADDRH,#0  
;禁ISP/IAP作  
;去ISP/IAP令  
;防ISP/IAP令 触  
;送地址高字  
;送地址低字  
元 00,指向EEPROM区  
元 00,防止 操作  
;MOV ISP_ADDRL,#0  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 36  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
;字  
程, 字  
FFh/ 空 可 其 程,否 不行,先 行扇区擦除  
程数据ISP_DATA,只有数据改  
MOV ISP_DATA, #ONE_DATA ;送字  
才需重新送  
MOV ISP_ADDRH,#BYTE_ADDR_HIGH ;送地址高字  
MOV ISP_ADDRL,#BYTE_ADDR_LOW ;送地址低字  
MOV ISP_CONTR,#WAIT_TIME; 等待  
地址需要改  
才需重新送地址  
此两句可合成一句,并且只送一次就 了  
ORL ISP_CONTR,#10000000B;允 ISP/IAP作  
MOV ISP_CMD, #ISP_IAP_BYTE_PROGRAM  
;字 程命令  
MOV ISP_TRIG, #46h  
MOV ISP_TRIG, #0B9h  
;先46h,再B9hISP/IAP存器,每次都需如此  
;送B9h,ISP/IAP令立即被触 起  
行程序.  
;CPU 等IAP 作完成后,才会  
NOP  
;字  
程成功后,CPU  
行程序  
;以下 句可不用,只是出于安全考 而已  
MOV ISP_CONTR,#00000000B;ISP/IAP作  
MOV ISP_CMD, #00000000B;ISP/IAP令  
;MOV ISP_TRIG, #00000000B;ISP/IAP令 触  
;MOV ISP_ADDRH,#0  
;MOV ISP_ADDRL,#0  
;送地址高字  
;送地址低字  
元 00,指向EEPROM,防止 操作  
元 00,指向EEPROM,防止 操作  
----------------------------------------------------  
小常 : (STC 片机Data Flash EEPROM能使用)  
3 个基本命---- 字 字 程,扇区擦除  
程:如果 字 是“1111, 1111B, 将其中的“1” 程 0如果  
有位 “0 ,  
“1 。  
先将整个扇区擦除,因 只有“扇区擦除”才可以将“0 ”  
扇区擦除:只有“扇区擦除”才可能将“0 ”擦除 “1 。  
大建 :  
1.一次修改的数据放在同一扇区中,不是同一次修改的数据放在另外的扇区,不  
出保 。  
2.如果一个扇区只用一个字 ,那就是真正EEPROM,STC 片机Data FlashEEPROM快很多,  
一个字 / 程一个字 大概0.2uS/60uS。  
3.果在一个扇区中存放了大量的数据,某次只需要修改其中的一个字 或一部分字  
需要修改的数据 先 出放STC 片机RAM,然后擦除整个扇区,再将需要保留的数据和需修改的  
数据一并写回 扇区中。 每个扇区使用的字 数是使用的越少越方便(不需 出一大堆需保留数据)。  
, 另外的不  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 37  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
;区擦除,没有字 擦除,只有扇区擦除,512 字 / ,个扇区用得越少越方便  
;果要 某个扇区 行擦除,而其中有些字 的内容需要保留, 需将其先 到 片机  
;RAM 保存,再将 扇区擦除,然后将 保留的数据写回 扇区,所以每个扇区  
;用的字 数越少越好,操作起来越灵活越快.  
MOV ISP_ADDRH, #SECTOR_FIRST_BYTE_ADDR_HIGH ;送扇区起始地址高字  
MOV ISP_ADDRL, #SECTOR_FIRST_BYTE_ADDR_LOW ;扇区起始地址低字  
MOV ISP_CONTR, #WAIT_TIME; 等待  
地址需要改  
才需重新送地址  
此两句可以合成一句,且只送一次就 了  
ORL ISP_CONTR, #10000000B;允 ISP/IAP  
MOV ISP_CMD, #ISP_IAP_SECTOR_ERASE;送扇区擦除命令,命令不需改  
,不需重新送命令  
MOV ISP_TRIG,  
MOV ISP_TRIG,  
#46h  
;先46h,再B9hISP/IAP存器,每次都需如此  
;送B9h,ISP/IAP令立即被触 起  
#0B9h  
;CPU 等IAP 作完成后,才会  
NOP  
行程序.  
;区擦除成功后,CPU  
行程序  
;以下 句可不用,只是出于安全考 而已  
MOV ISP_CONTR, #00000000B  
MOV ISP_CMD, #00000000B  
;MOV ISP_TRIG, #00000000B  
;MOV ISP_ADDRH, #0  
;禁ISP/IAP作  
;去ISP/IAP令  
;防ISP/IAP令 触  
;送地址高字  
;送地址低字  
元 00,指向EEPROM区  
元 00,防止 操作  
;MOV ISP_ADDRL, #0  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 38  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
程序演示  
;STC12C5410AD STC12C2052AD  EEPROM/IAP 能  
;/* --- STC International Limited ---------------- */  
;/* --- 宏晶科技 姚永平  
2006/1/6 V1.0 ----- */  
;/* --- 演示 STC12C5410AD 系列 MCU EEPROM/IAP 功- */  
;/* --- 演示 STC12C2052AD 系列 MCU EEPROM/IAP 功- */  
;/* --- Mobile: 13922805190 ---------------------- */  
;/* --- Fax: 0755-82944243 ----------------------- */  
;/* --- Tel: 0755-82948409 ----------------------- */  
;/* --- Web: www.mcu-memory.com ------------------ */  
;本演示程序STC-ISP Ver 3.0A.PCB 的下  
程工具上  
通 ,EEPROM数据P1上 示  
;------------------------------------------------  
;声明IAP/ISP/EEPROM关的特殊功能寄存器的地址  
ISP_DATA  
ISP_ADDRH  
ISP_ADDRL  
ISP_CMD  
EQU 0E2H  
EQU 0E3H  
EQU 0E4H  
EQU 0E5H  
EQU 0E6H  
EQU 0E7H  
ISP_TRIG  
ISP_CONTR  
;定 ISP/IAP令  
ISP_IAP_BYTE_READ  
EQU 1H ;字  
ISP_IAP_BYTE_PROGRAM EQU 2H ;字  
ISP_IAP_SECTOR_ERASE EQU 3H ;区擦除,0 10 成1 擦除整个扇区  
;定 Flash 操作等待 及允 IAP/ISP/EEPROM作的常数  
,1 01 成0必  
行字  
;ENABLE_ISP  
;ENABLE_ISP  
ENABLE_ISP  
;ENABLE_ISP  
;ENABLE_ISP  
;ENABLE_ISP  
;ENABLE_ISP  
;ENABLE_ISP  
EQU 80H  
; 系 工作  
; 系 工作  
; 系 工作  
; 系 工作  
; 系 工作  
; 系 工作  
; 系 工作  
; 系 工作  
<30MHz , ISP_CONTR存器 置此  
EQU 81H  
EQU 82H  
EQU 83H  
EQU 84H  
EQU 85H  
EQU 86H  
EQU 87H  
<24MHz , ISP_CONTR存器 置此  
<20MHz , ISP_CONTR存器 置此  
<12MHz , ISP_CONTR存器 置此  
<6MHz , ISP_CONTR存器 置此  
<3MHz , ISP_CONTR存器 置此  
<2MHz , ISP_CONTR存器 置此  
<1MHz , ISP_CONTR存器 置此  
DEBUG_DATA  
EQU 5AH ;本  
程序 定EEPROM 元的数 如正确 等于的数  
;------------------------  
MCU 型号  
;DATA_FLASH_START_ADDRESS EQU 1000H ;STC12C2052AD 系列 片机EEPROM  
;
起始地址  
起始地址  
DATA_FLASH_START_ADDRESS EQU 2800H ;STC12C5410AD 系列 片机EEPROM  
;------------------------------------------------  
ORG 0000H  
LJMP MAIN  
;------------------------------------------------  
ORG 0100H  
MAIN:  
MOV  
P1,#0F0H  
;演示程序开始工作, P1.0/P1.1/P1.2/P1.3制的灯亮  
LCALL Delay  
;延  
MOV  
P1,#0FH  
;演示程序开始工作, P1.7/P1.6/P1.5/P1.4制的灯亮  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 39  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
LCALL Delay  
MOV SP, #7FH  
;延  
;堆 指 指向 7FH 元  
;************************************************  
;EEPROM  
MAIN1:  
MOV  
起始地址 元的内容 出  
DPTR, #DATA_FLASH_START_ADDRESS ;EEPROM  
起始地址DPTR据指  
LCALL Byte_Read  
MOV  
40H, A  
; EEPROM 40H 元保存  
CJNE  
A, #DEBUG_DATA, DATA_NOT_EQU_DEBUG_DATA ; 如果数据比 不正确,就跳  
DATA_IS_DEBUG_DATA:  
;数据是 的,P1.7制的灯,然后P1EEPROM数据 示出来  
MOV  
P1, #01111111B ; (DATA_FLASH_START_ADDRESS)的 等#DEBUG_DATA, P1.7  
;延  
A, 40H ;将保存40H 元EEPROM的 从40H 元送累加A  
LCALL Delay  
MOV  
CPL  
MOV  
A
;取反的目的是相 的灯亮代1,不亮代0  
;据是 的,送 P1 示  
P1,A  
WAIT1:  
SJMP WAIT1  
;数据是 的,送 P1 示后,CPU此无限循  
行此句  
DATA_NOT_EQU_DEBUG_DATA:  
;EEPROM的数据是 的,P1.3制的灯,然后P1上将  
的数据 示出来,  
;再将 EEPROM在的扇区整个擦除,将正确的数据写入后,P1.5制的灯  
MOV P1, #11110111B ;(DATA_FLASH_START_ADDRESS)的 不等#DEBUG_DATA, P1.3  
LCALL Delay ;延  
A, 40H ;保存40H 元EEPROM的 从40H 元送累加A  
MOV  
CPL  
MOV  
A
;反的目的是相 的灯亮代1,不亮代0  
P1, A  
;数据不 ,送 P1 示  
;延  
LCALL Delay  
MOV  
DPTR,#DATA_FLASH_START_ADDRESS ;EEPROM  
起始地址DPTR据指  
起始地址DPTR据指  
ACALL Sector_Erase ;擦除整个扇区  
MOV  
MOV  
DPTR, #DATA_FLASH_START_ADDRESS ;EEPROM  
A, #DEBUG_DATA  
; 写入 EEPROM 的数据 #DEBUG_DATA  
; 字  
; 将先前亮P1.3 ,再亮 P1.5,代表数据已被修改  
ACALL Byte_Program  
MOV P1, #11011111B  
WAIT2:  
SJMP WAIT2  
;************************************************  
; 字  
程后,CPU此无限循  
行此句  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 40  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
;------------------------------------------------  
; 一字 , 用前需打开 IAP 功能,入口:DPTR = 字 地址,返回:A =  
Byte_Read:  
Fax: 0755-82944243  
出字  
MOV  
ISP_CONTR, #ENABLE_ISP  
; 打开 IAP 功能, 置 Flash 操作等待  
MOV  
MOV  
MOV  
;CLR  
ISP_CMD,  
# ISP_IAP_BYTE_READ ; 置 IAP/ISP/EEPROM 式命令  
ISP_ADDRH, DPH  
ISP_ADDRL, DPL  
EA  
; 置目  
; 置目  
元地址的8地址  
元地址的8地址  
MOV  
ISP_TRIG, #46H  
ISP_TRIG, #0B9H  
;先46h,再B9hISP/IAP存器,每次都需如此  
;送B9h,ISP/IAP令立即被触 起  
MOV  
NOP  
MOV  
A, ISP_DATA  
EA  
; 出的数据ISP_DATA 元中,送入累加A  
;SETB  
ACALL IAP_Disable ; IAP 功能, 清相关的特殊功能寄存器,使CPU 于安全状 ,  
;IAP作完成之后建 关 IAP能,不需要每次都关  
RET  
;------------------------------------------------  
;字 程, 用前需打开 IAP 功能,入口:DPTR = 字 地址, A=  
Byte_Program:  
MOV ISP_CONTR, #ENABLE_ISP  
MOV ISP_CMD, # ISP_IAP_BYTE_PROGRAM  
程字 的数据  
; 打开 IAP 功能, 置 Flash 操作等待  
; 置 IAP/ISP/EEPROM字  
程模式命令  
MOV ISP_ADDRH, DPH  
MOV ISP_ADDRL, DPL  
MOV ISP_DATA, A  
;CLR EA  
; 置目  
; 置目  
元地址的8地址  
元地址的8地址  
; 要 程的数据先送 ISP_DATA存器  
MOV ISP_TRIG, #46H  
; 先46h,再B9hISP/IAP 存器,每次都需如此  
; 送B9h,ISP/IAP令立即被触 起  
MOV ISP_TRIG, #0B9H  
NOP  
;SETB EA  
ACALL IAP_Disable ; 关 IAP 功能, 清相关的特殊功能寄存器,使CPU 于安全状 ,  
;IAP作完成之后建 关 IAP能,不需要每次都关  
RET  
;------------------------------------------------  
;擦除扇区, 入口:DPTR = 扇区地址  
Sector_Erase:  
MOV ISP_CONTR, #ENABLE_ISP  
MOV ISP_CMD, #03H  
; 打开 IAP 功能, 置 Flash 操作等待  
; 置 IAP/ISP/EEPROM区擦除模式命令  
MOV ISP_ADDRH, DPH  
MOV ISP_ADDRL, DPL  
; 置目  
; 置目  
元地址的8地址  
元地址的8地址  
;CLR  
EA  
MOV ISP_TRIG, #46H  
; 先46h,再B9hISP/IAP 存器,每次都需如此  
; 送B9h,ISP/IAP令立即被触 起  
MOV ISP_TRIG, #0B9H  
NOP  
;SETB EA  
ACALL IAP_Disable ; 关 IAP 功能, 清相关的特殊功能寄存器,使CPU 于安全状 ,  
;IAP作完成之后建 关 IAP能,不需要每次都关  
RET  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 41  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
;------------------------------------------------  
IAP_Disable:  
;关 IAP 功能, 清相关的特殊功能寄存器,使CPU 于安全状 ,  
;一次  
IAP作完成之后建 关 IAP能,不需要每次都关  
; 关 IAP 功能  
MOV ISP_CONTR, #0  
MOV ISP_CMD, #0  
MOV ISP_TRIG, #0  
RET  
; 清命令寄存器,使命令寄存器无命令,此句可不用  
; 清命令触 寄存器,使命令触 寄存器无触 ,此句可不用  
;------------------------------------------------  
Delay:  
CLR A  
MOV R0, A  
MOV R1, A  
MOV R2, #20H  
Delay_Loop:  
DJNZ R0, Delay_Loop  
DJNZ R1, Delay_Loop  
DJNZ R2, Delay_Loop  
RET  
;------------------------------------------------  
END  
;************************************************  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 42  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
STC12C5410AD 系列 片机定 器的使用及 程序  
0 和1  
定 和 数功能由特殊功能寄存TMOD控制C/T 行  
,TMOD存器的各位信息如下表所列。  
2定 / 数器的模01和  
可以看出,2定 / 数器4操作模式,通 TMODM1M0  
2相同,模3同,各模式下的功能如下所述。  
寄存TMOD位的功能描述  
TMOD  
地址:89H  
复位 :00H  
不可位 址  
7
6
5
4
3
2
1
0
GATE C/T  
M1  
M0  
GATE C/T  
M1  
M0  
0  
1  
符号  
GATE  
功能  
TMOD.7/  
TMOD.7制定 1,1 INT1TR1制位1 才  
可打开定 / 1。  
TMOD.3/  
TMOD.6/  
TMOD.2/  
GATE  
C/T  
TMOD.3制定 0,1 INT0TR0制位1 才  
可打开定 / 0。  
TMOD.6 制定 1 作定 器或 数器,清零 用作定 器(从内  
部系  
TMOD.2 制定 0 作定 器或 数器,清零 用作定 器(从内  
部系 入 1作 数器(T0/P3.4)  
1 数器(T1/P3.5)  
C/T  
TMOD.5/TMOD.4 M1M0  
/ 1式  
0
0
13 位定 / 器,兼8048 定 器模式,TL1 只用5 参与分  
,TH18全用。  
0
1
1
1
0
1
16  / 器,TL1TH1 用  
8 位自 重装 定 器,当溢出 TH1 放的 自 重装TL1。  
/ 1 此 效(停止 数。  
/ 0式  
TMOD.1/TMOD.0 M1M0  
0
0
13 位定 / 器,兼8048 定 器模式,TL0 只用5 参与分  
,TH08全用。  
0
1
1
1
0
1
16  / 器,TL0TH0 用  
8 位自 重装 定 器,当溢出 TH0 放的 自 重装TL0。  
0此 作 双8 / 器。TL08 /  
数器,通  
准定 0控制位控制。TH0 作 一8定 器,  
由定 1控制位控制。  
1.0  
将定 器 置成模0  
80488位 器 32分 的 分 。下 所示 模0  
工作方式。此模式下,定 器配置 13的 数器,TLn5THn的8所构成。TLn低5溢出  
THn 位,THn 数溢出置TCON的溢出 志TFn(n=0,1 GATE=0 ,TRn=1, 定 器 数。  
GATE=1 ,允 由外部 INT1制定 1,INT0制定 0,  
量。TRn TCON寄  
存器内的控制位,TCON存器各位的具体功能描述 TCON存器各位的具体功能描述表。  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 43  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
OSC  
÷d*  
C/T=0  
TLn  
THn  
TFn  
中断  
5 )  
(8 位)  
C/T=1  
Tn 脚  
控制  
TRn  
n  
GATE 位  
INTn 脚  
* T0x12 = 0 模式下,d=12(12  
模式)T0x12 = 1 模式下,d=1(1T)。  
/ 0 / 1 0  
表 寄存TCON 位的功能描述  
13 位定 / 数器  
TCON 地址:88H  
7
6
5
4
3
2
1
0
可位 址  
复位 :00H  
TF1  
TR1  
TF0  
TR0  
IE1  
IT1  
IE0  
IT0  
符 号  
功 能  
/ 1出 志位。T1允  
高位 生溢出 ,置“1TF1CPU 中断,CPU 响  
清“0TF1TF1 可以由程序 或清“0 。  
数后,T1初 开始1 ,最  
,由硬件  
TCON.7  
TF1  
T1运行控制位。 位由 件置位和清零。GATE(TMOD.7)=0,TR1=1  
就允 T1始 数,TR1=0 禁T1 数。GATE(TMOD.7)=1,TR1=1INT1 入  
高 平 ,才允 T1 数。  
TCON.6  
TCON.5  
TR1  
TF0  
/ 0出 志位。T0允  
位 生溢出 ,置“1”TF0,并CPU 求中断,CPU响  
TF0可以由程序 或清“0。  
数后,T0初 开始1 ,最高  
,由硬件清“0”TF0,  
T0运行控制位。 位由 件置位和清零。GATE(TMOD.3)=0,TR0=1  
就允 T0始 数,TR1=0 禁T0 数。GATE(TMOD.3)=1,TR0=1INT0 入  
高 平 ,才允 T0 数。  
TCON.4  
TCON.3  
TR0  
IE1  
外部中1断 求 志位。当主机响 中断 向 中断服 程序 行 ,由内部硬件  
IE10。  
外部中1触 式控制位。IT1=0 ,外部中1 低 触 方式,INT1(P3.  
3) 入低 平 IE1用低 平触 方式 部中断INT1必 保  
持低 平有效,直到 中断CPU同 在 中断服 程序 行完之前,外部中断源  
必 被清除(P3.3 否 将 另一次中断。IT1=1 , 外部中1(INT1)  
端口由“1”→“0”下降沿跳 ,激活中断 求 志IE1,向主机 求中断 理。  
TCON.2  
TCON.1  
IT1  
IE0  
外部中0断 求 志位。当主机响 中断 向 中断服 程序 行 ,由内部硬件  
IE00。  
外部中1触 式控制位。IT0=0 ,外部中0 低 触 方式,INT0(P3.  
2) 入低 平 IE0用低 平触 方式 部中断INT0必 保  
持低 平有效,直到 中断CPU同 在 中断服 程序 行完之前,外部中断源  
必 被清除(P3.2 否 将 另一次中断。IT0=1 , 外部中0(INT0)  
端口由“1”→“0”下降沿跳 ,激活中断 求 志IE1,向主机 求中断 理。  
TCON.0  
IT0  
13寄存器包THn8TLn5。TLn3不定,可将其忽略。置位运行  
TRn能清零此寄存器0操作 于定 01是相同的2不同GATETMOD.  
7和TMOD.3)分 分配 定 10。  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 44  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
2.1  
1 了使用THn TLn 16 位外,其他与模0 全相同。  
OSC  
÷d*  
C/T=0  
TLn  
THn  
TFn  
中断  
(8 位)  
(8 位)  
C/T=1  
Tn 脚  
控制  
TRn  
n  
GATE 位  
INTn 脚  
* T0x12 = 0 模式下,d=12(12  
模式)T0x12 = 1 模式下,d=1(1T)。  
/ 0 / 1 1  
16 位定 / 数器  
3.2  
此模式下定 / 0 和1 作 自 重装 8 器(TLn 下 所示。TLn 溢  
出不 置TFn,而且THn容重新装TLn,THn容由 件 置,重装 THn容不 。模2操  
作 于定 01相同的。  
OSC  
÷d*  
C/T=0  
TLn  
TFn  
中断  
(8 位)  
C/T=1  
Tn 脚  
控制  
重装  
TRn  
n  
GATE 位  
THn  
(8 位)  
INTn 脚  
* T0x12 = 0式下,d=12(12  
模式)T0x12 = 1 模式下,d=1(1T)。  
/ 0 和1 2  
: 8 位自 重装  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 45  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
4.3  
1在模3 1 止 数,效果与TR1 置 0 同。  
0,此模式下定 0的TL0TH0作 2独立8位 器。下  
3 定 器  
0
。TL0用定 0控制位:C/T、GATE、TR0、INT0TF0。TH0定 定 器功能( 数器周  
用定 1 的TR1 及TF1 TH0 制定 1 断。  
3 是 增加一个附加8  / 器而提供的,使 片机具有三个定 / 器。  
3适用于定 / 0,定 T1 于模3 TR1=0,停止 数(此 T1 可用来作  
串行口波特率 生器 T0作 两个定 器用。  
OSC  
÷d*  
C/T=0  
TL0  
TF0  
中断  
(8 位)  
C/T=1  
T0 脚  
控制  
TR0  
0  
GATE 位  
INT0 脚  
TH0  
OSC  
÷d*  
TF1  
中断  
(8 位)  
控制  
TR1  
* T0x12 = 0 模式下,d=12(12  
模式)T0x12 = 1 模式下,d=1(1T)。  
定 / 数0 3  
8 位 器  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 46  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
定 器 用 例  
1】 定 /  程,定 / 数器的 用 程主要需考 :根据 用要求,通 程序初  
始化,正确 置控制字,正确 算和 算 数初 , 写中断服 程序,适  
置 序大致如下:  
置控制位等。通常情况下,  
1)工作方式控制字(TMOD、T2CON)的 置;  
2) 数初 的 算并装THx、TLx、RCAP2H、RCAP2L;  
3)中断允 ETx、EA,使主机开放中断;  
4) /TRx 等。  
以定 / 数0 或1 作一 要介 。  
8051列 片机的定 / 0或1以不断1 行 的,即属1 器,因此,就不能  
直接将  
的 数 作  
数初 送入 数寄存THx、TLx去,而必 将  
28、213、216  
模求 ,以其  
数初  
THxTLx。  
X, 数器 度 n(n=8、13、16,  
装入 数THx、TLx的 数初  
2n-x2n 取模 。例如,工作方0 的 数 度 13 n=13213 模,工作方1  
的 数 度 16, n=16216 模等等。所以, 数初 x= 2 n-x。  
于定 模式,是 机器周期 数,而机器周期与 定的主 密切相关。因此,需根据 用系 所  
算出机器周期 。 以主 6MHz 例, 机器周期 :  
定的主  
12  
12  
μs  
一个机器周=  
2μs  
=
=
106  
主振 率  
Tc = x · Tp  
Tp 器周期,Tc 需定  
Tp即可求得所需 数 x,再x求  
,x 所需 数次数。Tp 和Tp  已知 ,在求出  
,即求得定  
数初 。即  
(x) = 2n - x  
例如, 定  
Tc = 5ms ,机器周TP = 2 μs,可求得定  
数次数  
5ms  
x =  
= 2500次  
数初  
2μs  
用工作方1, n=16,  
置的定  
x) = 216 - x=65536-2500=63036,  
需将它分解成两8十六 制数,分 求得8位 3CHTLx,8位 F6HTHx。  
工作方0、1、2最大 数次数分  
外部事件 数模式,只需根据  
8192、65536256。  
数次数求 后 成两个十六 制 即可。  
定 / 数1定 式,定  
2】 定 / 数器 用 程, 某 用系 ,  
Tc = 10ms,  
F0H,8  
率 12MHz,10ms主机 求 理。 定工作方1。 算得 数初 :8初  
位初  
D8H。  
(1)初始化程序  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 47  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
所 初始化,一般在主程序中根据 用要求 定 / 数器 行功能  
本例初始化程序如下:  
及参数 定等 置程序,  
START:  
;主程序段  
MOV SP,#60H  
MOV TMOD,#10H  
MOV TH1,#0D8H  
MOV TL1,#0F0H  
SETB EA  
; 置堆 区域  
T 1 、定 模式,工作方1  
; 置高字  
; 置低字  
数初  
数初  
开中断  
SETB ET1  
其他初始化程序  
SETB TR1  
;启 T1 始  
主程序  
(2 )中断服 程序  
INTT1:  
PUSH A  
PUSH DPL  
PUSH DPH  
MOV TL1,#0F0H  
MOV TH1,#0D8H  
重新置初  
;中断 理主体程序  
POP DPH  
POP DPL  
POP A  
RETI  
恢复  
;返回  
里展示了中断服 子程序的基本格式。8052列 片机的中断属于矢量中断,每一个矢量中断源  
只留8 字  
3】 外部正脉冲  
定 / 数1 行 作。本例 用定 / 数0(T0)以定 模式,工作方1 INT0脚上的正  
脉冲 行脉  
元,一般是不 用的,常需用 移指令 到真正的中断服 子程序区去 行。  
定 / 数2  方便,但也可 用定 / 数0或  
INT0 引脚  
T0 数  
停止  
置GATE 1机器周TP 1 μs本例程序段 制如下:  
INTT0: MOV TMOD,#09H ; T0 定 方1GATE 1  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 48  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
MOV TL0,#00H  
MOV TH0,#00H  
CLR EX0  
TH0,TL00  
INT0 断  
LOP1:  
LOP2:  
JB  
P3.2LOP1  
;等INT0  平  
;等INT0 脚高 平  
;启 T0 始 数  
;等INT0 低 平  
;停T0 数  
JNB P3.2,LOP2  
SETB TR0  
LOP3:  
JB  
P3.2LOP3  
CLR TR0  
MOV ATL0  
MOV BTH0  
;低字  
;高字  
A  
B  
; 算脉 和 理  
4】 利用定 / 数0 定 / 数1 Tx 端口改造成外部中断源 入端口的 用  
在某些 用系 中常会出 原有的两个外部中断INT0 INT1 不 用,而定 / 数器有多余,  
Tx 于增加的外部中断源。 定 / 数1 部事件 数模式工作方2自 再装  
, 置  FFH, T1 口 入一个 跳 脉冲, 数器即0 出,置位 的中断  
求 志TF1 1向主机 求中断 理,从而达到了增加一个外部中断源的目的。 用定 / 数器  
1 (T 1 )的中断矢量 入中断服 程序 理。其程序示例如下:  
(1 )主程序段:  
ORG 0000H  
AJMP MAIN  
ORG 001BH  
LJMP INTER  
程序  
; T1断服 程序  
;主程序入口  
ORG 0100  
MAIN⋯  
MOV SP,#60H  
MOV TMOD,#60H  
MOV TL1,#0FFH  
MOV TH1,#0FFH  
SETB EA  
堆 区  
; 置定 / 1, 2  
; 置 数常数  
;开中断  
SETB ET1  
;开定 / 数1断  
;启 定 / 数1 数  
SETB TR1  
(2)中断服 程序(具体 理程序略)  
ORG 1000H  
INTER:  
PUSH A  
PUSH DPL  
PUSH DPH  
入 保  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 49  
宏晶科技:  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
中断 理主体程序  
POP DPH  
POP DPL  
出 复原  
POP A  
RETI  
;返回  
是中断服 程序的基本格式。  
5】 某 用系 需通 P1.0 P1.1 分  
/ 0(T0 3,主  
本例程序段 制如下:  
出周期 200 μs 和400 μs 方波。 此,系  
6MHz,TP=2μs, 算得定 常数 9CH38H。  
(1)初始化程序段  
PLT0:MOV TMOD,#03H  
MOV TL0,#9CH  
MOV TH0,#38H  
SETB EA  
T0 3  
TL0初  
TH0初  
开中断  
SETB ET0  
SETB ET1  
SETB TR0  
;启  
;启  
SETB TR1  
(2)中断服 程序段  
1)  
INT0P:  
MOV TL0,#9CH  
CPL P1.0  
;重新 置初  
P1.0 信号取反  
RETI  
;返回  
2)  
INT1P  
MOV TH0,#38H  
CPL P1.1  
;重新 置初  
P1.1 信号取反  
RETI  
;返回  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 50  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
用中 注意的 如下。  
Fax: 0755-82944243  
(1)定 / 数器的  
定 / 数器启  
数后,当  
回0出向主机 求中断 理,由内部硬件自  
延 ,且 种延 随中断 求 的  
理 来 差。大多数 用 合可忽略不 ,但 某些要求  
行。但从0溢  
出 求中断到主机响 中断并作出 理存在  
一般需延 3 个机器周期以上, 就  
境的不同而不同,  
性苛刻的 合, 采用  
种由中断响 引起的  
措施。  
延 , 定 / 数器工作于方0或1言有两种含 :一是由于中断  
理的 差;二是如需多次且 不 断地定 / 数,由于中断响 延 , 在  
响 延 而引起的  
中断服 程序中再置 数初  
例如 用定 方1 系  
已延 了若干个 数 而引起 差,特 是用于定 就更明 。  
,由于上述原因就会 生  
差。 种 合 采用  
以减少系 始  
差。所  
,即在中断服 程序中 THx、TLx新置 数初  
THx、TLx  
0出又重新0始  
法:  
数的  
出,并  
到原 数初 中去 行重新 置。可考 如下  
CLR EA  
;禁止中断  
MOV A,TLx  
ADD A,#LOW  
MOV TLx,A  
MOV A,#HIGH  
ADDC A,THx  
MOV THx,A  
SETB EA  
; TLx已 数  
LOW 原低字  
数初  
; 置低字  
;原高字  
;高字  
数初  
数初 A  
数初  
数初  
;置高字  
;开中断  
(2 )  
取运行中的 数  
取运行中的定 / 数器的 数  
,如果不加注意,就可能出 。 是因 不可能在同一  
刻同  
THxTLx的 数 。比如,先 TLxTHx,因 定 / 数器 于运行状 ,在 TLx  
尚未 生THx 位,而在 THx已 生 位,  
可能出 。  
THx不 了;同 ,先 THxTLx也  
一种可避免  
的方法是:先 THx,后 TLx,将两次 得THx 行比 ;若两次 得的 相等,  
可确定 的 是正确的,否 重复上述 程,重复 得的 一般不会再 。此法的 件 程如下:  
RDTM: MOV A,THx  
MOV R0TLx  
THx A 中  
TLx R0 中  
CJNE A,THx,RDTM  
;比 两THx 若相等,  
;确,程序往下 行,否 重  
THxR1中  
得的 正  
MOV R1 A  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 51  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
1波特率 生器  
;------------------------------------------------------------------------------  
本程序演示 STC12C2052AD、STC12C5410AD 系列 片机用定 1作 RS-232 通信  
;波特率 生器的使用方法, 有关波特率自 重装数的 算 看程序后面的内容  
本程序同 演示 STC89C51RC/STC89C52RC/STC89C53RC/STC89C54RD+/STC89C58RD+/  
;STC89C516RD+列 片机用定 1作 RS-232 通信波特率 生器的使用方法。  
STC12C2052AD 、STC12C5410AD 系列是 " /器周" 的 8051 片机。它  
;01 两种 数速率,一种12T 式:12 个 加 1与普通的  
;
;
;
;8051 片机相同;另一种1T 模式:每个  
STC89C51RC/RD+ 系列是 "12个  
; 机相同。  
STC12C2052AD 、STC12C5410AD 系列的 片机, 0、定 1 速率由  
1,是普8051 片机的 12 倍。  
;
/器周" 的 8051 片机, 与普通的 8051 片  
;
;特殊功能寄存器 AUXR 的 bit7, bit6 决定,bit7 的符号是 T0x12, 如果 T0x12=1,  
;定 0 工作在 1T 模式。bit6 的符号是 T1x12, 如果 T1x12=1 1 工作在  
;1T式。有关 情 参考 STC12C5410AD 系列 片机器件手册(中文 用指南)。  
;使用方法:  
; 1. 修改程序, 改 波特率参数或改 定 1的 速率(1T/12T式)  
; 2.  
; 3.  
;
程序, 将代 下 到 片机中  
整串口  
助手的波特率与 片机的波特率相同, 并打开  
助手的串口。STC  
下 程序 STC-ISP.exe 版本 3.2 以上有串口  
助手功能。  
; 4. 打开 片机 源, 可以在串口  
; 5. 用串口 助手 送 个字 到 片机, 片机收到后会立即回 到串口  
; 6. 反复步 1-5, 波特率参数是否正确, 特 要 察定 1 作在 1T 模式  
的波特率。例如,先 置定 1 作在 12T 模式, 置波特率 9600 行  
将定 1 速率改成  
本程序的波特率 成了 115200波特率是  
助手的接收区看到 片机 出的数据  
助手  
;
;
;
;
;
步 2-5,  
波特率参数是否正确。然后  
1T 模式, 行步 2-5就会  
12T 模式的 12 倍。  
;------------------------------------------------------------------------------  
;定 STC12C5410AD 系列 MCU 特殊功能寄存器  
AUXR  
EQU 8EH  
;------------------------------------------------------------------------------  
;定 波特率自 重装数  
;******************************************************************************  
;以下是 Fosc = 22.1184MHz, 1T 模式, SMOD=1  
, 算出的自 重装数和波特率  
;RELOAD_COUNT EQU 0FFH  
;RELOAD_COUNT EQU 0FEH  
;RELOAD_COUNT EQU 0FDH  
;RELOAD_COUNT EQU 0FCH  
;RELOAD_COUNT EQU 0FBH  
;RELOAD_COUNT EQU 0FAH  
;RELOAD_COUNT EQU 0F4H  
;Baud=1,382,400 bps  
;Baud=691,200 bps  
;Baud=460,800 bps  
;Baud=345,600 bps  
;Baud=276,480 bps  
;Baud=230,400 bps  
;Baud=115,200 bps  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 52  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
;RELOAD_COUNT EQU 0E8H  
;RELOAD_COUNT EQU 0DCH  
;RELOAD_COUNT EQU 0B8H  
;RELOAD_COUNT EQU 70H  
;Baud=57,600 bps  
;Baud=38,400 bps  
;Baud=19,200 bps  
;Baud=9,600 bps  
;以上是 Fosc = 22.1184MHz, 1T 模式, SMOD=1  
, 算出的自 重装数和波特率  
;******************************************************************************  
;******************************************************************************  
;以下是 Fosc = 1.8432MHz, 1T 模式, SMOD=1  
, 算出的自 重装数和波特率  
;RELOAD_COUNT EQU 0FFH  
;RELOAD_COUNT EQU 0FEH  
;RELOAD_COUNT EQU 0FDH  
;RELOAD_COUNT EQU 0FCH  
;RELOAD_COUNT EQU 0FAH  
;Baud=115,200 bps  
;Baud=57,600 bps  
;Baud=38,400 bps  
;Baud=28,800 bps  
;Baud=19,200 bps  
;RELOAD_COUNT EQU 0F4H  
;RELOAD_COUNT EQU 0E8H  
;RELOAD_COUNT EQU 0D0H  
;RELOAD_COUNT EQU 0A0H  
;Baud=9,600 bps  
;Baud=4,800 bps  
;Baud=2,400 bps  
;Baud=1,200 bps  
;以上是 Fosc = 1.8432MHz, 1T 模式, SMOD=1  
, 算出的自 重装数和波特率  
;******************************************************************************  
;******************************************************************************  
;以下是 Fosc = 18.432MHz, 1T 模式, SMOD=1  
, 算出的自 重装数和波特率  
;RELOAD_COUNT EQU 0FFH  
;RELOAD_COUNT EQU 0FEH  
;RELOAD_COUNT EQU 0FDH  
;RELOAD_COUNT EQU 0FCH  
;RELOAD_COUNT EQU 0F6H  
;RELOAD_COUNT EQU 0ECH  
;RELOAD_COUNT EQU 0E2H  
;RELOAD_COUNT EQU 0D8H  
;RELOAD_COUNT EQU 0C4H  
;RELOAD_COUNT EQU 088H  
;Baud=1,152,000 bps  
;Baud=576,000 bps  
;Baud=288,000 bps  
;Baud=144,000 bps  
;Baud=115,200 bps  
;Baud=57,600 bps  
;Baud=38,400 bps  
;Baud=28,800 bps  
;Baud=19,200 bps  
;Baud=9,600 bps  
;以上是 Fosc = 18.432MHz, 1T 模式, SMOD=1  
, 算出的自 重装数和波特率  
;******************************************************************************  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 53  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
;******************************************************************************  
;以下是 Fosc = 18.432MHz, 1T 模式, SMOD=0 , 算出的自 重装数和波特率  
;RELOAD_COUNT EQU 0FFH  
;RELOAD_COUNT EQU 0FEH  
;RELOAD_COUNT EQU 0FDH  
;RELOAD_COUNT EQU 0FCH  
;RELOAD_COUNT EQU 0F6H  
;RELOAD_COUNT EQU 0ECH  
;RELOAD_COUNT EQU 0E2H  
;RELOAD_COUNT EQU 0D8H  
;RELOAD_COUNT EQU 0C4H  
;RELOAD_COUNT EQU 088H  
;Baud=576,000 bps  
;Baud=288,000 bps  
;Baud=144,000 bps  
;Baud=115,200 bps  
;Baud=57,600 bps  
;Baud=38,400 bps  
;Baud=28,800 bps  
;Baud=19,200 bps  
;Baud=9,600 bps  
;Baud=4,800 bps  
;以上是 Fosc = 18.432MHz, 1T 模式, SMOD=0  
, 算出的自 重装数和波特率  
;******************************************************************************  
;******************************************************************************  
;以下是 Fosc = 18.432MHz, 12T 模式, SMOD=0  
, 算出的自 重装数和波特率  
RELOAD_COUNT EQU 0FBH  
;RELOAD_COUNT EQU 0F6H  
;RELOAD_COUNT EQU 0ECH  
;RELOAD_COUNT EQU 0D8H  
;Baud=9,600 bps  
;Baud=4,800 bps  
;Baud=2,400 bps  
;Baud=1,200 bps  
;以上是 Fosc = 18.432MHz, 12T 模式, SMOD=0  
, 算出的自 重装数和波特率  
;******************************************************************************  
;******************************************************************************  
;以下是 Fosc = 18.432MHz, 12T 模式, SMOD=1  
, 算出的自 重装数和波特率  
;RELOAD_COUNT EQU 0FBH  
;RELOAD_COUNT EQU 0F6H  
;RELOAD_COUNT EQU 0ECH  
;RELOAD_COUNT EQU 0D8H  
;RELOAD_COUNT EQU 0B0H  
;Baud=19,200 bps  
;Baud=9,600 bps  
;Baud=4,800 bps  
;Baud=2,400 bps  
;Baud=1,200 bps  
;以上是 Fosc = 18.432MHz, 12T 模式, SMOD=1  
, 算出的自 重装数和波特率  
;******************************************************************************  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 54  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
;******************************************************************************  
;以下是 Fosc = 11.0592MHz, 12T 模式, SMOD=0 , 算出的自 重装数和波特率  
;RELOAD_COUNT EQU 0FFH  
;RELOAD_COUNT EQU 0FEH  
;RELOAD_COUNT EQU 0FDH  
;RELOAD_COUNT EQU 0FAH  
;RELOAD_COUNT EQU 0F4H  
;RELOAD_COUNT EQU 0E8H  
;Baud=28,800 bps  
;Baud=14,400 bps  
;Baud=9,600 bps  
;Baud=4,800 bps  
;Baud=2,400 bps  
;Baud=1,200 bps  
;以上是 Fosc = 11.0592MHz, 12T 模式, SMOD=0  
, 算出的自 重装数和波特率  
;******************************************************************************  
;******************************************************************************  
;以下是 Fosc = 11.0592MHz, 12T 模式, SMOD=1  
, 算出的自 重装数和波特率  
;RELOAD_COUNT EQU 0FFH  
;RELOAD_COUNT EQU 0FEH  
;RELOAD_COUNT EQU 0FDH  
;RELOAD_COUNT EQU 0FAH  
;RELOAD_COUNT EQU 0F4H  
;RELOAD_COUNT EQU 0E8H  
;RELOAD_COUNT EQU 0D0H  
;Baud=57,600 bps  
;Baud=28,800 bps  
;Baud=14,400 bps  
;Baud=9,600 bps  
;Baud=4,800 bps  
;Baud=2,400 bps  
;Baud=1,200 bps  
;以上是 Fosc = 11.0592MHz, 12T 模式, SMOD=1  
, 算出的自 重装数和波特率  
;******************************************************************************  
;定 指示灯  
LED_MCU_START EQU P1.7  
;MCU 工作指示灯  
;------------------------------------------------------------------------------  
ORG 0000H  
AJMP MAIN  
;------------------------------------------------------------------------------  
ORG 0023H  
AJMP UART_Interrupt  
;RS232 串口中断服 程序  
NOP  
NOP  
;------------------------------------------------------------------------------  
MAIN:  
MOV SP, #7FH  
; 置堆 指  
CLR LED_MCU_START  
ACALL Initial_UART  
MOV R0, #30H  
; 点亮 MCU 工作指示灯  
; 初始化串口  
;30H = 可打印字符 '0' ASCII  
; 10'0123456789'  
MOV R2, #10  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 55  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
LOOP:  
MOV A, R0  
ACALL Send_One_Byte  
; 送一个字 ,可PC口  
助手 置成字符 示  
;如果是字符 示, 示 0123456789,  
;如 置成 16 制 示, 示 30 31 32 33 34 35 36 37 38 39  
INC R0  
DJNZ R2, LOOP  
MAIN_WAIT:  
SJMP MAIN_WAIT  
;------------------------------------------------------------------------------  
; 跳 到本行, 无限循  
UART_Interrupt:  
; 串口中断服 程序  
JB  
RI, Is_UART_Receive  
CLR TI  
; 清零串口 送中断 志  
RETI  
;
送 使用的是  
方式,不使用中断  
Is_UART_Receive:  
CLR RI  
PUSH ACC  
MOV A, SBUF  
ACALL Send_One_Byte  
POP ACC  
RETI  
; 取接收到的字  
; 回 收到的字  
;------------------------------------------------------------------------------  
Initial_UART:  
; 初始化串口  
; SCON Bit: 7  
6
5
4
3
2
1
0
;
SM0/FE SM1 SM2 REN TB8 RB8  
TI RI  
MOV SCON, #50H  
; 0101,0000 8 位可 波特率, 无奇偶校  
MOV TMOD, #21H  
; 置定 1  
8自 重装 数器  
MOV TH1, #RELOAD_COUNT  
MOV TL1, #RELOAD_COUNT  
; 置定 1 自 装数  
;---------------------------------------  
ORL PCON, #80H ; 若本行有效, 波特率可以加倍  
;
;---------------------------------------  
;以下两行指令只能有一行有效  
;
ORL AUXR, #01000000B  
12倍  
; 定 11T式,波特率可以快  
ANL AUXR, #10111111B  
; 定 112T式,与普通8051同  
;以上两行指令只能有一行有效  
;---------------------------------------  
SETB TR1  
SETB ES  
SETB EA  
RET  
; 启 1  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 56  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
;------------------------------------------------------------------------------  
;入口参数: A = 要 送的字  
Send_One_Byte:  
CLR ES  
; 送一个字  
CLR TI  
; 清零串口 送中断 志  
MOV SBUF, A  
Wait_Send_Finish:  
JNB TI, Wait_Send_Finish  
CLR TI  
; 等待 送完  
; 清零串口 送中断 志  
SETB ES  
RET  
;------------------------------------------------------------------------------  
END  
;------------------------------------------------------------------------------  
; 算自 重装数 RELOAD (SMOD = 0, SMOD 是 PCON 特殊功能寄存器的最高位):  
; 1. 算 RELOAD (以下是 SMOD = 0 的 算公式)  
;
;
;
;
;
;
;
;
a) 12T 模式的 算公式: RELOAD = 256 - INT(Fosc/Baud0/32/12 + 0.5)  
b) 1T 模式的 算公式: RELOAD = 256 - INT(Fosc/Baud0/32 + 0.5)  
式中: INT() 表示取整运算即舍去小数, 在式中加 0.5 可以达到四舍五入的目的  
Fosc = 晶振 率  
Baud0 =  
准波特率  
; 2. 算用 RELOAD 生的波特率:  
;
;
;
a) Baud = Fosc/(256 - RELOAD)/32/12  
b) Baud = Fosc/(256 - RELOAD)/32  
12T 模式  
1T 模式  
; 3. 算 差  
;
error = (Baud - Baud0)/Baud0 * 100%  
; 4. 如果 差  
> 4.5% 要更 波特率或者更 晶体 率, 重复步 1-4  
;
;
;例: Fosc = 22.1184MHz, Baud0 = 57600 (12T 模式)  
; 1. RELOAD = 256 - INT( 22118400/57600/32/12 + 0.5)  
;
;
;
;
= 256 - INT( 1.5 )  
= 256 - 1  
= 255  
= 0FFH  
; 2. Baud = 22118400/(256-255)/32/12  
= 57600  
; 3. 差等于零  
;
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 57  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
;例: Fosc = 18.432MHz, Baud0 = 57600 (12T 模式)  
; 1. RELOAD = 256 - INT( 18432000/57600/32/12 + 0.5)  
;
;
;
;
;
= 256 - INT( 0.833 + 0.5 )  
= 256 - INT( 1.333 )  
= 256 - 1  
= 255  
= 0FFH  
; 2. Baud = 18432000/(256-255)/32/12  
= 48000  
; 3. error = (48000 - 57600)/57600 * 100%  
= -16.66%  
;
;
; 4. 差很大, 要更 波特率或者更 晶体 率, 重新 算  
下一例  
;例: Fosc = 18.432MHz, Baud0 = 9600 (12T 模式)  
; 1. RELOAD = 256 - INT( 18432000/9600/32/12 + 0.5)  
;
;
;
;
= 256 - INT( 5.5 )  
= 256 - 5  
= 251  
= 0FBH  
; 2. Baud = 18432000/(256-251)/32/12  
= 9600  
;
; 3. 一目了然, 差等于零  
;例: Fosc = 2.000MHz, Baud = 4800 (1T 模式)  
; 1. RELOAD = 256 - INT( 2000000/4800/32 + 0.5)  
;
;
;
;
;
= 256 - INT( 13.02 + 0.5 )  
= 256 - INT( 13.52 )  
= 256 - 13  
= 243  
= 0F3H  
; 2. Baud = 2000000/(256-243)/32  
= 4808  
; 3. error = 0.16%  
;------------------------------------------------------------------------------  
;
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 58  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
A/D 及 A/D  
程序  
STC12C5410AD列 A/D  
的 片机P18路10A/D  
A/D,可做温度 、 池 、按  
件 置8中的任何一路 置 A/D  
器, 速度可100KHz。  
P1.7 - P1.0 8路  
描、  
等。上 复位  
P1上拉I/O,用 可以通  
,不需作 A/D使  
用的口可  
作 I/O使用。需作 A/D使用的口需先将其 置 高阻 入或开漏模式。P1M0、P1M1  
中 相 的位 行 置。  
P1M0【7:0】  
地址:91h  
P1M1【7:0】  
地址:92h  
口模式(  
如做  
使用,需先将其 置成开漏或高阻 入)  
A/D  
I/O  
P1.x  
准双向口(  
可达  
口模式)  
8051 I/O  
,
0
0
拉 流  
20mA ,  
推挽 出( 上拉 出,可达  
230µA  
20mA  
0
1
1
1
0
1
,尽量少用)  
入(高阻),如果  
口需作  
使用,可 此模式  
I/O  
A/D  
使用,可 此模式  
A/D  
开漏  
7
,如果  
口需作  
(Open Drain)  
I/O  
Mnemonic Add Name  
ADC_CONTR C5h A/D  
ADC_DATA C6h A/D  
ADC_LOW2 BEh A/D  
6
5
4
3
2
1
0
Reset Value  
控制寄存器  
ADC_POWER SPEED1 SPEED0 ADC_FLAG ADC_START CHS2 CHS1 CHS0 0xx0,0000  
果寄存器,高8位  
果寄存器,低2位  
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
xxxx,xxxx  
xxxx,xxxx  
ADC_CONTR 特殊功能寄存器: A/D  
控制特殊功能寄存器  
A/D  
控制寄存器  
ADC_POWER SPEED1 SPEED0 ADC_FLAG ADC_START CHS2 CHS1 CHS0 0xx0,0000  
CHS2 / CHS1 / CHS0 :模  
入通道  
,CHS2 / CHS1 / CHS0  
A n a l o g  
I n p u t  
入 通 道  
C h a n n e l  
S e l e c t  
C H S 2  
C H S 1  
C H S 0  
0
0
0
P 1 . 0 作  
P 1 . 1 作  
P 1 . 2 作  
P 1 . 3 作  
P 1 . 4 作  
P 1 . 5 作  
P 1 . 6 作  
P 1 . 7 作  
A / D  
A / D  
A / D  
A / D  
A / D  
A / D  
A / D  
A / D  
入 来 用  
入 来 用  
0
0
0
1
1
1
1
0
1
1
0
0
1
1
1
0
1
0
1
0
1
入 来 用  
入 来 用  
入 来 用  
入 来 用  
入 来 用  
入 来 用  
ADC_START: 数  
ADC_FLAG: 模数  
(ADC)  
束 志位,A/D  
完成后由 位申  
完成后,ADC_FLAG = 1一定要 0。  
启 控制位, 置 “1” ,开始  
完成后,ADC_FLAG = 1 ,要由 件0。  
生中断, 是由 件 A/D 是否 束,  
,
束后 0。  
不管A/D  
A/D  
SPEED1SPEED0模数  
速度控制位  
A / D  
S P E E D 1  
S P E E D 0  
所 需  
周 期  
率 2 0 M H z  
速 度  
2 1 0 个  
C P U 工 作  
A / D  
一 次 ,  
1 0 0 K H z  
1
1
1
0
0
0
1
0
4 2 0 个  
6 3 0 个  
8 4 0 个  
周 期  
周 期  
周 期  
一 次  
一 次  
一 次  
ADC_POWER: ADC 源控制位。  
0:关 ADC 源1:打A/D  
器 源  
AD  
前一定要确 AD 源已打开,AD  
束后关 AD 源可降低功耗,也可不关 。  
初次打开内A/D  
源,需适当延 ,等内部模  
源 定后,再启 A/D  
建 启 A/D  
后,A/D  
束之前,不改 任I/O 口的状 ,有利于高精A/D  
ADC_DATA / ADC_LOW2 特殊功能寄存器: A/D  
果特殊功能寄存器  
ADC_DATA C6h A/D  
ADC_LOW2 BEh A/D  
果寄存器,全部8位有效, 10位A/D  
果寄存器,只有低2位有效, 10位A/D  
果的高8位  
- - - - - - - - xxxx,xxxx  
果的低2位 x x x x x x - - xxxx,xxxx  
/ 数字  
Vin 模  
ADC_DATA的8位 ADC  
如果舍ADC_LOW22,只ADC_DATA存器8, A/D  
果 算公式如下: ( ADC_DATA[7:0],ADC_LOW2[1:0] ) = 1024 x Vin / Vcc  
入通道 入 Vcc 片机 工作 ,用 片机工作 作 模 参考  
8,ADC_LOW22位 ADC  
2,  
10精度。  
8精度。  
ADC_DATA[7:0] = 256 x Vin / Vcc  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 59  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
A/D 典型 用 路,按 描  
Vcc  
P2.2  
1
28  
27  
26  
25  
24  
23  
22  
21  
20  
19  
18  
17  
16  
15  
VDD  
P2.3  
2
P2.1  
10K  
10K  
10K  
10K  
10K  
RST  
RxD/P3.0  
3
P2.0/CEX2/PCA2/PWM2  
P1.7/SCLK/ADC7  
P1.6/MISO/ADC6  
P1.5/MOSI/ADC5  
P1.4/SS/ADC4  
P1.3/ADC3  
47pF上  
4
TxD/P3.1  
5
XTAL2  
6
XTAL1  
7
1/2 Vcc  
2/3 Vcc  
INT0/P3.2  
8
INT1/P3.3  
9
P1.2/ADC2  
ECI/T0/P3.4  
PWM1/PCA1/CEX1/T1/P3.5  
PWM3/PCA3/CEX3/P2.4  
P2.5  
10  
11  
12  
13  
14  
P1.1/ADC1  
P1.0/ADC0  
P3.7/CEX0/PCA0/PWM0  
P2.7  
3/4 Vcc  
4/5 Vcc  
VSS  
P2.6  
A/D  
P1, P1.0 - P1.7八路  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 60  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
A/D 功能 程序示例  
;/* --- STC International Limited ---------------- */  
;/* --- 宏晶科技 姚永平  
2006/1/6 V1.0 ----- */  
;/* --- 演示 STC12C5410AD 系列 MCU 的 A/D  
;/* --- 演示 STC12C2052AD 系列 MCU 的 A/D  
- */  
- */  
;/* --- Mobile: 13922805190 ---------------------- */  
;/* --- Fax: 0755-82944243 ----------------------- */  
;/* --- Tel: 0755-82948409 ----------------------- */  
;/* --- Web: www.mcu-memory.com ------------------ */  
;ADC DEMO_5410_ASM.ASM  
程序演示 STC12C5410AD 系列 MCU 的 A/D  
功能。  
;本演示程序STC-ISP Ver 3.0A.PCB 的下  
程工具上  
通 ,相关A/D  
程序 察 出 果。  
P1上 示  
;
;
;
果也以 16  
制形式 出到串行口,可以用串行口  
18.432MHz, 波特率 = 9600。  
果也在 P1 口利用 LED 示出来, 方便 察。  
LED_MCU_START EQU P3.7  
ADC_CONTR EQU 0C5H ;A/D  
ADC_DATA EQU 0C6H ;A/D  
;ADC_LOW2 EQU 0BEH ;A/D  
寄存器  
果寄存器,  
果寄存器, 2有效,  
;果不ADC_LOW22,只ADC_DATA的8,  
10A/D  
果的8位  
10A/D  
果的2位  
8位A/D  
P1M0  
P1M1  
EQU 91H  
EQU 92H  
;P1 口模式  
;P1 口模式  
寄存0  
寄存1  
ADC_Power_On_Speed_Channel_0 EQU 11100000B  
ADC_Power_On_Speed_Channel_1 EQU 11100001B  
ADC_Power_On_Speed_Channel_2 EQU 11100010B  
ADC_Power_On_Speed_Channel_3 EQU 11100011B  
ADC_Power_On_Speed_Channel_4 EQU 11100100B  
ADC_Power_On_Speed_Channel_5 EQU 11100101B  
ADC_Power_On_Speed_Channel_6 EQU 11100110B  
ADC_Power_On_Speed_Channel_7 EQU 11100111B  
;P1.0 作 A/D 入  
;P1.1 作 A/D 入  
;P1.2 作 A/D 入  
;P1.3 作 A/D 入  
;P1.4 作 A/D 入  
;P1.5 作 A/D 入  
;P1.6 作 A/D 入  
;P1.7 作 A/D 入  
;-------------------------------------------------  
;定  
ADC_Channel_0_Result  
ADC_Channel_1_Result  
ADC_Channel_2_Result  
ADC_Channel_3_Result  
ADC_Channel_4_Result  
ADC_Channel_5_Result  
ADC_Channel_6_Result  
ADC_Channel_7_Result  
EQU 30H  
EQU 31H  
EQU 32H  
EQU 33H  
EQU 34H  
EQU 35H  
EQU 36H  
EQU 37H  
;0 通A/D  
;1 通A/D  
;2 通A/D  
;3 通A/D  
;4 通A/D  
;5 通A/D  
;6 通A/D  
;7 通A/D  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 61  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
;--------------------------------------------------  
ORG 0000H  
LJMP MAIN  
ORG 0050H  
MAIN:  
CLR LED_MCU_START  
MOV SP, #7FH  
;MCU 工作指示灯 LED_MCU_START EQU P3.7  
; 置堆  
ACALL Initiate_RS232  
ACALL ADC_Power_On  
; 初始化串口  
; ADC 源, 第一次使用 要打开内部模  
;ADC 源, 可适当加延 ,1mS内就足 了  
; 置 P1.2 开漏  
ACALL Set_P12_Open_Drain  
ACALL Set_ADC_Channel_2  
; 置 P1.2 作 A/D  
通道  
ACALL Get_AD_Result  
ACALL Send_AD_Result  
; 量  
; 送  
并且A/D  
果到 PC 机  
ACALL Set_P12_Normal_IO  
; 置 P1.2 普IO  
MOV A, ADC_Channel_2_Result ; 用 P1 口 A/D  
CPL A  
MOV P1, A  
Wait_Loop:  
SJMP Wait_Loop  
; 停机  
;-------------------------------------------------------------  
;-------------------------------------------------------------  
;-------------------------------------------------------------  
;-------------------------------------------------------------  
Initiate_RS232:  
CLR ES  
; 串口初始化  
; 禁止串口中断  
MOV TMOD, #20H  
; 置 T1 波特率 生器  
;0101,0000 8 位数据位, 无奇偶校  
;18.432MHz 晶振, 波特率 = 9600  
MOV SCON, #50H  
MOV TH1, #0FBH  
MOV TL1, #0FBH  
SETB TR1  
RET  
; 启 T1  
;--------------------------------------------------------------  
Send_Byte:  
CLR TI  
MOV SBUF, A  
Send_Byte_Wait_Finish:  
JNB TI, Send_Byte_Wait_Finish  
CLR TI  
RET  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 62  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
;--------------------------------------------------------------  
ADC_Power_On:  
PUSH ACC  
ORL ADC_CONTR, #80H  
MOV A, #20H  
ACALL Delay  
POP ACC  
; A/D  
; A/D  
源后要加延 ,1mS内就足 了  
RET  
;-------------------------------------------------------------  
; P1.2, A/D道所在I/O 开漏模式  
Set_P12_Open_Drain:  
PUSH ACC  
MOV A, #00000100B  
ORL P1M0, A  
ORL P1M1, A  
POP ACC  
RET  
;-------------------------------------------------------------  
; 置 P1.2 普IO  
Set_P12_Normal_IO:  
PUSH ACC  
MOV A, #11111011B  
ANL P1M0, A  
ANL P1M1, A  
POP ACC  
RET  
;-------------------------------------------------------------  
Set_ADC_Channel_2:  
MOV ADC_CONTR, #ADC_Power_On_Speed_Channel_2  
;
P1.2A/D  
通道  
MOV A, #05H ; 更 A/D  
通道后要适当延 , 使 入  
;后如果不更 A/D  
通道的 , 不需要加延  
ACALL Delay  
RET  
; 切 A/D 通道,加延 20uS~200uS可以了,与 入  
源的内阻有关  
;-------------------------------------------------------------  
Send_AD_Result:  
PUSH ACC  
MOV A, ADC_Channel_2_Result ; 取 AD  
ACALL Send_Byte  
POP ACC  
RET  
; 送  
果到 PC 机  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 63  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
;----------------------------------------------------------  
Get_AD_Result:  
PUSH ACC  
; 入 保  
MOV ADC_DATA, #0  
ORL ADC_CONTR, #00001000B  
; 启 AD  
Wait_AD_Finishe:  
MOV A, #00010000B  
ANL A, ADC_CONTR  
; 判断 AD  
;AD  
是否完成  
JZ  
Wait_AD_Finishe  
尚未完成,  
等待  
ANL ADC_CONTR, #11100111B  
MOV A, ADC_DATA  
; 0 ADC_FLAG, ADC_START 位, 停A/D  
MOV ADC_Channel_2_Result, A ; 保存 AD  
POP ACC  
RET  
;---------------------------------------------------------------  
Delay:  
PUSH 02  
PUSH 03  
PUSH 04  
MOV R4, A  
; 将寄存器 0 的 R2 入  
; 将寄存器 0 的 R3 入  
; 将寄存器 0 的 R4 入  
Delay_Loop0:  
MOV R3, #200  
;2 CLOCK ---------------------+  
Delay_Loop1:  
;
|
|
MOV R2, #249  
;2 CLOCK ------+  
Delay_Loop:  
;
| 1002 CLOCK |200406 CLOCK  
DJNZ R2, Delay_Loop  
DJNZ R3, Delay_Loop1  
DJNZ R4, Delay_Loop0  
;4 CLOCK  
|
|
|
;4 CLOCK ------+  
;4 CLOCK ---------------------+  
POP 04  
POP 03  
POP 02  
RET  
;----------------------------------------------------------------  
END  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 64  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
STC12C5410 系列 PWM/PCA 用及 程序  
PCA/PWM SFRs  
STC12C5410AD列 1T 8051  
片机 PCA/PWM 特殊功能寄存器  
Mnemonic Add Name  
7
6
5
4
3
2
1
0
Reset value  
CCF3 CCF2 CCF1 CCF0 00xx,0000  
CPS1 CPS0 ECF 0xxx,x000  
CCON  
CMOD  
D8h PCA Control Register CF  
CR  
-
-
-
D9h PCA Mode Register  
CIDL  
-
-
-
PCA Module 0  
DAh  
CCAPM0  
CCAPM1  
CCAPM2  
CCAPM3  
-
-
-
-
ECOM0 CAPP0 CAPN0 MAT0 TOG0 PWM0 ECCF0 x000,0000  
ECOM1 CAPP1 CAPN1 MAT1 TOG1 PWM1 ECCF1 x000,0000  
ECOM2 CAPP2 CAPN2 MAT2 TOG2 PWM2 ECCF2 x000,0000  
ECOM3 CAPP3 CAPN3 MAT3 TOG3 PWM3 ECCF3 x000,0000  
Mode Register  
PCA Module 1  
DBh  
Mode Register  
PCA Module 2  
DCh  
Mode Register  
PCA Module 3  
DDh  
Mode Register  
CL  
CH  
E9h PCA Base Timer Low  
F9h PCA Base Timer High  
0000,0000  
0000,0000  
PCA Module-0 Capture  
Register Low  
CCAP0L  
CCAP0H  
CCAP1L  
CCAP1H  
CCAP2L  
CCAP2H  
CCAP3L  
CCAP3H  
EAh  
0000,0000  
0000,0000  
0000,0000  
0000,0000  
0000,0000  
0000,0000  
0000,0000  
0000,0000  
PCA Module-0 Capture  
Register High  
FAh  
PCA Module-1 Capture  
Register Low  
EBh  
PCA Module-1 Capture  
Register High  
FBh  
PCA Module-2 Capture  
Register Low  
ECh  
PCA Module-2 Capture  
Register High  
FCh  
PCA Module-3 Capture  
Register Low  
EDh  
PCA Module-3 Capture  
Register High  
FDh  
PCA PWM Mode  
Auxiliary Register 0  
PCA_PWM0 F2h  
PCA_PWM1 F3h  
PCA_PWM2 F4h  
PCA_PWM3 F5h  
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
EPC0H EPC0L xxxx,xx00  
EPC1H EPC1L xxxx,xx00  
EPC2H EPC2L xxxx,xx00  
EPC3H EPC3L xxxx,xx00  
PCA PWM Mode  
Auxiliary Register 1  
PCA PWM Mode  
Auxiliary Register 2  
PCA PWM Mode  
Auxiliary Register 3  
CMOD - PCA 模式 寄存器的位分配 (地址:D9H)  
7
6
-
5
-
4
-
3
-
2
1
0
符 号  
C I D L  
C P S 1  
C P S 0  
E C F  
CMOD - PCA 模式 寄存器的位描述 (地址:D9H)  
符号  
CIDL  
-
描述  
数器 列空 控制:CIDL=0 ,空 模式下PCA 数器  
,空 模式下PCA 数器停止工作。  
工作。CIDL=1  
7
6 - 3  
2 - 1  
保留 将来之用。  
CPS1,CPS0 PCA 数脉冲  
表)。  
PCA 数溢出中断使能:ECF=1 ,使能寄存器CCON CF位的中断。ECF=0 ,  
禁止 功能。  
0
ECF  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 65  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
CMOD - PCA 数器 列的 数脉冲  
(地址:D9H)  
C P S 1  
C P S 0  
P C A  
0
0
0
1
0 , 内 部  
1 , 内 部  
2 , 定  
, F o s c / 1 2  
, F o s c / 2  
器 0 溢 出 , 由 于 定  
一 个 就 溢 出 ,  
器 0 可 以 工 作 在 1 T 方 式 , 所 以 可 以 达  
率 反 而 是 最 高 的 , 可 达 到 F o s c  
1
1
0
1
3 , E C I / P 3 . 4 脚 的 外 部  
入 ( 最 大 速 率 = F o s c / 2 )  
CCON - PCA 控制寄存器的位分配 (地址:D8H)  
7
6
5
-
4
-
3
-
2
-
1
0
符 号  
C F  
C R  
C C F 1  
C C F 0  
CCON - PCA 控制寄存器的位描述 (地址:D8H)  
符号  
描述  
PCA 器 列溢出 志。  
ECF置位,CF 可用来 生中断。CF可通 硬件或 件置位,但只  
可通 件清零。  
位由硬件置位。如果CMOD存器  
7
CF  
PCA 器 列运行控制位。 位通  
数。 位通  
件置位,用来起 PCA 器  
件清零,用来关 PCA 器。  
6
CR  
-
5 - 2  
1
保留位,保留 将来使用。  
PCA模 1断 志。当出 匹配或捕  
件清零。  
位由硬件置位。 位必  
位由硬件置位。 位必  
CCF1  
PCA模 0断 志。当出 匹配或捕  
件清零。  
0
CCF0  
CCAPMn - PCA 比 / 捕 模 寄存器的位分配(CCAPM0 地址0DAHCCAPM1 地址0DBH)  
7
-
6
5
4
3
2
1
0
符 号  
E C O M n  
C A P P n  
C A P N n  
M A T n  
T O G n P W M n  
E C C F n  
CCAPMn - PCA 比 /捕 模 存器的位描述 ( n:0,1,2,3 )  
7
符号  
-
描述  
n : 0,1,2,3  
保留 将来之用。  
6
ECOMn 使能比 器。ECOMn1 使能比 器功能。  
CAPPn 捕 。CAPPn1 使能上升沿捕 。  
5
4
CAPNn  
MATn  
CAPNn1 使能下降沿捕 。  
匹配。当MATn1 ,PCA 数 模 的比 /存器的 的匹配将置  
CCON存器的中断 志位CCFn。  
3
2
TOGn1 ,工作在PCA速 出模式,PCA 器的 与模 的比  
/捕 存器的 的匹配将使CEXn翻 。  
(CEX0/P3.7,CEX1/P3.5,CEX2/P2.0,CEX3/P2.4)  
TOGn  
PWMn  
1
0
模式。当PWMn1 ,使能CEXn用作脉  
出。  
ECCFn 使CCFn断。使能寄存器CCON/捕  
CCFn用来 生中断。  
PCA 模 作模式(CCAPMn 存器,n0,1,2,3)  
ECOMn CAPPn CAPNn MATn TOGn PWMn ECCFn  
能  
0
X
X
X
1
1
1
0
1
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
X
X
X
X
X
0
无此操作  
16位捕 模式,由CEXn的上升沿触  
16位捕 模式,由CEXn的下降沿触  
16位捕 模式,由CEXn的跳 触  
16位 件定 器  
16位高速 出  
8位PWM  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 66  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
STC12C5410AD  片机可 程 数器 列(PCA)  
PCA 含有一个特殊16定 器,4个16的捕 /比 模 之相 。每个模 可 程工作  
在4 模式下:上/ 降沿捕 、 件定 器、高速 出或可 制脉冲 出。模 0 P3.7  
(CEX0/PCA0/PWM0, 模 1 P3.5(CEX1/PCA1/PWM1 模 2 P2.0(CEX2/PCA2/  
PWM2, 模 3 P2.4(CEX3/PCA3/PWM3 CHCL内容是正在自由 增 数16位  
PCA的 。PCA4模 的公共  
基准,可通  
程工作在:1/12振  
率、1/2振  
率、定 0ECI的 入(P3.4 的 数源CMOD SFRCPS1CPS0来确定(  
CMOD特殊功能寄存器 明。  
Module 0  
P3.7/CEX0/PCA0/PWM0  
16 Bit  
Module 1  
P3.5/CEX1/PCA1/PWM1  
PCA Timer/Counter  
Module 2  
P2.0/CEX2/PCA2/PWM2  
P2.4/CEX3/PCA3/PWM3  
Module 3  
Programmable Counter Array  
TO PCA module  
Fosc/12  
Fosc/2  
CH  
CL  
PCA  
interrupt  
16-Bit counter  
Timer 0 overflow  
External input  
ECI (P3.4)  
IDLE  
CIDL  
-
-
-
-
-
-
CPS1  
CCF2  
CPS0  
CCF1  
ECF  
CMOD  
CF  
CR  
CCF3  
CCF0  
CCON  
PCA Timer/Counter  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 67  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
CMOD SFR 2 PCA 相关。它 分 是:CIDL,空 模式下允 停PCAECF,置位  
,使PCA 断,PCA 定 溢出PCA 溢出 CFCCON SFR 置位。  
CCON SFR PCA 的运行控制位(CR)PCA 定 CF)以及各个模 的 志(CCF3/  
CCF2/CCF1/CCF0。 通 CR CCON.6来运PCACR 被清零 PCA 关 PCA  
数器溢出 ,CF CCON.7置位,CMOD 存器ECF 置位, 中断。CF 只可通  
件清除。CCON 存器的0~3 PCA 个模 的 志(0  
模 2,3 3 匹配或比 由硬件置位。 些 志也只能通  
用一个中断向量。PCA中断系 如 所示。  
PCA 的每个模 都 一个特殊功能寄存器。它 分 是:模 0  
CCAPM1,模 2 CCAPM2,模 3 CCAPM3.特殊功能寄存器包含了相 模 的工作模式控制位。  
当模 生匹配或比 ,ECCFn CCAPMn.0n 012,3 工作的模 决定)使能  
01  
1,2  
件清除。所有模 共  
CCAPM0,模 1  
CCON SFR CCFn 志来 生中断。  
PWM (CCAPMn.1)用来使能脉  
制模式。  
PCA 数 模 的捕 / 比 寄存器的 相匹配 ,如TOG CCAPMn.2置位,模 的  
CEXn 出将 生翻 。  
PCA 数 与模 的捕 / 比 寄存器的 相匹配 ,如果匹配MATn(CCAPMn.3)置位,  
CCON存器CCFn将被置位。  
CAPNn (CCAPMn.4)CAPPn(CCAPMn.5)用来 置捕  
入的有效沿。CAPNn 位使能下降沿  
有效,CAPPn 位使能上升沿有效。如果两位都置位, 两种跳 沿都被使能,捕 可在两种跳 沿 生。  
通 置CCAPMn存器ECOMn(CCAPMn.6)来使能比 器功能。  
PCA 模  
另外两个寄存器,CCAPnH CCAPnL。当出 捕 或比  
,它 用来保存  
16的 数 。PCAPWM式中 ,它 用来控制 出的占空比。  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 68  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
PCA 捕 式  
要使一PCA 模 工作在捕 模式(下  CCAPMn 的两位(CAPNn CAPPn或其中任  
何一位必 1。 模 的外CEXn 入(CEX0/P3.7,CEX1/P3.5,CEX2/P2.0,CEX3/P2.4)的  
行采 。当采 到有效跳  
,PCA件就PCA 数器 列寄存器(CHCL)的 装 到模  
的捕 寄存器中(CCAPnLCCAPnH。  
CCONC0h)  
CF  
CR  
-
CCF3  
CCF2  
CCF1 CCF0  
PCA interrupt  
CL  
CH  
Capture  
CEXn  
CCAPnH  
CCAPnL  
CCAPMn,n=0,1  
(地址:DAhDBh)  
ECOMn CAPPn  
CAPNn  
MATn  
TOGn  
PWMn ECCFn  
0
0
0
0
PCA Capture Mode (PCA 捕 模式 )  
CCON SFR 的CCFnCCAPMn SFR 的ECCFn被置位,将 生中断。  
16 位 定 器模式  
通 置CCAPMn 寄存器ECOM MAT 位,可使PCA 模 用作 件定 器(下  PCA 定 器的  
与模 捕 寄存器的 相比 ,当两者相等 ,如果CCFnCCON SFR )和ECCFn在  
CCAPMn SFR )都置位,将 生中断。  
先写  
后写  
Write to CCAPnL  
Write to CCAPnH  
CCON  
CF  
CR  
-
CCF3  
CCF2  
CCF1 CCF0  
1
0
PCA  
Interrupt  
CCAPnH  
CCAPnL  
(To CCFn)  
Match  
Enable  
16-Bit Comparator  
CL  
CH  
CCAPMn  
ECOMn CAPPn  
CAPNn  
MATn  
TOGn  
PWMn ECCFn  
0
0
1
0
0
PCA Software Timer Mode/ 件定 器模/PCA式  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 69  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
高速 出模式  
模式中(下  PCA 数器的 数 与模 捕 寄存器的 相匹配 ,PCA模 的CEXn 出将  
生翻 。要激活高速 出模式,模 CCAPMn SFRTOG,MATECOM必 都置位。  
先写  
Write to CCAPnL  
后写  
Write to CCAPnH  
CCON  
CF  
CR  
-
CCF3  
CCF2  
CCF1 CCF0  
1
0
CCAPnH  
CCAPnL  
PCA  
Interupt  
(To CCFn)  
Match  
Enable  
16-Bit comparator  
Toggle  
CL  
CH  
CEXn  
CCAPMn  
ECOMn CAPPn  
CAPNn  
MATn  
TOGn  
PWMn ECCFn  
0
0
1
1
0
PCA High-Speed Output Mode / PCA 高速 出模式  
在使PCA  出模式 的特 用注意事 :  
如果某PCA作在高速脉冲 出模式,要用 件 出改 同一 其它普I/O的状 ,需先  
做判CH否等CCAPnH,若不等,可自由修改,若相等,再判CL>CCAPnL况下才允 改 同一  
其它普I/O 口的状 。如P3.7/PCA0/PWM0PCA速脉冲 出,同 程序里面又要用 件 出  
P3.4 的状  
,就需要做判断。  
当某个具PCA速脉冲 出功能I/O工作在高速脉冲 出模式 ,如果 件 同一 的其它  
I/O操作,如果遇PCA匹配 , 操作有可能会改 此具PCA速脉冲 出功能I/O  
口的状 ,所以同一 的其I/O 建 不要做 出用,如果做 出用 ,要 行判断。  
具 有 PCA高 速 脉 冲 出  
同 一 的 其 它 I/O口  
模 式 的 I/O口  
PCA0/P3.7  
PCA1/P3.5  
PCA2/P2.0  
PCA3/P2.4  
P3.0,P3.1,P3.2,P3.3,P3.4,P3.5  
P3.0,P3.1,P3.2,P3.3,P3.4,P3.7  
P2.1,P2.2,P2.3,P2.4,P2.5,P2.6,P2.7  
P2.0,P2.1,P2.2,P2.3,P2.5,P2.6,P2.7  
当 以 上 管 脚 用 在 PCA高 速 脉  
冲 出 模 式 , 建 同 一  
的 其 它 I/O口 工 作 在 入  
模 式 , 如 工 作 在 PCA高 速  
出 模 式 , 而 同 一 的 它  
I/O口 又 必 工 作 在 出 模  
式 , 建 如 右 列 所 示 。  
要 用 件 出 改 同 一 其 它 普 通 I/O口 的 状 ,  
需 先 做 判 断 CH是 否 等 于 CCAPnH, 若 不 等 , 可 自 由  
修 改 , 若 相 等 , 再 判 断 CL>CCAPnL情 况 下 才 允 改  
同 一 其 它 普 通 I/O口 的 状 。 防 止 在 PCA比  
器 匹 配 做 出 。  
其它几种工作模式无  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 70  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
源。  
模式  
PCA 模 可用PWM (下 。 出 取决PCA 的  
EPCnH  
CCAPnH  
出0  
(0,CL) < (EPCnL,CCAPnL)  
CEXn  
EPCnL  
CCAPnL  
(0,CL) >= (EPCnL,CCAPnL)  
出1  
Enable  
9-BIT  
COMPARATOR  
CL  
0
CL overflow  
CCAPMn, n=0,1  
ECOMn CAPPn  
CAPNn  
MATn  
TOGn  
PWMn ECCFn  
1
0
0
0
0
1
0
PCA PWM mode / 可 制脉冲 度 出模式  
由于所有模 共用 有PCA 定 器,所有它 的 出 率相同。各个模 的 出占空比是独立  
化的,与使用的捕 寄存器{EPCnL,CCAPnL}有关。当 CL SFR 的 小于{EPCnL,CCAPnL} , 出  
低,PCA CL SFR 的 于或大于{EPCnLCCAPnL} , 出 CL FF 00  
无干 地更PWM。要  
溢出 EPCnH,CCAPnH}的内容装 到{EPCnL,CCAPnL}中。  
使PWM式,模 CCAPMn存器PWMnECOMn必 置位。  
就可  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 71  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
PCA 功能 展外部中断的示例程序  
;/* --- STC International Limited ---------------------- */  
;/* --- 宏晶科技  
姚永平  
2006/1/6  
V1.0 ---------- */  
;/* --- PCA_5410_ASM_INT ------------------------------- */  
;/* --- STC12C5412AD, STC12C5410AD, STC12C5408AD ------- */  
;/* --- STC12C5406AD, STC12C5404AD, STC12C5402AD ------- */  
;/* --- STC12C5052AD, STC12C4052AD, STC12C3052AD ------- */  
;/* --- STC12C2052AD, STC12C1052AD, STC12C0552AD ------- */  
;/* --- Mobile: 13922805190 ---------------------------- */  
;/* --- Fax: 0755-82944243 ----------------------------- */  
;/* --- Tel: 0755-82948409 ----------------------------- */  
;/* --- Web: www.mcu-memory.com ------------------------ */  
;------------------------------------------------------------------------------  
;使用 STC12C2052AD 系列 片机 PCA 功能 展外部中断的示例程序。  
;使用 STC12C5410AD 系列 片机 PCA 功能 展外部中断的示例程序。  
;
;P3.7(PCA 模 0) 展 下降沿外部中断,  
;P3.5(PCA 模 1) 展 上升沿/降沿都可触 的外部中断。  
;
;1)  
源程序, 把  
程序 生的的程序代 下 到 片机中, 上 运行本程序。  
;2) 将 P3.7/PCA0 短路到地, 一 作 生一个下降沿,此 本演示程序 P1.6 取反,  
; P1.6 控制的 LED 灯将会 化一次。  
;3) 改 P3.5/PCA1 的外部高低状 (由高到-- 生下降沿; 由低到-- 生上升沿),  
;
本演示程序在 P3.5/PCA1 的下降沿/升沿都 生中断,此 本演示程序 P1.5 取反,  
; P1.5 控制的 LED 灯状 将会 生 化。  
所 LED 灯状 生 化是指 LED 由  
;
亮或由亮  
;------------------------------------------------------------------------------  
;声明 STC12C2052AD STC12C5410AD列 MCU 特殊功能寄存器地址  
IPH  
EQU 0B7H  
; 中断 先 高位寄存器  
EPCA_LVD EQU IE.6  
;PCA 中断和 LVD(低  
)中断共享的 中断控制位  
CH  
CL  
EQU 0F9H  
EQU 0E9H  
;PCA  
;PCA  
数器8。  
数器8。  
;------------------------  
CCON  
CCF0  
CCF1  
CCF2  
CCF3  
CCF4  
CCF5  
EQU 0D8H  
;PCA 控制寄存器。  
EQU CCON.0  
EQU CCON.1  
EQU CCON.2  
EQU CCON.3  
EQU CCON.4  
EQU CCON.5  
;PCA 模 0 中断 志, 由硬件置位, 必 由 件0。  
;PCA 模 1 中断 志, 由硬件置位, 必 由 件0。  
;PCA 模 2 中断 志, 由硬件置位, 必 由 件0。  
;PCA 模 3 中断 志, 由硬件置位, 必 由 件0。  
;PCA 模 4 中断 志, 由硬件置位, 必 由 件0。  
;PCA 模 5 中断 志, 由硬件置位, 必 由 件0。  
CR  
CF  
EQU CCON.6  
EQU CCON.7  
;1: 允 PCA 数器 数, 必 由 件0。  
;PCA  
;PCA  
数器溢出(CH,CLFFFFH  
0000H) 志,  
数器溢出后由硬件置位,必 由 件0。  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 72  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
;------------------------  
Fax: 0755-82944243  
CMOD  
EQU 0D9H  
CIDL: idle 状  
;PCA 工作模式寄存器。  
PCA 数器是否 数, 0:  
;CMOD.7  
数, 1: 停止 数。  
;CMOD.2  
CPS1: PCA  
CPS0: PCA  
CPS1 CPS0  
数器 数脉冲源  
数器 数脉冲源  
位 1。  
位 0。  
;CMOD.1  
;
;
;
;
;
;
0
0
1
0
1
0
外部晶体 /12。  
外部晶体 /2。  
Timer 0 溢出脉冲,  
Timer 0  
可通 AUXR存器 置成工作在 12T 或 1T 模式。  
1
1
从 ECI/P3.4 脚 入的外部  
;CMOD.0  
ECF: PCA 数器溢出中断允 位, 1-- 允 CF(CCON.7) 生中断。  
;------------------------  
CCAP0H EQU 0FAH  
CCAP1H EQU 0FBH  
CCAP2H EQU 0FCH  
CCAP3H EQU 0FDH  
CCAP4H EQU 0FEH  
CCAP5H EQU 0FFH  
;PCA 模 0/比 存器高 8 位。  
;PCA 模 1/比 存器高 8 位。  
;PCA 模 2/比 存器高 8 位。  
;PCA 模 3/比 存器高 8 位。  
;PCA 模 4/比 存器高 8 位。  
;PCA 模 5/比 存器高 8 位。  
CCAP0L EQU 0EAH  
CCAP1L EQU 0EBH  
CCAP2L EQU 0ECH  
CCAP3L EQU 0EDH  
CCAP4L EQU 0EEH  
CCAP5L EQU 0EFH  
;PCA 模 0/比 存器低 8 位。  
;PCA 模 1/比 存器低 8 位。  
;PCA 模 2/比 存器低 8 位。  
;PCA 模 3/比 存器低 8 位。  
;PCA 模 4/比 存器低 8 位。  
;PCA 模 5/比 存器低 8 位。  
;------------------------  
PCA_PWM0 EQU 0F2H  
PCA_PWM1 EQU 0F3H  
PCA_PWM2 EQU 0F4H  
PCA_PWM3 EQU 0F5H  
PCA_PWM4 EQU 0F6H  
PCA_PWM5 EQU 0F7H  
;PCA 模 0 PWM 寄存器。  
;PCA 模 1 PWM 寄存器。  
;PCA 模 2 PWM 寄存器。  
;PCA 模 3 PWM 寄存器。  
;PCA 模 4 PWM 寄存器。  
;PCA 模 5 PWM 寄存器。  
;PCA_PWMn:  
;
7
-
6
-
5
-
4
-
3
-
2
-
1
0
EPCnH EPCnL  
;B7-B2: 保留  
;B1(EPCnH): 在 PWM 模式下,与 CCAPnH  
;B0(EPCnL): 在 PWM 模式下,与 CCAPnL  
成 9 位数。  
成 9 位数。  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 73  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
;------------------------  
Fax: 0755-82944243  
CCAPM0 EQU 0DAH  
CCAPM1 EQU 0DBH  
CCAPM2 EQU 0DCH  
CCAPM3 EQU 0DDH  
CCAPM4 EQU 0DEH  
CCAPM5 EQU 0DFH  
;PCA 模 0工作模式寄存器。  
;PCA 模 1工作模式寄存器。  
;PCA 模 2工作模式寄存器。  
;PCA 模 3工作模式寄存器。  
;PCA 模 4工作模式寄存器。  
;PCA 模 5工作模式寄存器。  
;CCAPMn:  
7
-
6
5
4
3
2
1
0
;
;
ECOMn CAPPn CAPNn MATn TOGn PWMn ECCFn  
;ECOMn = 1: 能。  
;CAPPn = 1: 升沿触 捕捉功能。  
;CAPNn = 1: 降沿触 捕捉功能。  
;MATn = 1:匹配情况 生 , 允 CCON 中的 CCFn 置位。  
;TOGn = 1:匹配情况 生 , CEXn 将翻 。  
;PWMn = 1:CEXn 置 PWM 出。  
;ECCFn = 1:允 CCON 中的 CCFn 触 中断。  
;ECOMn CAPPn CAPNn MATn TOGn PWMn ECCFn  
; 0  
; x  
; x  
; x  
; 1  
; 1  
; 1  
0
1
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0 00H 未启用任何功能。  
x 21H 16 CEXn升沿触 捕捉功能。  
x 11H 16 CEXn降沿触 捕捉功能。  
x 31H 16 CEXn 沿(上、下沿)触 捕捉功能。  
x 49H 16 位 件定 器。  
x 4DH 16 位高速脉冲 出。  
0 42H 8 位 PWM。  
;------------------------------------------------------------------------------  
;定 片机管脚  
LED_MCU_START  
LED_PCA_INT0  
LED_PCA_INT1  
EQU P1.7  
EQU P1.6  
EQU P1.5  
;------------------------------------------------------------------------------  
ORG 0000H  
LJMP MAIN  
;------------------------------------------------------------------------------  
ORG 0033H  
;interrupt 6(0,1,2,3,4,5,6)  
LJMP PCA_Interrupt  
;------------------------------------------------------------------------------  
ORG 0050H  
MAIN:  
MOV SP, #7FH  
CLR LED_MCU_START  
LCALL PCA_Initiate  
; 点亮 LED_MCU_START LED, 表示程序正在运行  
; 初始化 PCA  
WAIT:  
SJMP WAIT  
; 跳 到本行,无限循 。  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 74  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
;------------------------------------------------------------------------------  
PCA_Initiate:  
MOV CMOD, #10000000B ;PCA 在空 模式下停止 PCA 数器工作  
;PCA  
源 fosc/12  
;禁止 PCA 数器溢出(CH,CLFFFFH  
;CF = 0 ,0 PCA 数器溢出中断 求 志位  
;CR = 0, 不允 PCA 数器 数  
0000H )中断  
MOV CCON, #00H  
;0 PCA 各模 中断 求 志位,如 CCF1,CCF0  
; 0 PCA 数器  
MOV CL, #00H  
MOV CH, #00H  
;-------------------------  
; 置模 0  
MOV CCAPM0, #11H  
; MOV CCAPM0, #21H  
;-------------------------  
; 置模 1  
; 置 PCA 模 0 下降沿触 捕捉功能。  
; 如果送的是 #21h,  
PCA 模 0 上升沿触 。  
MOV CCAPM1, #31H  
;-------------------------  
SETB EPCA_LVD  
; 置 PCA 模 1 上升沿/降沿均可触 的捕捉功能。  
; 开 PCA 中断和 LVD(低  
)中断共享的 中断控制位  
SETB EA  
; 开整个 片机所有中断共享的 中断控制位  
; 启 PCA 数器(CH,CL) 数  
SETB CR  
RET  
;------------------------------------------------------------------------------  
PCA_Interrupt:  
PUSH ACC  
PUSH PSW  
JNB CCF0, Not_PCA0_Else_PCA1 ; 如果 CCF0 不等于 1 就不是 PCA 模 0 中断  
;直接去判是否是 PCA 模 1 中断  
;模 0 中断服 程序  
CPL LED_PCA_INT0  
CLR CCF0  
;P1.6 LED  
化一次, 表PCA 0 了一次中断  
; 清 PCA 模 0 中断 志  
Not_PCA0_Else_PCA1:  
JNB CCF1, PCA_Interrupt_Exit ; 如果 CCF1 不等于 1 就不是 PCA 模 1 中断  
;立即退出  
;模 1 中断服 程序  
CPL LED_PCA_INT1  
CLR CCF1  
;P1.5 LED  
化一次, 表PCA 1 了一次中断  
; 清 PCA 模 1 中断 志  
PCA_Interrupt_Exit:  
POP PSW  
POP ACC  
RETI  
;------------------------------------------------------------------------------  
END  
;------------------------------------------------------------------------------  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 75  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
PCA 功能做定 器的示例程序  
;/* --- STC International Limited ---------------------- */  
;/* --- 宏晶科技  
姚永平  
2006/1/6  
V1.0 ---------- */  
;/* --- PCA_5410_ASM_Timer ----------------------------- */  
;/* --- STC12C5412AD, STC12C5410AD, STC12C5408AD ------- */  
;/* --- STC12C5406AD, STC12C5404AD, STC12C5402AD ------- */  
;/* --- STC12C5052AD, STC12C4052AD, STC12C3052AD ------- */  
;/* --- STC12C2052AD, STC12C1052AD, STC12C0552AD ------- */  
;/* --- Mobile: 13922805190 ---------------------------- */  
;/* --- Fax: 0755-82944243 ----------------------------- */  
;/* --- Tel: 0755-82948409 ----------------------------- */  
;/* --- Web: www.mcu-memory.com ------------------------ */  
;------------------------------------------------------------------------------  
;使用 STC12C2052AD 系列 片机 PCA 功能做定 器的示例程序  
;使用 STC12C5410AD 系列 片机 PCA 功能做定 器的示例程序  
;晶振 率 Fosc = 18.432MHzP1.5 出脉冲 度 1 秒 的方波  
;------------------------------------------------------------------------------  
;声明 STC12C2052AD STC12C5410AD列 MCU 特殊功能寄存器地址  
IPH  
EQU 0B7H  
; 中断 先 高位寄存器  
;PCA 中断和 LVD(低  
EPCA_LVD EQU IE.6  
)中断共享的 中断控制位  
CH  
CL  
EQU 0F9H  
EQU 0E9H  
;PCA  
;PCA  
数器8。  
数器8。  
;------------------------  
CCON  
CCF0  
CCF1  
CCF2  
CCF3  
CCF4  
CCF5  
CR  
EQU 0D8H  
;PCA 控制寄存器。  
EQU CCON.0  
EQU CCON.1  
EQU CCON.2  
EQU CCON.3  
EQU CCON.4  
EQU CCON.5  
EQU CCON.6  
EQU CCON.7  
;PCA 模 0 中断 志, 由硬件置位, 必 由 件0。  
;PCA 模 1 中断 志, 由硬件置位, 必 由 件0。  
;PCA 模 2 中断 志, 由硬件置位, 必 由 件0。  
;PCA 模 3 中断 志, 由硬件置位, 必 由 件0。  
;PCA 模 4 中断 志, 由硬件置位, 必 由 件0。  
;PCA 模 5 中断 志, 由硬件置位, 必 由 件0。  
;1: 允 PCA 数器 数, 必 由 件0。  
CF  
;PCA  
;PCA  
数器溢出(CH,CLFFFFH  
0000H) 志,  
数器溢出后由硬件置位,必 由 件0。  
;------------------------  
CMOD  
EQU 0D9H  
CIDL: idle 状  
;PCA 工作模式寄存器。  
PCA 数器是否 数, 0:  
;CMOD.7  
数, 1: 停止 数。  
;CMOD.2  
CPS1: PCA  
CPS0: PCA  
CPS1 CPS0  
数器 数脉冲源  
数器 数脉冲源  
位 1。  
位 0。  
;CMOD.1  
;
;
;
;
;
;
0
0
外部晶体 /12。  
外部晶体 /2。  
0
1
1
0
Timer 0 溢出脉冲,  
Timer 0  
可通 AUXR存器 置成工作在 12T 或 1T 模式。  
1
1
从 ECI/P3.4 脚 入的外部  
;CMOD.0  
宏晶科技:  
ECF: PCA 数器溢出中断允 位, 1-- 允 CF(CCON.7) 生中断。  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 76  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
;------------------------  
Fax: 0755-82944243  
CCAP0H EQU 0FAH  
CCAP1H EQU 0FBH  
CCAP2H EQU 0FCH  
CCAP3H EQU 0FDH  
CCAP4H EQU 0FEH  
CCAP5H EQU 0FFH  
;PCA 模 0/比 存器高 8 位。  
;PCA 模 1/比 存器高 8 位。  
;PCA 模 2/比 存器高 8 位。  
;PCA 模 3/比 存器高 8 位。  
;PCA 模 4/比 存器高 8 位。  
;PCA 模 5/比 存器高 8 位。  
CCAP0L EQU 0EAH  
CCAP1L EQU 0EBH  
CCAP2L EQU 0ECH  
CCAP3L EQU 0EDH  
CCAP4L EQU 0EEH  
CCAP5L EQU 0EFH  
;PCA 模 0/比 存器低 8 位。  
;PCA 模 1/比 存器低 8 位。  
;PCA 模 2/比 存器低 8 位。  
;PCA 模 3/比 存器低 8 位。  
;PCA 模 4/比 存器低 8 位。  
;PCA 模 5/比 存器低 8 位。  
;------------------------  
PCA_PWM0 EQU 0F2H  
PCA_PWM1 EQU 0F3H  
PCA_PWM2 EQU 0F4H  
PCA_PWM3 EQU 0F5H  
PCA_PWM4 EQU 0F6H  
PCA_PWM5 EQU 0F7H  
;PCA 模 0 PWM 寄存器。  
;PCA 模 1 PWM 寄存器。  
;PCA 模 2 PWM 寄存器。  
;PCA 模 3 PWM 寄存器。  
;PCA 模 4 PWM 寄存器。  
;PCA 模 5 PWM 寄存器。  
;PCA_PWMn:  
;
7
-
6
-
5
-
4
-
3
-
2
-
1
0
EPCnH EPCnL  
;B7-B2: 保留  
;B1(EPCnH): 在 PWM 模式下,与 CCAPnH  
;B0(EPCnL): 在 PWM 模式下,与 CCAPnL  
成 9 位数。  
成 9 位数。  
;------------------------  
CCAPM0 EQU 0DAH  
CCAPM1 EQU 0DBH  
CCAPM2 EQU 0DCH  
CCAPM3 EQU 0DDH  
CCAPM4 EQU 0DEH  
CCAPM5 EQU 0DFH  
;PCA 模 0工作模式寄存器。  
;PCA 模 1工作模式寄存器。  
;PCA 模 2工作模式寄存器。  
;PCA 模 3工作模式寄存器。  
;PCA 模 4工作模式寄存器。  
;PCA 模 5工作模式寄存器。  
;CCAPMn:  
7
-
6
5
4
3
2
1
0
;
;
ECOMn CAPPn CAPNn MATn TOGn PWMn ECCFn  
;ECOMn = 1: 能。  
;CAPPn = 1: 升沿触 捕捉功能。  
;CAPNn = 1: 降沿触 捕捉功能。  
;MATn = 1:匹配情况 生 , 允 CCON 中的 CCFn 置位。  
;TOGn = 1:匹配情况 生 , CEXn 将翻 。  
;PWMn = 1:CEXn 置 PWM 出。  
;ECCFn = 1:允 CCON 中的 CCFn 触 中断。  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 77  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
;ECOMn CAPPn CAPNn MATn TOGn PWMn ECCFn  
Fax: 0755-82944243  
; 0  
; x  
; x  
; x  
; 1  
; 1  
; 1  
0
1
0
0
0
0
0
0 00H 未启用任何功能。  
0
0
0
0
x 21H 16 CEXn升沿触 捕捉功能。  
x 11H 16 CEXn降沿触 捕捉功能。  
x 31H 16 CEXn 沿(上、下沿)触 捕捉功能。  
x 49H 16 位 件定 器。  
1
0
0
0
1
1
0
0
0
1
0
0
0
0
0
0
1
1
0
0
1
0
0
0
x 4DH 16 位高速脉冲 出。  
0 42H 8PWM。  
;------------------------------------------------------------------------------  
;定 片机管脚  
LED_MCU_START  
EQU P1.7  
EQU P1.6  
EQU P1.5  
LED_5mS_Flashing  
LED_1S_Flashing  
;------------------------------------------------------------------------------  
;定 常量  
;Channe0_5mS_H, Channe0_5mS_L 的 算方法 PCA 中断服 程序内的注  
Channe0_5mS_H  
Channe0_5mS_L  
EQU 1EH  
EQU 00H  
; 模 0 5mS 定 常数高位  
; 模 0 5mS 定 常数低位  
;------------------------------------------------------------------------------  
;定  
Counter  
EQU 30H  
; 声明一个 数器,用来 数中断的次数  
;------------------------------------------------------------------------------  
ORG 0000H  
LJMP MAIN  
;------------------------------------------------------------------------------  
ORG 0033H  
;interrupt 6(0,1,2,3,4,5,6)  
LJMP PCA_interrupt  
;------------------------------------------------------------------------------  
ORG 0050H  
MAIN:  
CLR LED_MCU_START  
MOV SP, #7FH  
; 点亮 MCU 开始工作指示灯  
; Counter 数器  
MOV Counter, #0  
ACALL PCA_Initiate  
; 初始化 PCA  
WAIT:  
SJMP WAIT  
; 跳 到本行,无限循 。  
;------------------------------------------------------------------------------  
PCA_Initiate:  
MOV CMOD, #10000000B ;PCA 在空 模式下停止 PCA 数器工作  
;PCA  
源 fosc/12  
;禁止 PCA 数器溢出(CH,CLFFFFH  
;CF = 0 ,0 PCA 数器溢出中断 求 志位  
;CR = 0, 不允 PCA 数器 数  
0000H )中断  
MOV CCON, #00H  
;0 PCA 各模 中断 求 志位,如 CCF1,CCF0  
; 0 PCA 数器  
MOV CL, #00H  
MOV CH, #00H  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 78  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
;-------------------------  
;Channe0_5mS_H, Channe0_5mS_L 的 算方法 PCA 中断服 程序内的注  
MOV CCAP0L, #Channe0_5mS_L ;  
MOV CCAP0H, #Channe0_5mS_H ;  
PCA 模 0 的 CCAP0L 置初  
PCA 模 0 的 CCAP0H 置初  
MOV CCAPM0, #49H  
; 置 PCA 模 0  
16定 器,ECCF0=1PCA模 0断  
;当[CH,CL]==[CCAP0H,CCAP0L] , 生中断 求,CCF0=1, 求中断  
SETB EPCA_LVD  
SETB EA  
SETB CR  
RET  
; 开 PCA 中断和 LVD(低  
)中断共享的 中断控制位  
; 开整个 片机所有中断共享的 中断控制位  
; 启 PCA 数器(CH,CL) 数  
;------------------------------------------------------------------------------  
PCA_Interrupt:  
PUSH ACC  
PUSH PSW  
CPL LED_5mS_Flashing ; 本程PCA 0每5mS断一次, 每次 中断将 灯状 取反  
;在本程序中[CH,CL]12个  
脉冲1, 当[CH,CL] 增加到等于 [CCAP0H,CCAP0L]  
;CCF0=1, 生中断 求。如果每次 PCA 模 0 中断后, 在中断服 程序中  
;[CCAP0HCCAP0L] 增加一个相同的数 ,那么下一次中断来 的 隔  
;同的。本程序中 "同的数 " 就是 Channe0_5mS_H, Channe0_5mS_L  
T 也是相  
; 例:  
率 Fosc = 18.432MHz, PCA  
数器 数 1E00H 次才是 5mS。  
; PCA 数器 数多少次:  
;
;
;
;
;
;
Channe0_5mS_H, Channe0_5mS_L = T/( (1/Fosc)*12 )  
= 0.005/ ( (1/18432000)*12 )  
= 7680 (10 制数)  
= 1E00H (16 制数)  
即 Channe0_5mS_H = 1EH, Channe0_5mS_L = 00H  
; Channe0_5mS_H, Channe0_5mS_L :每次 [CCAP0H,CCAP0L] 增加的数 (步 )  
MOV A, #Channe0_5mS_L  
ADD A, CCAP0L  
; [CCAP0H,CCAP0L] 增加一个数  
MOV CCAP0L, A  
MOV A, #Channe0_5mS_H  
ADDC A, CCAP0H  
MOV CCAP0H, A  
CLR CCF0  
; 清 PCA 模 0 中断 志  
; 中断次数 数器 + 1  
INC Counter  
MOV A, Counter  
CLR C  
SUBB A, #200  
;
是否中断了 200 次(1)  
JC  
PCA_Interrupt_Exit  
; 有借位,表示 Counter 小于 200立即跳 退出  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 79  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
MOV Counter, #0  
;已中断了 200 次,清 0 中断次数 数器  
; LED_1S_Flashing 出脉冲 度 1 秒 的方波  
CPL LED_1S_Flashing  
PCA_Interrupt_Exit:  
POP PSW  
POP ACC  
RETI  
;------------------------------------------------------------------------------  
END  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 80  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
STC12C5410AD 系列 片PWM C 示例  
PWM C 示例  
#include<reg52.h>  
sfr CCON = 0xD8;  
sfr CMOD = 0xD9;  
sfr CL  
sfr CH  
= 0xE9;  
= 0xF9;  
sfr CCAP0L = 0xEA;  
sfr CCAP0H = 0xFA;  
sfr CCAPM0 = 0xDA;  
sfr CCAPM1 = 0xDB;  
sbit CR = 0xDE;  
void main(void)  
{
CMOD = 0x02; // Setup PCA timer  
CL = 0x00;  
CH = 0x00;  
CCAP0L = 0xc0; //Set the initial value same as CCAP0H  
CCAP0H = 0xc0; //25% Duty Cycle  
CCAPM0 = 0x42; //0100,0010 Setup PCA module 0 in PWM mode  
CR = 1; //Start PCA Timer.  
while(1){};  
}
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 81  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
STC12C5410AD列 片PCA/PWM增特殊功能寄存器声明  
;STC12C5410AD殊功能寄存器 文件, STC12_PCA_SFR.ASM  
;声明 STC12C2052AD STC12C5410AD列 MCU 特殊功能寄存器地址  
IPH  
EQU 0B7H  
; 中断 先 高位寄存器  
;PCA 中断和 LVD(低  
EPCA_LVD EQU IE.6  
)中断共享的 中断控制位  
CH  
CL  
EQU 0F9H  
EQU 0E9H  
;PCA  
;PCA  
数器8。  
数器8。  
;------------------------  
CCON  
CCF0  
CCF1  
CCF2  
CCF3  
CCF4  
CCF5  
CR  
EQU 0D8H  
;PCA 控制寄存器。  
EQU CCON.0  
EQU CCON.1  
EQU CCON.2  
EQU CCON.3  
EQU CCON.4  
EQU CCON.5  
EQU CCON.6  
EQU CCON.7  
;PCA 模 0 中断 志, 由硬件置位, 必 由 件0。  
;PCA 模 1 中断 志, 由硬件置位, 必 由 件0。  
;PCA 模 2 中断 志, 由硬件置位, 必 由 件0。  
;PCA 模 3 中断 志, 由硬件置位, 必 由 件0。  
;PCA 模 4 中断 志, 由硬件置位, 必 由 件0。  
;PCA 模 5 中断 志, 由硬件置位, 必 由 件0。  
;1: 允 PCA 数器 数, 必 由 件0。  
CF  
;PCA  
;PCA  
数器溢出(CH,CLFFFFH  
0000H) 志,  
数器溢出后由硬件置位,必 由 件0。  
;------------------------  
CMOD  
EQU 0D9H  
CIDL: idle 状  
;PCA 工作模式寄存器。  
PCA 数器是否 数, 0:  
;CMOD.7  
数, 1: 停止 数。  
;CMOD.2  
CPS1: PCA  
CPS0: PCA  
CPS1 CPS0  
数器 数脉冲源  
位 1。  
位 0。  
;CMOD.1  
数器 数脉冲源  
;
;
;
;
;
;
0
0
外部晶体 /12。  
外部晶体 /2。  
0
1
1
1
0
1
Timer 0 溢出脉冲,  
Timer 0 可通 AUXR存器 置成工作在 12T 或 1T 模式。  
从 ECI/P3.4 脚 入的外部  
;CMOD.0  
ECF: PCA 数器溢出中断允 位, 1-- 允 CF(CCON.7) 生中断。  
;------------------------  
CCAP0H EQU 0FAH  
CCAP1H EQU 0FBH  
CCAP2H EQU 0FCH  
CCAP3H EQU 0FDH  
CCAP4H EQU 0FEH  
CCAP5H EQU 0FFH  
;PCA 模 0/比 存器高 8 位。  
;PCA 模 1/比 存器高 8 位。  
;PCA 模 2/比 存器高 8 位。  
;PCA 模 3/比 存器高 8 位。  
;PCA 模 4/比 存器高 8 位。  
;PCA 模 5/比 存器高 8 位。  
CCAP0L EQU 0EAH  
CCAP1L EQU 0EBH  
CCAP2L EQU 0ECH  
CCAP3L EQU 0EDH  
CCAP4L EQU 0EEH  
CCAP5L EQU 0EFH  
;PCA 模 0/比 存器低 8 位。  
;PCA 模 1/比 存器低 8 位。  
;PCA 模 2/比 存器低 8 位。  
;PCA 模 3/比 存器低 8 位。  
;PCA 模 4/比 存器低 8 位。  
;PCA 模 5/比 存器低 8 位。  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 82  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
;------------------------  
Fax: 0755-82944243  
PCA_PWM0 EQU 0F2H  
PCA_PWM1 EQU 0F3H  
PCA_PWM2 EQU 0F4H  
PCA_PWM3 EQU 0F5H  
PCA_PWM4 EQU 0F6H  
PCA_PWM5 EQU 0F7H  
;PCA 模 0 PWM 寄存器。  
;PCA 模 1 PWM 寄存器。  
;PCA 模 2 PWM 寄存器。  
;PCA 模 3 PWM 寄存器。  
;PCA 模 4 PWM 寄存器。  
;PCA 模 5 PWM 寄存器。  
;PCA_PWMn:  
;
7
-
6
-
5
-
4
-
3
-
2
-
1
0
EPCnH EPCnL  
;B7-B2: 保留  
;B1(EPCnH): 在 PWM 模式下,与 CCAPnH  
;B0(EPCnL): 在 PWM 模式下,与 CCAPnL  
成 9 位数。  
成 9 位数。  
;------------------------  
CCAPM0 EQU 0DAH  
CCAPM1 EQU 0DBH  
CCAPM2 EQU 0DCH  
CCAPM3 EQU 0DDH  
CCAPM4 EQU 0DEH  
CCAPM5 EQU 0DFH  
;PCA 模 0工作模式寄存器。  
;PCA 模 1工作模式寄存器。  
;PCA 模 2工作模式寄存器。  
;PCA 模 3工作模式寄存器。  
;PCA 模 4工作模式寄存器。  
;PCA 模 5工作模式寄存器。  
;CCAPMn:  
7
-
6
5
4
3
2
1
0
;
;
ECOMn CAPPn CAPNn MATn TOGn PWMn ECCFn  
;ECOMn = 1: 允 比 功能。  
;CAPPn = 1: 升沿触 捕捉功能。  
;CAPNn = 1: 降沿触 捕捉功能。  
;MATn = 1:匹配情况 生 , 允 CCON 中的 CCFn 置位。  
;TOGn = 1:匹配情况 生 , CEXn 将翻 。  
;PWMn = 1:CEXn 置 PWM  
出。  
;ECCFn = 1: CCON 中的 CCFn 触 中断。  
;ECOMn CAPPn CAPNn MATn TOGn PWMn ECCFn  
; 0  
; x  
; x  
; x  
; 1  
; 1  
; 1  
0
1
0
0
0
0
0
0
1
0 00H 未启用任何功能。  
0
0
0
0
0
0
x 21H 16 CEXn升沿触 捕捉功能。  
x 11H 16 CEXn降沿触 捕捉功能。  
x 31H 16 CEXn 沿(上、下沿)触 捕捉功能。  
x 49H 16 位 件定 器。  
1
0
1
1
0
0
0
0
0
0
0
0
1
0
1
0
0
1
x 4DH 16 位高速脉冲 出。  
0
0
0 42H 8 位 PWM。  
;------------------------------------------------------------------------------  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 83  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
STC12C5410AD 系列 片机 PCA 功能 PWM 出程序  
;STC12C5410AD 系列 片机 PCA 功能 PWM 示例程序,使18.432MHz振。  
;------------------------------------------------------------  
#include <..\STC12_PCA_SFR.ASM>  
;定 PCA 特殊功能寄存器  
;------------------------------------------------------------  
;定 常量  
;pulse_width_MAX = pulse_width_MIN  
pulse_width_MAX EQU 0F0H  
pulse_width_MIN EQU 10H  
, 出脉冲 度不 。  
;PWM 脉 最大 , 占空比 = 93.75%  
;PWM 脉 最小 , 占空比 = 6.25%  
step  
;------------------------------------------------------------  
;定  
pulse_width  
EQU 38H  
;PWM 脉  
化步  
EQU 30H  
;------------------------------------------------------------  
ORG 0000H  
AJMP main  
;------------------------------------------------------------  
ORG 0050H  
main:  
MOV SP, #0E0H  
ACALL PCA_init  
main_loop:  
ACALL PWM  
SJMP main_loop  
;------------------------------------------------------------  
PCA_init:  
MOV CMOD, #80H;  
;PCA 在空 模式下停止 PCA 数器工作  
;PCA 模式 fosc/12  
;止 PCA 数器溢出中断  
MOV  
CCON, #00H  
;禁止 PCA 数器工作, 清除中断 志、 数器溢出 志  
; 0 器  
MOV CL, #00H  
MOV CH, #00H  
;-------------------------  
; 置模 0  
8 位 PWM  
出模式, PWM 无需中断支持。脉冲P3.7(11) 出  
;*** 示例程序核心 句, ---->0100,0010  
;*** 示例程序核心 句  
MOV CCAPM0, #42H  
MOV PCA_PWM0, #00H  
; MOV PCA_PWM0, #03H  
; 放本行注 , PWM 出就一直是 0, 无脉冲。  
;-------------------------  
; 置模 1 8 位 PWM  
出模式, PWM 无需中断支持。脉冲P3.5(9) 出  
;*** 示例程序核心 句, ---->0100,0010  
;*** 示例程序核心 句  
MOV CCAPM1, #42H  
MOV PCA_PWM1, #00H  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 84  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
; MOV PCA_PWM1, #03H  
; 放本行注 , PWM 出就一直是 0, 无脉冲。  
SETB EPCA_LVD  
SETB EA  
SETB CR  
RET  
; 开 PCA 中断  
; 开 中断  
; PCA 数器打开  
;------------------------------------------------------------  
PWM:  
; 用示波器 行 察  
理想。  
;逐  
MOV  
MOV  
亮。  
A, #pulse_width_MIN ;  
出脉冲 度 置初 。  
pulse_width, A  
;pulse_width 数字越大脉 越窄,P3.5 的 LED 越亮。  
PWM_loop1:  
MOV  
A, pulse_width  
; 判是否到达最大 。  
CLR C  
SUBB A, #pulse_width_MAX  
JNC PWM_a  
; 到达最大 就 到逐  
暗。  
MOV A, pulse_width  
MOV CCAP0H, A  
; 置脉冲 度。数字越大、脉 越窄、LED 越亮。  
;*** 示例程序核心 句  
MOV CCAP1H, A  
;*** 示例程序核心 句  
CPL A  
; 用 P1 口的 LED 示占空比,  
MOV P1, A  
;占空比 = ( pulse_width/256 ) * 100% 。  
MOV  
A, pulse_width  
; 算下一次 出脉冲 度数 。  
ADD A, #step  
MOV pulse_width, A  
ACALL delay  
; 在一段  
内保持 出脉冲 度不 。  
SJMP PWM_loop1  
PWM_a:  
;逐  
MOV  
暗。  
A, #pulse_width_MAX ;  
出脉冲 度 置初 。  
;pulse_width 数字越大脉 越窄,P3.5 的 LED 越亮。  
MOV  
PWM_loop2:  
MOV  
pulse_width, A  
A, pulse_width  
; 判是否到达最小 。  
CLR C  
SUBB A, #pulse_width_MIN  
JC  
JZ  
PWM_b  
PWM_b  
; 到达最小 就返回。  
; 到达最小 就返回。  
MOV A, pulse_width  
MOV CCAP0H, A  
;
置脉冲 度。数字越大、脉 越窄、LED 越亮。  
;*** 示例程序核心 句  
;*** 示例程序核心 句  
MOV CCAP1H, A  
CPL A  
; 用 P1 口的 LED 示占空比,  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 85  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
MOV P1, A ;占空比 = ( pulse_width/256 ) * 100% 。  
MOV  
A, pulse_width  
; 算下一次 出脉冲 度数 。  
CLR C  
SUBB A, #step  
MOV pulse_width, A  
ACALL delay  
SJMP PWM_loop2  
; 在一段  
内保持 出脉冲 度不 。  
PWM_b:  
RET  
;------------------------------------------------------------  
delay:  
CLR A  
MOV R1, A  
MOV R2, A  
MOV R3, #80H  
delay_loop:  
NOP  
NOP  
NOP  
DJNZ R1, delay_loop  
DJNZ R2, delay_loop  
DJNZ R3, delay_loop  
RET  
;------------------------------------------------------------  
END  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 86  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
STC12C5410AD 系列 片机 PCA 的高速脉冲 出  
;******************************************************************************  
;
;
出 125.0KHz 的脉冲(晶体 率 = 33.000MHz)  
;示例程序: 使用 功能, P3.5(9) 出  
125.0KHz 的方脉冲。  
;------------------------------------------------------------------------------  
;
;
;
;
;
;
;
;
程序中定 的常量 CCAPnL_Value 决定了 PCA 模 n 出脉冲的 率 f:  
f = Fosc / (4 * CCAPnL_Value )  
式中 Fosc = 晶体 率  
CCAPnL_Value = Fosc / (4 * f)  
如算出的 果不是整数,  
行取整 CCAPnL_Value = INT(Fosc / (4 * f) + 0.5)  
INT() 取整数运算, 直接去掉小数。  
;******************************************************************************  
;定 STC12C5410 系列 MCU 特殊功能寄存器  
IPH  
EQU 0B7H  
; 中断 先 高位寄存器  
EPCA_LVD EQU IE.6  
;PCA/LVD 中断允 位。  
;打开 PCA 中断 要打开相 的 ECF,ECCF0,ECCF1 位  
;打开 LVD 中断 要打开相 的 ELVDI 位  
CH  
CL  
EQU 0xF9  
EQU 0xE9  
;PCA  
;PCA  
数器8。  
数器8。  
;------------------------  
CCON  
CCF0  
CCF1  
CR  
EQU 0D8H  
;PCA 控制寄存器。  
EQU CCON.0  
EQU CCON.1  
EQU CCON.6  
EQU CCON.7  
;PCA 模 0 中断 志, 由硬件置位, 必 由 件0。  
;PCA 模 1 中断 志, 由硬件置位, 必 由 件0。  
;1: 允 PCA 数器 数, 必 由 件0。  
CF  
;PCA  
数器溢出 志,由硬件或 件置位,必 由 件0。  
;------------------------  
CMOD  
EQU 0D9H  
CIDL: idle 状  
;PCA 工作模式寄存器。  
PCA 数器是否 数, 0:  
;CMOD.7  
数, 1: 停止 数。  
;CMOD.2  
CPS1: PCA  
CPS0: PCA  
CPS1 CPS0  
数器脉冲源  
数器脉冲源  
位 1。  
位 0。  
;CMOD.1  
;
;
;
;
;
0
0
1
1
0
1
0
1
内部  
内部  
, fosc/12。  
, fosc/2。  
Timer0 溢出。  
由 ECI/P3.4 脚 入的外部  
;CMOD.0  
ECF: PCA 数器溢出中断允 位, 1-- 允 CF(CCON.7) 生中断。  
;------------------------  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 87  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
CCAP0H EQU 0FAH  
CCAP1H EQU 0FBH  
CCAP0L EQU 0EAH  
;PCA 模 0/比 存器高 8 位。  
;PCA 模 1/比 存器高 8 位。  
;PCA 模 0/比 存器低 8 位。  
;PCA 模 1/比 存器低 8 位。  
CCAP1L EQU  
0EBH  
;------------------------  
PCA_PWM0 EQU  
PCA_PWM1 EQU  
0F2H  
0F3H  
;PCA 模 0 PWM 寄存器。  
;PCA 模 1 PWM 寄存器。  
;PCA_PWMn:  
;
7
-
6
-
5
-
4
-
3
-
2
-
1
0
EPCnH EPCnL  
;B7-B2: 保留  
;B1(EPCnH): 在 PWM 模式下,与 CCAPnH 成 9 位数。  
;B0(EPCnL): 在 PWM 模式下,与 CCAPnL 成 9 位数。  
;------------------------  
CCAPM0 EQU 0DAH  
CCAPM1 EQU 0DBH  
;PCA 模 0工作模式寄存器。  
;PCA 模 1工作模式寄存器。  
;CCAPMn:  
7
-
6
5
4
3
2
1
0
;
;
ECOMn CAPPn CAPNn MATn TOGn PWMn ECCFn  
;ECOMn = 1: 能。  
;CAPPn = 1: 升沿触 捕捉功能。  
;CAPNn = 1: 降沿触 捕捉功能。  
;MATn = 1:匹配情况 生 , 允 CCON 中的 CCFn 置位。  
;TOGn = 1:匹配情况 生 , CEXn 将翻 。  
;PWMn = 1:CEXn 置 PWM 出。  
;ECCFn = 1:允 CCON 中的 CCFn 触 中断。  
;ECOMn CAPPn CAPNn MATn TOGn PWMn ECCFn  
; 0  
; x  
; x  
; x  
; 1  
; 1  
; 1  
0
1
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0 0x00  
未启用任何功能。  
x 0x21 16 CEXn升沿触 捕捉功能。  
x 0x11 16 CEXn降沿触 捕捉功能。  
x 0x31 16 CEXn 沿(上、下沿)触 捕捉功能。  
x 0x49 16 位 件定 器。  
x 0x4d 16 位高速脉冲 出。  
0 0x42 8 位 PWM。  
;------------------------------------------------------------  
;定 常量 CCAPnL_Value  
;CCAPnL_Value 决定了模 1 出脉冲的 率 f:  
;
;
;
;
;
f = Fosc / (4 * CCAPnL_Value )  
式中 Fosc = 晶体 率  
或 CCAPnL_Value = INT(Fosc / (4 * f) + 0.5)  
INT()  
取整数运算。  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 88  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
;
;
;
;
;
;
;
;
假定 fosc = 20MHz , 要求 PCA 高速脉冲 出 125KHz 的方波:  
CCAPnL_Value = INT( 20000000/4/125000 + 0.5)  
= INT( 40 + 0.5)  
= INT( 40.5 )  
= 40  
= 28H  
出脉冲的 率 f = 20000000/4/40  
= 125000 (125.0KHz)  
;CCAPnL_Value EQU 25H  
;CCAPnL_Value EQU 28H  
CCAPnL_Value EQU 42H  
;25H = 37, fosc = 18.432MHz  
;28H = 40, fosc = 20MHz  
;42H = 66, fosc = 33MHz  
, 高速脉冲 出 = 124.540KHz  
, 高速脉冲 出 = 125KHz  
, 高速脉冲 出 = 125KHz  
;------------------------------------------------------------  
ORG 0000H  
AJMP main  
;------------------------------------------------------------  
ORG 0033H  
PCA_interrupt:  
PUSH ACC  
;interrupt 6  
;4 Clock  
;4 Clock  
PUSH PSW  
CLR CCF1  
;1 Clock, 清 PCA 模 1 中断 志  
MOV A, #CCAPnL_Value ;2 Clock  
ADD A, CCAP1L  
;3 Clock  
;3 Clock  
;1 Clock  
;3 Clock  
;3 Clock  
MOV CCAP1L, A  
CLR A  
ADDC A, CCAP1H  
MOV CCAP1H, A  
POP PSW  
POP ACC  
RETI  
;3 Clock  
;3 Clock  
;4 Clock  
;此中断服 程序共用 34 Clock,  
入中断服 程序 要数个 Clock  
;------------------------------------------------------------  
ORG 0060H  
main:  
MOV SP, #0E0H  
ACALL PCA_init  
; 置堆 指  
; 用 PCA 初始化程序  
main_loop:  
NOP  
NOP  
NOP  
SJMP main_loop  
;------------------------------------------------------------  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 89  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
PCA_init:  
MOV CMOD, #00000010B  
;PCA  
;PCA 初始化程序  
;02H,PCA 数器在空 模式下  
工作, CIDL = 0  
数器 数脉冲来源 系  
fosc/2, CPS1, CPS0 = (0,1)  
;禁PCA 数器(CH, CL) 数溢出(CH, CL=0000H)中断, ECF = 0  
; 清除 PCA 数器(CH, CL) 数溢出中断 志, CF = 0  
;停止 PCA 数器(CH, CL) 数, CR = 0  
;除 模 1 中断 志, CCF1 = 0  
MOV CCON, #00H  
;除 模 0 中断 志, CCF0 = 0  
MOV CH, #00H  
MOV CL, #00H  
; 0 PCA 数器高 8 位  
; 0 PCA 数器低 8 位  
;-------------------------  
; 置模 1 高速脉冲 出模式, 脉冲P3.5(9) 出  
MOV CCAPM1, #01001101B  
;4DH,  
4
置 PCA 模 1 高速脉冲 出模式,允 触 中断  
;CCAPMn:  
7
-
0
6
5
3
2
1
0
;
;
ECOMn CAPPn CAPNn MATn TOGn PWMn ECCFn  
1
0
0
1
1
0
1
MOV CCAP1L, #CCAPnL_Value ; 1初 , 此句不可少  
MOV CCAP1H, #0 ; 1初 , 此句不可少  
;其它中断服 可能会使模 1 高速脉冲 出的某个周期突然 得很大,因此必 将  
;PCA 中断的 先 置 唯一的最高 , 其它中断的 先 都要比它低。  
MOV IPH, #01000000B  
MOV IP, #01000000B  
;PCA 中断的 先  
置 唯一的最高  
SETB EPCA_LVD  
SETB EA  
SETB CR  
RET  
; 开 PCA 中断  
; 开 中断  
; PCA 数器打开  
;------------------------------------------------------------  
END  
;------------------------------------------------------------  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 90  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
利用定 0溢出作 PCA模 的 源  
--- 利PCA 0 可 率PWM 出  
--- 利PCA 116 器  
;---------------------------------------------------------------------  
;使用 定 0 溢出,作 PCA 模 的  
入源,利PCA 模 的多种功能  
了定 器功能  
;
了可 率PWM 出( 可以改 占空比),同 利PCA 模 再  
;使用 STC12C2052AD 系列 片机 PCA 模 的模 0PWM PWM 出的示例程序  
;使用 STC12C2052AD 系列 片机 PCA 模 的模 116位 定 功能做定 器的示例程序  
;使用 STC12C5410AD 系列 片机 PCA 模 的模 0PWM PWM 出的示例程序  
;使用 STC12C5410AD 系列 片机 PCA 模 的模 116位 定 功能做定 器的示例程序  
;晶振 率 Fosc = 18.432MHzP1.5 出脉冲 度 1 秒 的方波  
;------------------------------------------------------------------------------  
;声明 STC12C2052AD STC12C5410AD列 MCU 特殊功能寄存器地址  
IPH  
EQU 0B7H  
; 中断 先 高位寄存器  
EPCA_LVD EQU IE.6  
;PCA 中断和 LVD(低  
)中断共享的 中断控制位  
CH  
CL  
EQU 0F9H  
EQU 0E9H  
;PCA  
;PCA  
数器8。  
数器8。  
;------------------------  
CCON  
CCF0  
CCF1  
CCF2  
CCF3  
CCF4  
CCF5  
EQU 0D8H  
;PCA 控制寄存器。  
EQU CCON.0  
EQU CCON.1  
EQU CCON.2  
EQU CCON.3  
EQU CCON.4  
EQU CCON.5  
;PCA 模 0 中断 志, 由硬件置位, 必 由 件0。  
;PCA 模 1 中断 志, 由硬件置位, 必 由 件0。  
;PCA 模 2 中断 志, 由硬件置位, 必 由 件0。  
;PCA 模 3 中断 志, 由硬件置位, 必 由 件0。  
;PCA 模 4 中断 志, 由硬件置位, 必 由 件0。  
;PCA 模 5 中断 志, 由硬件置位, 必 由 件0。  
CR  
CF  
EQU CCON.6  
EQU CCON.7  
;1: 允 PCA 数器 数, 必 由 件0。  
;PCA  
;PCA  
数器溢出(CH,CLFFFFH  
0000H) 志,  
数器溢出后由硬件置位,必 由 件0。  
;------------------------  
CMOD  
EQU 0D9H  
CIDL: idle 状  
;PCA 工作模式寄存器。  
PCA 数器是否 数, 0:  
;CMOD.7  
数, 1: 停止 数。  
;CMOD.2  
CPS1: PCA  
CPS0: PCA  
CPS1 CPS0  
数器 数脉冲源  
数器 数脉冲源  
位 1。  
位 0。  
;CMOD.1  
;
;
;
;
;
;
0
0
1
0
1
0
外部晶体 /12。  
外部晶体 /2。  
Timer 0 溢出脉冲,  
Timer 0  
可通 AUXR存器 置成工作在 12T 或 1T 模式。  
1
1
从 ECI/P3.4 脚 入的外部  
;CMOD.0  
宏晶科技:  
ECF: PCA 数器溢出中断允 位, 1-- 允 CF(CCON.7) 生中断。  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 91  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
;------------------------  
Fax: 0755-82944243  
CCAP0H EQU 0FAH  
CCAP1H EQU 0FBH  
CCAP2H EQU 0FCH  
CCAP3H EQU 0FDH  
CCAP4H EQU 0FEH  
CCAP5H EQU 0FFH  
;PCA 模 0/比 存器高 8 位。  
;PCA 模 1/比 存器高 8 位。  
;PCA 模 2/比 存器高 8 位。  
;PCA 模 3/比 存器高 8 位。  
;PCA 模 4/比 存器高 8 位。  
;PCA 模 5/比 存器高 8 位。  
CCAP0L EQU 0EAH  
CCAP1L EQU 0EBH  
CCAP2L EQU 0ECH  
CCAP3L EQU 0EDH  
CCAP4L EQU 0EEH  
CCAP5L EQU 0EFH  
;PCA 模 0/比 存器低 8 位。  
;PCA 模 1/比 存器低 8 位。  
;PCA 模 2/比 存器低 8 位。  
;PCA 模 3/比 存器低 8 位。  
;PCA 模 4/比 存器低 8 位。  
;PCA 模 5/比 存器低 8 位。  
;------------------------  
PCA_PWM0 EQU 0F2H  
PCA_PWM1 EQU 0F3H  
PCA_PWM2 EQU 0F4H  
PCA_PWM3 EQU 0F5H  
PCA_PWM4 EQU 0F6H  
PCA_PWM5 EQU 0F7H  
;PCA 模 0 PWM 寄存器。  
;PCA 模 1 PWM 寄存器。  
;PCA 模 2 PWM 寄存器。  
;PCA 模 3 PWM 寄存器。  
;PCA 模 4 PWM 寄存器。  
;PCA 模 5 PWM 寄存器。  
;PCA_PWMn:  
;
7
-
6
-
5
-
4
-
3
-
2
-
1
0
EPCnH EPCnL  
;B7-B2: 保留  
;B1(EPCnH): 在 PWM 模式下,与 CCAPnH  
;B0(EPCnL): 在 PWM 模式下,与 CCAPnL  
成 9 位数。  
成 9 位数。  
;------------------------  
CCAPM0 EQU 0DAH  
CCAPM1 EQU 0DBH  
CCAPM2 EQU 0DCH  
CCAPM3 EQU 0DDH  
CCAPM4 EQU 0DEH  
CCAPM5 EQU 0DFH  
;PCA 模 0工作模式寄存器。  
;PCA 模 1工作模式寄存器。  
;PCA 模 2工作模式寄存器。  
;PCA 模 3工作模式寄存器。  
;PCA 模 4工作模式寄存器。  
;PCA 模 5工作模式寄存器。  
;CCAPMn:  
7
-
6
5
4
3
2
1
0
;
;
ECOMn CAPPn CAPNn MATn TOGn PWMn ECCFn  
;ECOMn = 1: 允 比 功能。  
;CAPPn = 1: 升沿触 捕捉功能。  
;CAPNn = 1: 降沿触 捕捉功能。  
;MATn = 1:匹配情况 生 , 允 CCON 中的 CCFn 置位。  
;TOGn = 1:匹配情况 生 , CEXn 将翻 。  
;PWMn = 1:CEXn 置 PWM  
出。  
宏晶科技: 片/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 92  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
;ECCFn = 1: CCON 中的 CCFn 触 中断。  
;ECOMn CAPPn CAPNn MATn TOGn PWMn ECCFn  
; 0  
; x  
; x  
; x  
; 1  
; 1  
; 1  
0
1
0
1
0
0
0
0
0
1
1
0
0
0
0
0
0
0
1
1
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0 00H 未启用任何功能。  
x 21H 16 CEXn升沿触 捕捉功能。  
x 11H 16 CEXn降沿触 捕捉功能。  
x 31H 16 CEXn 沿(上、下沿)触 捕捉功能。  
x 49H 16 位 件定 器。  
x 4DH 16 位高速脉冲 出。  
0 42H 8 位 PWM。  
;------------------------------------------------------------------------------  
;定 片机管脚  
LED_MCU_START  
EQU P1.7  
EQU P1.6  
EQU P1.5  
LED_5mS_Flashing  
LED_1S_Flashing  
;------------------------------------------------------------------------------  
;定 常量  
;Channe1_5mS_H, Channe1_5mS_L 的 算方法 PCA 中断服 程序内的注  
;-----------------------------------  
;用定 0 溢出率作 PCA 数器(CH,CL)的  
;Channe1_5mS_H  
Channe1_5mS_H  
EQU 03H  
EQU 01H  
EQU 00H  
EQU 03H  
EQU 099H  
;PCA 模 1 5mS 定 常数高位, Fosc = 18.432  
;PCA 模 1 5mS 定 常数高位, Fosc = 18.432  
;PCA 模 1 5mS 定 常数低位, Fosc = 18.432  
;PCA 模 1 5mS 定 常数高位, Fosc = 22.1184  
;PCA 模 1 5mS 定 常数低位, Fosc = 22.1184  
Channe1_5mS_L  
;Channe1_5mS_H  
;Channe1_5mS_L  
;------------------  
;内部  
率(fosc)/12 作 PCA 数器(CH,CL)的  
;Channe1_5mS_H  
;Channe1_5mS_L  
EQU 1EH  
EQU 00H  
;PCA 模 1 5mS 定 常数高位  
;PCA 模 1 5mS 定 常数低位  
;-----------------------------------  
Timer0_Reload_1  
Timer0_Reload_2  
EQU 0F6H  
EQU 0ECH  
;Timer0 自 重装数 = -10  
;Timer0 自 重装数 = -20  
;-----------------------------------  
PWM_PULSE_WIDTH EQU 0FFH ; 数字越大脉 越窄(占空比越小),P3.5 的 LED 越亮。  
;------------------------------------------------------------------------------  
;定  
Counter  
EQU 30H  
; 声明一个 数器,用来 数中断的次数  
;------------------------------------------------------------------------------  
ORG 0000H  
LJMP MAIN  
;------------------------------------------------------------------------------  
ORG 0033H  
;interrupt 6(0,1,2,3,4,5,6)  
LJMP PCA_interrupt  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 93  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
;------------------------------------------------------------------------------  
ORG 0050H  
MAIN:  
CLR LED_MCU_START  
MOV SP, #7FH  
; 点亮 MCU 开始工作指示灯  
MOV Counter, #0  
ACALL PCA_Initiate  
ACALL Timer0_Initiate  
; Counter 数器  
; 初始化 PCA  
; 初始化 T0  
MAIN_Loop:  
;######### P3.5 的 LED 亮 #################  
MOV TH0, #Timer0_Reload_1 ;T0 溢出率高  
MOV TL0, #Timer0_Reload_1  
MOV A, #PWM_PULSE_WIDTH ; 亮, 数字越大 PWM 占空比越小,P3.5 的 LED 越亮。  
MOV CCAP0H, A  
ACALL delay  
;--------------------  
; 注T0出率 低后定 器脉冲的 LED  
速度 慢, 而 PWM 的 LED 亮度未改  
MOV TH0, #Timer0_Reload_2 ;T0 溢出率低  
MOV TL0, #Timer0_Reload_2  
ACALL delay  
;######### P3.5 的 LED 亮 ################  
MOV TH0, #Timer0_Reload_1 ;T0 溢出率高  
MOV TL0, #Timer0_Reload_1  
MOV A, #PWM_PULSE_WIDTH  
ACALL RL_A  
ACALL RL_A  
; 改 PWM 占空比  
MOV CCAP0H, A  
ACALL delay  
; 亮, 数字越大 PWM 占空比越小,P3.5 的 LED 越亮  
;--------------------  
; 注T0出率 低后定 器脉冲的 LED  
速度 慢, 而 PWM 的 LED 亮度未改  
MOV TH0, #Timer0_Reload_2 ;T0 溢出率低  
MOV TL0, #Timer0_Reload_2  
ACALL delay  
;######### P3.5 的 LED 暗 ##################  
MOV TH0, #Timer0_Reload_1 ;T0 溢出率高  
MOV TL0, #Timer0_Reload_1  
MOV A, #PWM_PULSE_WIDTH  
ACALL RL_A  
ACALL RL_A  
; 改 PWM 占空比  
ACALL RL_A  
ACALL RL_A  
MOV CCAP0H, A  
ACALL delay  
; 暗, 数字越大 PWM 占空比越小,P3.5 的 LED 越亮  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 94  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
;--------------------  
Fax: 0755-82944243  
; 注T0出率 低后定 器脉冲的 LED  
速度 慢, 而 PWM 的 LED 亮度未改  
MOV TH0, #Timer0_Reload_2 ;T0 溢出率低  
MOV TL0, #Timer0_Reload_2  
ACALL delay  
;############################################  
SJMP MAIN_Loop  
; 无限循 。  
;------------------------------------------------------------------------------  
RL_A:  
CLR C  
RRC A  
RET  
;------------------------------------------------------------------------------  
Timer0_Initiate:  
;初始化 T0, 其溢出脉冲作 PCA 数器(CH,CL)的  
MOV TMOD, #02H  
MOV TH0, #Timer0_Reload_1  
MOV TL0, #Timer0_Reload_1  
SETB TR0  
; 置定 0 自 装工作模式  
; 启 0  
RET  
;------------------------------------------------------------------------------  
PCA_Initiate:  
; MOV CMOD, #10000000B ;PCA 在空 模式下停止 PCA 数器工作  
;
;
;PCA  
源 fosc/12  
; 禁止 PCA 数器溢出(CH,CLFFFFH  
0000H )中断  
0000H )中断  
MOV CMOD, #10000100B ;PCA 在空 模式下停止 PCA 数器工作  
;PCA  
源 定 0 (T0) 的溢出率  
;禁止 PCA 数器溢出(CH,CLFFFFH  
;CF = 0 ,0 PCA 数器溢出中断 求 志位  
;CR = 0, 不允 PCA 数器 数  
MOV CCON, #00H  
;0 PCA 各模 中断 求 志位,如 CCF1,CCF0  
; 0 PCA 数器  
MOV CL, #00H  
MOV CH, #00H  
;-------------------------  
; 置模 0 8 位 PWM 出模式, PWM 无需中断支持。脉冲P3.7(11) 出  
MOV CCAPM0, #42H  
MOV PCA_PWM0, #00H  
; MOV PCA_PWM0, #03H  
;*** 示例程序核心 句, 置模 0  
8 位 PWM 出模式  
;*** 示例程序核心 句, 清 0 PWM 模式下的第 9 位  
; 放本行注 , PWM 出就一直是 0, 无脉冲。  
MOV CCAP0H, #PWM_PULSE_WIDTH ;*** 示例程序核心 句  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 95  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
;-------------------------  
; 置 PCA 模 1  
;Channe1_5mS_H, Channe1_5mS_L 的 算方法 PCA 中断服 程序内的注  
MOV CCAP1L, #Channe1_5mS_L ;  
MOV CCAP1H, #Channe1_5mS_H ;  
PCA 模 1 的 CCAP1L 置初  
PCA 模 1 的 CCAP1H 置初  
MOV CCAPM1, #49H  
; 置 PCA 模 1  
16定 器,ECCF1=1PCA模 1断  
;当[CH,CL]==[CCAP1H,CCAP1L] , 生中断 求,CCF1=1, 求中断  
SETB EPCA_LVD  
SETB EA  
; 开 PCA 中断和 LVD(低  
)中断共享的 中断控制位  
; 开整个 片机所有中断共享的 中断控制位  
; 启 PCA 数器(CH,CL) 数  
SETB CR  
RET  
;------------------------------------------------------------------------------  
PCA_Interrupt:  
PUSH ACC  
PUSH PSW  
CPL LED_5mS_Flashing ; 本程PCA 1每5mS断一次, 每次 中断将 灯状 取反  
;用定 0 溢出率作 PCA 数器(CH,CL)的  
;在本程序中定 0 121, 0 10 次后 生 1 次溢出, 即每  
;120 个 脉冲 PCA 数器(CH,CL)1。当[CH,CL] 增加到等于 [CCAP1H,CCAP1L]  
;CCF0=1, PCA 模 1 生中断 求。如果每次 PCA 模 1 中断后, 在中断服 程序中  
源 , 算 Channe1_5mS_H, Channe1_5mS_L  
;[CCAP1HCCAP1L] 增加一个相同的数 ,那么下一次中断来 的 隔  
;同的。本程序中 "同的数 " 就是 Channe1_5mS_H, Channe1_5mS_L  
T 也是相  
; 例:  
率 Fosc = 18.432MHz, PCA  
Channe1_5mS_H, Channe1_5mS_L = T/( (1/Fosc)*120 )  
= 0.005/ ( (1/18432000)*120 )  
= 768 (10 制数)  
= 300H (16 制数)  
即 Channe1_5mS_H = 03H, Channe1_5mS_L = 00H  
数器 数 300H 次等于 5mS。  
;
;
;
;
;
;
; Channe1_5mS_H, Channe1_5mS_L :每次 [CCAP1H,CCAP1L] 增加的数 (步 )  
;内部  
;在本程序中[CH,CL]12个  
;CCF0=1, PCA 模 1 生中断 求。如果每次 PCA 模 1 中断后, 在中断服 程序中  
率(fosc)/12 作 PCA 数器(CH,CL)的  
源, 算 Channe1_5mS_H,Channe1_5mS_L  
脉冲1, 当[CH,CL] 增加到等于 [CCAP1H,CCAP1L]  
;[CCAP1HCCAP1L] 增加一个相同的数 ,那么下一次中断来 的 隔  
;同的。本程序中 "同的数 " 就是 Channe1_5mS_H, Channe1_5mS_L  
T 也是相  
; 例:  
率 Fosc = 18.432MHz, PCA  
Channe1_5mS_H, Channe1_5mS_L = T/( (1/Fosc)*12 )  
= 0.005/ ( (1/18432000)*12 )  
= 7680 (10 制数)  
= 1E00H (16 制数)  
即 Channe1_5mS_H = 1EH, Channe1_5mS_L = 00H  
数器 数 1E00H 次才是 5mS。  
;
;
;
;
;
;
; Channe1_5mS_H, Channe1_5mS_L :每次 [CCAP1H,CCAP1L] 增加的数 (步 )  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 96  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
MOV A, #Channe1_5mS_L  
ADD A, CCAP1L  
; [CCAP1H,CCAP1L] 增加一个数  
MOV CCAP1L, A  
MOV A, #Channe1_5mS_H  
ADDC A, CCAP1H  
MOV CCAP1H, A  
CLR CCF1  
; 清 PCA 模 1 中断 志  
; 中断次数 数器 + 1  
INC Counter  
MOV A, Counter  
CLR C  
SUBB A, #100  
;
是否中断了 100 次(0.5)  
JC  
PCA_Interrupt_Exit  
; 有借位,表示 Counter 小于 100,立即跳 退出  
MOV Counter, #0  
; 已中断了 100 次,清 0 中断次数 数器  
CPL LED_1S_Flashing  
; LED_1S_Flashing 出脉冲 度 0.5 秒 的方波  
PCA_Interrupt_Exit:  
POP PSW  
POP ACC  
RETI  
;------------------------------------------------------------------------------  
delay:  
CLR A  
MOV R1, A  
MOV R2, A  
MOV R3, #80H  
delay_loop:  
NOP  
NOP  
NOP  
DJNZ R1, delay_loop  
DJNZ R2, delay_loop  
DJNZ R3, delay_loop  
RET  
;------------------------------------------------------------------------------  
END  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 97  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
PCON 存器的高  
用,上 复位 志, 入掉 模式  
Mnemonic Add Name  
7
6
5
4
3
2
1
0 Reset value  
IDL 0011,0000  
PCON  
87h Power Control SMOD  
SMOD0 LVDF  
POF  
GF1  
GF0  
PD  
POF上 复位 志位, 片机停 后,上 复位 志位 1可由 件0。  
用:要判断是上 复位(冷启 外部复位脚 入复位信号 生的复位, 是内部看  
狗复位,可通 如下方法来判断:  
在初始化程序,  
POF否 1  
否 POF=0  
冷启  
上 复位  
POF=1  
外部手 复位  
或看 狗复位  
POF清0  
PD将其1 , 入Power Down 式,可由外部中断低 平触 或下降沿触 中断模式 醒。  
入掉 模式 ,外部  
停振,CPU定 器、串行口全部停止工作,只有外部中断  
工作。  
IDL:将其1 , 入IDLE式(空  CPU工作外,其余仍  
工作,可由任何一个中断 醒。  
C本开始大量供 ,CIDLE式可正常使用(AB本建 不要IDLE。  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 98  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
STC12C5410AD 系1T 片机通 外部中断从掉 模式 醒  
;*************************************************************************  
;Wake Up Idle and Wake Up Power Down  
;*************************************************************************  
ORG 0000H  
AJMP MAIN  
ORG 0003H  
int0_interrupt:  
CLR P1.7  
ACALL delay  
CLR EA  
RETI  
; 点亮 P1.7 LED 表示已响 int0 中断  
; 延 是 了便于 察,  
; 关 中断, 化  
用不需延  
.
用不需关 中断  
ORG 0013H  
int1_interrupt:  
CLR P1.6  
ACALL delay  
CLR EA  
; 点亮 P1.6 LED 表示已响 int1 中断  
; 延 是 了便于 察,  
; 关 中断, 化  
用不需延  
.
用不需关 中断  
RETI  
ORG 0100H  
delay:  
CLR A  
MOV R0, A  
MOV R1, A  
MOV R2, #02  
delay_loop:  
DJNZ R0, delay_loop  
DJNZ R1, delay_loop  
DJNZ R2, delay_loop  
RET  
main:  
MOV R3, #0  
main_loop:  
MOV A, R3  
CPL A  
;P1 LED  
增方式 化, 表示程序开始运行  
MOV P1, A  
ACALL delay  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 99  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
INC R3  
MOV A, R3  
SUBB A, #18H  
JC  
main_loop  
MOV P1, #0FFH  
; 熄 全部灯表示 入 Power Down 状  
; 置低 平激活外部中断  
CLR IT0  
; SETB IT0  
SETB EX0  
; 允 外部中0  
CLR IT1  
; SETB IT1  
SETB EX1  
; 置低 平激活外部中断  
; 允 外部中1  
; SETB ET0 ;如果STC12C2052ADA,  
;要由外部中1 ,“ET0=1”是必 的,硬件就  
做的,C本就不需要  
;外部中0无此必要,建 Powerdown外部中0 醒  
SETB EA  
; 开中断, 若不开中断就不能 醒 Power Down  
;下条 句将使 MCU 入 idle 状 或 Power Down 状  
;低 平激活外部中断可以将 MCU 从 Power Down 状 中 醒  
;其方法 :将外部中断脚拉低  
MOV A, PCON  
ORL A, #02H  
MOV PCON, A  
; 令 PD=1, 入 Power Down 状 , PD = PCON.2  
MOV PCON, #01H  
MOV P1, #0DFH  
; 除本 句前";", 同 3条 前加上注 符";",  
;令 IDL=1, 可 入 idle 状 , IDL = PCON.1  
; 注意:  
; 1. 外部中断使MCU退出 Power Down 状 , 行本条指令后  
;响 中断, 表  
; 2. 外部中断使MCU退出 idle 状 ,先响 中断然后再 行本  
;条指令, 表 P1.7LED亮(INT0 醒)P1.5LED亮  
P1.5P1.7LED(INT0 醒)  
WAIT1:  
SJMP WAIT1  
END  
; 跳 到本 句, 停机  
;AB本建 不要IDLE式, C本可以正常使用  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 100  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
入掉 模式前I/O 置特 注意事  
A本, 供 的是最新版C本  
---  
STC12C5410AD  片机最新C 本已开始大量供 ,已解决此  
,B 版本  
也无  
,只A 本需要注意  
A 版本如下 用注意事 :  
STC12CxxꢀPower Down<ꢀ0.1uA,  
1.  
Power Down 之前  
如果您系 外部所接的口是 入,我 STC12Cxx 是 ,  
将我 的 I/O Push-Pull 出  
外部是低,你就要 低; 外部是高,你就要 高, 否 就 > 0.1uA  
如果是后 的版本,一定要 置Push-Pull ,弱上拉就可以了。  
2.  
如果您系 外部所接的口是 出,我 STC12Cxx 是 ,  
将我 的 I/O  
Only-Input, 高阻  
如果是后 的版本,一定要 置Only-Input ,弱上拉就可以了。  
3.  
如果您系 外部所接的口是高阻,我 STC12Cxx ,  
将我 的 I/O  
Push-Pull 出  
Only-Input/ 高阻  
不要将我 的 I/O  
如果是后 的版本,一定要 置Push-Pull ,弱上拉就可以了。  
在C 本已开始供 ,定  
C 本就可以了  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 101  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
STC12C5410AD 系列 片机 气特性  
ELECTRICAL CHARACTERISTICS  
Absolute Maximum Ratings  
Parameter  
Symbol  
MIN  
-55  
-40  
0
MAX  
UNIT  
Storage temperature  
TST  
+125 ℃  
Operating Temperature(I) TA  
Operating Temperature(C) TA  
DC Power Supply(5V MCU) VDD - VSS  
DC Power Supply(3V MCU) VDD - VSS  
Voltage on any Pin  
+85  
+70  
-0.3  
-0.3  
-0.5  
+6.0 V  
+4.0 V  
+5.5 V  
DC Specification(5V MCU)  
Specification  
Min. Typ. Max. Unit  
Test  
Condition  
Symbol Parameter  
VDD  
Operating Voltage  
3.4  
5.0  
5.5  
V
IPWDN  
IIDLE  
ICC  
Power Down Current  
Idle Current  
<0.1  
3.0  
uA  
mA  
mA  
5V  
5V  
5V  
Operating Current  
4 mA 20  
0.8  
Input low voltage  
(P0,P1,P2,P3)  
VIL1  
VIL2  
VIH1  
VIH2  
V
V
V
V
5V  
5V  
5V  
5V  
Input low voltage  
(RESET,XTAL1)  
1.5  
Input High voltage  
(P0,P1,P2,P3)  
2.0  
3.0  
Input High voltage  
(RESET)  
Sinking Current  
for Output Low  
(P0,P1,P2,P3)  
IOL1  
IOH1  
20  
mA  
uA  
5V  
5V  
Sourcing Current  
for Output High  
(P0,P1,P2,P3)  
150  
230  
Sourcing Current  
for Output High  
(P0,P1,P2,P3)  
(Push-Pull)  
IOH2  
20  
mA  
5V  
Logic 0 input  
current  
(P0,P1,P2,P3)  
IIL  
18  
50  
uA  
uA  
VPIN=0V  
VPIN=2V  
Logic 1 to 0  
transition current  
(P0,P1,P2,P3)  
ITL  
270  
600  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 102  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
DC Specification(3.3V MCU)  
Specification  
Test  
Condition  
Symbol Parameter  
Min. Typ. Max. Unit  
VDD  
Operating Voltage 2.0 3.3 4.0 V  
IPWDN  
IIDLE  
ICC  
Power Down Current  
Idle Current  
<0.1  
uA  
mA  
mA  
3.3V  
3.3V  
3.3V  
2.0  
Operating Current  
4 mA 10  
Input low voltage  
(P0,P1,P2,P3)  
VIL1  
VIL2  
VIH1  
VIH2  
0.8 V  
3.3V  
3.3V  
3.3V  
3.3V  
Input low voltage  
(RESET,XTAL1)  
1.5 V  
Input High voltage  
(P0,P1,P2,P3)  
2.0  
3.0  
V
V
Input High voltage  
(RESET)  
Sinking Current  
for Output Low  
(P0,P1,P2,P3)  
IOL1  
IOH1  
20  
70  
mA  
3.3V  
3.3V  
Sourcing Current  
for Output High  
(P0,P1,P2,P3)  
40  
uA  
mA  
uA  
Sourcing Current  
for Output High  
(P0,P1,P2,P3)  
(Push-Pull)  
IOH2  
20  
8
3.3V  
Logic 0 input  
current  
(P0,P1,P2,P3)  
IIL  
ITL  
50  
VPIN=0V  
VPIN=2V  
Logic 1 to 0  
transition current  
(P0,P1,P2,P3)  
110 600 uA  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 103  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
STC12C5410AD 系列 ISP 程原理 使用 明  
片机 底没  
外部手 复位,看 狗复位, 片  
片机上 复位,冷起  
机不会运ISP序  
片机运ISP序,  
有无合法下  
冷起 , 片机运行系 ISP 控程序  
P3.0/RxD没有合法下 命令流  
命令流,占 mS - mS如无  
合法下 命令流, 立即跑用 程序  
如果已 P1.0/P1.1=0/0,才会判断是否下  
用 程序, 冷启 后,P1.0/P1.1 0/0,  
直接跑用 程序,只会占 50uS,可忽略不 。  
建 用  
P1.0/P1.1 不同  
0/0, 立即  
跑用 程序,跨 系 ISP 控程序。  
下 用 程序 用 程序区  
PC端控制 件 STC-ISP-V3.1以后的版本从  
www.MCU-Memory.com,如何使用,本文相关部  
分有 明  
PC 端的控制 件必需先 下 命令流,  
复位到用 程序区,运行用 程序  
片机上 复位  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 104  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
STC 12C5410AD 系列 片机在系 可 程的使用  
---将用 代 下  
片机内部,不用 程器  
Vcc  
PC /  
串口  
STC3232,STC232,MAX232,SP232  
端的  
10μF  
Vcc  
2
3
1
2
3
4
5
6
7
8
C1+  
V+  
Vcc 16  
GND 15  
STC-ISP 件  
控制下  
0.1uF  
0.1uF  
Gnd  
PC_RxD (COM Pin2)  
5
C1-  
T1OUT 14  
R1IN 13  
PC_TxD (COM Pin3)  
“用 程序”  
到STC 机  
C2+  
C2-  
USB +5V  
R1OUT 12  
T1IN 11  
建 用 系 上  
留此接口,可方便  
在 下 用 程序  
V-  
0.1uF  
SW1  
T2OUT  
R2IN  
T2IN 10  
USB+5V T1OUT R1IN GND  
R2OUT  
9
Power On  
源开关  
U1-P1.0  
U1-P1.1  
MCU-VCC  
U1-P3.0  
U1-P3.1  
GND  
USB1  
晶振 率20M下 :  
可以不C1R10~10K  
Vcc  
R1  
10K  
Vcc  
10μF  
C1  
1 RST  
VCC 20  
1K  
1K  
2 RxD/P3.0  
3 TxD/P3.1  
4 XTAL2  
P1.7/SCLK/ADC7 19  
P1.6/MISO/ADC6 18  
P1.5/MOSI/ADC5 17  
P1.4/SS/ADC4 16  
P1.3/ADC3 15  
<33pF  
<33pF  
0.1μF  
10μF  
5 XTAL1  
6 INT0/P3.2  
7 INT1/P3.3  
8 ECI/T0/P3.4  
P1.2/ADC2 14  
P1.1/ADC1 13  
9 PWM1/PCA1/T1/P3.5 P1.0/ADC0 12  
10 Gnd P3.7/PCA0/PWM0 11  
STC12C5410AD 系列 片机具有在系 可 程(ISP)特性,ISP 的好 是:省去  
器, 片机在用 系 上即可下 / 用 程序,而无 将 片机从已生 好的 品上拆下,再用通用  
程器将程序代 片机内部。有些程序尚未定型的 品可以一 生 ,一 完善,加快了 品  
入市 的速度,减小了新 品由于 件缺陷 来的 。由于可以在用 的目 系 上将程序直接下  
片机看运行 果 ,故无 仿真器。  
STC12列 片机内部固化ISP系 引 件,配PC的控制程序即可将用 的程序代 下  
片机内部,故无 程器(速度比通用 程器快,几秒一片)。  
如何 得及使STC ISP 下 具(STC-ISP.exe :  
(1). STC 提供ISP 下 工具( 件)  
www.MCU-Memory.com 网站,STC 半 体  
将其自解 ,再安装即可( setup.exe,注意随 更新 件。  
(2). 使STC-ISP 下 工具( 件, 随 新,目前已Ver3.1 版本以上,支*.bin,  
通用 程  
PC(  
)端ISP 程序,然后  
*.hex(Intel 16  
制格式)文件。  
)端ISP 序。  
随 注意升 PC(  
(3).STC12C5410AD列 片机出厂 就已完全加密。需要 片机内部的 放光后上 复位(冷起 )才运  
行系 ISP序,如从 P3.0/RxD  
程序区。  
到合法的下 命令流就下 用 程序,如  
不到就系 复位到用  
(4).如果用 板P3.0/RxD,P3.1/TxdRS-485,下  
485通信 路,推荐在 下次冷启  
需要将其断开。用 系 接RS-  
P1.0/P1.1=0/0判是否下 程序。  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 105  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
第一次 文件  
要 几个文件  
冲区,要清 冲区。  
冲区,EEPROM的  
数据文件需要和 用程序文件一次同  
ISP 下 机:  
除每次均要指定 冲区起始地址外,第  
二次及以后不能清 冲区  
如可将要写EEPROM的数据文件 入  
从 冲2800H始的地方,并不清 冲  
区,然后和 用程序一起写入  
用 根据  
使用效果  
限制最高通信  
波特率,57600,38400,19200  
P3.0/P3.1RS-485/RS-232通  
信 路,建  
P1.0/P1.1同  
0/0, 接运行用 程序,跨  
系 ISP序  
新的 置冷启 ( 底停 后再上 )  
后才生效  
,可考  
大批量生  
使用  
Step1/1:  
Step2/2:打开文件,要  
Step3/3 串行口,你所使用的  
有些新式笔 本  
你所使用的 片机型号,STC12C5410,STC12C5410AD等  
用 程序,必 入用 的程序代 (*.bin, *.hex)  
串口,如串行1--COM1, 串行2--COM2,...  
RS-232行口,可 一USB-RS232 接器,人民 50左右。  
USB-RS232 接器,不能兼容,可 宏晶帮你  
器。  
Step4/4:  
下次冷启 后,  
Download/ 下 ”按 下 用 的程序  
Step5/ 步 5, 也可  
注意看提示,主要看是否要 片机上 或复位, 下 速度比一般通用 程器快。  
Download/ 下 ”按 ,然后再 片机上 复位()而不要  
不到合法的下 命令流, 片机就直接跑用 程序了。  
源 “内R/C” 是“外部晶体或  
”。  
Step5/ 步 5:  
片机内部,可重复 行  
Re-Download/复下 ”按  
一定要先  
先上 ,先上 ,  
关于硬件 接:  
(1). MCU/ 片机 RXD(P3.0) --- RS-232  
(2). MCU/ 片机 TXD(P3.1) --- RS-232  
器 --- PC/  
器 --- PC/  
TXD(COM Port Pin3)  
RXD(COM Port Pin2)  
GND(COM Port Pin5)  
(3). MCU/ 片机 GND  
(4). 如果您的系 P3.0/P3.1 接到 RS-485  
“下次冷启 需P1.0/P1.1 = 0,0 才P3.0/RxD无合法下 命令流”  
冷启 后如 P1.0, P1.1 不同 0, 片机直接运行用 程序,免得由RS-485  
的乱 造成 片机反复判断乱 是否 合法,浪 几mS的  
---------------------- PC/  
路,推荐  
(5). RS-232  
器可 STC232/MAX232/SP232(4.5-5.5V),STC3232/MAX3232/SP3232(3V-5.5V).  
STC232/MAX232/SP232 尽量 SOP装(窄体),STC3232SOP装(窄体).  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 106  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
如用 系 没RS-232 口,  
可使STC-ISP Ver 3.0A.PCB 演示板作 程工具  
STC-ISP Ver 3.0APCB 板如 接的STC12C5410AD,  
可完STC12C5410AD列 片机ISP下  
STC-ISP Ver 3.0A PCB 板完成下 /  
程/  
用 程序的功能。  
关于硬件 接:  
(1.) 根据 片机的工作  
片机 源  
A. 5V 片机,短JP1MCU-VCC, +5V 源管脚  
B.3V 片机,短JP1MCU-VCC, 3.3V 源管脚  
(2.) 接 (宏晶提供)  
A. 将一端9芯 座的插 插PC/  
RS-232行接口插座用于通信  
B. 将同一端USBPC/ USB口用于取  
C. 将只有一USB一端插入宏晶STC-ISP Ver 3.0A PCB USB1座用RS-232通  
信和供 ,此 USB +5V Power 灯亮(D43,USB口有 )  
(3.)其他插座不需 接  
(4.)SW1关 于非按下状 ,此 MCU-VCC Power 灯不亮(D41), 没有  
(5.)SW3关  
片机通  
于非按下状 ,P1.0, P1.1 = 1, 1, 不短接到地。  
于按下状 , P1.0, P1.1 = 0, 0, 短接到地。  
如果 片机已被 成“下次冷启 P1.0/P1.1 = 0,0 才P3.0/RxD无合法下 命令流”  
就必 SW3关 于按下状 ,  
片机P1.0/P1.1接到地  
(6.)将 片机插 U1-Socket  
40-PIN,我 的  
座,  
片机,注意 片机20-PIN,U1-Socket  
靠下插,靠近晶体的那一端插。  
片机上 之前 PC 先 一串合法下 命令)  
片机上 复位, 此 MCU-VCC Power 灯亮(D41)  
ISP)  
(7.)关于 件:  
Download/ 下 ( 必 在  
(8.)按SW1关,  
STC 片机 ISP 模式(STC12C5410AD列冷启  
(9.)下 成功后,再SW1关,此 SW1关 于非按下状 ,MCU-VCC Power 灯不亮(D41),  
片机断 ,取下 片机。  
STC-ISP Ver 3.0A PCB 板 RS-232  
片机在用 自己的板上完成下 / :  
1.U1-Socket  
座不得插入 片机  
2.将用 系 上的 源(MCU-VCC,GND)及 片机P3.0/RXD,P3.1/TXD入  
CN2座  
用 系 上的 片机就具 了PC/  
行通信的能力  
3. 将用 系 的 片机P1.0,P1.1入  
CN2(如果需要的 )  
4. 如 P1.0, P1.1 = 0, 0, 短接到地,可在用 系 上将其短接到地,或P1.0/P1.1从  
用 系 上引STC-ISP Ver3.0A PCB 板上,SW3关按下, P1.0/P1.1=0,0。  
5. 关于 件:  
“Download/下 ”  
6. 片机系 上 复位(注意是从用 系 自供 ,不要从  
USB取 ,  
USB不插)  
7. 下 程序 ,如用 板有外部看 狗 路,不得启 , 片机必 有正确的复位,但不能ISP下  
程序 被外部看 狗复位,如有,可将外部看 狗 WDI端/或WDO浮空  
8. 如RS-485 P3.0/Rxd,P3.1/Txd,或其他 路,在下  
将其断开。  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 107  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
STC12C5410AD/  程器,仿真器  
STC 片机 使用何种 /  
器:  
1.任何老的  
器/  
器都可以支持,流行Keil C51  
2.STC 片机,当Intel8052/87C52/87C54/87C58,PhilipsP87C52/P87C54/P87C58可以了  
3.如果要用到 展的 用特殊功能寄存器,直接  
地址 好  
地址 元 置就行了,当然先声明特殊功能寄存器的  
程 器:  
我 有: STC12C5410AD 系列 ISP  
型下  
程工具(人民 50,可申 免  
品)  
注意:有 下 28PIN/20PIN不同演示板,  
28PIN 28PIN演示板,20PIN20PIN演示板  
仿真器:如您已有老的仿真器,可仿真普8052基本功能  
STC12C5410AD列 片机 展功能如它仿不了  
可以用 STC-ISP 直接下 用 程序看运行 果就可以了  
无 添加新的  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 108  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
附 A:  
内部数RAM存 器  
内部数RAM 存 器  
STC12C5410AD列 片机内部256字 常 的RAM,256字 的 展RAM  
器件的内部常 数据存 器3分 成:  
1.128 字 RAM00H7FH直接和 接 址,用“MOV”和“MOV @Ri ”  
2.128RAM(80H~FFH, 接 ,用“MOV @Ri”  
3.殊功能寄存器(80HFFH可直接 址, 用“MOV”  
由于128RAMSFR(特殊功能寄存器)占用相同的地址,因此128RAM空 必 用 接 址  
MOV @Ri 来区分。特殊功能寄存器(80HFFH可直接 址(用“MOV来区分。尽RAM  
SFR地址相同它 在物理上是独立的。  
展数RAM  
STC12C5410AD256字 的 展RAM,称其 XRAM(附RAM “MOVX” 址。  
256 字 RAM0000H00FFH, 通 MOVX  接 址。  
使用“MOVX @DPTR ” / “MOVX @Ri ”  
C 言中,可使xdata明存  
unsigned char xdata i = 0;  
型即可,如:  
FFH  
FFH  
00FFH  
( 接 )  
(直接 址)  
特殊功能寄存器  
(S F R )  
RAM  
256字  
128RAM  
80H  
7FH  
80H  
128RAM  
(外部 接 址)  
& 接 址)  
00H  
0000H  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 109  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
内部常 256RAM 接 址 程序  
TEST_CONSTEQU 5AH  
;TEST_RAM EQU 03H  
ORG 0000H  
LJMP INITIAL  
ORG 0050H  
INITIAL:  
MOV R0, #253  
MOV R1, #3H  
TEST_ALL_RAM:  
MOV R2, #0FFH  
TEST_ONE_RAM:  
MOV A,  
R2  
MOV @R1, A  
CLR A  
MOV A,  
@R1  
CJNE A,  
2H, ERROR_DISPLAY  
DJNZ R2, TEST_ONE_RAM  
INC R1  
DJNZ R0, TEST_ALL_RAM  
OK_DISPLAY:  
MOV P1, #11111110B  
Wait1:  
SJMP Wait1  
ERROR_DISPLAY:  
MOV A,  
R1  
MOV P1, A  
Wait2:  
SJMP Wait2  
END  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 110  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
B:  
串行外 接口(SPI)及 程序  
STC12C5410AD列 片机 提供另一种高速串行通信接口— — SPI 接口。SPI一种全双工、高速、同  
步的通信 ,有两种操作模式:主模式和从模式。在主模式中支持高3Mbit/s 的速率(工作 率  
12MHz ,如CPU20MHz36MHz, 可更高,从模式 速度无法太快,Fosc/8内 好),  
具有 完成 志和写冲突 志保 。  
STC12C5410AD列 1T 8051 SPI能模 特殊功能寄存器 SPI Management SFRs  
Mnemonic Add Name  
7
6
5
4
3
2
1
0
Reset value  
SPCTL  
SPSTAT  
SPDAT  
85h SPI Control Register SSIG  
84h SPI Status Register SPIF  
86h SPI Data Register  
SPEN  
WCOL  
DORD MSTR CPOL CPHA SPR1 SPR0 0000,0000  
-
-
-
-
-
-
00xx,xxxx  
0000,0000  
S
M
MISO  
P1.6  
CPU  
M
S
8位移位寄存器  
数据 冲区  
MOSI  
P1.5  
管脚  
控制  
分 器  
4, 16, 64, 128  
SPICLK  
P1.7  
clock  
SPI  
(主机)  
S
M
SS  
P1.4  
MSTR  
SPEN  
SPI 控制  
SPI 控制寄存器  
SPI 状 寄存器  
SPI  
中断 求  
内部  
数据  
SPI 方框  
SPI 接口4管脚:SPICLK/P1.7, MOSI/P1.5, MISO/P1.6 SS/P1.4。  
● SPICLK, MOSI MISO 通常和两个或更SPI 器件 接在一起。数据通 MOSI主机 送到从机,通  
MISO  
由从机 送到主机。SPICLK 号在主模式  
SPEN  
(SPCTL.6)=0(位 ), 些管脚都可作 I/O 口使用。  
● /SS 从机 管脚。在典型的配置中,SPI机使I/O 口  
SPI 从器件通 /SS确定是否被  
出,在从模式  
入。如SPI 系 禁止,即  
SPI件作 当前的从机。  
出(通 P1M0.4 P1M1.4)  
。如果 足下面的条件之一,/SS被忽略:  
-如SPI禁止,SPEN(SPCTL.6)=0(复位 )  
-如SPI置 主机,MSTR(SPCTL.4)=1,并P1.4 配置  
-如/SS被忽略,SSIG(SPCTL.7)位1, 脚配置用I/O功能。  
注:即使SPI配置 主机(MSTR1 仍然可以通 拉/SS 脚配置 从机(如P1.4 配置  
SSIG=0使能 特性, 当置SPIF(SPSTAT.7)。  
典型 接SPI 1~3示。  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 111  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
SPI 制寄存器的位分配(SPCTL- 址:85h)  
7
S S I G  
0
6
S P E N  
0
5
D O R D  
0
4
M S T R  
0
3
C P O L  
0
2
C P H A  
1
1
S P R 1  
0
0
S P R 0  
0
符 号  
复 位  
SPI 控制寄存器的位描述(SPCTL – 地址:85h)  
0
符号  
SPR0  
描 述  
SPR0/SPR1是SPI  
SPR1, SPR0:  
速率  
控制位。  
0
0
1
1
0-CPU_CLK/4  
1-CPU_CLK/16  
0-CPU_CLK/64  
1-CPU_CLK/128  
1
SPR1  
SPI  
相位  
( SPI 4~ 7):  
,并在后  
0:数据在/SS 低(SSIG=00) 被  
沿被改 ,并在前 沿被采 。  
(注:SSIG=1 的操作未定 )  
1:数据在SPICLK 的前  
沿
沿采 。  
,在SPICLK 的后  
2
3
CPHA  
CPOL  
SPI 极性( SPI 4~ 7):  
1:SPICLK 空  
0:SPICLK 空  
高 平。SPICLK 的前  
低 平。SPICLK 的前  
沿 下降沿而后沿 上升沿。  
沿 上升沿而后沿 下降沿。  
4
5
MSTR  
DORD  
主/从模式  
( SPI 主从  
表)。  
SPI 数据 序:  
1:数据字的LSB(最低位) 最先 送;0:数据字的MSB(最高位) 最先 送。  
SPI 使能。  
1:SPI 使能。  
0:SPI 被禁止,所有SPI 管脚都作 I/O 口使用。  
3
7
SPEN  
SSIG  
/SS 忽略。  
1:MSTR(位4)确定器件 主机 是从机。  
0:/SS 脚用于确定器件 主机 是从机。/SS 脚可作 I/O 口使用( SPI 主  
表)。  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 112  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
SPI 状 寄存器的位分配(SPSTAT – 地址:84h)  
7
6
5
-
X
4
-
X
3
-
X
2
-
X
1
-
X
0
-
X
符号  
复位  
SPIF WCOL  
0
0
SPI 状 寄存器的位描述(SPSTAT – 地址:84h)  
符号  
符号  
SPI  
和EA置位  
完成 志。当一次串行  
完成 ,SPIF位,并当ESPI  
生中断。当SPI 于主模式且SSIG=0 ,如果/SS  
7
SPIF  
件向其写入“1”清零。  
并被  
低 平,SPIF将置位。SPIF 志通  
SPI冲突 志。在数据  
操作,WCOL置位。WCOL 志通  
的 程中如果 SPI据寄存器SPDAT 行写  
件向其写入“1”清零。  
6
WCOL  
-
5 - 0  
保留  
SPI 数据寄存器的位分配(SPDAT – 地址:86h)  
7
MSB  
0
6
5
4
3
0
2
0
1
0
0
LSB  
0
符 号  
复 位  
0
0
0
SPDAT.7 - SPDAT.0:  
的数据Bit7~Bit0  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 113  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
主机  
Fax: 0755-82944243  
从机  
MISO  
MISO  
8移位寄存器  
8移位寄存器  
MOSI  
MOSI  
SPICLK  
SPICLK  
SPI  
生器  
Port  
/SS  
SPI 1 SPI  
-  配置  
在上 SPI 1,从机SSIG(SPCTL.7) 0,/SS 用于  
(包P1.4/SS)来 /SS。  
从机。SPI 主机可使用任何端口  
从机  
主机  
MISO  
MISO  
8移位寄存器  
8移位寄存器  
MOSI  
MOSI  
SPICLK  
SPICLK  
SPI  
生器  
SPI  
生器  
/SS  
/SS  
SPI  
SPI 2 所示 两个器件互 主从的情况。当没有 SPI作 ,两个器件都可配置 主机  
(MSTR=1SSIG零并P1.4(/SS)配置 准双向模式。当其中一个器件启 ,它可P1.4  
配置 出并 低 平, 就 制另一个器件 从机。  
主机  
2 SPI 双器件配置(可器件可互 主从)  
从机  
MISO  
MISO  
8移位寄存器  
8移位寄存器  
MOSI  
MOSI  
SPICLK  
/SS  
SPICLK  
SPI  
生器  
Port  
8移位寄存器  
Port  
/SS  
SPI 3 SPI -从机 配置  
在上 SPI 3,从机SSIG(SPCTL.7) 0,从机通 /SS 信号被 中。SPI机可  
使用任何端口(包P1.4/SS)来 /SS 脚。  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 114  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
SPI 行配置  
Fax: 0755-82944243  
下表 所示 /模式的配置以及模式的使用和  
SPI 主从模式  
方向。  
/SS 脚  
P1.4  
主或从  
模式  
MISO  
P1.6  
MOSI  
P1.5  
SPICLK  
SPEN SSIG  
MSTR  
P1.7  
P1.7  
SPI 禁止。P1.4/P1.5/P1.6/P1.7作 普通I/O口  
使用  
0
1
1
X
0
0
P1.4  
X
0
0
SPI 功能禁止 P1.6  
P1.5  
0
1
从机模式  
机  
从机模式  
未被 中  
高阻  
未被 中。MISO 高阻状 ,以避免  
冲突  
P1.4/ SS 配置  
果 /SS 被  
入或准双向口。SSIG 0。如  
, 被  
机。  
低 平  
1
1
0
0
0
1
1— >0  
从机模式  
主(空 )  
当SS  
低 平 MSTR将清零。  
注:当/SS 于 入模式 ,如被  
且SSIG=0  
当主机空  
,MSTR 位自 清零。  
MOSI 和SPICLK 高阻 以避免  
冲突。用 必 将SPICLK 上拉或下拉(根  
据CPOL-SPCTL.3 的取 )以避免SPICLK出  
状 。  
高阻  
高阻  
1
主(激活)  
机激活 ,MOSI 和SPICLK 推挽 出  
1
1
1
1
P1.4  
P1.4  
0
1
作 从机 的 外注意事  
CPHA=0 SSIG必  
0,/SS必 取反并且在每个  
的串行字 之 重新 置 高  
平。如SPDAT 存器/SS 效(低 平)  
CPHA=0SSIG=0 的操作未定 。  
行写操作,那么将 致一个写冲突  
CPHA 1 SSIG 可以置位。如SSIG 0,/SS 脚可在  
之 保持低有效(即一直  
固定 低 平方式有 适用于具有 固定主机和 从机  
MISO据 的系 。  
作 主机 的 外注意事  
SPI ,  
是由主机启 的。如SPI 使能(SPEN=1并  
作 主机,主机 SPI 数  
据寄存器的写操作将启 SPI  
后,数据将出 MOSI。  
需要注意的是,主机可以通 将  
生器和数据的  
。在数据写SPDAT后的半个到一SPI位  
器件/SS脚  
低 平  
与之通信。写入主SPDAT 寄  
存器的数据MOSI移出 送到从机MOSI。同 从SPDAT存器的数据MISO移出 送到主  
MISO。  
完一个字 后,SPI  
生器停止,  
完成 志(SPIF置位并 生一个中断(如果  
SPI断使能机和从CPU两个移位寄存器可以看作是一16 循 移位寄存器。当数据从主机  
移位 送到从机的同 ,数据也以相反的方向移入。 意味着在一个移位周期中,主机和从机的数据相  
互交 。  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 115  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
入或准双向模式。  
/SS 式  
SPEN=1, SSIG=0 MSTR=1,SPI使 主机模式。/SS可配置  
种情况下,另外一个主机可将 脚  
了避免争 ,SPI系  
1)MSTR 清零并CPU 成从机。  
MISO 出模式。  
2)SPSTAT SPIF 志位置位。如SPI 中断已被使能,  
件必 一直 MSTR位 行 如果 位被一个从机  
就必 重新置MSTR,否 就 入从机模式。  
低 平,从而将 器件  
行以下 作:  
SPI从机。MOSISPICLK 制  
SPI 机并向其 送数据。  
入模式,而  
SPI 中断。  
所清零而用 想  
SPI作 主  
机,  
写冲突  
SPI 在 送  
写入移位寄存器。当 送 程中 数据寄存器 行写操作 ,WCOL(SPSTAT.6)将置位以指示数据冲  
冲,在接收  
双 冲。  
在前一次 送尚未完成之前,不能将新的数据  
突。在 种情况下,当前 送的数据  
当 主机或从机 行写冲突  
送,而新写入的数据将 失。  
,主机 生写冲突的情况是很罕 的,因 主机 有数据  
完全控制 。但从机有可能 生写冲突,因 当主机启  
,从机无法 行控制。  
将 放移位寄存器以 行下一个数  
接收数据 ,接收到的数据 送到一个并行 数据 冲区,  
据的接收。但必 在下个字符完全移入之前从数据寄存器中 出接收到的数据,否 ,前一个接收数据  
将 失。  
WCOL 通  
件向其写入“1清零。  
数据模式  
相位位(CPHA)允 用  
置采 和改 数据的  
沿。  
极性CPOL允 用  
性。 SPI 4~ 7 所示  
周期  
相位CPHA 的不同 定。  
1
2
3
4
5
6
7
8
SPICLK (CPOL = 0)  
SPICLK (CPOL = 1)  
MOSI( 入)  
DORD = 0  
DORD = 1  
MSB  
LSB  
6
1
5
2
4
3
3
4
2
5
1
6
LSB  
MSB  
DORD = 0  
DORD = 1  
MSB  
LSB  
6
1
5
2
4
3
3
4
2
5
1
6
LSB  
MSB  
(1)  
MISO( 出)  
SS(如SSIG0)  
(1)  
未定  
SPI  
4 SPI 从机  
格式(CPHA=0)  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 116  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
8
周期  
1
2
3
4
5
6
7
SPICLK (CPOL = 0)  
SPICLK (CPOL = 1)  
MOSI( 入)  
DORD = 0  
DORD = 1  
MSB  
LSB  
6
1
5
2
4
3
3
4
2
5
1
6
LSB  
MSB  
DORD = 0  
DORD = 1  
MSB  
LSB  
6
1
5
2
4
3
3
4
2
5
1
6
LSB  
MSB  
MISO( 出)  
(1)  
SS(如SSIG0)  
(1)  
未定  
SPI  
5 SPI 机  
格式(CPHA=1)  
周期  
1
2
3
4
5
6
7
8
SPICLK (CPOL = 0)  
SPICLK (CPOL = 1)  
DORD = 0  
DORD = 1  
MSB  
LSB  
6
1
5
2
4
3
3
4
2
5
1
6
LSB  
MSB  
MOSI( 出)  
MISO( 入)  
DORD = 0  
DORD = 1  
MSB  
LSB  
6
1
5
2
4
3
3
4
2
5
1
6
LSB  
MSB  
SS(如SSIG0)  
SPI  
6 SPI 机  
格式(CPHA=0)  
1
2
3
4
5
6
7
8
周期  
SPICLK (CPOL = 0)  
SPICLK (CPOL = 1)  
DORD = 0  
DORD = 1  
MSB  
LSB  
6
1
5
2
4
3
3
4
2
5
1
6
LSB  
MSB  
MOSI( 出)  
DORD = 0  
DORD = 1  
MSB  
LSB  
6
1
5
2
4
3
3
4
2
5
1
6
LSB  
MSB  
MISO( 入)  
SS(如SSIG0)  
SPI  
7 SPI 机  
格式(CPHA=1)  
SPI  
分 器  
分 器  
SPI  
是通 SPCTL存器中SPR1-SPR0 位  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 117  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
SPI 功能示例程序(适用于 主 从系 )  
;/* --- STC International Limited ---------------------- */  
;/* --- 宏晶科技  
姚永平  
2006/1/6  
V1.0 ---------- */  
;/* --- one_master_one_slave --------------------------- */  
;/* --- STC12C5412AD, STC12C5410AD, STC12C5408AD ------- */  
;/* --- STC12C5406AD, STC12C5404AD, STC12C5402AD ------- */  
;/* --- STC12C5052AD, STC12C4052AD, STC12C3052AD ------- */  
;/* --- STC12C2052AD, STC12C1052AD, STC12C0552AD ------- */  
;/* --- Mobile: 13922805190 ---------------------------- */  
;/* --- Fax: 0755-82944243 ----------------------------- */  
;/* --- Tel: 0755-82948409 ----------------------------- */  
;/* --- Web: www.mcu-memory.com ------------------------ */  
;------------------------------------------------------------------------------  
;1. 本示例程序演示 STC12C2052AD 和 STC12C5410AD 系列 MCU 的 SPI 功能, 适用于  
;
主 从系  
;------------------------------------------------------------------------------  
;2. 硬件 接:三  
;
;
;
;
;
;
;
;
;
;
;
;
;
主 片机  
I/O 口  
I/O 口  
从 片机  
+--------------+ MISO  
SPI |<<---------------------------- -|  
|8 位移位寄存器 |  
<-- 位流方向  
MISO +--------------+  
|
SPI  
|
|8移位寄存器 |  
|
|-----------------------------> >|  
|
+-------+------+ MOSI  
|
位流方向 -->  
MOSI +-------^------+  
|
|
SCLK  
SCLK  
|
+--------------------->>-----------------------+  
除此之外,主 片机的 RS-232 串行口通 RS-232  
器与 PC 机的 RS-232  
;串行口相 接。  
;
;3. SPI 通  
程:  
;
主 片机与从 片机的 SPI 8移位寄存器 接成一个循 的 16 位移位寄存器。  
;当主 片机程序向 SPDAT 写入一个字  
,立即启 一个  
的 8 位移位通  
程:  
;主 片机的 SCLK 脚向从 片机的 SCLK 脚 出一串脉冲,在 串脉冲的  
下, 主  
; 片机 SPI 8 位移位寄存器中的数据移到了从 片机的 SPI 8 位移位寄存器中; 与此  
;同 ,从 片机 SPI 8 位移位寄存器中的数据移到了主 片机的 SPI 8 位移位寄存器  
;中。利用  
;中的数据。  
;
的数据交 机制,主 片机既可向从 片机 送数据,又可 从 片机  
;4. 使用方法  
; a) 修改程序,使 MASTER EQU 1 的那行有效。  
; b) 修改程序,使 MASTER EQU 0 的那行有效。  
后的程序代 下 到主 片机中。  
后的程序代 下 到从 片机中。  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 118  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
; c)  
主、从 片机上 。  
助手(STC 的 ISP 下 程序 STC-ISP.exe 3.2 以上版本提供了 功能)  
向主 片机 送一串数据。  
; d) 用串口  
;
;
;
;
;
;
主 片机的 RS-232 串口每收到一个字 就立刻将收到的字 通 SPI 口  
送到从 片机中,与此同 主 片机会收到从 片机 回的一个字 ( 3. SPI  
程),主 片机又立刻把 个字 通 RS-232 口 送到 PC 机。  
从 片机的 SPI 口收到的数据后,把收到的数据放到自己的 SPDAT 寄存器  
中,当下一次主 片机 送一个字  
把数据 回到主 片机。  
; e) 在串口  
;
助手接收区 察接收的数据。  
;5. 怎 用巡 方式接收 SPI据  
;
;
本示例 中断方式接收 SPI 口数据,若想用巡 方式接收 SPI 数据可以用以下  
几行指令  
; Wait_SPI_Receive_Byte:  
;
MOV A, SPSTAT  
ANL A, #80H  
; 判收到从 SPI 回的数据否  
;
;
JZ Wait_SPI_Receive_Byte  
MOV A, SPDAT  
...  
;SPI 未收到数据,  
等待  
;
;SPI 已收到数据, 将收到的数据送累加器 A  
;
;
;6.  
;
条件: MCU 晶振 率 Fosc = 18.432MHz, PC 机 RS232 串口波特率等于 57600  
果: SPI 口 数据无 。  
;
由于本程序的 RS232 接收,SPI 端口的接收都没有使用接收 冲区,所以 RS232  
串口波特率不要高于 57600若使用接收 冲区,波特率可以到 115200 以上。  
;
;------------------------------------------------------------------------------  
;定 常量  
;-----------------  
;定 能常量,以下两行注 其中一行,取消另一行注 使之有效  
;MASTER EQU 1  
;
后的程序代 下 到主 片机中  
后的程序代 下 到从 片机中  
MASTER EQU 0  
;
;-----------------  
;定 波特率自 重装数常量  
;以下波特率是 PCON.7 = 0  
的数 , 若使 PCON.7 = 1 可将波特率加倍  
;RELOAD_8BIT_DATA EQU 0FFH ;Fosc=22.1184MHz, Baud = 57600  
;RELOAD_8BIT_DATA EQU 0FBH ;Fosc=18.432MHz, Baud=9600, 1T 运行 Baud=115200  
RELOAD_8BIT_DATA EQU 0F6H ;Fosc=18.432MHz, Baud=4800, 1T 运行 Baud=57600  
;RELOAD_8BIT_DATA EQU 0FFH ;Fosc=11.059MHz, Baud = 28800 、  
;------------------------------------------------------------------------------  
;定 特殊功能寄存器  
AUXR  
EQU 8EH  
;AUXR 特殊功能寄存器的 bit3 是 SPI 中断允 控制位 ESPI  
;IE 特殊功能寄存器的 bit5 ADCSPI个中断共享的 中断允 控制位 EADC_SPI  
;要 生 SPI 中断, 需要 ESPI/EADC_SPI/EA 都 1  
;------------------------------------------------------------------------------  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 119  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
;定 SPI 特殊功能寄存器,  
SPCTL EQU 85H  
明 本程序的后部或 STC 12C5410AD 中文指南  
SPSTAT EQU 84H  
SPDAT EQU 86H  
EADC_SPI EQU IE.5  
;------------------------------------------------------------------------------  
;定 SPI 脚  
SCLK  
MISO  
MOSI  
SS  
EQU P1.7  
EQU P1.6  
EQU P1.5  
EQU P1.4  
;------------------------------------------------------------------------------  
;定 片机管脚  
LED_MCU_START  
;------------------------------------------------------------------------------  
EQU P3.4  
;定  
Flags  
EQU 20H  
SPI_Receive EQU Flags.0  
SPI_buffer EQU 30H  
;SPI 端口收到数据 志位  
量用于保存 SPI 端口收到的数据  
;
;------------------------------------------------------------------------------  
ORG 0000H  
LJMP MAIN  
;------------------------------------------------------------------------------  
ORG 002BH  
;ADC_SPI 中断服 程序入口  
LJMP ADC_SPI_Interrupt_Routine  
;------------------------------------------------------------------------------  
ORG 0080H  
MAIN:  
CLR LED_MCU_START  
MOV SP, #7FH  
; 点亮 MCU 开始工作指示灯  
; 系 初始化  
ACALL Init_System  
if MASTER  
Check_RS232:  
JNB RI, Master_Check_SPI ; 判 RS-232 串口中收到数据否  
;主 片机 RS-232 串口已收到新的数据  
ACALL Get_Byte_From_RS232 ; 主 片机RS-232口中收到的数据送到累加器 A  
ACALL SPI_Send_Byte  
SJMP Check_RS232  
; 主 片机将累加器 A 中的数据 送到从机 SPI  
Master_Check_SPI:  
JNB SPI_Receive, Check_RS232 ; 判收到从 SPI 回的数据否  
;主 片机 SPI 端口已收到新的数据  
MOV A, SPI_buffer  
CLR SPI_Receive  
ACALL RS232_Send_Byte  
SJMP Check_RS232  
; 将 "SPI 回的数"到累加器 A  
; 0 主 机 SPI 端口收到数据 志位  
; 将累加器 A 中的数据 送到 PC 机  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 120  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
else  
Slave_Check_SPI:  
JNB SPI_Receive, Slave_Check_SPI ; 判收到主 SPI 回的数据否  
;从 片机 SPI 端口已收到新的数据  
MOV A, SPI_buffer  
CLR SPI_Receive  
MOV SPDAT, A  
; 取 " 机 SPI 端口 的数"  
; 0 从 机 SPI 端口收到数据 志位  
; 将收到数据送 SPDAT, 准 下一次通  
SJMP Slave_Check_SPI  
endif  
;------------------------------------------------------------------------------  
ADC_SPI_Interrupt_Routine:  
;SPI 中断服 程序  
;ADC_SPI 中断服 程序  
MOV SPSTAT, #11000000B  
;0C0H, 0 位 SPIF 和 WCOL  
;特 意:是向 志位 SPIF/WCOL 1,将 SPIF/WCOL 清0  
;特 意:不是向 志位 SPIF/WCOL 0,将 SPIF/WCOL 清0  
; 保存收到的数据  
MOV A, SPDAT  
MOV SPI_buffer, A  
SETB SPI_Receive  
RETI  
; 立 SPI 端口收到数据 志  
;------------------------------------------------------------------------------  
Init_System:  
ACALL Initial_UART  
ACALL Initial_SPI  
MOV Flags, #0  
SETB EA  
; 初始化串口  
; 初始化 SPI  
; 清 志字  
; 开 中断  
RET  
;------------------------------------------------------------------------------  
Initial_UART:  
; 初始化串口  
; SCON Bit: 7  
6
5
4
3
2
1
0
;
SM0/FE SM1 SM2 REN TB8 RB8  
TI RI  
MOV SCON, #50H  
;0101,0000 8 位可 波特率, 无奇偶校  
MOV TMOD, #21H  
;T1  
自 重装模式  
MOV TH1, #RELOAD_8BIT_DATA  
MOV TL1, #RELOAD_8BIT_DATA  
;
MOV PCON, #80H  
; 取消本行指令注 ,波特率加倍。  
;使以下两行有效,波特率12,即波特率 = 4800*12=57600  
MOV A, #01000000B  
ORL AUXR, A  
;T1 以 1T 的速度 数,是普805112倍  
SETB TR1  
RET  
; 启 1 始 数  
;------------------------------------------------------------------------------  
Initial_SPI:  
; 初始化 SPI  
;SPI 控制寄存器  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 121  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
;
7
6
5
4
3
2
1
0
;SPCTL SSIG SPEN DORD MSTR CPOL CPHA SPR1 SPR0  
if MASTER  
MOV SPCTL,#11111100B  
;SSIG=1: 忽SS脚  
;0FCH, 忽略 SS 脚,  
主机  
;SPEN=1 :允 SPI 工作  
;DORD=1 :先 低位 LSB  
;MSTR=1 :  
主机  
;CPOL=1 SPI 空  
SPICLK = 1 ,前跳 沿是下降沿,后跳 沿是上升沿。  
;CPHA=1 :数据由 SPICLK 前跳 沿  
;SPR1 ,SPR0 = 00主模式 SPI  
到 SPI 口 ,SPI 模 在后跳 沿采 数据。  
fosc/4  
else  
MOV SPCTL,#11101100B  
;SSIG=1: 忽SS脚  
;0ECH, 忽略 SS 脚,  
从机  
;SPEN=1 :允 SPI 工作  
;DORD=1 :先 低位 LSB  
;MSTR=0 :  
从机  
;CPOL=1 SPI 空  
SPICLK = 1 ,前跳 沿是下降沿,后跳 沿是上升沿。  
;CPHA=1 :数据由 SPICLK 前跳 沿  
;SPR1 ,SPR0 = 00主模式 SPI  
到 SPI 口 ,SPI 模 在后跳 沿采 数据。  
fosc/4  
endif  
MOV SPSTAT,#11000000B  
; 0 位 SPIF(SPSTAT.7), WCOL(SPSTAT.6)  
;向 个 志位"1" 会将它 0  
MOV A, #00001000B  
ORL AUXR, A  
SETB EADC_SPI  
RET  
; ESPI(AUXR.3)=1,允 SPIF(SPSTAT.7) 生中断  
; 开 ADC 中断和 SPI 中断共享的 中断控制位  
;------------------------------------------------------------------------------  
RS232_Send_Byte:  
CLR TI  
;RS232 串口 送一个字  
; 清零串口 送中断 志  
MOV SBUF, A  
RS232_Send_Wait:  
JNB TI, RS232_Send_Wait  
CLR TI  
; 等待 送完 , 未 送完 跳回本行  
; 清零串口 送中断 志  
RET  
;------------------------------------------------------------------------------  
;此段程序只有主 MCU 用  
SPI_Send_Byte:  
CLR EADC_SPI  
;SPI  
; 关 ADC 中断和 SPI 中断共享的 中断控制位  
;SPI 送数据  
送一个字  
MOV SPDAT, A  
SPI_Send_Byte_Wait:  
MOV A, SPSTAT  
ANL A, #80H  
; 等待 SPIF=1 即等待 SPI 送完  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 122  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
JZ  
SPI_Send_Byte_Wait  
SETB EADC_SPI  
RET  
; 开 ADC 中断和 SPI 中断共享的 中断控制位  
;------------------------------------------------------------------------------  
Get_Byte_From_RS232:  
MOV A, SBUF  
CLR RI  
; 取 RS-232 串口中收到的数据送累加器 A  
RET  
;------------------------------------------------------------------------------  
END  
;------------------------------------------------------------------------------  
;更  
;
的 料可以参 STC12C5410AD.pdf (文使用 明)。  
;SPI 控制寄存器  
;
7
6
5
4
3
2
1
0
;SPCTL SSIG SPEN DORD MSTR CPOL CPHA SPR1 SPR0  
;
;SSIG: 忽SS, 如果 SSIG=1, 由 MSTR 位决定 SPI 主模式或从模式,  
;
如果 SSIG=0, 由 SS 脚决定 SPI 主模式或从模式。  
;SPEN:SPI使能位。如果 SPEN=0,SPI能被禁止,SPI 脚用作普IO口  
;DORD:SPI 数据 序。  
1先 低位 LSB  
0先 高位 MSB  
;
;
;MSTR:SPI /模式  
;CPOL:SPI 信号极性  
1SPI 空  
0SPI 空  
信号相位  
1数据由 SPICLK 前跳 沿  
0当 SS 脚 低(SSIG=0) 数据被  
;
;
SPICLK = 1,前跳 沿是下降沿,后跳 沿是上升沿。  
SPICLK = 0,前跳 沿是上升沿,后跳 沿是下降沿。  
;CPHA:SPI  
;
;
;
;
到 SPI 口 ,SPI 模 在后跳 沿采 数据。  
到口 ,并且在 SPICLK 后跳 沿数据  
被改 (被  
到口 ),在 SPICLK 前跳 沿数据被采 。注意:SSIG = 1  
操作未定 。  
;SPR1-SPR0:主模式 SPI  
;
;
;
;
;
;
00fosc/4  
01fosc/16  
10fosc/64  
11fosc/128  
当 CPHA=0,SSIG 必 等于零并且在  
SS 脚也必 一直保持 低。当 SS 有效  
,WCOL 志被置 1。  
;(=0) 向 SPDATA 寄存器写数据就会 生写冲突  
;
当 CPHA=1,SSIG 可以等于 0 或 1。如果 SSIG=0,SS 脚在  
0(可以  
;一直保持 0)。当系 中只有一个主和一个从 SPI  
;--------------------  
, 是首 配置。  
;SPI 状 寄存器  
;
7
6
5
-
4
-
3
-
2
1
0
;SPSTAT SPIF WCOL  
-
-
-
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 123  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
;SPIFSPI  
束 志。当一次  
ESPI(AUXR.3)=1 ,EADC_SPI(IE.5)=1,EA(IE.7)=1, 就引起中断。如果原来 SPI  
由 SS 脚确定 是主模式(SSIG=0,SS=1),当 SS 成 0 ,SPIF 也会被置 1,  
"式改 "。向 SPIF 位写 1 将 志清 0。  
束 , SPIF 被置 1,如果 SPI 中断被打开:  
;
;
;
;WCOLSPI 写冲突 志。当一个数据 在  
就会被被置 1。向 WCOL 位写 1 将  
,又向数据寄存器 SPDAT 写入数据,WCOL  
志清 0。  
;
;--------------------  
;SPI /模式  
;
;SPEN SSIG SS MATR  
模式 MISO MOSI SPICLK  
; 0 X X X  
; 1 0 0 0  
; 1 0 1 0  
; 1 0 0 1->0  
; 1 0 1 1  
; 1 1 X 0  
; 1 1 X 1  
SPI  
禁止 SPI 功能  
未 从  
从,但没有被 中  
由主  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 124  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
SPI 功能示例程序(适用于 主多从系 )  
;/* --- STC International Limited ---------------- */  
;/* --- 宏晶科技  
姚永平  
2006/1/6  
V1.0 ---- */  
;/* --- one_master_more_slave --------------------- */  
;/* --- STC12C5412AD, STC12C5410AD, STC12C5408AD ------- */  
;/* --- STC12C5406AD, STC12C5404AD, STC12C5402AD ------- */  
;/* --- STC12C5052AD, STC12C4052AD, STC12C3052AD ------- */  
;/* --- STC12C2052AD, STC12C1052AD, STC12C0552AD ------- */  
;/* --- Mobile: 13922805190 ---------------------- */  
;/* --- Fax: 0755-82944243 ----------------------- */  
;/* --- Tel: 0755-82948409 ----------------------- */  
;/* --- Web: www.mcu-memory.com ------------------ */  
;------------------------------------------------------------------------------  
;1. 本示例程序演示 STC12C2052AD 和 STC12C5410AD 系列 MCU 的 SPI 功能, 适用于  
;
主多从系  
;------------------------------------------------------------------------------  
;2. 硬件 接:  
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
;
主 片机  
从 片机 #1  
+--------------+  
<-- 位流方向  
+--------------+  
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MISO |<<-------------------*---------| MISO  
位流方向 -->  
MOSI |-----------------*---|------->>| MOSI  
| |  
SCLK |-------------*---|---|------->>| SCLK  
| | | | __  
P1.2 |-------------|---|---|------->>| SS  
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| | |  
| | |  
| | |  
| | |  
| | |  
|
+--------------+  
从 片机 #2  
+--------------+  
| | <<--------| MISO  
| |  
| +----------->>| MOSI  
|
|
|
|
|
|
|
|
|
|
|
+--------------->>| SCLK  
| __  
P1.3 |----------------------------->>| SS  
|
|
+--------------+  
+--------------+  
除此之外,主 片机的 RS-232 串行口通 RS-232  
器与 PC 机的 RS-232  
;串行口相 接。  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 125  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
;
Fax: 0755-82944243  
;3. SPI 通  
主 片机与从 片机的 SPI 8 位移位寄存器 接成一个循 的 16 位移位寄存器。  
;当主 片机程序向 SPDAT 写入一个字 ,立即启 一个 的 8 位移位通 程:  
;主 片机的 SCLK 脚向从 片机的 SCLK 脚 出一串脉冲,在 串脉冲的 下, 主  
程:  
;
; 片机 SPI 8 位移位寄存器中的数据移到了从 片机的 SPI 8 位移位寄存器中; 与此  
;同 ,从 片机 SPI 8 位移位寄存器中的数据移到了主 片机的 SPI 8 位移位寄存器  
;。利用  
; 中的数据。  
;
的数据交 机制,主 片机既可向从 片机 送数据,又可 从 片机  
;4. 使用方法  
; a) 修改程序,使 MASTER_SLAVE EQU 0 的那行有效。  
主 片机中。  
; b) 修改程序,使 MASTER_SLAVE EQU 1 的那行有效。  
从 片机 #1 中。  
; c) 修改程序,使 MASTER_SLAVE EQU 2 的那行有效。  
后的程序代 下 到  
后的程序代 下 到  
后的程序代 下 到  
;
;
;
从 片机 #2 中。  
主、从 片机上 。  
; d)  
; e) 主 片机用 Slave1_SS 和 Slave2_SS 口  
当前 中的从 片机, 每一 刻  
;
;
;
;
;
;
;
;
只有一个从 片机被 中。当 Slave1_SS 的 LED 灯亮 ,从 片机 #1 被 中;  
当 Slave2_SS 的 LED 灯亮 ,从 片机 #2 被 中。  
用串口  
助手(STC 的 ISP 下 程序 STC-ISP.exe 3.2 以上版本提供了  
功能)向主 片机 送一串数据。主 片机每收到一个字 就立刻将收到的字  
通 SPI 口 送到当前 中的从 片机中。从 片机 #1 将 SPI 口收到的数据  
再放到自己的 SPDAT 寄存器中,当下一次主 片机 送一个字  
主 片机; 从 片机 #2 将 SPI 口收到的数据加 1 以后再放到自己的 SPDAT  
寄存器中,当下一次主 片机 送一个字 把数据 回到主 片机。  
把数据 回到  
; f) 在串口  
;
助手接收区 察接收的数据。  
;5. 用巡 方式接收 SPI 数据  
;
;
本示例 中断方式接收 SPI 口数据,若想用巡 方式接收 SPI 数据可以用以下  
几行指令  
; Wait_SPI_Receive_Byte:  
;
MOV A, SPSTAT  
; 判收到从 SPI 回的数据?  
;
ANL A, #80H  
;
JZ Wait_SPI_Receive_Byte  
;SPI 未收到数据,  
;SPI 已收到数据  
等待  
;
...  
...  
;
;
;6.  
;
条件: MCU 晶振 率 Fosc = 18.432MHz, PC 机 RS232 串口波特率等于 57600  
果: SPI 口 数据无 。  
;------------------------------------------------------------------------------  
;定 常量  
;-----------------  
;定 功能常量,以下 3 行注 其中 2 行,使一行有效  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 126  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
MASTER_SLAVE EQU 0  
;MASTER_SLAVE EQU 1  
;MASTER_SLAVE EQU 2  
;-----------------  
;
后的程序代 下 到主 片机中  
;
;
后的程序代 下 到从 片机 #1 中  
后的程序代 下 到从 片机 #2 中  
;定 波特率自 重装数常量  
;以下波特率是 PCON.7 = 0  
的数 , 若使 PCON.7 = 1 可将波特率加倍  
;RELOAD_8BIT_DATA EQU 0FFH ;Fosc=22.1184MHz, Baud = 57600  
;RELOAD_8BIT_DATA EQU 0FBH ;Fosc=18.432MHz, Baud=9600, 1T 运行 Baud=115200  
RELOAD_8BIT_DATA EQU 0F6H ;Fosc=18.432MHz, Baud=4800, 1T 运行 Baud=57600  
;RELOAD_8BIT_DATA EQU 0FFH ;Fosc=11.059MHz, Baud = 28800 、  
;------------------------------------------------------------------------------  
;定 特殊功能寄存器  
AUXR  
EQU 8EH  
;AUXR 特殊功能寄存器的 bit3 是 SPI 中断允 控制位 ESPI  
;IE 特殊功能寄存器的 bit5 ADCSPI个中断共享的 中断允 控制位 EADC_SPI  
;要 生 SPI 中断, 需要 ESPI/EADC_SPI/EA 都 1  
;------------------------------------------------------------------------------  
;定 SPI 特殊功能寄存器,  
明 本程序的后部  
SPCTL  
SPSTAT  
SPDAT  
EQU 85H  
EQU 84H  
EQU 86H  
EADC_SPI  
EQU IE.5  
;------------------------------------------------------------------------------  
;定 SPI 脚  
SCLK  
MISO  
MOSI  
SS  
EQU P1.7  
EQU P1.6  
EQU P1.5  
EQU P1.4  
Slave1_SS  
Slave2_SS  
EQU P1.2  
EQU P1.3  
;------------------------------------------------------------------------------  
;定 片机管脚  
LED_MCU_START EQU P3.4  
;------------------------------------------------------------------------------  
;定  
Flags  
EQU 20H  
SPI_Receive  
EQU Flags.0  
;SPI 端口收到数据 志位  
T0_10mS_count EQU 30H  
SPI_buffer EQU 31H  
;
;
量用于保存 10 毫秒 数(T0 中断次数)  
量用于保存 SPI 端口收到的数据  
;------------------------------------------------------------------------------  
ORG 0000H  
AJMP MAIN  
;------------------------------------------------------------------------------  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 127  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
ORG 000BH  
; 定 0 断服 程序入口  
AJMP timer0_Routine  
;------------------------------------------------------------------------------  
ORG 002BH  
;ADC_SPI 中断服 程序入口  
AJMP ADC_SPI_Interrupt_Routine  
;------------------------------------------------------------------------------  
ORG 0080H  
MAIN:  
CLR LED_MCU_START  
MOV SP, #7FH  
; 点亮 MCU 开始工作指示灯  
; 系 初始化  
ACALL Initial_System  
if MASTER_SLAVE == 0  
CLR Slave1_SS  
;
从 片机 #1 当前的从 片机  
Check_RS232:  
JNB RI, Master_Check_SPI ; 判 RS-232 串口中收到数据否  
;主 片机 RS-232 串口已收到新的数据  
ACALL Get_Byte_From_RS232 ; 主 片机RS-232口中收到的数据送到累加器 A  
;
;
ACALL RS232_Send_Byte  
SJMP Check_RS232  
;
用, 将累加器 A 中的数据 送到 PC 机  
;
ACALL SPI_Send_Byte  
SJMP Check_RS232  
; 主 片机将累加器 A 中的数据 送到从机 SPI  
Master_Check_SPI:  
JNB SPI_Receive, Check_RS232 ; 判收到从 SPI 回的数据否  
;主 片机 SPI 端口已收到新的数据  
MOV A, SPI_buffer  
CLR SPI_Receive  
ACALL RS232_Send_Byte  
SJMP Check_RS232  
; 将 "SPI 回的数"到累加器 A  
; 0 主 机 SPI 端口收到数据 志位  
; 将累加器 A 中的数据 送到 PC 机  
else  
Slave_Check_SPI:  
JNB SPI_Receive, Slave_Check_SPI ; 判收到主 SPI 回的数据否  
;从 片机 SPI 端口已收到新的数据  
MOV A, SPI_buffer  
CLR SPI_Receive  
if MASTER_SLAVE == 2  
ADD A, #1  
; 取 " 机 SPI 端口 的数"  
; 0 从 机 SPI 端口收到数据 志位  
; 如果是从 片机 #2,就把收到的数据1  
; 将收到数据送 SPDAT, 准 下一次通  
endif  
MOV SPDAT, A  
SJMP Slave_Check_SPI  
endif  
;------------------------------------------------------------------------------  
if MASTER_SLAVE == 0  
timer0_Routine:  
PUSH PSW  
PUSH ACC  
; 保存断点  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 128  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
MOV TH0, #0C4H  
; 重装数 = 65536-15360 = 50176 = C400H  
; 晶振 =18.432MHz , 每 10mS 中断 1 次  
;10 毫秒 数(T0 中断次数) + 1  
INC T0_10mS_count  
MOV A, #0C7H  
;0C8H = 199,  
是否中断了 200 次(2)  
CLR C  
SUBB A, T0_10mS_count  
JNC timer0_Exit  
CPL Slave1_SS  
; 改 当前  
的从 片机  
CPL Slave2_SS  
MOV T0_10mS_count, #0  
; 0 10 毫秒 数(T0 中断次数)  
timer0_Exit:  
POP ACC  
POP PSW  
RETI  
; 恢复断点  
else  
timer0_Routine:  
RETI  
; 本程序中从 片机不需要使用定 0  
endif  
;------------------------------------------------------------------------------  
ADC_SPI_Interrupt_Routine:  
;SPI 中断服 程序  
;ADC_SPI 中断服 程序  
MOV SPSTAT, #11000000B  
;0C0H, 0 位 SPIF 和 WCOL  
;特 意:是向 志位 SPIF/WCOL 1,将 SPIF/WCOL 清0  
;特 意:不是向 志位 SPIF/WCOL 0,将 SPIF/WCOL 清0  
; 保存收到的数据  
MOV A, SPDAT  
MOV SPI_buffer, A  
SETB SPI_Receive  
RETI  
; 立 SPI 端口收到数据 志  
;------------------------------------------------------------------------------  
Initial_System:  
ACALL Initial_UART  
ACALL Initial_SPI  
; 初始化串口  
; 初始化 SPI  
SETB TR0  
SETB ET0  
; 启 T0  
; 开 T0 中断  
MOV Flags, #0  
SETB EA  
RET  
; 清 志字  
; 开 中断  
;------------------------------------------------------------------------------  
Initial_UART:  
; 初始化串口  
; SCON Bit: 7  
6
5
4
3
2
1
0
;
SM0/FE SM1 SM2 REN TB8 RB8  
Tl Rl  
MOV SCON, #50H  
;0101,0000 8 位可 波特率, 无奇偶校  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 129  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
MOV TMOD, #21H  
;T1  
自 重装模式  
MOV TH1, #RELOAD_8BIT_DATA  
MOV TL1, #RELOAD_8BIT_DATA  
MOV PCON, #80H  
;
; 取消本行指令注 ,波特率加倍。  
;使以下两行有效,波特率12,即波特率 = 4800*12=57600  
MOV A, #01000000B  
ORL AUXR, A  
;T1 以 1T 的速度 数,是普805112倍  
SETB TR1  
RET  
; 启 1 始 数  
;------------------------------------------------------------------------------  
Initial_SPI:  
; 初始化 SPI  
if MASTER_SLAVE == 0  
MOV SPCTL,#11111100B  
;SSIG=1: 忽SS脚  
;SPEN=1允 SPI 工作  
;DORD=1先 低位 LSB  
;0FCH, 忽略 SS 脚,  
主机  
;MSTR=1:  
主机  
;CPOL=1SPI 空  
SPICLK = 1前跳 沿是下降沿,后跳 沿是上升沿。  
;CPHA=1数据由 SPICLK 前跳 沿  
;SPR1SPR0 = 00:主模式 SPI  
到 SPI 口 ,SPI 模 在后跳 沿采 数据。  
fosc/4  
else  
MOV SPCTL,#01101100B  
;6CH,  
从机, 由 SS 脚决定是否已被 中  
;SSIG=0: 由 SS 脚决定主模式或从模式。  
;SPEN=1允 SPI 工作  
;DORD=1先 低位 LSB  
;MSTR=0:  
从机  
;CPOL=1SPI 空  
SPICLK = 1前跳 沿是下降沿,后跳 沿是上升沿。  
;CPHA=1数据由 SPICLK 前跳 沿  
;SPR1SPR0 = 00:主模式 SPI  
到 SPI 口 ,SPI 模 在后跳 沿采 数据。  
fosc/4  
endif  
MOV SPSTAT,#11000000B  
; 0 位 SPIF(SPSTAT.7), WCOL(SPSTAT.6)  
;向 个 志位"1" 会将它 0  
MOV A, #00001000B  
ORL AUXR, A  
SETB EADC_SPI  
RET  
; ESPI(AUXR.3)=1,允 SPIF(SPSTAT.7) 生中断  
; 开 ADC 中断和 SPI 中断共享的 中断控制位  
;------------------------------------------------------------------------------  
RS232_Send_Byte:  
CLR TI  
;RS232 串口 送一个字  
; 清零串口 送中断 志  
MOV SBUF, A  
RS232_Send_Wait:  
JNB TI, RS232_Send_Wait  
; 等待 送完 , 未 送完 跳回本行  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 130  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
CLR TI  
RET  
; 清零串口 送中断 志  
;------------------------------------------------------------------------------  
;此段程序只有主 MCU 用  
SPI_Send_Byte:  
CLR EADC_SPI  
;SPI  
; 关 ADC 中断和 SPI 中断共享的 中断控制位  
;SPI 送数据  
送一个字  
MOV SPDAT, A  
SPI_Send_Byte_Wait:  
MOV A, SPSTAT  
ANL A, #80H  
; 等待 SPIF=1 即等待 SPI 送完  
JZ  
SPI_Send_Byte_Wait  
SETB EADC_SPI  
RET  
; 开 ADC 中断和 SPI 中断共享的 中断控制位  
;------------------------------------------------------------------------------  
Get_Byte_From_RS232:  
MOV A, SBUF  
CLR RI  
; 取 RS-232 串口中收到的数据累加器 A  
RET  
;------------------------------------------------------------------------------  
END  
;------------------------------------------------------------------------------  
;更  
;
的 料可以参 STC12C5410AD.pdf (文使用 明)。  
;SPI 控制寄存器  
;
7
6
5
4
3
2
1
0
;SPCTL SSIG SPEN DORD MSTR CPOL CPHA SPR1 SPR0  
;
;SSIG: 忽SS, 如果 SSIG=1, 由 MSTR 位决定主模式或从模式,  
;
如果 SSIG=0, 由 SS 脚决定主模式或从模式。  
;SPENSPI使能位。如果 SPEN=0,SPI能被禁止,SPI 脚用作普IO口  
;DORD:SPI 数据  
序。  
1先 低位 LSB  
0先 高位 MSB  
;
;
;MSTR:/模式  
;CPOL:SPI  
信号极性  
1SPI 空  
0SPI 空  
信号相位  
1数据由 SPICLK 前跳 沿  
0当 SS 脚 低(SSIG=0) 数据被  
;
;
SPICLK = 1,前跳 沿是下降沿,后跳 沿是上升沿。  
SPICLK = 0,前跳 沿是上升沿,后跳 沿是下降沿。  
;CPHA:SPI  
;
;
;
;
到口 ,后跳 沿采 。  
到口 ,并且在 SPICLK 后跳 沿数据  
被改 (被  
到口 ),在 SPICLK 前跳 沿数据被采 。注意:SSIG = 1  
操作未定 。  
;SPR1-SPR0:主模式 SPI  
速率  
;
;
;
00fosc/4  
01fosc/16  
10fosc/64  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 131  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
;
;
;
11 :fosc/128  
当 CPHA=0,SSIG 必 等于零并且在  
SS 脚也必 一直保持 低。当 SS 有效  
,WCOL 志被置 1。  
当 CPHA=1,SSIG 可以等于 0 或 1。如果 SSIG=0SS 脚在 0(以  
;(=0) 向 SPDATA 寄存器写数据就会 生写冲突  
;
;直保持 0) 当系 中只有一个主和一个从 SPI  
;--------------------  
, 是首 配置。  
;SPI 状 寄存器  
;
7
6
5
-
4
-
3
-
2
1
0
;SPSTAT SPIF WCOL  
;SPIFSPI  
-
-
-
束 志。当一次  
ESPI(AUXR.3)=1 ,EADC_SPI(IE.5)=1,EA(IE.7)=1, 就引起中断。如果原来 SPI  
由 SS 脚确定 是主模式(SSIG=0,SS=1),当 SS 成 0 ,SPIF 也会被置 1,  
"式改 "。向 SPIF 位写 1 将 志清 0。  
束 , SPIF 被置 1,如果 SPI 中断被打开:  
;
;
;
;WCOLSPI 写冲突 志。当一个数据 在  
就会被被置 1。向 WCOL 位写 1 将  
,又向数据寄存器 SPDAT 写入数据,WCOL  
志清 0。  
;
;--------------------  
;SPI /模式  
;
;SPEN SSIG SS MATR  
模式 MISO MOSI SPICLK  
; 0 X X X  
; 1 0 0 0  
; 1 0 1 0  
; 1 0 0 1->0  
; 1 0 1 1  
; 1 1 X 0  
; 1 1 X 1  
SPI  
SPI  
未 从  
从,但没有被 中  
由主  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 132  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
附 C:  
用串行口 I/O口  
STC12Cxxxx 串行口的方0 I/O 展。如果在 用系 中,串行口未被占用,那么将它用  
来 展并I/O是一种 、 用的方法。  
在操作方0 串行口作同步移位寄存器,其波特率是固定的, fosc/12(fosc 振 器  
RXD(P3.0)出入,同步移位  
在先。  
TXD(P3.1) 出。 送、接收的8数据,低位  
一、74LS165 展并行 入口  
下 是利用两74LS165 展二8并行 入口的接口 路 。  
12Cxxxx  
6 5 4 3 14 13 12 11  
6 5 4 3 14 13 12 11  
H G F E D C B A  
H G F E D C B A  
SIN  
10 9  
9
7
10  
QH  
QH  
SIN  
QH  
QH  
P3.0  
P3.1  
74LS165  
CP  
74LS165  
S/L CP  
7
P1.0  
S/L  
1
2
8
16  
104  
2
8
16  
104  
15  
1
15  
VCC  
VCC  
74LS165 8并行置入移位寄存器。当移/入端(S/L)由高到低跳  
入寄存器;S/L=1且 禁止端(15 ) 低 平 ,允  
用下,数据将QA QH 方向移位。  
,并行 入端的数据置  
入, 脉冲的作  
上 中,TXD(P3.1)作 移位脉冲 出端与所74LS165移位脉冲 入CPRXD(P3.0)  
作 串行 入端74LS165串行 出QH 相 ;P1.0来控74LS165移位与置入而S/L相 ;  
74LS165 的  
禁止端(15 )接地,表示允  
入。当 展多8 口 ,两芯片的首尾  
(Q H S I N )相 。  
下面的程序是165 据(每 二个字  把它  
存到内RAM 20H 开始的  
元中。  
MOV R7,#05H  
MOV RO,#20H  
START: CLR P1.0  
; 置 入 数  
; 置内RAM 据区首址  
;并行置入数据,S/L=0  
;允 串行移S/L=1  
SETB P1.0  
MOV R1,#02H  
; 置每 字 数,即外 74LS165 个数  
; 串行方0 允 接收,启 接收 程  
;未接收完一 ,循 等待  
RI ,准 下次接收  
数据  
RXDATA: MOV SCON#00010000B  
WAIT:  
JNB RI,WAIT  
CLR RI  
MOV ASBUF  
MOV @R0A  
INC R0  
;送RAM 区  
;指向下一个地址  
DJNZ R1,RXDATA  
DJNZ R7,START  
⋯ ⋯  
完一 数据,  
;5 数据未 完重新并行置入  
; 数据 行 理  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 133  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
上面的程序 串行接收 程采用的是 等待的控制方式,如有必要,也可改用中断方式。从理  
上 ,按上 方法 展的 入口几乎是无限的,但 展的越多,口的操作速度也就越慢。  
二、74LS164 并行 出口  
74LS164 8串入并出移位寄存器。下 是利74LS164 展二8位 口的接口 路。  
12Cxxxx  
3 4 5 6 10 11 12 13  
QA QB QC QD QE QF QG QH  
3 4 5 6 10 11 12 13  
QA QB QC QD QE QF QG QH  
12  
12  
AB  
AB  
P3.0  
P3.1  
74LS164  
74LS164  
14  
7
14  
7
VCC  
VCC  
GND  
GND  
104  
104  
P1.0  
CLR  
9
CP  
8
CLR  
9
CP  
8
当 片机串行口工作在方0 状  
(TXD)送出。在移位 的作用下,串行口 送 冲器的数据一位一位地移74LS164。需要指出的是,  
74LS164并行 出控制端,因而在串行 入 程中,其 出端的状 会不断 化,故在某些 用  
合,74LS164端 加接 出三 控制,以便保 串行 入 束后再 出数据。  
下面是RAM 冲30H、31H内容串行口74LS164行 出的子程序。  
,串行数据P3.0RXD送出,移位  
由P3.1  
START: MOV  
R7#02H  
R0#30H  
SCON#00H  
A,@R0  
; 置要 送的字 个数  
; 置地址指  
MOV  
MOV  
; 置串行口方0  
SEND:  
MOV  
MOV  
JNB  
CLR  
INC  
DJNZ  
RET  
SBUFA  
TIWAIT  
TI  
;启 串行口 送 程  
WAIT:  
;一 数据未 送完,循 等待  
R0  
;取下一个数  
R7,SEND  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 134  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
附 D: STC12C2052AD列 1T 片机 介  
STC12C2052列 片机是  
/器周期(1T)的兼8051核 片机,是高/功耗的新一代  
8051 片机,全新的流水 / 精 指令集 构,内部集MAX810 复位 路。  
特 点 :  
1. 增 型 1T 流水 /令集 构 8051 CPU  
2. 工作  
3. 工作 率范 :0 - 35 MHz ,相当于普8051 0~420MHz.  
4. 用 用程序空 512 / 1K / 2K / 3K / 4K / 5K 字  
5.5V - 3.4V5V 片机) / 3.8V - 2.4V (3V 片机)  
工作 率可48MHz.  
5. 片上集成 256 字 RAM  
6. 通I/O 口(15 个),复位后 : 准双向/ 上拉(普8051  
可 置成四种模式:准双向/ 上拉,推/ 拉,  
I/O 口)  
入/ 阻,开漏  
I/O口  
7. ISP在系 可 程)/IAP在 用可 程 需 用 程器  
可通 串口(P3.0/P3.1)直接下 用 程序,2 ~ 3即可完成一片  
8. EEPROM 功能  
能力均可达20mA,但整个芯片最大不得超 55mA  
9. 看 狗  
10.内部集MAX810 用复位 路  
11.  
源:高精度外部晶/  
用 在下 用 程序 ,可  
常温下内R/C 振 器 率 :5.65MHz ~ 5.95MHz  
精度要求不高 ,可 使用内部 ,但因 有温漂,  
12.共2个16/ 器  
,内R/C 振 器  
是使用内R/C振 器 外部晶/  
4MHz ~ 8MHz  
13.外部中2,下降沿中断或低 平触 中断,Power Down 模式可由外部中断低 平触 中断方式 醒  
14.PWM(2 /PCA 程 数器 列)  
--- 也可用来再  
15.ADC, 8路8精度  
2定 器2外部中断(上升沿中/降沿中断均可支持)  
16.通用异步串行口(UART)  
17.SPI步通信口, 主模/模式  
18.工作温度范 : 0 - 75℃ / -40 - +85℃  
19.封装: PDIP-20SOP-20( 体),TSSOP-20(超小封状,定 )  
供 :  
已大批量供 (PDIP-20/SOP-20提前定 。  
STC12C5410ADSTC12C2052AD列的后 品  
1.内部 RAM 增加到 512 字  
2.内部 I/O 口 增加到 23 个(PDIP-28/SOP-28PLCC-32  
3.内部 PCA/PWM 模 增加到 4 个  
27个  
4.内部 A/D 模 提升到 10 位 精度  
5.内部 Flash 程序空  
2K / 4K / 6K / 8K / 10K / 12K  
6.封装:PDIP-28(窄体),SOP-28,PLCC-32,PDIP-20,SOP-20,TSSOP-20  
7.供 :2005-12-5始提供 品(PDIP-28/SOP28/PLCC32 200512底批量供  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 135  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
STC12C2052AD列 片机管脚 及封装尺寸  
RST  
RxD/P3.0  
TxD/P3.1  
1
2
3
4
20  
19  
18  
17  
16  
15  
14  
13  
12  
11  
VCC  
RST  
RxD/P3.0  
TxD/P3.1  
1
2
3
4
5
20  
19  
18  
17  
16  
15  
14  
13  
12  
11  
VCC  
P1.7/SCLK  
P1.6/MISO  
P1.5/MOSI  
P1.4/SS  
P1.3  
P1.2  
P1.1  
P1.0  
P3.7/CEX0/PWM0  
P1.7/SCLK/ADC7  
P1.6/MISO/ADC6  
P1.5/MOSI/ADC5  
P1.4/SS/ADC4  
P1.3/ADC3  
XTAL2  
XTAL1  
XTAL2  
XTAL1  
5
INT0/P3.2  
INT1/P3.3  
ECI/T0/P3.4  
PWM1/CEX1/T1/P3.5  
Gnd  
6
7
8
9
10  
INT0/P3.2  
INT1/P3.3  
ECI/T0/P3.4  
PWM1/CEX1/T1/P3.5  
Gnd  
6
7
8
P1.2/ADC2  
P1.1/ADC1  
9
10  
P1.0/ADC0  
P3.7/CEX0/PWM0  
STC12C2052AD  
STC12C2052  
20S, 20-lead, 0.300" Wide, Plastic Gull WIng Small  
Outline (SOIC-20 / SOP-20)  
20P3, 20-lead, 0.300" Wide, Plastic Dual Inline  
Package (PDIP-20)  
Dimensions in Inches and (Millimeters)  
Dimensions in Inches and (Millimeters)  
JEDEC STANDARD MS-001 AD  
0.020 (0.508)  
0.013 (0.330)  
1.060 (26.9)  
0.980 (24.9)  
PIN1  
0.299 (7.60)  
0.291 (7.39)  
0.280 (7.11)  
0.240 (6.10)  
0.420 (10.7)  
0.393 (9.98)  
PIN1  
0.090(2.29)  
MAX  
0.900(22.86) REF  
0.050 (1.27)  
0.210(5.33)  
MAX  
0.005(0.127)  
MIN  
SEATING  
PLANE  
0.513 (13.0)  
0.497 (12.6)  
0.105 (2.67)  
0.092 (2.34)  
0.015(0.381)MIN  
0.150 (3.81)  
0.115 (2.92)  
0.022 (0.559)  
0.014 (0.356)  
0.070(1.78)  
0.045(1.13)  
0.012 (0.305)  
0.003 (0.076)  
0.100 (2.54)  
0.325(8.26)  
0.300(7.62)  
0
REF  
8
0.013 (0.330)  
0.009 (0.229)  
0
0.014(0.356)  
0.008(0.203)  
REF  
15  
0.035 (0.889)  
0.015 (0.381)  
0.430(10.92)MAX  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 136  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
STC12LE4052ADTSSOP-20装  
STC12C4052ADTSSOP-20装  
PACKAGEPLASTIC SHRINK SMALL OUTLINE (TSSOP-20,6.4mm ×6.4mm)  
D(6.40mm~6.60mm)  
Φ
e(0.65mm)  
B(0.19mm~0.30mm)  
L(0.50mm~0.75mm)  
DIMENSIONS  
in inches (mm)  
Minimum/Maximum  
20-PIN  
- /0.043  
A
(- /1.10)  
0.002/0.006  
A1  
(0.05/0.15mm)  
0.007/0.012  
B
D
(0.19/0.30mm)  
0.252/0.260  
(6.40/6.60mm)  
0.169/0.177  
E
(4.30/4.50mm)  
0.026 BSC  
e
(0.65mm BSC)  
0.126 BSC  
(3.20mm BSC)  
E2  
L
0.020/0.030  
(0.50/0.75mm)  
Φ
0°/8°  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 137  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
附 E: STC 片机普I/O LCD 示  
VCC  
21K  
Seg3  
U2  
VCC  
Com0  
Com1  
Seg0  
Seg1  
Seg2  
Seg3  
Seg4  
Seg5  
Seg6  
Seg7  
Seg8 10  
Seg9 11  
Seg10 12  
Seg11 13  
Seg12 14  
Seg13 15  
Seg14 16  
Seg15 17  
Seg16 18  
Seg17 19  
Seg18 20  
Seg19 21  
Seg20 22  
Seg21 23  
Seg22 24  
Seg23 25  
Com2 26  
0
1
2
3
4
5
6
7
8
9
Com0  
Com1  
Seg0  
Seg1  
Seg2  
Seg3  
Seg4  
Seg5  
Seg6  
Seg7  
Seg8  
Seg9  
Seg10  
Seg11  
Seg12  
Seg13  
Seg14  
Seg15  
Seg16  
Seg17  
Seg18  
Seg19  
Seg20  
Seg21  
Seg22  
Seg23  
Com2  
C1  
Seg13  
Seg14  
Seg15  
7
8
9
39  
38  
37  
36  
35  
34  
33  
32  
31  
30  
29  
P1.5  
P1.6  
P1.7  
RST  
P3.0  
P4.3  
P3.1  
P3.2  
P3.3  
P3.4  
P3.5  
P0.4  
P0.5  
P0.6  
P0.7  
EA  
P4.1  
ALE  
PSEN  
P2.7  
P2.6  
P2.5  
10uF  
10  
11  
12  
13  
14  
15  
16  
17  
STC89C58RD+  
PLCC-44  
VCC  
R1  
10K  
Seg23  
Seg22  
Seg21  
<33pF  
<33pF  
本 料不提供技 支持, 自行消化吸收  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 138  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
NAME LcdDriver  
$include(STC89C51RC.h)  
;**************************************************************************************  
;the LCD is 1/3 duty and 1/3 bias; 3Com*24Seg; 9 display RAM;  
;
;
Bit7  
Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0  
;Com0: Com0Data0: Seg7  
Seg6 Seg5 Seg4 Seg3 Seg2  
Seg1 Seg0  
Seg9 Seg8  
Seg17 Seg16  
Seg1 Seg0  
Seg9 Seg8  
Seg17 Seg16  
Seg1 Seg0  
Seg9 Seg8  
Seg17 Seg16  
;
;
Com0Data1: Seg15 Seg14 Seg13 Seg12 Seg11 Seg10  
Com0Data2: Seg23 Seg22 Seg21 Seg20 Seg19 Seg18  
;Com1: Com1Data0: Seg7  
Seg6 Seg5 Seg4 Seg3 Seg2  
;
;
Com1Data1: Seg15 Seg14 Seg13 Seg12 Seg11 Seg10  
Com1Data2: Seg23 Seg22 Seg21 Seg20 Seg19 Seg18  
;Com2: Com2Data0: Seg7  
Seg6 Seg5 Seg4 Seg3 Seg2  
;
;
Com2Data1: Seg15 Seg14 Seg13 Seg12 Seg11 Seg10  
Com2Data2: Seg23 Seg22 Seg21 Seg20 Seg19 Seg18  
;**************************************************************************************  
;Com0: P3^0,P3^1 when P3^0 = P3^1 = 1  
then Com0=VCC(=5V);  
then Com0=GND(=0V);  
then Com0=1/2 VCC;  
;
;
P3^0 = P3^1 = 0  
P3^0 = 1, P3^1=0  
;Com1: P3^2,P3^3 the same as the Com0  
;Com2: P3^4,P3^5 the same as the Com0  
;
sbit SEG0 =P0^0  
sbit SEG1 =P0^1  
sbit SEG2 =P0^2  
sbit SEG3 =P0^3  
sbit SEG4 =P0^4  
sbit SEG5 =P0^5  
sbit SEG6 =P0^6  
sbit SEG7 =P0^7  
sbit SEG8 =P1^0  
sbit SEG9 =P1^1  
sbit SEG10 =P1^2  
sbit SEG11 =P1^3  
sbit SEG12 =P1^4  
sbit SEG13 =P1^5  
sbit SEG14 =P1^6  
sbit SEG15 =P1^7  
sbit SEG16 =P2^0  
sbit SEG17 =P2^1  
sbit SEG18 =P2^2  
sbit SEG19 =P2^3  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 139  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
sbit SEG20 =P2^4  
sbit SEG21 =P2^5  
sbit SEG22 =P2^6  
sbit SEG23 =P2^7  
;******************************************************************************************  
;======Interrupt===============================  
CSEG AT 0000H  
LJMP start  
CSEG AT 000BH  
LJMP int_t0  
;======register===============================  
lcdd_bit SEGMENT BIT  
RSEG lcdd_bit  
OutFlag:  
DBIT 1  
;the output display reverse flag  
lcdd_data SEGMENT DATA  
RSEG lcdd_data  
Com0Data0:  
Com0Data1:  
Com0Data2:  
Com1Data0:  
Com1Data1:  
Com1Data2:  
Com2Data0:  
Com2Data1:  
Com2Data2:  
TimeS:  
DS 1  
DS 1  
DS 1  
DS 1  
DS 1  
DS 1  
DS 1  
DS 1  
DS 1  
DS 1  
;======Interrupt Code==========================  
t0_int SEGMENT CODE  
RSEG t0_int  
USING 1  
;*****************************************************************  
;Time0 interrupt  
;ths system crystalloid is 22.1184MHz  
;the time to get the Time0 interrupr is 2.5mS  
;the whole duty is 2.5mS*6=15mS, including reverse  
;*****************************************************************  
int_t0:  
ORL TL0,#00H  
MOV TH0,#0EEH  
PUSH ACC  
PUSH PSW  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 140  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
MOV PSW,#08H  
ACALL OutData  
POP PSW  
POP ACC  
RETI  
;======SUB CODE================================  
uart_sub SEGMENT CODE  
RSEG uart_sub  
USING 0  
;******************************************************************  
;initial the display RAM data  
;if want to display other,then you may add other data to this RAM  
;Com0: Com0Data0,Com0Data1,Com0Data2  
;Com1: Com1Data0,Com1Data1,Com1Data2  
;Com2: Com2Data0,Com0Data1,Com0Data2  
;*******************************************************************  
InitComData:  
MOV Com0Data0,#24H  
;it will display "11111111"  
MOV Com0Data1,#49H  
MOV Com0Data2,#92H  
MOV Com1Data0,#92H  
MOV Com1Data1,#24H  
MOV Com1Data2,#49H  
MOV Com2Data0,#00H  
MOV Com2Data1,#00H  
MOV Com2Data2,#00H  
RET  
;********************************************************************  
;reverse the display data  
;********************************************************************  
RetComData:  
MOV R0,#Com0Data0  
MOV R7,#9  
;get the first data address  
RetCom_0:  
MOV A,@R0  
CPL A  
MOV @R0,A  
INC R0  
DJNZ R7,RetCom_0  
RET  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 141  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
;**********************************************************************  
;get the display Data and send to Output register  
;**********************************************************************  
OutData:  
INC TimeS  
MOV A,TimeS  
MOV P3,#11010101B  
CJNE A,#01H,OutData_1  
MOV P0,Com0Data0  
MOV P1,Com0Data1  
MOV P2,Com0Data2  
JNB OutFlag,OutData_00  
MOV P3,#11010111B  
RET  
;clear display,all Com are 1/2VCC and invalidate  
;judge the duty  
;Com0 is work and is VCC  
;Com0 is work and is GND  
OutData_00:  
MOV P3,#11010100B  
RET  
OutData_1:  
CJNE A,#02H,OutData_2  
MOV P0,Com1Data0  
MOV P1,Com1Data1  
MOV P2,Com1Data2  
JNB OutFlag,OutData_10  
MOV P3,#11011101B  
RET  
;Com1 is work and is VCC  
;Com1 is work and is GND  
OutData_10:  
MOV P3,#11010001B  
RET  
OutData_2:  
MOV P0,Com2Data0  
MOV P1,Com2Data1  
MOV P2,Com2Data2  
JNB OutFlag,OutData_20  
MOV P3,#11110101B  
SJMP OutData_21  
;Com2 is work and is VCC  
;Com2 is work and is GND  
OutData_20:  
MOV P3,#11000101B  
OutData_21:  
MOV TimeS,#00H  
ACALL RetComData  
CPL OutFlag  
RET  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 142  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
;======Main Code===============================  
uart_main SEGMENT CODE  
RSEG uart_main  
USING 0  
start:  
MOV SP,#40H  
CLR OutFlag  
MOV TimeS,#00H  
MOV TL0,#00H  
MOV TH0,#0EEH  
MOV TMOD,#01H  
MOV IE,#82H  
ACALL InitComData  
SETB TR0  
Main:  
NOP  
SJMP Main  
END  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 143  
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
附 F: I/O二极管并 描按  
1K  
P1.7  
1K  
1K  
P1.6  
1K  
1K  
P1.5  
1K  
1K  
P1.4  
1K  
STC12C5410列 片机I/O可 置成弱上拉, 上拉(推挽) 出,  
入(高阻),开漏四种模式  
及按 用,可以大幅  
的特性,可以利STC12C5410列 片机I/O同 作  
省I/O 。  
光二极管  
光二极管 ,将 I/O 成 上拉推挽 出, 出高即可点亮 光二极管  
,将 I/O 成弱上拉,然后 1再 外部口的状 ,即可  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 144  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
G: MCU/DSP/uC 位、 源 控、外部看 狗 用 路  
1.高 平复位信号 出  
VCC  
STC6344  
STC810 *荐  
VCC RESET  
RESET  
片机  
89C51RC  
89C54RD+  
89C58RD+  
89LE516AD  
GND  
PFI  
MR  
100K  
Vc
<1.25V  
PFO=0  
PFO  
Interrupt  
2
RESET  
RESET  
人民 2元  
上 复位, 掉 复位  
上 复位, 掉 复位,外部手 复位,  
前端掉  
VCC  
STC89C51RC  
STC89C52RC  
STC89C53RC  
STC89C54RD+  
STC89C58RD+  
STC89C516RD+  
STC813L  
STC6345  
VCC  
RESET  
VCC RESET  
MR  
WDO  
GND RESET  
片机  
VCC  
RESET  
RESET  
10K  
100K  
GND  
PFI  
WDI  
PFO  
I/O  
<1.25V  
PFO=0  
PFI  
PFO  
Interrupt  
<1.25V  
PFO=0  
Interrupt  
RESET  
人民 2元  
uC / DSP  
上 复位, 掉 复位,外部手 复位,  
前端掉  
上 复位, 掉 复位  
前端掉  
,
,
外部硬件看 狗  
高/低 平2复位信号 出  
2.低 平复位信号 出  
STC809 *荐  
VCC  
STC6342  
VCC RESET  
RESET  
uC / DSP  
Interrupt  
1
GND  
uC / DSP  
GND  
PFI  
MR  
10K  
VCC  
3
Vcc  
<1.25V  
PFO=0  
PFO  
2
RESET  
RESET  
上 复位, 掉 复位  
上 复位, 掉 复位,外部手 复位,  
前端掉  
VCC  
uC / DSP  
VCC  
STC706S  
STC708  
MR  
RESET  
RESET  
RESET  
MR  
WDO  
VCC  
片机  
VCC  
RESET  
RESET  
100K  
GND  
NC  
100K  
GND  
PFI  
WDI  
PFO  
I/O  
<1.25V  
PFI  
PFO  
Interrupt  
<1.25V  
PFO=0  
PFO=0  
Interrupt  
RESET  
uC / DSP  
上 复位, 掉 复位,外部手 复位,  
前端掉  
高/低 平2复位信号 出  
使用外部 用复位 路的好 (推荐使STC6344STC6345STC810)  
上 复位, 掉 复位,外部手 复位,  
前端掉  
外部硬件看 狗  
,
,
1.保上  
2.保掉  
,在用  
,在用  
定的 源  
定的 源  
之上,  
定后, 片机才开始工作  
片机复位,以免 片机  
之下,立即  
3.有 源  
4.复位  
前端掉  
可 : L:4.63V; M:4.38V; J: 4.00V; T:3.08V; S:2.93V; R:2.63V  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 145  
的 用复位 路,确保掉 前有充分的  
保存数据  
宏晶科技:  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
附 H:  
STC 高性SRAM 型一 表  
STC62WV256  
型号  
容量  
工作  
温度  
速度 推荐封状  
STC62WV256  
32K x 8 2.4 - 5.5V -40℃~85℃ 70nS SOP/TSOP/DIP  
A14  
1
28  
VCC  
A12  
A7  
2
3
27  
26  
WE  
STC62WV1024 128K x 8 2.4 - 5.5V -40℃~85℃ 70nS SOP/STSOP/TSOP  
STC62WV2568 256K x 8 2.4 - 5.5V -40℃~85℃ 70nS STSOP-32  
STC62WV5128 512K x 8 2.4 - 5.5V -40℃~85℃ 70nS STSOP/SOP-32  
A13  
A6  
A5  
A4  
A3  
A2  
4
5
6
7
8
25  
24  
23  
22  
21  
A8  
A9  
A11  
OE  
STC62WV1M8  
1M x 8 2.4 - 5.5V -40℃~85℃ 70nS TSOP2-44  
SOP-28  
A10  
STC62WV6416 64K x 8 2.4 - 5.5V -40℃~85℃ 70nS TSOP2-44  
STC62WV12816 128K x 16 2.4 - 5.5V -40℃~85℃ 70nS TSOP2-44  
STC62LV12816 128K x 16 2.4 - 3.6V -40℃~85℃ 70nS TSOP2-44  
STC62WV25616 256K x 16 2.4 - 5.5V -40℃~85℃ 70nS TSOP2-44  
STC62WV51216 512K x 16 2.4 - 5.5V -40℃~85℃ 70nS TSOP2-44  
A1  
A0  
9
20  
19  
18  
17  
16  
15  
CE  
10  
11  
12  
13  
14  
DQ7  
DQ6  
DQ5  
DQ4  
DQ3  
DQ0  
DQ1  
DQ2  
GND  
STC62WV1M8  
1
STC62WV1024  
STC62WV1024  
A11  
A9  
1
2
32  
31  
30  
29  
28  
27  
OE  
A10  
A4  
A3  
44  
A5  
NC  
1
32  
VCC  
2
43  
42  
41  
40  
39  
38  
37  
36  
35  
34  
33  
32  
31  
30  
29  
28  
27  
A6  
A8  
A13  
WE  
3
4
5
6
CE1  
DQ7  
DQ6  
DQ5  
DQ4  
DQ3  
GND  
DQ2  
DQ1  
DQ0  
A0  
A2  
3
A7  
A16  
A14  
A12  
A7  
2
3
4
5
6
7
31  
30  
29  
28  
27  
26  
A15  
CE2  
WE  
A1  
4
OE  
CE2  
A15  
VCC  
NC  
A16  
A14  
A12  
A7  
A6  
A5  
A4  
7
8
9
26  
A0  
5
CE2  
A8  
25  
24  
23  
22  
21  
20  
19  
18  
17  
TSOP / STSOP-32  
CE1  
NC  
6
10  
11  
7
NC  
A13  
A8  
12  
13  
14  
15  
16  
NC  
8
NC  
A6  
DQ0  
DQ1  
VCC  
GND  
DQ2  
DQ3  
NC  
9
DQ7  
DQ6  
GND  
VCC  
DQ5  
DQ4  
NC  
A1  
A2  
A3  
A5  
A9  
10  
TSOP--44  
SOP-32  
11  
A4  
A3  
8
9
25  
24  
A11  
OE  
12  
13  
14  
15  
16  
17  
18  
STC62WV5128  
A11  
A9  
A8  
A13  
WE  
A17  
A15  
VCC  
A18  
A16  
A14  
A12  
A7  
1
2
3
4
5
6
7
32  
OE  
A10  
CE  
A2  
A1  
10  
11  
12  
13  
23  
22  
21  
20  
A10  
CE1  
DQ7  
DQ6  
31  
30  
29  
28  
27  
26  
25  
24  
23  
22  
21  
20  
19  
18  
17  
DQ7  
DQ6  
DQ5  
DQ4  
DQ3  
GND  
DQ2  
DQ1  
DQ0  
A0  
NC  
NC  
A0  
WE  
A9  
DQ0  
A19  
A10  
8
9
STSOP-32  
A18  
A17  
A16  
A15  
19  
20  
21  
22  
26  
25  
24  
23  
A11  
A12  
A13  
A14  
10  
11  
12  
13  
14  
15  
16  
DQ1  
DQ2  
14  
15  
19  
18  
DQ5  
DQ4  
A6  
A5  
A4  
A1  
A2  
A3  
GND  
16  
17  
DQ3  
STC62WV12816  
STC62WV25616  
STC62WV51216  
A4  
1
2
3
4
5
6
7
44  
43  
42  
41  
40  
39  
38  
A5  
A6  
A4  
A3  
1
2
3
4
5
6
7
44  
43  
A5  
A4  
A3  
1
2
3
4
5
6
7
44  
43  
A5  
A6  
A3  
A2  
A6  
A7  
A2  
42  
41  
A7  
A2  
42  
41  
A7  
OE  
A1  
OE  
A1  
OE  
A1  
A0  
UB  
A0  
40  
UB  
A0  
40  
UB  
CE  
LB  
CE  
39  
38  
LB  
CE  
39  
38  
LB  
DQ0  
DQ15  
DQ0  
DQ15  
DQ0  
DQ15  
DQ1  
DQ2  
8
9
37  
36  
DQ14  
DQ13  
DQ1  
DQ2  
8
9
37  
36  
DQ14  
DQ13  
DQ1  
DQ2  
8
9
37  
36  
DQ14  
DQ13  
TSOP--44  
TSOP--44  
DQ3  
VCC  
GND  
DQ4  
DQ5  
DQ6  
10  
11  
12  
13  
14  
15  
35  
34  
33  
32  
31  
30  
DQ12  
GND  
TSOP--44  
DQ3  
VCC  
GND  
DQ4  
DQ5  
DQ6  
DQ7  
WE  
10  
35  
34  
33  
32  
31  
30  
29  
28  
27  
26  
25  
24  
23  
DQ12  
GND  
VCC  
DQ11  
DQ10  
DQ9  
DQ8  
NC  
DQ3  
VCC  
VSS  
DQ4  
DQ5  
DQ6  
10  
35  
34  
33  
32  
31  
DQ12  
VSS  
11  
12  
13  
14  
15  
16  
17  
18  
19  
20  
21  
22  
11  
12  
13  
14  
15  
VCC  
VCC  
DQ11  
DQ10  
DQ9  
DQ11  
DQ10  
DQ9  
30  
DQ7  
WE  
16  
17  
18  
19  
20  
21  
22  
29  
28  
27  
26  
25  
24  
23  
DQ8  
NC  
DQ7  
WE  
16  
17  
18  
19  
20  
21  
22  
29  
28  
27  
26  
DQ8  
A8  
A16  
A15  
A14  
A13  
A12  
A8  
A17  
A16  
A15  
A14  
A13  
A8  
A18  
A17  
A16  
A15  
A14  
A9  
A9  
A9  
A10  
A11  
A12  
A13  
A10  
A11  
NC  
A10  
A11  
A12  
25  
24  
23  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 146  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
附 I: 超 抗干 数据, 4000V速脉冲干  
--- 在 威SGS 气 室  
Iss Date Jan 06 ,2006  
SGS  
WORKSHEET: EFT Test (EN 61000-4-4)  
EUT NAMESTC12C5410AD Development Tool  
Environmental conditions  
Air Temperature (℃) 20 Relative Humidity(%RH) 56 Air Pressure (mBar) 1003  
Set-Up EUT for Compliance Test  
EN 61000-4-4  
Set up the EUT as  
Test Requirement Standard  
Table-top  
Operating mode during test ON MODE  
Detail EUT monitor system:  
STC12C5410AD control LED flashing function  
Compliance-Test Record  
Compliance Test Result On AC Cable ( 2 wire )  
Lead under test  
Level  
+/-4kV  
+/-4kV  
+/-4kV  
EUT operating mode  
ON MODE  
Observations  
NLOF  
L
N
ON MODE  
NLOF  
L+N  
ON MODE  
NLOF  
Test Conclusion and Reason  
Test Conclusion:  
Pass  
Reason(explain why? ):  
Class A  
Note: This sample pass the Class A(2kV)  
According to the customer ’s require up to 4kV,test result: PASS 4kV  
我 提供 4000V 快速脉冲干  
服 ,陪同在 威SGS 气  
1 小 收取人民 3000 ,提前一周  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 147  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
附 J: STC12C5410AD 系列 片机 用注意事  
关于复位 路:  
晶振 率20M :以不用外部复位 路,原复位 路可以保留,也可以不用,不用 复位脚可  
直接短到地。不 建  
关于  
如果使用内R/C振 器  
PCB 上保R/C  路,  
使用 再决定用或不用。  
(4MHz~8MHz,制造 差加温漂),XTAL1XTAL2浮空.  
33MHz上 ,建 直接使用外部有源石英晶体振 器, XTAL1,XTAL2脚  
如果外部  
必 浮空.  
A / B ,老版本 用注意事 ( 新版C 本已 改好,并开始大量供 ):  
空 模式(IDLE不要用,新版C 本已修改好  
普通可位 址RAM(20H - 2FH)的位(位地址: 00H - 7FH),JBC RAM_Bit 无任何  
可位 址的特殊功能寄存器的位(80H - FFH)  
不要用 JBC SFR_Bit 指令  
JB SFR_Bit / CLR SFR_Bit 指令取代  
例:  
0、定 1使用 建 直接用中断方式,与普8051 片机完全兼容  
但如不用中断,而用 方式,建 用  
/ CLR TF0;JB TF1  
JB TF0  
不要用  
/ CLR TF1。  
JBC TF0 / JBC TF1  
新版本正在修正中,但  
并不影响用 使用。  
原 因 :  
主要是特殊功能寄存器的整8位 被 后,如在我 判断 位 1,将 位清零,并将整8位 一  
起写回之前,它的部分其它位如已由硬件 置 生 化,而我 JBC断后再写回 ,新的 被破坏,被写成  
了老的 。  
如果 位0, 不会再写回,就不会 生此事。  
如果 位 成1, 殊功能寄存器的其它位在此瞬 未 生 化,一起写回,也无  
如果 位 成1, 特殊功能寄存器的其它位在此瞬  
又被写成老的 。  
生 化,其它在此瞬  
生 化的位就会被破坏,  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 148  
 
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409  
Fax: 0755-82944243  
附 K:  
料升 史 忘  
STC12C5410AD列 片机新C本已开始大量供  
2006-4-15 2006-3-25 本的基 上:  
部分目 和内容做了 整  
通知新版C 本已 大量供  
2006-3-25 2006-2-6 本的基 上:  
在PWM/PCA 的 部分增加了在使PCA  出模式 的特  
用注意事  
2006-2-6 2005-1-16 本的基 上:  
增加了定 1 波特率 生器的程序  
增加了如何用 件  
系 复位  
增加了附 I MCU/DSP/uC 位、 源 控、外部看 狗 用 路  
增加了附 J STC SRAM 一 表  
增加了附 L: 超 干  
数据, 4000V 速脉冲干  
明部分做了加  
EEPROM  
看 狗  
程序的解  
程序的解  
明部分做了加  
------------------------------------------------------------------------------  
2006-1-16 2005-12-31 本的基 上:  
1.A/D  
程序做了 化  
2.PCA/PWM 模 加了新的演示程序( 展 件定 器, 展外部中断)  
------------------------------------------------------------------------------  
2005-12-31 2005-12-24 本的基 上:  
1.PCA/PWM 分笔 ,4 PCA/PWM 有些部分笔  
2 路  
果(ADC_DATA[7:0],ADC_LOW2[1:0])=256 x Vin / Vcc  
果 ( ADC_DATA[7:0],ADC_LOW2[1:0] ) = 1024 x Vin / Vcc  
LCD 的参考 路及演示程序  
光二极管并 描按  
5.STC12C5410  片机 用注意事  
2.A/D  
果 算公式 :笔  
3.STC 机普I/O 口  
4.加了一I/O 口  
宏晶科技:  
/存 供 商 www.MCU-Memory.com STC12C5410AD 系列 1T 8051 片机中文指南 149  
 

相关型号:

STC12LE5408AD

STC12C5410AD
ETC

STC12LE5410

STC12C5410AD
ETC

STC12LE5410AD

STC12C5410AD
ETC

STC12LE5412

STC12C5410AD
ETC

STC12LE5412AD

STC12C5410AD
ETC

STC13001

NPN POWER TRANSISTORS
SUNTAC

STC13002

NPN POWER TRANSISTORS
SUNTAC

STC13003

NPN POWER TRANSISTORS
SUNTAC

STC13003-TO126

NPN POWER TRANSISTORS
SUNTAC

STC13003-TO220

NPN POWER TRANSISTORS
SUNTAC

STC13005

NPN POWER TRANSISTORS
SUNTAC

STC13007

NPN POWER TRANSISTORS
SUNTAC