STC的IAP_CONTR位阐明:
B7 |
B6 |
B5 |
B4 |
B3 |
B2 |
B1 |
B0 |
ISPEN |
SWBS |
SWRST |
——- |
——- |
WT2 |
WT1 |
WT0 |
ISPEN:ISP/IAP功用答应位
SWBS:0从用户主程序区发动;1从ISP程序区发动
SWRST:0不操作;1发生软件体系复位,硬件主动清零。
WT2 |
WT1 |
WT0 |
设置等待时刻:全零时为40MHz
IAP_CONTR设为60H;其地址为E7H
程序如下:
IAP_CONTR EQU 0E7H
DEFINE_DOWNLOAD_C EQU 40H
ORG0000H
SJMPSTART
ORG0023H;串口中止服务程序进口地址
LJMPUART_SERVICE;跳转至串口中止服务程序
ORG0030H
START:
MOV 40H,#2DH ;置要发送下载的传送的指令的值
MOVSCON,#50H ;串口作业于方法1,不答应接纳数据
MOVTMOD,#20H;定时器/计数器1作波特率发生器,选用定时器方法2
MOVTL1,#0FDH;定时器/计数器1置初始值,设置的波特率为9600bps
MOVTH1,#0FDH;定时器/计数器1置重装载值
SETB TR1 ;定时器/计数器1发动作业
SETB ES ;翻开串口中止
SETB EA ;翻开总中止
LOOP: ;主循环不做任何事情
;在此能够参加你要测验的程序
LJMPLOOP
UART_SERVICE:;串口中止服务程序
JNBRI,CLR_EXIT ;判别是否为接纳中止,假如不是,跳出中止且铲除发送位
CLR RI ;铲除承受位
MOV A,SBUF
CJNE A,DEFINE_DOWNLOAD_C,EXIT,;检测是否为下载的传送的指令的值
DELAY1S:MOV R7,#100 ;延时时刻1秒
D3:MOV R6,#21
D2:MOV R5,#248
D1:DJNZ R5,D1
DJNZ R6,D2
DJNZ R7,D3
MOV IAP_CONTR,#60H
SJMPEXIT
CLR_EXIT:CLR TI
EXIT:RETI;中止回来
END
用STC的下载软件,挑选其间自定义下载
其详细设置如下图: