STC89C51RC / RD+ 系列单片机中文指南
---高可靠 ---超低价 ---低功耗 ---无法解密
STC89C51RC,STC89C52RC,STC89C53RC,STC89LE51RCSTC89LE52RCSTC89LE53RC
STC89C54RD+,STC89LE54RD+STC89C58RD+,STC89LE58RD+STC89C516RD+,STC89LE516RD+
附录A:
为什么少数用户的普通8051程序烧录后,不能运行
附录B: STC89LE516AD,STC89LE516X2附录C: STC89C51RC / RD+ 系列单片机 ISP (DIY)附录D: ISP Demo(演示版)软件(*.hex)及通信协议
附录E: 如何实现运行中自定义下载,无仿真器时方便调试附录F: Keil C51高级语言编程的软件如何减少代码长度
国内技术支援:宏晶科技(深圳)
www.MCU-Memory.com support@dsp-memory.comUpdate date: 2005-2-16
:
海纳电子资讯网:www.fpga-arm.com 为您提供各种IC中文资料
本应用技术手册是针对有一定8051系列(MCS-51)单片机编程基础的用户编写的。 选用STC单片机的理由:降低成本,提升性能,原有程序直接使用,硬件无需改动。
STC公司鼓励您放心大胆选用PLCC, PQFP小型封装, 3.3V工作电压单片机,使
您的产品更小,更轻,功耗更低。如果相关新增功能没有用到,则不需看相应部分。用 STC提供的STC-ISP.exe工具将您原有的代码下载进STC相关的单片机即可,或用通用编 程器编程。 1280 字节 8/16/32/64k 字节 闪存 SRAM IAP2k - 8k 字节 ISP 引导码 P0
双数 据指针 8051微处理器 四个8位 并行端口 + P1 P2 P3 P4 STC低功耗,超低价
看门狗 高速(0-90M),高可靠 P4.0—P4.3 四个附送 I/O端口 掉电模式:0.5μA, 空闲模式:2mA √IAPUART(串口)3个定时器 EPROM Data Flash 2A/D 不加价 A/D(高速)可做:按键扫描电池电压检测掉电检测音量、频谱检测等5V: 5.5 - 3.8V,乃至3.4V; 3V: 3.6 - 2.4V,乃至1.9V
STC89系列单片机选型一览表
型 号
最高时钟 频 率Hz 5V
STC89C51 RCSTC89C52 RCSTC89C53 RC
0-80M0-80M0-80M
3V
IAP / ISP 美国技术, 超低价格, 15分钟学会
向下兼容PhilipsP89C51P89C52P89C54P89C54P89C58P89C51RD2
AT89C55AT89C55AT89C51RCAT89C51RD2AT89LV51AT89LV52AT89LV55AT89LV55AT89LV51RC向下兼容Atmel
数
FlashRAM看双PII中优定A向下
降低EEP据串口
程序数据门倍4SA断先时/兼容
EMIROM指UART
存储器存储器狗速口PP源级器DWinbond
针4K8K15K16K32K63K
512512512128012801280512512512128012801280512512
√√√√√√√√√√√√√√
√√√√√1K+ 21ch+843√√√√√1K+ 21ch+843√√√√√ 21ch+843
W78E51W78E52W78E54W78E54W78E58W78E516W78LE51W78LE52W78LE54W78LE54W78LE58
STC89C54 RD+0-80MSTC89C58 RD+0-80MSTC89C516 RD+0-80MSTC89LE51 RCSTC89LE52 RCSTC89LE53 RCSTC89LE54 RD+STC89LE58 RD+STC89LE516RD+STC89LE516ADSTC89LE516X2
√√√√√8K+ 21ch+843√√√√√8K+ 21ch+843√√√√√ 21ch+843
0-80M4K0-80M8K0-80M14K0-80M16K0-80M32K0-80M63K0-90M64K0-90M64K
√√√√√1K+ 21ch+843√√√√√1K+ 21ch+843√√√√√ 21ch+843
√√√√√8K+ 21ch+843√√√√√8K+ 21ch+843√√√√√√√√√√
21ch+843
W78LE516P89LV51RD2AT89LV51RD2
21ch+643√需要A/D转换时才选用,8路8位精度
- P1.7口,17 个机器周期一次 21ch+643√在P1.0
RC/RD+系列为真正的看门狗,缺省为关闭(冷启动),启动后无法关闭,可放心省去外部看门狗。内部Flash擦写次数为100,000次以上,STC89C51RC/RD+系列单片机出厂时就已完全加密,无法解密。用户程序是用ISP/IAP机制写入,一边校验一边写,无读出命令,彻底无法解密。DIP-40,PLCC-44,PQFP-44三种封装(PLCC、QFP有P4口),RC/RD+系列单片机P4口地址为E8H,并有2个附加外部中断,P4.2/INT3,P4.3/INT2。STC89LE516AD/X2系列单片机P4口地址为C0H,无附加外部中断。
宏晶科技:专业单片机/存储器供应商 www.MCU-Memory.com STC 增强型8051单片机中文指南(RC/RD+系列)
海纳电子资讯网:www.fpga-arm.com 为您提供各种IC中文资料
STC89C51RC / RD+ 系列单片机 管脚图
WR/P3.6 P1.4 RD/P3.7 P1.3 XTAL2 P1.2 XTAL1 P1.1/T2EX VSS P1.0/T2 P4.0 P4.2/INT3 A8/P2.0 VDD A9/P2.1 P0.0/AD0 A10/P2.2 P0.1/AD1 A11/P2.3 P0.2/AD2 A12/P2.4 P0.3/AD3 WR/P3.6 P1.4 RD/P3.7 P1.3 XTAL2 P1.2 XTAL1 P1.1/T2EX VSS P1.0/T2 P4.0 P4.2/INT3 A8/P2.0 VDD A9/P2.1 P0.0/AD0 A10/P2.2 P0.1/AD1 A11/P2.3 P0.2/AD2 A12/P2.4 P0.3/AD3PQFP-440-20MHz0-16.5M0-12MHz0-10MHz
0-80MHz0-40MHz0-66MHz0-33MHz0-48MHz0-24MHz0-40MHz0-20MHz
P1.5 7 39 P0.4/AD4 P1.6 8 38 P0.5/AD5 P1.7 9 37 P0.6/AD6
RST 10 36 P0.7/AD7
RXD/P3.0 11 35 EA P4.3/INT2 12 34 P4.1PLCC-44
TXD/P3.1 13 33 ALE/PROG
INT0/P3.2 14 32 PSEN INT1/P3.3 15 31 P2.7/A15 T0/P3.4 16 30 P2.6/A14 T1/P3.5 17 29 P2.5/A13
18 19 20 21 22 23 24 25 26 27 28
6 5 4 3 2 1 44 43 42 41 40
44 43 42 41 40 39 38 37 36 35 34
P1.5 1 33 P0.4/AD4P1.6 2 32 P0.5/AD5P1.7 3 31 P0.6/AD6RST 4 30 P0.7/AD7RXD/P3.0 5 29 EAP4.3/INT2 6 28 P4.1TXD/P3.1 7 27 ALE/PROGINT0/P3.2 8 26 PSENINT1/P3.3 9 25 P2.7/A15T0/P3.4 10 24 P2.6/A14T1/P3.5 11 23 P2.5/A1312 13 14 15 16 17 18 19 20 21 22
T2/P1.0 1 40 VCC
T2EX/P1.1 2 39 P0.0/AD0P1.2 3 38 P0.1/AD1P1.3 4 37 P0.2/AD2P1.4 5 36 P0.3/AD3P1.5 6 35 P0.4/AD4P1.6 7 34 P0.5/AD5P1.7 8 33 P0.6/AD6RST 9 32 P0.7/AD7RXD/P3.0 10 31 EATXD/P3.1 11 30 ALE/PROGINT0/P3.2 12 29 PSEN
INT1/P3.3 13 28 P2.7/A15T0/P3.4 14 27 P2.6/A14T1/P3.5 15 26 P2.5/A13WR/P3.6 16 25 P2.4/A12RD/P3.7 17 24 P2.3/A11XTAL2 18 23 P2.2/A10XTAL1 19 22 P2.1/A9VSS 20 21 P2.0/A8
关于编译器/汇编器:
1.任何老的编译器/汇编器均可使用
Keil C51中: Device选择标准的Intel8052 头文件包含标准的 <reg52.h>2.新增特殊功能寄存器用
“sfr”及“sbit”声明地址即可3.汇编中用“data”,或“EQU”声明地址关于仿真及仿真器:
1.任何老的仿真器均可使用
2.老的仿真器仿真他可仿真的基本功能3.新增特殊功能用ISP下载看结果即可
4.STC8051专用仿真器也已推出,人民币1950
关于工作电压/时钟频率:RC/RD+系列是真正的6T单片机,兼容普通的12时钟/机器周期
内核实际6T 现有老版5V单片机,无版本号工作电压
现有新版5V单片机(B版)
单倍速双倍速单倍速双倍速
实际内核实际内核实际内核实际内核
外部时钟相当于相当于外部时钟相当于相当于IAP/ISP可以
运行时钟运行时钟运行时钟运行时钟
普通8052普通8052普通8052普通8052
0-24MHz0-20MHz0-18MHz0-12MHz
0-12MHz0-10MHz0-9MHz0-6MHz
0-48MHz0-24MHz0-40MHz0-20MHz0-36MHz0-18MHz0-24MHz0-12MHz
0-40MHz0-33MHz0-24MHz0-20MHz
0-40MHz0-33MHz0-24MHz0-20MHz
读,编程,擦除读,编程,擦除读,编程,擦除读(不要编程/擦除)
DIP-405.5V - 4.5V0-24MHz5.5V - 3.8V0-20MHz5.5V - 3.6V0-18MHz5.5V - 3.4V0-12MHz
3V: 3.6 - 2.4V(可外部24MHz,双倍速48MHz),2.3-1.9V时不要进行IAP擦除/编程
关于看门狗:RC/RD+系列为真正的看门狗,缺省为关闭(冷启动),启动后无法关闭。
A.看门狗溢出复位无法关看门狗(C版);B.单片机软复位无法关看门狗(C版)C.带电工作时,外部复位无法关看门狗(C版)D.软件无法关看门狗E.外部干扰无法关看门狗F.只有给单片机彻底断电,才可以
宏晶科技:专业单片机/存储器供应商 www.MCU-Memory.com STC 增强型8051单片机中文指南(RC/RD+系列)
海纳电子资讯网:www.fpga-arm.com 为您提供各种IC中文资料
STC单片机 ISP编程 典型应用电路(89C51RC/RD+系列) ---出厂就加密(超级加密),利用ISP技术写入程序,无读出命令,无法解密
STC单片机在线编程线路, STC RS-232 转换器
STC232, STC32321 C1+ Vcc 16 0.1uF 2 V+ GND 153 C1- T1OUT 144 C2+ R1IN 135 C2- R1OUT 126 V- T1IN 117 T2OUT T2IN 10 8 R2IN R2OUT 9VccGndPC_RxD (COM Pin2)PC_TxD (COM Pin3)关于/EA(/EA管脚已内部上拉到Vcc):
1.如外部不加上拉,或外部上拉到Vcc,上电复位后单片机从内部开始执行程序;2.如外部下拉到地,上电复位后单片机从外部开始执行程序VinPC /电脑 串口235此电路已做成一块 STC ISP用户程序下载工具,人民币50元Vcc1KSW1供用户将程序灌进单片机使用 1 T2/P1.0 VCC 40 2 T2EX/P1.1 P0.0/AD0 39 3 P1.2 P0.1/AD1 38 4 P1.3 P0.2/AD2 37 5 P1.4 P0.3/AD3 36 6 P1.5 P0.4/AD4 35 7 P1.6 P0.5/AD5 34Power On关于复位电路:Vcc10μF10KVccC5 8 P1.7 P0.6/AD6 33 9 RST P0.7/AD7 32MCU_RxD (P3.0) 10 RXD/P3.0 EA 31MCU_TxD (P3.1)C610410uF 11 TXD/P3.1 ALE/PROG 30 12 INT0/P3.2 PSEN 291.阻容复位时,电容为10uF,电阻为10K; 13INT1/P3.3 P2.7/A15 28 P2.6/A14 272.RC/RD+系列单片机RESET脚内部没 14 T0/P3.4 下拉电阻,必须用此10K电阻关于晶振电路:1.推荐用11.0592MC2X147pFR1 15 T1/P3.5 P2.5/A13 26 16 WR/P3.6 P2.4/A12 25 17 RD/P3.7 P2.3/A11 2418 XTAL2 P2.2/A10 23 19 XTAL1 P2.1/A9 2220 VSS P2.0/A8 21-22.1184MHz晶体C12.必须去掉电容C1,利于起振;CRYSTAL(晶振)6MHz11.0592MHz22.1184MHz24MHz33MHz(Don't use)40MHz(Don't use)C1(坚决不用)Don't useDon't useDon't useDon't useDon't useDon't useU1C2(47pF - 15pF)47pF, 100pF30pF,33pF,47pF27pF,33pF,47pF27pF,33pF,47pF15pF15pFR1(不用)Don't useDon't useDon't useDon't use15k - 6.8k15k - 6.8kC310uF10uF10uF-22uF10uF-22uF10uF-22uF10uF-22uFR210K/8.2K10K/8.2K15K,10K,8.2K15K,10K,8.2K15K,10K,8.2K15K,10K,8.2K3.电容C2可接47~33pF(<24MHz),30,22,15pF,33M以上15pF;6M以下47pF,100pF-180pF;4.如需工作在24M以上,尽量选择双倍速,外部晶振用低频率(<24MHz),这样EMI会小很多;5.如果外部晶振频率在33M以上,焊R1电阻(15K左右),33MHz以上,建议用有源时钟输入。6.推荐在XTAL2管脚串一个120 - 160 欧姆的电阻再到晶振的管脚,如果这样XTAL1管脚 可以上(并且是推荐上)旁的C1
7.晶体振荡器(内部时钟反向放大器增益)软件设置(在用STC-ISP工具软件烧录时设置): 5V单片机24M以下时,3.3V单片机16M以下时,选择1/2gain
宏晶科技:专业单片机/存储器供应商 www.MCU-Memory.com STC 增强型8051单片机中文指南(RC/RD+系列)
4
海纳电子资讯网:www.fpga-arm.com 为您提供各种IC中文资料
STC89C51RC/RD+系列单片机 ISP编程 原理 注意事项
单片机彻底没电给单片机上电复位,冷起动外部手动复位,看门狗复位,单片机不会运行ISP程序
单片机运行ISP程序,检测有无下载命令流,会占时几十mS -几百mSPC机端的控制软件必需先发下载命令流,再给单片机上电复位无PC机端的控制软件STC-ISP-V2.5版本从www.mcu-memory.com下载,如何使用,本文相关部分有说明
冷起动,单片机运行系统ISP监控程序检测P3.0/RxD有没有合法下载命令流有下载用户程序进用户程序区软复位到用户程序区,运行用户程序为什么有些用户下载程序不成功(在宏晶提供的下载板上)
1.可能电脑端的STC-ISP控制软件要升级,现在必须升级到正式版本STC-ISP-V2.52.现在单片机端(下位机)的ISP软件是V2.5C,解决了少数电脑慢,通信连不上的问题.3.运行用户程序时,可到40M/80MHz,但ISP下载程序现版本软件只能到33M/66MHz4.少数客户的PLCC-44,PQFP-44转DIP-40的转换座走线过长,造成时钟振荡不稳定,下载不成功,可将XTAL1脚的电容去掉,XTAL2脚的电容加大到47pF以上。5.可能单片机内部没有ISP引导码,或者要升级PC端的STC-ISP控制软件6.电脑端的ISP控制软件STC-ISP-V2.9测试版加了一些功能,欢迎测试。7.电脑端的ISP控制软件STC-ISP-V2.6测试版不要用,有误
8.新的单片机端(下位机)的ISP软件是V2.7C,加了一些抗干扰措施,主要解决冷起动运行ISP程序时间过长的问题,以免客户感觉“复位慢”,实为ISP程序在检测要不要下载程序
为什么有些用户下载程序不成功(在用户自己的系统上)
1.可能用户板上有外部看门狗,需不让其起作用
2.可能用户板上P3.0/RxD,P3.1/Txd除了接RS-232转换器外,还接了RS-485等电路,需要将其断开。
宏晶科技:专业单片机/存储器供应商 www.MCU-Memory.com STC 增强型8051单片机中文指南(RC/RD+系列)
5
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
超低功耗 ---- STC89C51RC / RD+ 系列单片机
1.掉电模式:
典型功耗 0.5uA, 可由外部中断唤醒,中断返回后,继续执行原程序2.空闲模式:
典型功耗 2mA3.正常工作模式:
典型功耗 4mA - 7mA
超强抗干扰 ---- STC89C51RC / RD+ 系列单片机
1. I/O口
输入/输出口经过特殊处理,很多干扰是从I/O进去的,每个I/O均有对VCC/对GND二级管箝位保护。2. 电源
单片机内部的电源供电系统经过特殊处理,很多干扰是从电源进去的3. 时钟
单片机内部的时钟电路经过特殊处理,很多干扰是从时钟部分进去的4. 看门狗
单片机内部的看门狗电路经过特殊处理,打开后无法关闭,可放心省去外部看门狗5. 复位电路
单片机内部的复位电路经过特殊处理,很多干扰是从复位电路部分进去的,STC89C51RC/RD+系列单片机为高电平复位。推荐外置复位电路为MAX810/STC810,STC6344,STC6345,813L,706P;也可用R/C复位,10uF电容/10k电阻,22uF/8.2k等。6.宽电压,不怕电源抖动5V: 6v - 3.4v3V: 4v - 1.9v
降低单片机对外部的电磁辐射 (EMI)---三大措施
1. 禁止ALE时钟信号输出:
RC/RD+系列8051 单片机 扩展RAM管理及禁止ALE输出 特殊功能寄存器 只写
MnemonicAddNameAUXR
7 6 -
5 -
4 -
3 -
2 -
1 0Reset value
8EhAuxiliary Register 0 -EXTRAMALEOFFxxxx,xx00
禁止ALE信号输出(应用示例供参考,汇编语言):
MOVAUXR, #00000001B; ALEOFF位置“1”,禁止ALE时钟输出
2. 外部时钟频率降一半,6T模式: 传统的8051为每个机器周期12时钟,如将STC的增强型8051单片机在ISP烧录程序时设为双倍速(即6T模式,每个机器周期6时钟),则可将单片机外部时钟频率降低一半,有效的降低单片机时钟对外界的辐射
3. 单片机内部时钟振荡器增益降低一半:在ISP烧录程序时将OSCDN设为1/2 gain可以有效的降低单片机时钟高频部分对外界的辐射,5V单片机外部晶振频率<24MHz时,3V单片机外部晶振频率<16MHz时,将OSCDN设为1/2 gain。
宏晶科技:专业单片机/存储器供应商 www.MCU-Memory.com STC 增强型8051单片机中文指南(RC/RD+系列)
6
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
特殊功能寄存器映像 SFR Mapping
STC89C51RC, STC89C52RC, STC89C53RC, STC89C54RD+,STC89C58RD+,STC89C516RD+STC89LE51RC,STC89LE52RC,STC89LE53RC,STC89LE54RD+,STC89LE58RD+,STC89LE516RD+
Bit
Non Bit Addressable
Addressable 0/8F8hF0hE8hE0hD8hD0hC8hC0hB8hB0hA8hA0h98h90h88h80h
PSW0000,0000 T2CON0000,0000 XICON0000,0000 IPxx00,0000 P31111,1111 IE0000,0000 P21111,1111 SCON0000,0000 P11111,1111 TCON0000,0000 P01111,1111 0/8
TMOD TL0 TL1 TH0 TH1 AUXR0000,00000000,00000000,00000000,00000000,0000xxxx,xx00 SP DPL DPH0000,01110000,00000000,0000 1/9
2/A
3/B
4/C
5/D
6/E
SBUFxxxx,xxxx SADDR0000,0000
AUXR1xxxx,0xx0
SADEN0000,0000
T2MOD RCAP2L RCAP2H TL2 TH2xxxx,xx000000,00000000,00000000,00000000,0000
B0000,0000 P4xxxx,1111 ACC0000,0000
1/9
2/A
3/B
4/C
5/D
6/E
7/F
FFhF7hEFh
WDT_CONTRISP_DATAISP_ADDRHISP_ADDRLISP_CMDISP_TRIGISP_CONTR
E7h
xx00,00001111,11110000,00000000,00001111,1000xxxx,xxxx000x,x000
DFhD7hCFhC7hBFh
IPH
B7h
0000,0000
AFhA7h9Fh97h8Fh
PCON
87h
0xx1,0000 7/F
宏晶科技:专业单片机/存储器供应商 www.MCU-Memory.com STC 增强型8051单片机中文指南(RC/RD+系列)7
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
RC/RD+系列8051 单片机内核特殊功能寄存器 C51 Core SFRs
MnemonicAddACCBPSWSPDPLDPH
E0hF0hD0h81h82h83h
NameAccumulatorB Register
Program Status WordStack PointerData Pointer Low ByteData Pointer High Byte
CY
AC
F0
RS1RS0OV
-
P
7
6
5
4
3
2
1
0
Reset Value0000,00000000,00000000,00000000,01110000,00000000,0000
RC/RD+系列8051 单片机系统管理特殊功能寄存器System Management SFRs
MnemonicAddNamePCONAUXRAUXR1
87hPower Control
7
6 - -
5 - - -
4 - -
3 -
2 -
1
0IDLDPS
Reset value0xx1,0000xxxx,0xx0
SMOD -POFGF1GF0 PD
GF2 -
-
8EhAuxiliary Register 0 -A2hAuxiliary Register 1 -
EXTRAMALEOFFxxxx,xx00
不同:STC89LE516AD / 89LE516X2系列单片机没有EXTRAM控制位.RC/RD+系列8051 单片机 中断 特殊功能寄存器Interrupt SFRs
MnemonicAddIEIPIPHXICON
A8hB8hB7hC0h
Name
Interrupt EnableInterrupt Priority LowInterrupt Priority HighAuxiliary Interrupt Control
7EA -PX3
6 - -EX3
5ET2PT2IE3
4ESPS
3ET1PT1
2EX1PX1EX2
1ET0PT0IE2
0EX0PX0IT2
Reset Value0000,0000xx00,00000000,0000
PX3HPX2HPT2HPSHPT1HPX1HPT0HPX0H0000,0000
IT3PX2
不同:STC89LE516AD系列单片机没有(XICON,PX3H,PX2H),因为P4.2/P4.3无中断.RC/RD+系列8051 单片机 I/O 口 特殊功能寄存器 Port SFRs
MnemonicP0P1P2P3P4
Add80h90hA0hB0hE8h
Name
8-bit Port 08-bit Port 18-bit Port 28-bit Port 34-bit Port 4
7
6
5
4
3
2
1
0
Reset Value1111,11111111,11111111,11111111,1111xxxx,1111
P0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0P3.7P3.6P3.5P3.4P3.3P3.2P3.1P3.0 -
-
-
-
P4.3P4.2P4.1P4.0
不同:STC89LE516AD / 89LE516X2 系列单片机P4口地址为C0h,而不是E8h.
宏晶科技:专业单片机/存储器供应商 www.MCU-Memory.com STC 增强型8051单片机中文指南(RC/RD+系列)8
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
RC/RD+系列 8051 单片机 串行口 特殊功能寄存器 Serial I/O Port SFRs
MnemonicAddSCONSBUFSADENSADDR
98h99hB9hA9h
Name
Serial ControlSerial Data BufferSlave Address MaskSlave Address
7SM0/FE
6SM1
5SM2
4REN
3TB8
2RB8
1TI
0RI
Reset Value0000,0000xxxx,xxxx0000,00000000,0000
RC/RD+系列 8051 单片机 定时器 特殊功能寄存器 Timer SFRs
MnemonicAddTCONTMODTL0TH0TL1TH1T2CONT2MODRCAP2LRCAP2HTL2TH2
88h89h8Ah8Ch8Bh8DhC8hC9hCAhCBhCChCDh
Name
7
6TR1
5TF0
4TR0
3IE1
2IT1
1IE0
0IT0M0
M0_0
Reset Value0000,00000000,00000000,00000000,00000000,00000000,0000
TF2 -
EXF2 -
RCLKTCLKEXEN2TR2 -
-
-
-
C/T2#CP/RL2#0000,0000T2OE
DCEN
xxxx,xx000000,00000000,00000000,00000000,0000
Timer / Counter 0 and 1 ControlTF1Timer / Counter 0 and 1 ModesTimer / Counter 0 Low ByteTimer / Counter 0 High ByteTimer / Counter 1 Low ByteTimer / Counter 1 High ByteTimer / Counter 2 ControlTimer / Counter 2 ModeTimer / Counter 2
Reload/Capture Low ByteTimer / Counter 2
Reload/Capture High ByteTimer / Counter 2 Low ByteTimer / Counter 2 High Byte
GATEC/T#M1M0GATEC/T#M1GATE1C/T1#M1_1M1_0GATE0C/T0#M0_1
RC/RD+系列 8051单片机 看门狗定时器 特殊功能寄存器 Watch Dog Timer SFRs
Mnemonic
Add
Name
Watch-Dog-TimerControl register
7 -
6 -
5
4
3
2
1
0
Reset Value
WDT_CONTRE1hEN_WDTCLR_WDTIDLE_WDTPS2PS1PS0xx00,0000
RC/RD+系列 8051 单片机 ISP/IAP 特殊功能寄存器 ISP/IAP SFRs
MnemonicISP_DATA
AddE2h
Name
ISP/IAP Flash Data RegisterISP/IAP Flash Address HighISP/IAP Flash Address LowISP/IAP Flash Command RegisterISP/IAP Flash Command TriggerISP/IAP Control Register
ISPENSWBSSWRST -
-
WT2
WT1
WT0
-
-
-
-
-
MS2
MS1
MS0
7
6
5
4
3
2
1
0
Reset Value1111,11110000,00000000,0000xxxx,x000xxxx,xxxx000x,x000
ISP_ADDRHE3hISP_ADDRLE4hISP_CMDISP_TRIG
E5hE6h
ISP_CONTRE7h
宏晶科技:专业单片机/存储器供应商 www.MCU-Memory.com STC 增强型8051单片机中文指南(RC/RD+系列)9
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
STC89C51RC/RD+ 系列单片机扩展RAM的使用STC89C51RC/RD+ 系列单片机扩展RAM的禁止
适用型号:
STC89C51RC,STC89C52RC,STC89C53RC,STC89LE51RC,STC89LE52RC,STC89LE53RC
STC89C54RD+,STC89C58RD+,STC89C516RD+,STC89LE54RD+,STC89LE58RD+,STC89LE516RD+
普通89C51,89C52系列单片机的内部RAM只有128(89C51)/256(89C52)供用户使用 (1).低128字节的内部RAM(地址:00H-7FH),可直接寻址或间接寻址,(data/idata) (2).高128字节的内部RAM(地址:80H-FFH),只能间接寻址(普通89C51没有),(idata) (3).特殊功能寄存器SFR(地址:80H-FFH), 只能直接寻址,(data)
特殊功能寄存器SFR和高128字节的内部RAM是通过寻址方式来区分的,传统的8051系列单片机只有128-256字节RAM供用户使用,在此情况下STC公司响应广大用户的呼声,在一些单片机内部增加了RAM。 STC89C58RD+系列单片机扩展了1024个字节RAM,STC89C52RC系列单片机扩展了256个字节RAM。RC/RD+系列8051 单片机 扩展RAM管理及禁止ALE输出 特殊功能寄存器 只写MnemonicAddNameAUXR 7 6 - 5 - 4 - 3 - 2 - 1 0Reset value8EhAuxiliary Register 0 -EXTRAMALEOFFxxxx,xx00Symbol符号Function功能EXTRAM
Internal/External RAM access0: 内部扩展的EXT_RAM可以存取.RD+系列单片机
在00H到3FFH单元(1024字节),使用MOVX @DPTR指令访问,超过400H的地址空间 总是访问外部数据存储器(含400H单元),MOVX @Ri只能访问00H到FFH单元RC系列单片机
在00H到FFH单元(256字节),使用MOVX @DPTR指令访问,超过100H的地址空间
总是访问外部数据存储器(含100H单元),MOVX @Ri只能访问00H到FFH单元1: External data memory access.
外部数据存储器存取,禁止访问内部扩展RAM,此时MOVX @DPTR / MOVX @Ri的使用同普通8052单片机
ALEOFF
Disable/enable ALE.
0: ALE is emitted at a constant rate of 1/3 the oscillator frequency in 6 clock mode, 1/6 fosc in 12 clock mode
ALE脚输出固定的1/6晶振频率信号在12时钟模式时,在6时钟模式时输出固定 的1/3晶振频率信号.
1: ALE is active only during a MOVX or MOVC instruction.
ALE脚仅在执行MOVX or MOVC指令时才输出信号,好处是:降低了系统对外界的EMI.
内部/外部 RAM 存取
注解:STC89LE516AD,STC89LE516X2 系列无EXTRAM控制位,仅有ALEOFF控制位。STC89LE516AD/X2系列用 MOVX A, @Ri / MOVX @Ri, A指令固定访问内部扩展的EXTRAM,
用 MOVX A, @DPTR / MOVX@DPTR,A指令固定访问外部RAM.
宏晶科技:专业单片机/存储器供应商 www.MCU-Memory.com STC 增强型8051单片机中文指南(RC/RD+系列)10
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
应用示例供参考(汇编):
访问内部扩展的EXTRAM
;新增特殊功能寄存器声明(汇编方式)AUXRMOV
DATAAUXR,
8EH; 或者用 AUXREQU 8EH 定义
#00000000B; EXTRAM位清为”0”, 其实上电复位时此位就为”0”.
;MOVX A, @DPTR / MOVX @DPTR,A指令可访问内部扩展的EXTRAM
;RD+系列为(00H - 3FFH,共1024字节);RC系列为(00H - FFH,共256字节)
;MOVX A, @Ri / MOVX A, @Ri 指令可直接访问内部扩展的EXTRAM
;使用此指令 RD+系列 只能访问内部扩展的EXTRAM(00H - FFH,共256字节)
;写芯片内部扩展的EXTRAM
MOVMOVMOVXMOVMOVXRD+系列
; 如果 #address < 400H,则在EXTRAM位为”0”时,访问物理上在内部,逻辑上在外部的
此EXTRAM
; 如果 #address >= 400H,则总是访问物理上外部扩展的RAM或I/O空间(400H--FFFFH)RC系列
; 如果 #address < 100H,则在EXTRAM位为”0”时,访问物理上在内部,逻辑上在外部的
此EXTRAM
; 如果 #address >= 100H,则总是访问物理上外部扩展的RAM或I/O空间(100H--FFFFH)
DPTR,A,
#address#value
@DPTR,ADPTR,A,
#address
;读芯片内部扩展的EXTRAM
@DPTR
禁止访问内部扩展的EXTRAM ,以防冲突MOV
AUXR,
#00000010B; EXTRAM控制位设置为”1”, 禁止访问EXTRAM,以防冲突
有些用户系统因为外部扩展了I/O 或者用片选去选多个RAM 区,有时与此内部扩展的EXTRAM逻辑地址上有冲突,将此位设置为”1”, 禁止访问此内部扩展的EXTRAM就可以了.
大实话 : 其实不用设置AUXR寄存器即可直接用MOVX @DPTR指令访问此内部扩展的EXTRAM,超过此
RAM空间,将访问片外单元.如果系统外扩了SRAM,而实际使用的空间小于1024/256字节,则可直接将此SRAM省去,比如省去STC62WV256,IS62C256,UT6264等. 另外尽量用 MOVX A, @Ri/ MOVX @Ri, A指令访问此内部扩展的EXTRAM,这样只能访问256字节的扩展EXTRAM,但可与很多单片机兼容。如STC89LE516AD/X2系列MOVX A, @Ri / MOVX @Ri, A指令只能固定访问内部扩展的EXTRAM, MOVX A, @DPTR / MOVX
应用示例供参考(C 语言):
@DPTR,A指令固定访问外部RAM.
/*访问内部扩展的EXTRAM */
/* RD+系列为(00H - 3FFH, 共1024字节扩展的EXTRAM) *//* RC 系列为(00H - FFH, 共256字节扩展的EXTRAM) */
/*
新增特殊功能寄存器声明(C 语言方式)*/
=
0x8e
/*
/*
如果不需设置AUXR就不用声明AUXRloop_counter, test_array[128];
*/
*/
=
0x00;
0000,0000 EXTRAM位清0, 其实上电复位时此位就为0 */
sfrAUXRAUXR
unsigned char xdata sum,
/* 将变量声明成 xdata 即可直接访问此内部扩展的EXTRAM
宏晶科技:专业单片机/存储器供应商 www.MCU-Memory.com STC 增强型8051单片机中文指南(RC/RD+系列)11
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
/* 写芯片内部扩展的EXTRAM*/
sum=
0;
==
128;5;
loop_countertest_array[0]
/* 读芯片内部扩展的EXTRAM*/
sum=test_array[0];
/* RD+系列:
如果 #address < 400H,则在EXTRAM位为”0”时,访问物理上在内部,逻辑 上在外部的此EXTRAM
如果#address>=400H,则总是访问物理上外部扩展的RAM或I/O空间(400H-FFFFH)
RC系列:
如果 #address < 100H,则在EXTRAM位为”0”时,访问物理上在内部,逻辑 上在外部的此EXTRAM
如果#address>=100H,总是访问物理上外部扩展的RAM或I/O空间(100H--FFFFH)
*/
禁止访问内部扩展的EXTRAM, 以防冲突
AUXR
=
0x02;/*0000,0010, EXTRAM位设为”1”, 禁止访问EXTRAM,以防冲突 */
有些用户系统因为外部扩展了I/O 或者用片选去选多个RAM 区,有时与此内部扩展的EXTRAM逻辑上有冲突,将此位设置为”1”, 禁止访问此内部扩展的EXTRAM就可以了.
AUXR是只写寄存器
所谓只写,就是直接用“MOV AUXR, #data”去写,而不要用含读的操作如“或,与,入栈”
因为他不让你读,如去读,读出的数值不确定,用含读的操作如“或,与,入栈”,会达不到需要的效果。
宏晶科技:专业单片机/存储器供应商 www.MCU-Memory.com STC 增强型8051单片机中文指南(RC/RD+系列)12
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
中断
RC/RD+系列8051 单片机 中断 特殊功能寄存器Interrupt SFRs
MnemonicAddIEIPIPHXICON
A8hB8hB7hC0h
Name
Interrupt EnableInterrupt Priority LowInterrupt Priority HighAuxiliary Interrupt Control
7EA -PX3
6 - -EX3
5ET2PT2IE3
4ESPS
3ET1PT1
2EX1PX1EX2
1ET0PT0IE2
0EX0PX0IT2
Reset Value0000,0000xx00,00000000,0000
PX3HPX2HPT2HPSHPT1HPX1HPT0HPX0H0000,0000
IT3PX2
中断与普通8052完全兼容,优先级可设为4级,另增加2个外部中断INT2/P4.3,
INT3/P4.2。
Interrupt Source中断源/INT0Timer 0/INT1Timer 1UARTTimer 2/INT2/INT3
VectorAddress中断
向量地址0003H000BH0013H001BH0023H002BH0033H003BH
PollingSequence中断
查询次序0(最优先)1234567(最低)
中断
优先级设置PX0H,PX0PT0H,PT0PX1H,PX1PT1H,PT1PSH, PSPT2H,PT2PX2H,PX2PX3H,PX3
优先级0最低0,00,00,00,00,00,00,00,0
优先级1
Interrupt
优先级3
优先级2Request
最高
中断请求1,01,01,01,01,01,01,01,0
1,11,11,11,11,11,11,11,1
IE0TF0IE1IF1RI + TITF2 + EXF2IE2IE3
0,10,10,10,10,10,10,10,1
NameFunctionPX3EX3IE3IT3PX2EX2IE2IT2
External interrupt 3 priority high if setExternal interrupt 3 enable if set
IE3 is set/cleared automatically by hardware when interrupt is detected/serviced
External interrupt 3 is falling-edge/low-level triggered when this bit is set/cleared by softwareExternal interrupt 2 priority high if setExternal interrupt 2 enable if set
IE2 is set/cleared automatically by hardware when interrupt is detected/serviced
External interrupt 2 is falling-edge/low-level triggered when this bit is set/cleared by software
PXH3External interrupt 3 priority highest if setPXH2External interrupt 2 priority highest if set
宏晶科技:专业单片机/存储器供应商 www.MCU-Memory.com STC 增强型8051单片机中文指南(RC/RD+系列)13
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
降低单片机对系统的电磁干扰 (EMI)---
1.
禁止ALE信号输出,适用型号:
三大措施
STC89C51RC,STC89C52RC,STC89C53RC,STC89LE51RC,STC89LE52RC,STC89LE53RC STC89C54RD+,STC89C58RD+,STC89C516RD+,STC89LE54RD+,STC89LE58RD+,STC89LE516RD+
STC89LE516AD / X2 系列 (注:此系列单片机无EXTRAM控制位)RC/RD+系列8051 单片机 扩展RAM管理及禁止ALE输出 特殊功能寄存器
只写
MnemonicAddNameAUXR
7 6 -
5 -
4 -
3 -
2 -
1 0Reset value
8EhAuxiliary Register 0 -EXTRAMALEOFFxxxx,xx00
禁止ALE信号输出(应用示例供参考,C语言):
sfrAUXR=0x8e;/* 声明AUXR 寄存器的地址 */
AUXR=0x01;
/* ALEOFF位置1,禁止ALE信号输出,提升系统的EMI性能,复位后为0,ALE信号正常输出 */禁止ALE信号输出(应用示例供参考,汇编语言):
AUXREQUMOV
8Eh
;
或
AUXRDATA8Eh
AUXR,#00000001B; ALEOFF位置“1”,禁止ALE信号输出,提升了系统的EMI性能
2. 外部时钟频率降一半,6T模式: 传统的8051为每个机器周期12时钟,如将STC的增强型8051单片机在ISP烧录程序时设为双倍速(及6T模式,每个机器周期6时钟),则可将单片机外部时钟频率降低一半,有效的降低单片机时钟对外界的干扰
3. 单片机内部时钟振荡器增益降低一半:在ISP烧录程序时将OSCDN设为1/2 gain可以有效的降低单片机时钟高频部分对外界的辐射,但此时外部晶振频率尽量不要高于24MHz。
P4 口
RC/RD+系列8051 单片机 I/O 口 特殊功能寄存器 Port SFRs
MnemonicP0P1P2P3P4
Add80h90hA0hB0hE8h
Name
8-bit Port 08-bit Port 18-bit Port 28-bit Port 34-bit Port 4
7
6
5
4
3
2
1
0P0.0P1.0P2.0P3.0P4.0
Reset Value1111,11111111,11111111,11111111,1111xxxx,1111
P0.7P0.6P1.7P1.6P2.7P2.6P3.7P3.6 -
-
P0.5P0.4P0.3P0.2P0.1P1.5P1.4P1.3P1.2P1.1P2.5P2.4P2.3P2.2P2.1P3.5P3.4P3.3P3.2P3.1 -
-
P4.3P4.2P4.1
汇编语言:P4MOVMOVORLANLMOVC语言:
sfr
DATAA,P4,P4,P4,P4,0E8H;orP4EQU0E8HP4;Read P4 status to Accumulator.#0AH;Output data “A”through P4.0 - P4.3#00000001B ;P4.0 = 1#11111110B ;P4.0 = 0#0AH;Output data “A”through P4.0 - P4.3
P4=0xe8;C语言中声明P4口特殊功能寄存器地址
注:STC89LE516AD,STC89LE516X2,STC89LE58AD,STC89LE54AD的P4口地址在C0h。
宏晶科技:专业单片机/存储器供应商 www.MCU-Memory.com STC 增强型8051单片机中文指南(RC/RD+系列)14
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
双数据指针DPTR0,DPTR1的使用
适用型号:
STC89C51RC,STC89C52RC,STC89C53RC,STC89LE51RC,STC89LE52RC,STC89LE53RC
STC89C54RD+,STC89C58RD+,STC89C516RD+,STC89LE54RD+,STC89LE58RD+,STC89LE516RD+STC89LE516AD,STC89LE516X2
RC/RD+/AD/X2 系列8051 单片机 双数据指针 特殊功能寄存器
MnemonicAddNameAUXR1
7
6 -
5 -
4 -
3
2
1 -
0
Reset value
A2hAuxiliary Register 1 -
GF2 -
DPSxxxx,0xx0
Symbol符号Function功能GF2DPS
General purpose user-defined flag. 通用功能用户自定义位DPTR registers select bit. DPTR 寄存器选择位0: DPTR0 is selected DPTR0被选择
1: DPTR1 is selected DPTR1被选择
此系列单片机有两个16-bit 数椐指针,DPTR0,DPTR1.当DPS选择位为0时,选择DPTR0, 当DPS选择位为1时,选择DPTR1.
AUXR1特殊功能寄存器,位于A2H单元,其中的位不可用布尔指令快速访问.但由于DPS位位于bit0,故对AUXR1寄存器用INC指令,DPS位便会反转,由0变成1或由1变成0,即可实现双数椐指针的快速切换.应用示例供参考:
;新增特殊功能寄存器定义AUXR1MOVMOVMOVMOVXMOVMOVMOVXINCMOVMOVXINCMOVXINCMOVXINCMOVX
DATA
0A2H
;此时DPS为0,DPTR0有效;置DPTR0为1FFH;将1FFH单元置为55H; 置DPTR0为2FFH;将2FFH单元置为0AAH; 此时DPS为1,DPTR1有效
#1FFH@DPTR
; 置DPTR1为1FFH
; 读DPTR1数椐指针指向的1FFH单元的内容,累加器A变为55H.; 此时DPS为0,DPTR0有效
@DPTR
; 读DPTR0数椐指针指向的2FFH单元的内容,累加器A变为0AAH.; 此时DPS为1,DPTR1有效
@DPTR
; 读DPTR1数椐指针指向的1FFH单元的内容,累加器A变为55H.; 此时DPS为0,DPTR0有效
@DPTR
; 读DPTR0数椐指针指向的2FFH单元的内容,累加器A变为0AAH.
AUXR1,#0DPTR,A,
#1FFH#55H
@DPTR,ADPTR,A,
#2FFH#0AAH
@DPTR,AAUXR1DPTR,A,AUXR1A,AUXR1A,AUXR1A,
结论: 与Philips使用方式一致
宏晶科技:专业单片机/存储器供应商 www.MCU-Memory.com STC 增强型8051单片机中文指南(RC/RD+系列)15
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
看门狗应用
适用型号:
STC89C51RC,STC89C52RC,STC89C53RC,STC89LE51RC,STC89LE52RC,STC89LE53RC STC89C54RD+,STC89C58RD+,STC89C516RD+,STC89LE54RD+,STC89LE58RD+,STC89LE516RD+
宏晶技术支持,请直接向宏晶采购晶片,而不要通过中间商,支持我们更好地服务
RC/RD+系列 8051单片机 看门狗定时器 特殊功能寄存器 Watch Dog Timer SFR
Mnemonic
Add
Name
Watch-Dog-TimerControl register
7 -
6 -
5
4
3
2
1
0
Reset Value
WDT_CONTRE1h
EN_WDTCLR_WDTIDLE_WDTPS2PS1PS0xx00,0000
Symbol符号Function功能EN_WDTCLR_WDT
Enable WDT bit. When set, WDT is started看门狗允许位, 当设置为“1”时,看门狗启动。
WDT clear bit. When set, WDT will recount. Hardware will automatically clear看门狗清“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: 看门狗定时器预分频值,如下表所示
PS2 0 0 0 0 1 1 1 1
PS1 0 0 1 1 0 0 1 1
PS0 0 1 0 1 0 1 0 1
Pre-scale预分频 2 4 8 16 32 64 128 256
WDT Period @20MHzand 12 clocks mode 39.3 mS 78.6 mS 157.3 mS 314.6 mS 629.1 mS 1.25S 2.5S 5S
this bit.
The WDT period is determined by the following equation 看门狗溢出时间计算
看门狗溢出时间 = (N x Pre-scale x 32768) / Oscillator frequencyN = 12, 当在12 clock mode时, N = 6, 当在6 clock mode时设时钟为12MHz, 12时钟模式
看门狗溢出时间 = (12 x Pre-scale x 32768) / 12000000 = Pre-scale x 393216 / 12000000
PS2 0 0 0 0 1 1 1 1
PS1 0 0 1 1 0 0 1 1
PS0 0 1 0 1 0 1 0 1
Pre-scale预分频 2 4 8 16 32 64 128 256
WDT Period @12MHzand 12 clocks mode 65.5 mS 131.0 mS 262.1 mS 524.2 mS 1.0485S 2.0971S 4.1943S 8.3886S
宏晶科技:专业单片机/存储器供应商 www.MCU-Memory.com STC 增强型8051单片机中文指南(RC/RD+系列)16
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
设时钟为11.0592MHz, 12时钟模式
看门狗溢出时间 = (12 x Pre-scale x 32768) / 11059200 = Pre-scale x 393216 / 11059200
PS2 0 0 0 0 1 1 1 1
PS1 0 0 1 1 0 0 1 1
PS0 0 1 0 1 0 1 0 1
Pre-scale预分频 2 4 8 16 32 64 128 256
WDT Period @11.0592MHzand 12 clocks mode 71.1 mS 142.2 mS 284.4 mS 568.8 mS 1.1377S 2.2755S 4.5511S 9.1022S
汇编语言程序示例WDT_CONTR;复位入口
ORGLJMP…ORGInitial:
MOV…Main_Loop:
LCALLLCALL…MOV…LJMP
Main_Loop
C语言程序示例#include<reg52.h>sfr{ …
while(1){
WDT_CONTRdisplay();keyboard();…WDT_CONTR}}
宏晶科技:专业单片机/存储器供应商 www.MCU-Memory.com STC 增强型8051单片机中文指南(RC/RD+系列)17
DATA0000HInitial0060H
0E1H ; 或者 WDT_CONTREQU 0E1H
WDT_CONTR,#00110100B; Load initial value 看门狗定时器控制寄存器初始化
; EN_WDT = 1, CLR_WDT = 1, IDLE_WDT = 0, PS2 = 1, PS1 = 0, PS0 = 0
Display_LoopKeyboard_Loop
WDT_CONTR,#00110100B ; 喂狗, 不要用 ORL WDT_CONTR, #00010000B
WDT_CONTR=0xe1;
void main()
=0x34;
/* 0011,0100 EN_WDT = 1,CLR_WDT = 1, IDLE_WDT = 0, PS2 = 1, PS1 = 0, PS0 = 0 */
=0x34; /* 喂狗, 不要用 WDT_CONTR=WDT_CONTR |0x10;*/
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
STC 89C51RC/RD+ 系列单片机在系统可编程的使用
---将用户代码下载进单片机内部,不用编程器
STC单片机在线编程线路, STC RS-232 转换器
STC232, STC3232 1 C1+ Vcc 160.1uF 2 V+ GND 15 3 C1- T 1OUT 144 C2+ R1IN 135 C2- R1OUT 12VccGndPC_RxD (COM Pin2)PC_TxD (COM Pin3)MCU_RxD (P3.0)MCU_TxD (P3.1)STC单片机在线编程线路, STC RS-232 转换器
STC232, STC3232 1 C1+ Vcc 160.1uF 2 V+ GND 15 3 C1- T 1OUT 144 C2+ R1IN 13VccGndPC_RxD (COM Pin2)PC_TxD (COM Pin3)MCU_RxD (P3.0)MCU_TxD (P3.1)PC /电脑 串口PC /电脑 串口235235P3.0P3.189C52RC89C58RD+89LE52RC89LE516RD+5 C2- R1OUT 126 V- T1IN 117 T2OUT T2IN 108 R2IN R2OUT 9P3.0P3.189LE516AD89LE516X2P1.0P1.16 V- T1IN 117 T2OUT T2IN 108 R2IN R2OUT 9上面左图适用如下型号:
STC89C51RC,STC89C52RC,STC89C53RCSTC89LE51RC,STC89LE52RC,STC89LE53RCSTC89C54RD+,STC89C58RD+,STC89C516RD+STC89LE54RD+,STC89LE58RD+,STC89LE516RD+STC89C516RD,STC89C58RD(老产品,不要选)STC89LV516RD,STC89LV58RD(老产品,不要选)上面右图适用如下型号:
STC89LE516AD,STC89LE516X2,STC89LE58AD,
STC89LE54AD, STC89LE52AD
STC89系列单片机大部分具有在系统可编程(ISP)特性,ISP 的好处是:省去购买通用编程器,单片机在用户系统上即可下载/烧录用户程序,而无须将单片机从已生产好的产品上拆下,再用通用编程器将程序代码烧录进单片机内部。有些程序尚未定型的产品可以一边生产,一边完善,加快了产品进入市场的速度,减小了新产品由于软件缺陷带来的风险。由于可以将程序直接下载进单片机看运行结果故也可以不用仿真器。
大部分STC89系列单片机在销售给用户之前已在单片机内部固化有ISP系统引导程序,配合PC端的控制程序即可将用户的程序代码下载进单片机内部,故无须编程器(速度比通用编程器快)。不要用通用编程器编程,否则有可能将单片机内部已固化的ISP系统引导程序擦除,造成无法使用STC提供的ISP软件下载用户的程序代码。
如何获得及使用STC提供的ISP下载工具(STC-ISP.exe软件):(1). 获得STC提供的ISP下载工具(软件)
登陆 www.MCU-Memory.com 网站,从STC半导体专栏下载PC(电脑)端的ISP程序,然后将其自解压,再安装即可(执行setup.exe),注意随时更新软件。
(2). 使用STC-ISP下载工具(软件),请随时更新,目前已到Ver2.5 / 2.9版本(2005/2/2),支持
*.Hex(Intel 16 进制格式)文件,RC/RD+系列单片机的底层软件版本为Ver2.7C(旧版可更换)。 请谁时注意升级PC(电脑)端的ISP程序,现Ver2.5是正式版,Ver2.9测试版欢迎测试。 单片机的底层软件版本为Ver2.7C的单片机,PC(电脑)端的ISP程序必须是Ver2.5以上
(3).已经固化有ISP引导码,并设置为上电复位进入ISP的STC89C51RC/RD+系列单片机出厂时就已完全加密,需要单片机内部的电放光后上电复位(冷起动)才运行系统ISP程序。
宏晶科技:专业单片机/存储器供应商 www.MCU-Memory.com STC 增强型8051单片机中文指南(RC/RD+系列)18
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
第一次调文件进缓冲区,要清缓冲区。
要调几个文件进缓冲区,一次同时烧录进单片机,除每次均要指定缓冲区起始地址外,第二次及以后不能清缓冲区
用户根据需要限制最大通信波特率
5V单片机,24MHz以下3V单片机,16MHz以下选择1/2 gain,指外部晶振大批量生产时使用Step1/步骤1:选择你所使用的单片机型号,如STC89C58RD+, STC89LE516AD等
Step2/步骤2:打开文件,要烧录用户程序,必须调入用户的程序代码(*.bin, *.hex)Step3/步骤3:选择串行口,你所使用的电脑串口,如串行口1--COM1, 串行口2--COM2,...
有些新式笔记本电脑没有RS-232串行口,可买一条USB-RS232转接器,人民币70元左右。
Step4/步骤4:设置是否双倍速,双倍速选中Double Speed即可
STC89C51RC / RD+ 系列可以反复设置 双倍速/单倍速
STC89LE516AD为单倍速,STC89LE516X2 为双倍速,用户自己无法指定 双倍速/单倍速STC89C516RD系列出厂时为单倍速,用户可指定设为双倍速,如想从双倍速恢复成单倍
速,则需用通用编程器擦除整个晶片方可,这会将单片机内部已烧录的ISP引导程序擦除。一般使用缺省设置即可,无须设置。
OSCDN: 单片机时钟振荡器增益降一半
选 1/2 gain 为降一半,降低EMI;选 full gain(全增益)为正常状态。
Step5/步骤5:选择“Download/下载”按钮下载用户的程序进单片机内部,可重复执行Step5/
步骤5, 也可选择“Re-Download/重复下载”按钮
下载时注意看提示,主要看是否要给单片机上电或复位, 下载速度比一般通用编程器快。一般先选择“Download/下载”按钮,然后再给单片机上电复位(先彻底断电),而不要先上电关于硬件连接:
(1). MCU/单片机 RXD(P3.0) --- RS-232转换器 --- PC/电脑 TXD(COM Port Pin3)(2). MCU/单片机 TXD(P3.1) --- RS-232转换器 --- PC/电脑 RXD(COM Port Pin2)(3). MCU/单片机 GND ---------------------- PC/电脑 GND(COM Port Pin5)
(4). P1.0, P1.1 = 0, 0 ;上电复位进入ISP 模式,下载完后释放P1.0,P1.1, 89LE516AD/X2运行用
户程序.
STC89C51RC/RD+,STC89LE51RC/RD+系列单片机不需要P1.0,P1.1 = 0,0STC89LE516AD,STC89LE516X2,STC89LE58AD,STC89LE54AD需要P1.0,P1.1 = 0,0
(5). RS-232转换器可选用SP232/MAX232(4.5-5.5V),SP3232/MAX3232(3V-5.5V).
SP232/MAX232尽量选用SOP封装(窄体,SP232EEN),SP3232尽量选用SSOP封装(SP3232EEA)
宏晶科技:专业单片机/存储器供应商 www.MCU-Memory.com STC 增强型8051单片机中文指南(RC/RD+系列)
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
如用户系统没有RS-232接口,
可使用STC-ISP Ver 2.0B.PCB演示板作为编程工具
STC-ISP Ver 2.0B PCB 板可完成下载/烧录用户程序的功能。在STC-ISP Ver 2.0B PCB 板完成下载/烧录:关于硬件连接:
(1.) 根据单片机的工作电压选择单片机电源电压
A.5V单片机,短接JP1的MCU-VCC, 5V电源管脚B.3V单片机,短接JP1的MCU-VCC, 3.3V电源管脚(2.) 根据单片机的工作电压选择复位信号
A. 5V单片机,短接JP2的MCU-RST, 5V/MCU-RST信号管脚B. 3.3V单片机,短接JP2的MCU-RST, 3.3V/MCU-RST信号管脚(3.)连接线(宏晶提供)
A.将一端有9芯连接座的插头插入PC/电脑RS-232串行接口插座用于通信B.将同一端的USB插头插入PC/电脑USB接口用于取电
C.将只有一个USB插头的一端插入宏晶的STC-ISP Ver 2.0B PCB板USB1插座用于RS-232通
信和供电,此时+5V Power灯亮(D10,USB接口有电)
(4.)其他插座不需连接
(5.)SW1开关处于非按下状态,此时MCU-VCC Power灯不亮(D9), 没有给单片机通电(6.)SW3开关
处于非按下状态,P1.0, P1.1 = 1, 1,不短接到地。
适用于:STC89C51RC / RD+, /RD 系列单片机
处于按下状态,P1.0, P1.1 = 0, 0,短接到地。
适用于:STC89LE516AD, STC89LE58AD, STC89LE54AD, STC89LE516X2
(7.)将单片机插进U1-Socket锁紧座,锁紧单片机
(8.)关于软件:选择“Download/下载”( 必须在给单片机上电之前让PC先发一串合法下载命令)(9.)按下SW1开关,给单片机上电复位, 此时MCU-VCC Power灯亮(D9) 此时STC 单片机进入ISP 模式(STC89C51RC/RD+系列冷启动进入ISP)
(10.)下载成功后,再按SW1开关,此时SW1开关处于非按下状态,MCU-VCC Power灯不亮(D9),
给单片机断电,取下单片机。
利用STC-ISP Ver 2.0B PCB 板进行RS-232转换单片机在用户自己的板上完成下载/烧录:
1.U1-Socket锁紧座不得插入单片机
2.将用户系统上的电源(MCU-VCC,GND)及单片机的P3.0/RXD,P3.1/TXD接入转换板CN2插座 这样用户系统上的单片机就具备了与PC/电脑进行通信的能力
3. 将用户系统的单片机的P1.0,P1.1接入转换板CN2插座(仅STC89LE516AD/X2系列需要) 4.
SW3开关处于按下状态,P1.0, P1.1 = 0, 0,短接到地。仅STC89LE516AD/X2系列需要5.关于软件:选择“Download/下载”
6.给单片机系统上电复位(注意是从用户系统自供电,不要从电脑USB取电,电脑USB座不插)7.下载程序时,如用户板有外部看门狗电路,不得启动,单片机必须有正确的复位,但不能在
ISP下载程序时被外部看门狗复位,可将外部看门狗电路WDI端/或WDO端浮空8. 如有RS-485晶片连到P3.0/Rxd,P3.1/Txd,在下载时应将其断开。
宏晶科技:专业单片机/存储器供应商 www.MCU-Memory.com STC 增强型8051单片机中文指南(RC/RD+系列)20
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
STC89C51 RC / RD+ 系列 ISP / IAP 应用STC89C51 RC / RD+ 系列 内部EEPROM的应用
-- 利用IAP技术可实现EEPROM,内部Flash擦写次数为100,000次以上
RC/RD+系列 8051 单片机 ISP/IAP 特殊功能寄存器 ISP/IAP SFRs
MnemonicISP_DATA
AddName
E2hISP/IAP Flash Data Register
7
6
5
4 3 2
1
0
Reset Value1111,11110000,00000000,0000
-
-
-
- -MS2MS1MS0xxxx,x000
xxxx,xxxx
ISPENSWBSSWRST - -WT2WT1WT0000x,x000
ISP_ADDRHE3hISP/IAP Flash Address HighISP_ADDRLE4hISP/IAP Flash Address LowISP_CMDISP_TRIG
E5hISP/IAP Flash Command RegisterE6hISP/IAP Flash Command Trigger
ISP_CONTRE7hISP/IAP Control Register
ISP_DATA:ISP_ADDRH:ISP_ADDRL:ISP_CMD:
B7 - - - -
B6 - - - -
B5 - - - -
ISP/IAP操作时的数据寄存器。
ISP/IAP从Flash读出的数据放在此处,向Flash写的数据也需放在此处ISP/IAP操作时的地址寄存器高八位。ISP/IAP操作时的地址寄存器低八位。
ISP/IAP操作时的命令模式寄存器,须命令触发寄存器触发方可生效。
B4 - - - -
B3 - - - -
B2B1B0命令 / 操作 模式选择命令 选择 0 0 0 0
0 0 1 1
0 1 0 1
Standby 待机模式,无ISP操作
AP-Flash / Data-Flash Read
对用户的应用程序Flash区及数据Flash区字节读AP-Flash / Data-Flash Program
对用户的应用程序Flash区及数据Flash区字节编程AP-Flash / Data-Flash Sector Erase
对用户的应用程序Flash区及数据Flash区扇区擦除
保留
;5V单片机,应在3.6V以下时让其复位,3V单片机,应在2.4V以下时让其复位;在此电压以下,此时再用ISP/IAP功能,编程/擦除Flash,不能保证能达到要求;复位电路可选MAX810,STC810,STC6345,STC6344,813L,706P等
程序在系统ISP程序区时可以对用户应用程序区/数据Flash区(EEPROM)进行字节读/字节编程/扇区擦除;程序在用户应用程序区时,仅可以对数据Flash区(EEPROM)进行字节读/字节编程/扇区擦除。已经固化有ISP引导码,并设置为上电复位进入ISP的STC89C51RC/RD+系列单片机出厂时就已完全加密。ISP_TRIG:
ISP/IAP操作时的命令触发寄存器。
在ISPEN(ISP_CONTR.7) = 1时,对ISP_TRIG先写入46h,再写入B9h,ISP/IAP命令才会生效。
宏晶科技:专业单片机/存储器供应商 www.MCU-Memory.com STC 增强型8051单片机中文指南(RC/RD+系列)21
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
ISP_CONTR:
B7
B6
ISP/IAP控制寄存器。
B5
B4
B3 -
B2 WT2
B1 WT1
B0
Reset Value
ISPENSWBSSWRST - WT0000x,x000
ISPEN:
SWBS:SWRST:ISP/IAP 功能允许位。0:禁止ISP/IAP编程改变Flash,1:允许编程改变Flash软件选择从用户主程序区启动(0),还是从ISP程序区启动(1)。0: 不操作;1: 产生软件系统复位,硬件自动清零。
设置等待时间 CPU 等待时间(机器周期)WT2WT1WT0Read 0 0 0 0
1 1 0 0
1 0 1 0
6112243
ProgramSector EraseRecommended System Clock3060120240
5471109422188543769
5MHz10MHz20MHz40MHz
STC89C51RC/RD+系列内部可用Data Flash(EEPROM)的地址(与程序空间是分开的):有网友来电说不能IAP写数据,后检查原来他把地址指向了程序区,被单片机忽略程序在用户应用程序区(AP区)时,仅可以对Data Flash(EEPROM)进行IAP/ISP操作,不可以修改自身,这是系统可靠的基础。
STC89C51RC,STC89LE51RC单片机内部可用Data Flash(EEPROM)的地址:
第一扇区起始地址1000h
结束地址11FFh
第二扇区起始地址1200h
结束地址13FFh
第三扇区起始地址1400h
结束地址15FFh
第四扇区起始地址1600h
结束地址17FFh
建议只用128字节以下每个扇区512字节
第五扇区起始地址1800h
结束地址19FFh
第六扇区起始地址1A00h
结束地址1BFFh
第七扇区起始地址1C00h
结束地址1DFFh
第八扇区起始地址1E00h
结束地址1FFFh
STC89C52RC,STC89LE52RC单片机内部可用Data Flash(EEPROM)的地址:
第一扇区起始地址2000h
结束地址21FFh
第二扇区起始地址2200h
结束地址23FFh
第三扇区起始地址2400h
结束地址25FFh
第四扇区起始地址2600h
结束地址27FFh
每个扇区512字节建议只用128字节以下
第五扇区起始地址2800h
结束地址29FFh
第六扇区起始地址2A00h
结束地址2BFFh
第七扇区起始地址2C00h
结束地址2DFFh
第八扇区起始地址2E00h
结束地址2FFFh
宏晶科技:专业单片机/存储器供应商 www.MCU-Memory.com STC 增强型8051单片机中文指南(RC/RD+系列)22
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
STC89C54RD+,STC89LE54RD+单片机内部可用Data Flash(EEPROM)的地址:
第一扇区起始地址4000h
结束地址41FFh
第二扇区起始地址4200h
结束地址43FFh
第三扇区起始地址4400h
结束地址45FFh
第四扇区起始地址4600h
结束地址47FFh
每个扇区512字节建议只用128字节以下每个扇区512字节建议只用128字节以下每个扇区512字节建议只用128字节以下每个扇区512字节建议只用128字节以下每个扇区512字节建议只用128字节以下每个扇区512字节建议只用128字节以下每个扇区512字节建议只用128字节以下每个扇区512字节建议只用128字节以下
第五扇区起始地址4800h
结束地址49FFh
第六扇区起始地址4A00h
结束地址4BFFh
第七扇区起始地址4C00h
结束地址4DFFh
第八扇区起始地址4E00h
结束地址4FFFh
第九扇区起始地址5000h
结束地址51FFh
第十扇区起始地址5200h
结束地址53FFh
第十一扇区起始地址5400h
结束地址55FFh
第十二扇区起始地址5600h
结束地址57FFh
第十三扇区起始地址5800h
结束地址59FFh
第十四扇区起始地址5A00h
结束地址5BFFh
第十五扇区起始地址5C00h
结束地址5DFFh
第十六扇区起始地址5E00h
结束地址5FFFh
第十七扇区起始地址6000h
结束地址61FFh
第十八扇区起始地址6200h
结束地址63FFh
第十九扇区起始地址6400h
结束地址65FFh
第二十扇区起始地址6600h
结束地址67FFh
第二十一扇区起始地址6800h
结束地址69FFh
第二十二扇区起始地址6A00h
结束地址6BFFh
第二十三扇区起始地址6C00h
结束地址6DFFh
第二十四扇区起始地址6E00h
结束地址6FFFH
第二十五扇区起始地址7000h
结束地址71FFh
第二十六扇区起始地址7200h
结束地址73FFh
第二十七扇区起始地址7400h
结束地址75FFh
第二十八扇区起始地址7600h
结束地址77FFH
第二十九扇区起始地址7800h
结束地址79FFh
第三十扇区起始地址7A00h
结束地址7BFFh
第三十一扇区起始地址7C00h
结束地址7DFFh
第三十二扇区起始地址7E00h
结束地址7FFFH
第三十三扇区起始地址8000h
结束地址81FFh
第三十四扇区起始地址8200h
结束地址83FFh
第三十五扇区起始地址8400h
结束地址85FFh
第三十六扇区起始地址8600h
结束地址87FFH
第三十七扇区起始地址8800h
结束地址89FFh
第三十八扇区起始地址8A00h
结束地址8BFFh
第三十九扇区起始地址8C00h
结束地址8DFFh
第四十扇区起始地址8E00h
结束地址8FFFH
第四十一扇区起始地址9000h
结束地址91FFh
第四十二扇区起始地址9200h
结束地址93FFh
第四十三扇区起始地址9400h
结束地址95FFh
第四十四扇区起始地址9600h
结束地址97FFH
第四十五扇区起始地址9800h
结束地址99FFh
第四十六扇区起始地址9A00h
结束地址9BFFh
第四十七扇区起始地址9C00h
结束地址9DFFh
第四十八扇区起始地址9E00h
结束地址9FFFH
第四十九扇区起始地址A000h
结束地址A1FFh
第五十扇区起始地址A200h
结束地址A3FFh
第五十一扇区起始地址A400h
结束地址A5FFh
第五十二扇区起始地址A600h
结束地址A7FFH
第五十三扇区起始地址A800h
结束地址A9FFh
第五十四扇区起始地址AA00h
结束地址ABFFh
第五十五扇区起始地址AC00h
结束地址ADFFh
第五十六扇区起始地址AE00h
结束地址AFFFH
第五十七扇区起始地址B000h
结束地址B1FFh
第五十八扇区起始地址B200h
结束地址B3FFh
第五十九扇区起始地址B400h
结束地址B5FFh
第六十扇区起始地址B600h
结束地址B7FFH
第六十一扇区起始地址B800h
结束地址B9FFh
第六十二扇区起始地址BA00h
结束地址BBFFh
第六十三扇区起始地址BC00h
结束地址BDFFh
第六十四扇区起始地址BE00h
结束地址BFFFH
宏晶科技:专业单片机/存储器供应商 www.MCU-Memory.com STC 增强型8051单片机中文指南(RC/RD+系列)23
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
STC89C58RD+,STC89LE58RD+单片机内部可用Data Flash(EEPROM)的地址:
第一扇区起始地址8000h结束地址81FFh第二扇区起始地址8200h结束地址83FFh第三扇区起始地址8400h结束地址85FFh第四扇区起始地址8600h结束地址87FFh每个扇区512字节建议只用128字节以下每个扇区512字节建议只用128字节以下每个扇区512字节建议只用128字节以下每个扇区512字节建议只用128字节以下每个扇区512字节建议只用128字节以下每个扇区512字节建议只用128字节以下每个扇区512字节建议只用128字节以下每个扇区512字节建议只用128字节以下第五扇区起始地址8800h结束地址89FFh第六扇区起始地址8A00h结束地址8BFFh第七扇区起始地址8C00h结束地址8DFFh第八扇区起始地址8E00h结束地址8FFFh第九扇区起始地址9000h结束地址91FFh第十扇区起始地址9200h结束地址93FFh第十一扇区起始地址9400h结束地址95FFh第十二扇区起始地址9600h结束地址97FFh第十三扇区起始地址9800h结束地址99FFh第十四扇区起始地址9A00h结束地址9BFFh第十五扇区起始地址9C00h结束地址9DFFh第十六扇区起始地址9E00h结束地址9FFFh第十七扇区起始地址A000h结束地址A1FFh第十八扇区起始地址A200h结束地址A3FFh第十九扇区起始地址A400h结束地址A5FFh第二十扇区起始地址A600h结束地址A7FFh第二十一扇区起始地址A800h结束地址A9FFh第二十二扇区起始地址AA00h结束地址ABFFh第二十三扇区起始地址AC00h结束地址ADFFh第二十四扇区起始地址AE00h结束地址AFFFH第二十五扇区起始地址B000h结束地址B1FFh第二十六扇区起始地址B200h结束地址B3FFh第二十七扇区起始地址B400h结束地址B5FFh第二十八扇区起始地址B600h结束地址B7FFH第二十九扇区起始地址B800h结束地址B9FFh第三十扇区起始地址BA00h结束地址BBFFh第三十一扇区起始地址BC00h结束地址BDFFh第三十二扇区起始地址BE00h结束地址BFFFH第三十三扇区起始地址C000h结束地址C1FFh第三十四扇区起始地址C200h结束地址C3FFh第三十五扇区起始地址C400h结束地址C5FFh第三十六扇区起始地址C600h结束地址C7FFH第三十七扇区起始地址C800h结束地址C9FFh第三十八扇区起始地址CA00h结束地址CBFFh第三十九扇区起始地址CC00h结束地址CDFFh第四十扇区起始地址CE00h结束地址CFFFH第四十一扇区起始地址D000h结束地址D1FFh第四十二扇区起始地址D200h结束地址D3FFh第四十三扇区起始地址D400h结束地址D5FFh第四十四扇区起始地址D600h结束地址D7FFH第四十五扇区起始地址D800h结束地址D9FFh第四十六扇区起始地址DA00h结束地址DBFFh第四十七扇区起始地址DC00h结束地址DDFFh第四十八扇区起始地址DE00h结束地址DFFFH第四十九扇区起始地址E000h结束地址E1FFh第五十扇区起始地址E200h结束地址E3FFh第五十一扇区起始地址E400h结束地址E5FFh第五十二扇区起始地址E600h结束地址E7FFH第五十三扇区起始地址E800h结束地址E9FFh第五十四扇区起始地址EA00h结束地址EBFFh第五十五扇区起始地址EC00h结束地址EDFFh第五十六扇区起始地址EE00h结束地址EFFFH第五十七扇区第五十八扇区第五十九扇区第六十扇区起始地址结束地址起始地址结束地址起始地址结束地址起始地址结束地址F000hF1FFhF200hF3FFhF400hF5FFhF600hF7FFH宏晶科技:专业单片机/存储器供应商 www.MCU-Memory.com STC 增强型8051单片机中文指南(RC/RD+系列)24
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
STC89C51 RC / RD+ 系列 IAP 应用汇编简介STC89C51 RC / RD+ 系列 内部EEPROM的应用
有网友要求提供汇编示例,请尽量参考已调通的C原程序
;用DATA还是EQU声明新增特殊功能寄存器地址要看你用的汇编器/编译器
ISP_DATADATA0E2h;或ISP_DATAEQU0E2hISP_ADDRHDATA0E3h;或ISP_ADDRHEQU0E3hISP_ADDRLDATA0E4h;或ISP_ADDRLEQU0E4hISP_CMDDATA0E5h;或ISP_CMDEQU0E5hISP_TRIGDATA0E6h;或ISP_TRIGEQU0E6hISP_CONTRDATA0E7h;或ISP_CONTREQU0E7h;定义ISP/IAP命令及等待时间
ISP_IAP_BYTE_READEQU1;字节读ISP_IAP_BYTE_PROGRAMEQU2;字节编程,前提是该字节是空,0FFhISP_IAP_SECTOR_ERASEEQU3;扇区擦除,要某字节为空,要擦一扇区WAIT_TIMEEQU0;设置等待时间,40MHz以下0,20M以下1,
;10MHz以下2,5M以下3
;字节读
MOVISP_ADDRH,#BYTE_ADDR_HIGH;送地址高字节MOVISP_ADDRL,#BYTE_ADDR_LOW;送地址低字节CLREA;关中断,此时各中断请求,会被挂起,一开中断,立即响应;加入软件陷阱判断,如为非法状态,则让单片机进入掉电模式或软复位
MOVISP_CONTR,#WAIT_TIME;设置等待时间ORLISP_CONTR,#10000000B;允许ISP/IAP操作MOVISP_CMD,#ISP_IAP_BYTE_READ;送字节读命令
;加入软件陷阱判断,如为非法状态,则让单片机进入掉电模式或软复位
MOVISP_TRIG,#46h;先送46h,再送B9h到ISP/IAP触发寄存器;加入软件陷阱判断,如为非法状态,则让单片机进入掉电模式或软复位
MOVISP_TRIG,#0B9h;送完B9h后,ISP/IAP命令立即被触发起动;CPU等待IAP动作完成后,才会继续执行程序,要先关中断(EA),
;再送46h,B9h到ISP/IAP触发寄存器,起动ISP/IAP命令,关中断在触发之前即可
NOP;数据读出到ISP_DATA寄存器后,CPU继续执行程序MOVISP_CONTR,#00000000B;禁止ISP/IAP操作MOVISP_CMD,#00000000B;去除ISP/IAP命令MOVISP_TRIG,#00000000B;防止ISP/IAP命令误触发MOVISP_ADDRH,#0FF;送地址高字节单元为FF,防止误操作MOVISP_ADDRL,#0FF;送地址低字节单元为FF,防止误操作SETBEA;开中断,CPU处理完ISP/IAP动作即可开中断MOVA,ISP_DATA;将读出的数据送往Acc
宏晶科技:专业单片机/存储器供应商 www.MCU-Memory.com STC 增强型8051单片机中文指南(RC/RD+系列)25
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
;字节编程,该字节为FFh/空时,可对其编程,否则不行,要先执行扇区擦除
MOVISP_DATA,#ONE_DATA;送字节编程数据到ISP_DATAMOVISP_ADDRH,#BYTE_ADDR_HIGH;送地址高字节MOVISP_ADDRL,#BYTE_ADDR_LOW;送地址低字节CLREA;关中断,此时各中断请求,会被挂起,一开中断,立即响应;加入软件陷阱判断,如为非法状态,则让单片机进入掉电模式或软复位
MOVISP_CONTR,#WAIT_TIME;设置等待时间ORLISP_CONTR,#10000000B;允许ISP/IAP操作MOVISP_CMD,#ISP_IAP_BYTE_PROGRAM;送字节编程命令;加入软件陷阱判断,如为非法状态,则让单片机进入掉电模式或软复位
MOVISP_TRIG,#46h;先送46h,再送B9h到ISP/IAP触发寄存器;加入软件陷阱判断,如为非法状态,则让单片机进入掉电模式或软复位
MOVISP_TRIG,#0B9h;送完B9h后,ISP/IAP命令立即被触发起动;CPU等待IAP动作完成后,才会继续执行程序,要先关中断(EA),
;再送46h,B9h到ISP/IAP触发寄存器,起动ISP/IAP命令,关中断在触发之前即可
NOP;字节编程成功后,CPU继续执行程序MOVISP_CONTR,#00000000B;禁止ISP/IAP操作MOVISP_CMD,#00000000B;去除ISP/IAP命令MOVISP_TRIG,#00000000B;防止ISP/IAP命令误触发MOVISP_ADDRH,#0FF;送地址高字节单元为FF,防止误操作MOVISP_ADDRL,#0FF;送地址低字节单元为FF,防止误操作
SETBEA
;
开中断,CPU处理完ISP/IAP动作即可开中断
宏晶科技:专业单片机/存储器供应商 www.MCU-Memory.com STC 增强型8051单片机中文指南(RC/RD+系列)
26
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
;扇区擦除,没有字节擦除,只有扇区擦除,512字节/扇区,每个扇区建议只用;1字节/2字节/3字节/4字节---128字节/256字节/512字节,用得越少越方便
;如果要对某个扇区进行擦除,而其中有些字节的内容需要保护,则需将其先读到单片机;内部的RAM中保存,再将该扇区擦除,然后再将保存的数据写回该扇区,所以每个扇区;中用的字节数越少越好,操作起来越灵活越快(每个扇区只用1-128字节以内较方便)
MOVISP_ADDRH,#SECTOR_FIRST_BYTE_ADDR_HIGH;送扇区起始地址高字节MOVISP_ADDRL,#SECTOR_FIRST_BYTE_ADDR_LOW;送扇区起始地址低字节CLREA;关中断,此时各中断请求,会被挂起,一开中断,立即响应;加入软件陷阱判断,如为非法状态,则让单片机进入掉电模式或软复位
MOVISP_CONTR,#WAIT_TIME;设置等待时间ORLISP_CONTR,#10000000B;允许ISP/IAPMOVISP_CMD,#ISP_IAP_SECTOR_ERASE;送扇区擦除命令;加入软件陷阱判断,如为非法状态,则让单片机进入掉电模式或软复位
MOVISP_TRIG,#46h;先送46h,再送B9h到ISP/IAP触发寄存器;加入软件陷阱判断,如为非法状态,则让单片机进入掉电模式或软复位
MOVISP_TRIG,#0B9h;送完B9h后,ISP/IAP命令立即被触发起动;CPU等待IAP动作完成后,才会继续执行程序,要先关中断(EA),
;再送46h,B9h到ISP/IAP触发寄存器,起动ISP/IAP命令,关中断在触发之前即可
NOP;扇区擦除成功后,CPU继续执行程序MOVISP_CONTR,#00000000B;禁止ISP/IAP操作MOVISP_CMD,#00000000B;去除ISP/IAP命令MOVISP_TRIG,#00000000B;防止ISP/IAP命令误触发MOVISP_ADDRH,#0FF;送地址高字节单元为FF,防止误操作MOVISP_ADDRL,#0FF;送地址低字节单元为FF,防止误操作
;从用户应用程序区(AP区)软件复位并切换到ISP程序区开始执行程序MOVISP_CONTR,#01100000B;SWBS = 1(选择ISP区), SWRST = 1(软复位);从ISP程序区软件复位并切换到用户应用程序区(AP区)开始执行程序MOVISP_CONTR,#00100000B;SWBS = 0(选择AP区), SWRST = 1(软复位);使用ISP/IAP功能的朋友尽量给13922805190(姚工)一个电话交流一下;建议在打开ISP之前及在ISP触发送46H,B9H之前三个地方,各加些软件陷阱;5V单片机,应在3.6V以下时让其复位,3V单片机,应在2.4V以下时让其复位;在此电压以下,此时再用ISP/IAP功能,编程/擦除Flash,不能保证能达到要求;复位电路可选MAX810,STC810,STC6345,STC6344,813L,706P等
宏晶科技:专业单片机/存储器供应商 www.MCU-Memory.com STC 增强型8051单片机中文指南(RC/RD+系列)
27
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
附录A:
为什么少数用户的普通8051程序烧录后,不能运行
1. 增强型的STC89C58RD+,STC89C52RC系列单片机内部扩展了AUX-RAM.
型号STC89C51RCSTC89LE51RCSTC89C52RCSTC89LE52RCSTC89C53RCSTC89LE53RCSTC89C54RD+STC89LE54RD+STC89C58RD+STC89LE58RD+STC89C516RD+
内部扩展RAM256 字节256 字节256 字节256 字节256 字节256 字节1024 字节1024 字节1024 字节1024 字节1024 字节
占外部64K数据空间0000H - 00FFH0000H - 00FFH0000H - 00FFH0000H - 00FFH0000H - 00FFH0000H - 00FFH0000H - 03FFH0000H - 03FFH0000H - 03FFH0000H - 03FFH0000H - 03FFH0000H - 03FFH
MOVX @DPTR / xdata地址>=100H,才访问外部地址>=100H,才访问外部地址>=100H,才访问外部地址>=100H,才访问外部地址>=100H,才访问外部地址>=100H,才访问外部地址>=400H,才访问外部地址>=400H,才访问外部地址>=400H,才访问外部地址>=400H,才访问外部地址>=400H,才访问外部地址>=400H,才访问外部0000-FFFFH,均访问外部0000-FFFFH,均访问外部
MOVX @Ri / pdata只访问内部扩展RAM只访问内部扩展RAM只访问内部扩展RAM只访问内部扩展RAM只访问内部扩展RAM只访问内部扩展RAM只访问内部扩展RAM只访问内部扩展RAM只访问内部扩展RAM只访问内部扩展RAM只访问内部扩展RAM只访问内部扩展RAM只访问内部扩展RAM只访问内部扩展RAM
STC89LE516RD+1024 字节STC89LE516ADSTC89LE516X2
256 字节256 字节
STC89C52RC / STC89C58RD+系列
如果用户的单片机 P0 / P2 口是作为普通I/O口(输入/输出口)用的,无冲突
如果用户的单片机 P0 / P2 口是作为总线扩展用的,外部扩展器件的地址在内部扩展RAM之上,无冲突
如果用户的单片机 P0 / P2 口是作为总线扩展用的,访问外部扩展器件的地址在内部扩展RAM的范围内,则访问的是内部扩展的AUX-RAM,所以有些系统用户要禁止内部扩展RAM
MnemonicAddNameAUXR
7
6 -
5 -
4 -
3 -
2 -
1
0
Reset value
8EhAuxiliary Register 0 -EXTRAMALEOFFxxxx,xx00
将AUXR寄存器的EXTRAM设为1,即可禁止内部扩展的AUX-RAM,使之与标准8052一样。STC89LE516AD / STC89LE516X2系列AUXR寄存器无EXTRAM控制位,通过寻址方式区分
,“MOVX @Ri”固定访问内部扩展RAM,“MOVX, @DPTR”固定访问外部扩展64K数据空间,详见相应部分说明。
2.晶振 / 时钟电路
STC89C52RC / STC89C58RD+ 现系列要求将XTAL1管脚接的电容去掉,XTAL2管脚接的电容为47pF,33pF,30pF,详见相应部分说明。
STC89LE516AD / STC89LE516X2系列 XTAL1 / XTAL2管脚的电容接10pF
3.复位电路
电阻/电容复位的值为 电阻 = 10k, 电容 = 10uF。如为用外部专用芯片复位,RESET管脚(复位脚)不要加任何上拉/下拉电阻。详见相应部分说明
宏晶科技:专业单片机/存储器供应商 www.MCU-Memory.com STC 增强型8051单片机中文指南(RC/RD+系列)
28
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
附录B:
STC89LE516AD系列单片机指南
特殊功能寄存器映像 SFR Mapping
STC89LE516AD,STC89LE58AD,STC89LE54AD,STC89LE52AD为单倍速
因AD系列用户ISP设不了双倍速,故有一STC89LE516AD的双倍速版本(6T)STC89LE516X2是同一芯片,只是出厂时就设为双倍速了。
Bit Non Bit AddressableAddressable 0/8F8hF0hE8hE0hD8hD0hC8hC0hB8hB0hA8hA0h98h90h88h80h PSW0000,0000 T2CON0000,0000 P4xxxx,1111 IPx000,0000 P31111,1111 IE0000,0000 P21111,1111 SCON0000,0000 P11111,1111 TCON0000,0000 P01111,1111 0/8 TMOD TL0 TL1 TH0 TH1 AUXR0000,00000000,00000000,00000000,00000000,0000xxxx,xxx0 SP DPL DPH0000,01110000,00000000,0000 1/9 2/A 3/B 4/C 5/D 6/E SBUFxxxx,xxxx SADDR0000,0000 AUXR1xxxx,xxx0 SADEN0000,0000 T2MOD RCAP2L RCAP2H TL2 TH2xxxx,xx000000,00000000,00000000,00000000,0000ADC_CONTRADC_DATAxxx0,0000xxxx,xxxx ACC0000,0000 B0000,0000 1/9 2/A 3/B 4/C 5/D 6/E 7/FFFhF7hEFhE7hDFhD7hCFhC7hBFh IPHB7hx000,0000AFhA7h9FhP1_ADC_EN97h0000,00008Fh PCON87h0xx1,0000 7/F29
宏晶科技:专业单片机/存储器供应商 www.MCU-Memory.com STC 增强型8051单片机中文指南(RC/RD+系列)
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
STC89LE516AD / X2 系列单片机 管脚图
XTAL1 P1.1/T2EX/ADC1RD/P3.7 P1.3/ADC3WR/P3.6 P1.4/ADC4XTAL2 P1.2/ADC2VSS P1.0/T2/ADC0A11/P2.3 P0.2/AD2A10/P2.2 P0.1/AD1A12/P2.4 P0.3/AD3A9/P2.1 P0.0/AD0P4.0 P4.2 6 5 4 3 2 1 44 43 42 41 40
ADC5/P1.5 7 39 P0.4/AD4ADC6/P1.6 8 38 P0.5/AD5ADC7/P1.7 9 37 P0.6/AD6RST 10 36 P0.7/AD7RXD/P3.0 11 35 EAP4.3 12 34 P4.1TXD/P3.1 13 33 ALE/PROGINT0/P3.2 14 32 PSENINT1/P3.3 15 31 P2.7/A15T0/P3.4 16 30 P2.6/A14T1/P3.5 17 29 P2.5/A1318 19 20 21 22 23 24 25 26 27 28
PLCC-44
A8/P2.0 VDDXTAL1 P1.1/T2EX/ADC1WR/P3.6 P1.4/ADC4RD/P3.7 P1.3/ADC3XTAL2 P1.2/ADC2VSS P1.0/T2/ADC0A10/P2.2 P0.1/AD144 43 42 41 40 39 38 37 36 35 34
ADC5/P1.5 1 33 P0.4/AD4ADC6/P1.6 2 32 P0.5/AD5ADC7/P1.7 3 31 P0.6/AD6RST 4 30 P0.7/AD7RXD/P3.0 5 29 EAP4.3 6 28 P4.1TXD/P3.1 7 27 ALE/PROGINT0/P3.2 8 26 PSENINT1/P3.3 9 25 P2.7/A15T0/P3.4 10 24 P2.6/A14T1/P3.5 11 23 P2.5/A13
12 13 14 15 16 17 18 19 20 21 22
A/D转换典型应用线路:按键扫描
Vcc工作电压: 3.6V - 2.4V, 可低至2.4V - 1.9V
10K
I/O口: P0,P2,P3,P4口可以承受5V输入。 P1口不要接到5V系统,只能接3.3V系统.P4口: 地址在C0H, P4.3 - P4.0A/D转换在P1口, P1.0 - P1.7八路。
10K
A8/P2.0 VDDADC0/T2/P1.0 1 40 VCC ADC1/T2EX/P1.1 2 39 P0.0/AD0
ADC2/P1.2 3 38 P0.1/AD1ADC3/P1.3 4 37 P0.2/AD2ADC4/P1.4 5 36 P0.3/AD3ADC5/P1.5 6 35 P0.4/AD4ADC6/P1.6 7 34 P0.5/AD5ADC7/P1.7 8 33 P0.6/AD6
RST 9 32 P0.7/AD7 RXD/P3.0 10 31 EATXD/P3.1 11 30 ALE/PROGINT0/P3.2 1 2 29 PSENINT1/P3.3 13 28 P2.7/A15T0/P3.4 14 27 P2.6/A14T1/P3.5 15 26 P2.5/A13WR/P3.6 16 25 P2.4/A12RD/P3.7 17 24 P2.3/A11XTAL2 18 23 P2.2/A10XTAL1 19 22 P2.1/A9 VSS 20 21 P2.0/A8
P1.0 - P1.7A/D
1/2 Vcc10K
2/3 Vcc10K
3/4 Vcc10K
4/5 Vcc宏晶科技:专业单片机/存储器供应商 www.MCU-Memory.com STC 增强型8051单片机中文指南(RC/RD+系列)
A11/P2.3 P0.2/AD2A12/P2.4 P0.3/AD3A9/P2.1 P0.0/AD0P4.0 P4.2PQFP-44DIP-40宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
1.STC89LE516AD系列单片机扩展AUX-RAM的使用
STC89LE516AD/X2系列单片机内部的RAM为512字节(256+256),即扩展了256字节的AUX-RAM,其访问方式为:
汇编语言: (访问内部扩展的256字节AUX-RAM)
MOVX @Ri, A ; 将累加器A的值送至@Ri指向的单元, i = 0, 1 MOVX A, @Ri ; 将@Ri指向的单元的值读到累加器A, i = 0, 1STC89LE516AD/X2系列单片机用“MOVX A, @Ri”,“MOVX A, @Ri”指令访问不到外部64K数据空间。
汇编语言: (访问外部64K数据空间)
MOVX @DPTR, A ; 将累加器A的值送至@DPTR指向的单元 MOVX A, @DPTR ; 将@DPTR指向的单元的值读到累加器A
STC89LE516AD/X2系列单片机用“MOVX A, @DPTR”,“MOVX A, @DPTR”指令访问不到内部扩展的256字节AUX-RAM。C语言:
用pdata 声明的变量访问单片机内部扩展的256字节AUX-RAM用xdata 声明的变量访问单片机外部64K数据空间
2.双数据指针 及 AUXR1寄存器
AUXR1
A2hAuxiliary Register 1 -
-
-
-
-
-
-DPSxxxx,xxx0
DPS = 0 时选择 DPTR0, DPS = 1 时选择 DPTR1
可以用 “INC AUXR1” 快速切换 DPTR0 / DPTR1
3.禁止ALE输出 及 AUXR1寄存器
AUXR
8EhAuxiliary Register 0 -
- - -
-
-
-
ALEOFFxxxx,xxx0
ALEOFF = 0, ALE信号正常输出。
ALEOFF = 1, 禁止ALE信号输出。但在访问外部数据空间及外部程序空间时有信号输出。
4.中断 及 中断优先级控制寄存器 IP / IPH
中断与普通8052完全兼容,优先级可设为4级,通过增加的IPH寄存器
MnemonicAddIEIPIPH
A8hB8hB7h
Name
Interrupt EnableInterrupt Priority LowInterrupt Priority High
7EA - -
6 - - -
5ET2PT2
4ESPS
3ET1PT1
2EX1PX1
1ET0PT0
0EX0PX0
Reset Value0000,0000xx00,0000
PT2HPSHPT1HPX1HPT0HPX0Hxx00,0000
宏晶科技:专业单片机/存储器供应商 www.MCU-Memory.com STC 增强型8051单片机中文指南(RC/RD+系列)
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
Interrupt Source中断源/INT0Timer 0/INT1Timer 1UARTTimer 2
VectorAddress中断向量地址0003H000BH0013H001BH0023H002BH
Polling
Interrupt
优先级3Sequence中断优先级0
Request优先级1优先级2
优先级设置最低最高中断
中断请求
查询次序123456
PX0H,PX0PT0H,PT0PX1H,PX1PT1H,PT1PSH, PSPT2H,PT2
0,00,00,00,00,00,0
0,10,10,10,10,10,1
1,01,01,01,01,01,0
1,11,11,11,11,11,1
IE0TF0IE1IF1RI + TITF2 + EXF2
4.A/D 及 A/D转换寄存器 ADC_CONTR/ADC_DATA/P1_ADC_EN
STC89LE516AD/X2在P1口,有8位精度的高速A/D转换器, P1.7 - P1.0共8路
电压输入型,可做按键扫描,电池电压检测,频谱检测等。17个机器周期可完成一次转换,时钟在40MHz以下时。
Mnemonic
Add
Name
允许P1.x成为A/D口A/D 转换控制寄存器A/D 转换结果寄存器
7 - -
6 - -
5- -
4
3ADC_P13 -
2
1CHS1 -
0CHS0 -
Reset Valuexxx0,00000000,0000
P1_ADC_EN97hADC_CONTRC5hADC_DATA
C6h
ADC_P17 ADC_P16ADC_P15ADC_P14
-
ADC_P12ADC_P11ADC_P100000,0000 -
ADC_FLAGADC_STARTCHS2
P1_ADC_EN 特殊功能寄存器: P1.x作为A/D 转换输入通道来用允许特殊功能寄存器
允许P1.x成为A/D口ADC_P17 ADC_P16ADC_P15ADC_P14ADC_P13ADC_P12ADC_P11ADC_P100000,0000
相应位为“1”时,对应的P1.x口作为A/D转换使用,内部上拉电阻自动断开ADC_CONTR 特殊功能寄存器: A/D转换控制特殊功能寄存器
A/D 转换控制寄存器 - --
ADC_FLAGADC_STARTCHS2CHS1CHS0xxx0,0000
CHS2 / CHS1 / CHS0:模拟输入通道选择,CHS2 / CHS1 / CHS0
CHS200001111
CHS100110011
CHS001010101
Analog Input Channel Select
模拟输入通道选择
选择 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_START: 模拟/数字转换(ADC)启动控制位,设置为“1”时,开始转换ADC_FLAG: 模拟/数字转换结束标志位,当A/D转换完成后,ADC_FLAG = 1。ADC_DATA 特殊功能寄存器: A/D转换结果特殊功能寄存器
A/D 转换结果寄存器
-
-
-
-
-
-
-
-
0000,0000
模拟/数字转换结果计算公式如下: 结果 = 256 x Vin / Vcc
Vin为模拟输入通道输入电压,Vcc为单片机实际工作电压,用单片机工作电压作为模拟参考电压。
宏晶科技:专业单片机/存储器供应商 www.MCU-Memory.com STC 增强型8051单片机中文指南(RC/RD+系列)
32
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
/* ------------- 宏晶科技 2005/1/5 A/D转换C语言示例 ------------ *//* ---Mobile: 13922805190, Tel: 0755 - 82908285, Fax: 0755 - 82944243 *//* ----Website: www.mcu-memory.com Email: support@dsp-memory.com --- */// ADC DEMO 程序演示 STC89LE516AD/X2 系列 MCU 的 A/D 转换功能。 时钟 11.0592MHz// 转换结果以 16 进制形式输出到串行口,可以用串行口调试程序观察输出结果。#include <reg52.H>#include <intrins.H>
//定义与 ADC 有关的特殊功能寄存器sfrsfrsfr
P1_ADC_ENADC_CONTRADC_DATA
===
0x97; // A/D 转换功能允许寄存器0xC5; // A/D 转换控制寄存器0xC6; // A/D 转换结果寄存器
typedef unsigned char INT8U;typedef unsigned int INT16U;
void delay(INT8U delay_time) // 延时函数{
INT8U INT16U {
for (m=0; m<10000; m++); }}
void initiate_RS232 (void) // 串口初始化{
ES = 0; // 禁止串口中断
SCON = 0x50; // 0101,0000 8位数据位, 无奇偶校验 T2CON = 0x34; // 0011,0100, 由T2作为波特率发生器 RCAP2H = 0xFF; // 时钟11.0592MHz, 9600 波特率 RCAP2L = 0xDB;
ES = 1; // 允许串口中断}
void Send_Byte(INT8U one_byte) // 发送一个字节{
TI = 0; // 清零串口发送中断标志 SBUF = one_byte; while (TI == 0);
TI = 0; // 清零串口发送中断标志}
n;m;
for (n=0; n<delay_time; n++)
宏晶科技:专业单片机/存储器供应商 www.MCU-Memory.com STC 增强型8051单片机中文指南(RC/RD+系列)
33
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
INT8U get_AD_result(INT8U channel){
INT8U AD_finished ADC_DATA delay(1);
ADC_CONTR |= 0x08; AD_finished = 0;
while ( AD_finished == 0 ) {
AD_finished = (ADC_CONTR & 0x10); //0001,0000, ADC_FLAG ==1 测试A/D转换结束否 }
ADC_CONTR &= 0xF7; //1111,0111 令 ADC_START = 0, 关闭A/D转换, return (ADC_DATA);}
void main(){
initiate_RS232(); P1
=
P1
|
0x63; // 0110,0011,要设置为 A/D 转换的P1.x口,先设为高
P1_ADC_EN = 0x63; //0110,0011, P1 的P1.0,P1.1,P1.5,P1.6设置为 A/D 转换输入脚 //断开P1.0,P1.1,P1.5,P1.6内部上拉电阻 while(1) {
Send_Byte(get_AD_result(0));//P1.0 为 A/D 当前通道, 测量并发送结果 delay(0x200);
Send_Byte(get_AD_result(1));//P1.1 为 A/D 当前通道, 测量并发送结果 delay(0x200);
Send_Byte(get_AD_result(5));//P1.5 为 A/D 当前通道, 测量并发送结果 delay(0x200);
Send_Byte(get_AD_result(6));//P1.6 为 A/D 当前通道, 测量并发送结果 delay(0x200);
Send_Byte(0); //连续发送 4 个 00H, 便于观察输出显示 Send_Byte(0); Send_Byte(0); Send_Byte(0);
delay(0x200); //延时 delay(0x200); delay(0x200); delay(0x200); delay(0x200); delay(0x200); }}
宏晶科技:专业单片机/存储器供应商 www.MCU-Memory.com STC 增强型8051单片机中文指南(RC/RD+系列)
34
= 0;
0; // 存储 A/D 转换标志
//选择 A/D 当前通道//使输入电压达到稳定
//0000,1000 令 ADC_START = 1, 启动A/D转换//等待A/D转换结束
=
ADC_CONTR = channel;
// 返回 A/D 转换结果
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
附录C:
STC89C51 RC / RD+ 系列 单片机 ISP (DIY)
自己动手写自己的ISP,写自己的远程升级程序还需了解的信息,只提供给策略性伙伴用户程序区空间和ISP程序区空间:
型号STC89C51RCSTC89LE51RCSTC89C52RCSTC89LE52RC
用户应用程序区AP Space 地址0000H - 0FFFH0000H - 0FFFH0000H - 1FFFH0000H - 1FFFH用户应用程序区AP Space 地址0000H - 3BFFH0000H - 3BFFH0000H - 37FFH0000H - 37FFH0000H - 33FFH0000H - 33FFH0000H - 2BFFH0000H - 2BFFH
ISP 引导区空间(ISP Space),从ISP区启动MCU才有IAP功能0 K目前
版本禁止ISP/IAP操作
1K(保留IAP)3800H - 3BFFH3800H - 3BFFH3800H - 3BFFH3800H - 3BFFH
2 K(保留IAP)3400H - 3BFFH3400H - 3BFFH3400H - 3BFFH3400H - 3BFFH
4K(保留IAP)2C00H - 3BFFH2C00H - 3BFFH2C00H - 3BFFH2C00H - 3BFFH
型号STC89C53RCSTC89LE53RCSTC89C53RCSTC89LE53RCSTC89C53RCSTC89LE53RCSTC89C53RCSTC89LE53RC
ISP 引导区空间(ISP Space),从ISP区启动MCU才有IAP功能0 K
目前版本禁止ISP/IAP操作
3800H - 3BFFH3800H - 3BFFH
3400H - 3BFFH3400H - 3BFFH
2C00H - 3BFFH2C00H - 3BFFH
1K(保留IAP)
2 K(保留IAP)
4K(保留IAP)
型号STC89C54RD+STC89LE54RD+STC89C58RD+STC89LE58RD+
用户应用程序区AP Space 地址0000H - 3FFFH0000H - 3FFFH0000H - 7FFFH0000H - 7FFFH用户应用程序区AP Space 地址0000H - FBFFH0000H - FBFFH0000H - F7FFH0000H - F7FFH0000H - F3FFH0000H - F3FFH0000H - EBFFH0000H - EBFFH
ISP 引导区空间(ISP Space),从ISP区启动MCU才有IAP功能0 K目前
版本禁止ISP/IAP操作
1K(保留IAP)F800H - FBFFHF800H - FBFFHF800H - FBFFHF800H - FBFFH
2 K(保留IAP)F400H - FBFFHF400H - FBFFHF400H - FBFFHF400H - FBFFH
4K(保留IAP)EC00H - FBFFHEC00H - FBFFHEC00H - FBFFHEC00H - FBFFH
型号STC89C516RD+STC89LE516RD+STC89C516RD+STC89LE516RD+STC89C516RD+STC89LE516RD+STC89C516RD+STC89LE516RD+
ISP 引导区空间(ISP Space),从ISP区启动MCU才有IAP功能0 K
目前版本禁止ISP/IAP操作
F800H - FBFFHF800H - FBFFH
F400H - FBFFHF400H - FBFFH
EC00H - FBFFHEC00H - FBFFH
35
1K(保留IAP)2 K(保留IAP)4K(保留IAP)
宏晶科技:专业单片机/存储器供应商 www.MCU-Memory.com STC 增强型8051单片机中文指南(RC/RD+系列)
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
动手写自己的ISP还必需要的工具,只提供给策略性伙伴 -----STC89C51RC / RD+ 系列单片机专用编程工具(200元) STC89C51RC / RD+ 系列单片机出厂时一般都固化有ISP引导码程序,如只烧录普通的用户程序,则只需将P3.0/P3.1经过RS-232转换器连到电脑的RS-232串口,通过STC-ISP下载软件打开用户程序下载就可以了。如果不用STC的ISP程序而要编写自己的ISP程序,则需要STC89C51RC / RD+ 系列单片机专用编程工具,才可将用户的ISP程序烧录进单片机内部,软件使用STC MCU Programmer编程工具。
方式一:用户主应用程序和ISP程序一起烧录,上电复位后程序从ISP区开始运行
一.三个加密项全部加密
二.缓冲区从0开始,清缓冲区调入用户主应用程序
三.选定ISP空间从那里开始,不清缓冲区调入ISP程序,保留已调入的程序,用户ISP空间可选0/1K/2K/4K四.选择从ISP区启动
五.烧录程序
也可直接调入ISP程序至ISP区,选择从ISP程序区启动,再烧录。用户主应用程序由用户自己编的ISP程序下载。还可以把ISP区当成用户程序区,把余下的空间当成DataFlash 数据空间。如STC89C516RD+,4K ISP区当用户程序使用,余下59K当EEPROM用。
宏晶科技:专业单片机/存储器供应商 www.MCU-Memory.com STC 增强型8051单片机中文指南(RC/RD+系列)
36
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
方式二:用户主应用程序和ISP程序一起烧录,上电复位后程序从用户主应用程序区开始运行(但现版本单片机ISP/IAP就会无效,只能当成无ISP/IAP的单片机使用,故此法对于写自己的ISP程序来说无效)
一.三个加密项全部加密
二.缓冲区从0开始,清缓冲区调入用户主应用程序
三.选定ISP空间从那里开始,不清缓冲区调入用户自己的ISP程序,保留已调入的程序
四.选择从用户主应用程序区启动,现版本芯片会无ISP/IAP功能,故应设置成从ISP区启动。五.烧录程序
已加过密的单片机,或已设置过ISP空间为1k/2k/4k,上电复位从ISP空间启动的单片机,重新烧录程序时,要先将整个芯片擦除,再停电(单片机电放光后),再上电,再重烧程序,才会写对。擦除整个芯片后,重新允许读出芯片内容的状态,是停电再上电后才能生效。
宏晶科技:专业单片机/存储器供应商 www.MCU-Memory.com STC 增强型8051单片机中文指南(RC/RD+系列)
37
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
附录D: ISP Demo(演示版)软件(*.hex)及通信协议
www.mcu-memory.com网站上也会提供用户可直接使用的单片机ISP-Demo软件(*.hex),可由用户直接用STC专用编程器烧入即可,在STC-ISP.exe软件中选择 “ISP Demo”功能项下载程序即可。将来的STC专用编程器软件将会自带此单片机ISP程序功能,格式是偶校验,8位数据位,1位停止位,用户要根据单片机工作时钟,确定用那种合理的波特率。(说明:出厂时单片机一般都已烧录有标准的ISP文件,不过那个协议不公开)
STC89C51RCSTC89LE51RC40MHz33MHz27MHz24MHz22.1184MHz20MHz18.432MHz12MHz11.0592MHz
115,200 bps51_40M_115200.hex51_33M_115200.hex51_27M_115200.hex51_24M_115200.hex51_22.1184M_115200.hex51_20M_115200.hex51_18.432M_115200.hex51_12M_115200.hex51_11.0592M_115200.hex
57,600bps51_40M_57600.hex51_33M_57600.hex51_27M_57600.hex51_24M_57600.hex51_22.1184M_57600.hex51_20M_57600.hex51_18.432M_57600.hex51_12M_57600.hex51_11.0592M_57600.hex
38,400bps51_40M_38400.hex51_33M_38400.hex51_27M_38400.hex51_24M_38400.hex51_22.1184M_38400.hex51_20M_38400.hex51_18.432M_38400.hex51_12M_38400.hex51_11.0592M_38400.hex
19,200bps51_40M_19200.hex51_33M_19200.hex51_27M_19200.hex51_24M_19200.hex51_22.1184M_19200.hex51_20M_19200.hex51_18.432M_19200.hex51_12M_19200.hex51_11.0592M_19200.hex
9,600bps51_40M_9600.hex51_33M_9600.hex51_27M_9600.hex51_24M_9600.hex51_22.1184M_9600.hex51_20M_9600.hex51_18.432M_9600.hex51_12M_9600.hex51_11.0592M_9600.hex
4,800bps51_40M_4800.hex51_33M_4800.hex51_27M_4800.hex51_24M_4800.hex51_22.1184M_4800.hex51_20M_4800.hex51_18.432M_4800.hex51_12M_4800.hex51_11.0592M_4800.hex
2,400bps51_40M_2400.hex51_33M_2400.hex51_27M_2400.hex51_24M_2400.hex51_22.1184M_2400.hex51_20M_2400.hex51_18.432M_2400.hex51_12M_2400.hex51_11.0592M_2400.hex
1,200bps51_40M_1200.hex51_33M_1200.hex51_27M_1200.hex51_24M_1200.hex51_22.1184M_1200.hex51_20M_1200.hex51_18.432M_1200.hex51_12M_1200.hex51_11.0592M_1200.hex
STC89C52RCSTC89LE52RC40MHz33MHz27MHz24MHz22.1184MHz20MHz18.432MHz12MHz11.0592MHz
115,200 bps52_40M_115200.hex52_33M_115200.hex52_27M_115200.hex52_24M_115200.hex52_22.1184M_115200.hex52_20M_115200.hex52_18.432M_115200.hex52_12M_115200.hex52_11.0592M_115200.hex
57,600bps52_40M_57600.hex52_33M_57600.hex52_27M_57600.hex52_24M_57600.hex52_22.1184M_57600.hex52_20M_57600.hex52_18.432M_57600.hex52_12M_57600.hex52_11.0592M_57600.hex
38,400bps52_40M_38400.hex52_33M_38400.hex52_27M_38400.hex52_24M_38400.hex52_22.1184M_38400.hex52_20M_38400.hex52_18.432M_38400.hex52_12M_38400.hex52_11.0592M_38400.hex
19,200bps52_40M_19200.hex52_33M_19200.hex52_27M_19200.hex52_24M_19200.hex52_22.1184M_19200.hex52_20M_19200.hex52_18.432M_19200.hex52_12M_19200.hex52_11.0592M_19200.hex
9,600bps52_40M_9600.hex52_33M_9600.hex52_27M_9600.hex52_24M_9600.hex52_22.1184M_9600.hex52_20M_9600.hex52_18.432M_9600.hex52_12M_9600.hex52_11.0592M_9600.hex
4,800bps52_40M_4800.hex52_33M_4800.hex52_27M_4800.hex52_24M_4800.hex52_22.1184M_4800.hex52_20M_4800.hex52_18.432M_4800.hex52_12M_4800.hex52_11.0592M_4800.hex
2,400bps52_40M_2400.hex52_33M_2400.hex52_27M_2400.hex52_24M_2400.hex52_22.1184M_2400.hex52_20M_2400.hex52_18.432M_2400.hex52_12M_2400.hex52_11.0592M_2400.hex
1,200bps52_40M_1200.hex52_33M_1200.hex52_27M_1200.hex52_24M_1200.hex52_22.1184M_1200.hex52_20M_1200.hex52_18.432M_1200.hex52_12M_1200.hex52_11.0592M_1200.hex
宏晶科技:专业单片机/存储器供应商 www.MCU-Memory.com STC 增强型8051单片机中文指南(RC/RD+系列)
38
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
; STC ISP DEMO 程序通讯协议
;STC89LE51RC, STC89LE52RC, STC89LE53RC, STC89LE54RD+, STC89LE58RD+, STC89LE516RD+;STC89C51RC, STC89C52RC, STC89C53RC, STC89C54RD+, STC89C58RD+, STC89C516RD+;;1. 功能
; STC ISP DEMO 程序以固定的波特率与上位机(PC机)通讯,将上位机; 传来的程序代码或数据烧录到 MCU 的用户应用程序区中(以下简称 AP 区)和; Data 区。;
;1.1 应用范围
; 本协议仅适用于 STC89C/LE5xRC 和 STC89C/LE5xxRD+ 系列单片机。;1.2 使用方法
; 1) 将 STC ISP DEMO 程序烧录到 MCU 的 ISP 区, 并设置为上电复位后从; ISP 区开始运行。
; 2) 先运行上位机程序,不断地发送问讯帧,然后给 MCU 上电。
; 3) MCU 收到问讯帧后回发问讯应答帧,讯问应答反复 3 次双方连接成功。; 4) 上位机发送一系列命令,完成下载工作。
; 5) 下载完毕,PC 发送切换命令,MCU 软复位切换到 AP 程序运行。;
; STC-ISP (2.9 Beta3 版本以上)下载软件提供了STC ISP DEMO 程序的上位机; 功能,该软件可到 www.MCU-Memory.COM 网站下载。
; MCU 上电复位后检测串口是否有上位机发来的问讯帧, 若没有就立刻软复位; 切换到 AP 程序运行。也可以参照 STC 下载软件中"用户自定义下载" 功能,; 从应用程序软复位切换到 ISP 进行下载,而不是每次都要上电复位(冷启动); 进入 ISP 程序。;
;2. 帧格式。
; 所有的通讯均由 PC 机启动。;
;2.1 PC机命令帧格式。
; 5AH 0101,1010 起始字节1 ---- ------; A5H 1010,0101 起始字节2 | |; len_H 帧长度高字节 | |; len_L 帧长度低字节 |; Command 命令字 帧校验和范围 |; data 0 数据区第 1 字节
; .. | 帧长度范围; .. |
; .. | |; data n-1 数据区第 n 字节 ---- |; check_sum_high 帧校验和高字节 |; chenk_sum_low 帧校验和低字节 |; 16H 结束字节 ----------------------------
宏晶科技:专业单片机/存储器供应商 www.MCU-Memory.com STC 增强型8051单片机中文指南(RC/RD+系列)39
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
2.3 帧长度。
; 帧长度范围从起始字节1 至结束字节。;
;2.4 校验和。
; 从起始字节1开始到校验和之前所有的字节相加。;
;3.0 PC 命令及 MCU 应答
; 命令 命令代码;
; 问讯 B0H 1011, 0000; 软复位切换到用户程序 B1H 1011, 0001; 擦除 AP、Data flash B2H 1011, 0010; 写数据到 AP、Data flash B3H 1011, 0011; 先擦除扇区再写数据 B4H 1011, 0100; 读固件版本号 B5H 1011, 0101;
;3.1 问讯帧。;
;3.1.1 PC 发送问讯帧。; 序号 内容
; 0 5AH 起始字节1; 1 A5H 起始字节2; 2 00H 帧长度高字节; 3 08H 帧长度低字节; 4 B0H 问讯帧命令字
; 5 01H 校验和高字节 (5AH + A5H + 00H + 08H + B0H = 01B7H); 6 B7H 校验和低字节; 7 16H 结束字节;
;3.1.2 MCU 回发问讯应答帧。; 序号 内容
; 0 5AH 起始字节1; 1 A5H 起始字节2; 2 00H 帧长度高字节; 3 08H 帧长度低字节; 4 B0H 问讯应答帧命令字
; 5 01H 校验和高字节 (5AH + A5H + 00H + 08H + B0H = 01B7H); 6 B7H 校验和低字节; 7 16H 结束字节;
;3.2 结束运行 ISP 程序, 软复位切换到用户程序。
; ISP 程序收到命令后启动软复位,切换到用户程序运行。
宏晶科技:专业单片机/存储器供应商 www.MCU-Memory.com STC 增强型8051单片机中文指南(RC/RD+系列)
40
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
;3.2 结束运行 ISP 程序, 软复位切换到用户程序。
; ISP 程序收到命令后启动软复位,切换到用户程序运行。;3.2.1 PC 命令; 序号 内容
; 0 5AH 起始字节1; 1 A5H 起始字节2; 2 00H 帧长度高字节; 3 08H 帧长度低字节
; 4 B1H 软复位切换到用户程序命令字
; 5 01H 校验和高字节 (5AH + A5H + 00H + 08H + B1H = 01B8H); 6 B8H 校验和低字节; 7 16H 结束字节;
;3.2.2 MCU 应答:
; 用"问讯应答帧"应答, 见 3.1.2 MCU 问讯应答帧。;
;3.3 擦除应用程序区和数据 Flash 区;3.3.1 PC 命令:; 序号 内容
; 0 5AH 起始字节1; 1 A5H 起始字节2; 2 00H 帧长度高字节; 3 08H 帧长度低字节; 4 B2H 擦除应用程序区命令字
; 5 01H 校验和高字节 (5AH + A5H + 00H + 08H + B2H = 01B9H); 6 B9H 校验和低字节; 7 16H 结束字节;
;3.3.2 MCU 应答:
; 用"问讯应答帧"应答, 见 3.1.2 MCU 问讯应答帧。
宏晶科技:专业单片机/存储器供应商 www.MCU-Memory.com STC 增强型8051单片机中文指南(RC/RD+系列)
41
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
;3.4 写数据到 flash AP 区;3.4.1 PC 命令:; 序号 内容
; 0 5AH 起始字节1; 1 A5H 起始字节2; 2 00H 帧长度高字节; 3 xxH 帧长度低字节
; 4 B3H 写数据到 flash 命令字; 5 00H 保留字节; 6 00H 保留字节; 7 address_H 目标首地址高字节; 8 address_L 目标首地址低字节; 9 00H 数据块长度高字节。; 10 xxH 数据块长度低字节
; 每次最多写 128 字节。写完一个 512 字节的扇区需分别; 发送 4 帧数据。某个扇区一旦写失败,须擦除该扇区后; 从头再写。; 11 data 1 数据块第 1 字节;
; .. ..;
; xx data n 数据块第 n 字节; xx xxH 校验和高字节; xx xxH 校验和低字节; xx 16H 结束字;
;3.4.2 MCU 应答:; 序号 内容
; 0 5AH 起始字节1; 1 A5H 起始字节2; 2 00H 帧长度高字节; 3 0AH 帧长度低字节
; 4 B3H 写数据到 flash 命令字
; 5 xxH 数据区校验和高字节,见 3.4.3 写数据到 flash AP 区后的校验; 6 xxH 数据区校验和低字节,见 3.4.3 写数据到 flash AP 区后的校验; 7 xxH 帧校验和高字节; 8 xxH 帧校验和低字节; 9 16H 结束字节;
;3.4.3 写数据到 flash AP 区后的校验:
; MCU 把本次接收到的应用程序和数据写入 Flash 后再将它们逐一读出来,计算它们的; 累加和。累加和的校验区由 2.4.1 的目标首地址和数据块长度指明(PC 命令的7,8,9,10字节); 累加和为 2 个字节,发回 PC 供其判断写数据正确与否。
宏晶科技:专业单片机/存储器供应商 www.MCU-Memory.com STC 增强型8051单片机中文指南(RC/RD+系列)
42
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
;3.5 擦除扇区后再写数据到 flash AP 区
; 除了命令字为 B4H 外,其它与写数据到 flash AP 区完全一致。;
;3.6 读 MCU 代号、固件版本号命令。;3.6.1 PC 命令:; 序号 内容
; 0 5AH 起始字节1; 1 A5H 起始字节2; 2 00H 帧长度高字节; 3 08H 帧长度低字节
; 4 B5H 读 MCU 代号、固件版本号命令字; 5 01H 帧校验和高字节; 6 F9H 帧校验和低字节; 7 16H 结束字节;
;3.6.2 MCU 应答:; 序号 内容
; 0 5AH 起始字节1; 1 A5H 起始字节2; 2 00H 帧长度高字节; 3 0CH 帧长度低字节
; 4 B5H 读 MCU 代号、固件版本号命令字; 5 FIRMWARE_VERSION 固件版本号; 6 MCU_TYPE_HIGH MCU 代号高字节; 7 MCU_TYPE_LOW MCU 代号低字节; 8 xxH 保留字节; 9 xxH 帧校验和高字节; 10 xxH 帧校验和低字节; 11 16H 结束字节
宏晶科技:专业单片机/存储器供应商 www.MCU-Memory.com STC 增强型8051单片机中文指南(RC/RD+系列)
43
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
附录E: 如何实现运行中自定义下载,无仿真器时方便调试
自定义下载原理:STC-ISP.exe软件
1.STC-ISP.exe软件,可由用户设置,按UART/RS-232的格式向用户程序发送命令
波特率: 38400bps, 19200bps, 9600bps, 4800bps, 2400bps, 1200bps等 奇偶校验位: 无, 偶校验, 奇校验 数据位几位: 8位, 7位,6位,5位, 等 停止位几位: 1位, 1.5位,2位,等
2.需向用户程序发送的命令用户可在上图自定义下载命令输入窗口中输入(HEX)
命令之间建议加一个空格,也可不加,STC-ISP.exe会处理,上例为发送自定义命令 12H,34H,56H,78H,0ABH,0CDH,0EFH, 12H,34H,56H,78H,0ABH,0CDH,0EFH
3.用户程序中应加入收到自定义下载命令,延时一秒,软复位到系统ISP程序区的程序4.将以上含有接收自定义下载命令的用户程序先用老方法下载进STC单片机内部: STC89C51RC,STC89C52RC,STC89C53RC,STC89C54RD+,STC89C58RD+,STC89C516RD+ STC89LE52RC,STC89LE53RC,STC89LE54RD+,STC89LE58RD+,STC89LE516RD+
这样以上型号的STC单片机就具有了“不停电/运行中/自定义下载功能”
6.以下选好型号,打开文件...,在自定义下载中设置相关选项,选择“发送”即可,
STC-ISP.exe在“发送”完用户自定义下载命令后,就会转去调用老的那一套下载命令,而不管用户单片机程序收到命令没有。不过这个转换有些电脑有时需要将近1S的时间,所以用户应用程序要延时1S,否则系统ISP程序收不到下载命令,又会回到用户应用程序。7.调试程序时,还可以在选项中选择“每次下载前自动重新调入文件”,这样你每次修改原文件并从新编译/汇编后生成的*.hex,*.bin文件就不要再次手工调入了,生产时不要用。
宏晶科技:专业单片机/存储器供应商 www.MCU-Memory.com STC 增强型8051单片机中文指南(RC/RD+系列)
44
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
附录F: Keil C51高级语言编程的软件如何减少代码长度
1.在“Project”菜单中选择“Options for Target”2.在“Options for Target”中选择“C51”
3.选择按空间大小, 9级优化程序4.重新编译程序即可。
宏晶科技:专业单片机/存储器供应商 www.MCU-Memory.com STC 增强型8051单片机中文指南(RC/RD+系列)45
宏晶科技:www.MCU-Memory.com Mobile:13922805190(姚永平) Tel:0755-82948409 Fax: 0755-82944243
附录G:(写给用STC89C51RC/RD+系列单片机做仿真器的朋友) STC89C51 RC / RD+ 系列 单片机 做仿真器须知
1.对Flash的IAP字节读/字节编程/扇区擦除等待机器周期
设置等待时间 CPU 等待时间(机器周期)WT2WT1WT0Read 0 0 0 0
1 1 0 0
1 0 1 0
6112243
ProgramSector EraseRecommended System Clock3060120240
5471109422188543769
5MHz10MHz20MHz40MHz
512Byte/Sector
2.程序在ISP区可对用户AP区进行IAP读/编程/扇区擦除3.程序在用户AP区不可对ISP区进行IAP操作。4.程序在ISP/AP区可对Data Flash区进行IAP操作。5.可从ISP区软复位到AP区,也可从AP区软复位到ISP区。
MnemonicISP_DATA
AddName
E2hISP/IAP Flash Data Register
7
6
5
4 3 2
1
0
Reset Value1111,11110000,00000000,0000
-
-
-
- -MS2MS1MS0xxxx,x000
xxxx,xxxx
ISPENSWBSSWRST - -WT2WT1WT0000x,x000
ISP_ADDRHE3hISP/IAP Flash Address HighISP_ADDRLE4hISP/IAP Flash Address LowISP_CMDISP_TRIG
E5hISP/IAP Flash Command RegisterE6hISP/IAP Flash Command Trigger
ISP_CONTRE7hISP/IAP Control Register
;从用户应用程序区(AP区)软件复位并切换到ISP程序区开始执行程序 MOVISP_CONTR,#01100000B;SWBS = 1(选择ISP区), SWRST = 1(软复位);从ISP程序区软件复位并切换到用户应用程序区(AP区)开始执行程序 MOVISP_CONTR,#00100000B;SWBS = 0(选择AP区), SWRST = 1(软复位)软复位后所有的寄存器复位,可在软复位前将需保存的SFR的值,保存在RAM或DATAFlash中,建议采用STC89C58RD+设计。
STC89C58RD+50-C-PI: 独立32k字节用户程序区,独立可选0/1/2/4k字节系统ISP区。 独立27k字节数据Flash区
只有选择1/2/4k字节ISP区,并选择上电复位从ISP区启动,晶片IAP功能才起作用工作电压:5.5v - 3.4v, 不要过低,否则工作不了。5V串2个1N4001是3.6V宏晶科技:专业单片机/存储器供应商 www.MCU-Memory.com STC 增强型8051单片机中文指南(RC/RD+系列)
因篇幅问题不能全部显示,请点此查看更多更全内容