STC不断电的下载方法
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的下载软件,选择其中自定义下载
其具体设置如下图:
STC不断电下载方 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)