STC15W204S串口通讯,设置自动热加载程序代码(自动下载代码)

stc15w204s体积非常的小,只有8个引脚,非常的迷你,它就是15系列的缩水版,引脚好似从芯片中间横腰切断了一样,定义排序和完全版本是相同的.

如此迷你,对我这种强迫症的人来说就是一个福音啊,网上找了下没发现对应的程序demo,官方给的demo也不好使不好用.

此次实验需求是实现单片机的串口通讯功能,实现串口间隔几秒发送一些字符串到PC方

本次实验采用的电压是5V,晶振频率设置是采用片内RC晶振11.0592MHz

最后实现编译HEX文件后自动复位并下载代码,也就是串口通讯收到魔术值0xAA后,复位到ISP监控区从而实现冷上电写入程序的效果

实物图,非常的迷你

原理图

单片机最小系统和串口下载程序示意图

#include <intrins.h>
// #include <stdio.h>
// stc15w204s是最小化的芯片只有8脚,是一个缩水版本,注意虽然本程序是跑在stc15w204s上的但是头文件依然用的是这个"完整版的"15系类头文件
#include <STC15F2K60S2.H>
// 定义常用的语句
typedef     unsigned char   u8;
typedef     unsigned int    u16;
typedef     unsigned long   u32;
//串口发送忙标志位
bit busy = 0;
//当前串口速率和内部RC晶振频率是9600bps@11.0592MHz,1T
//这个芯片没有定时器1,只有0和2
void UartInit(void) {
	//8位数据,可变波特率
	SCON = 0x50;
	//串口1选择定时器2为波特率发生器
	AUXR |= 0x01;
	//定时器2时钟为Fosc,即1T
	AUXR |= 0x04;
	//内部RC时钟设置为11.0592的定时器2初值设置
	//设定定时初值
	T2L = 0xE0;
	//设定定时初值
	T2H = 0xFE;
	//启动定时器2
	AUXR |= 0x10;
	//允许UART串口中断
	ES = 1 ;
	//允许总中断
	EA = 1 ;
}
//软件延时,肯定不止1s,演示用
void delay1s() {
	unsigned char i, j, k;
	_nop_();
	_nop_();
	i = 43;
	j = 6;
	k = 203;
	do {
		do {
			while (--k);
		}
		while (--j);
	}
	while (--i);
}
// 中断入口
void Uart() interrupt 4 {
	// 接收完毕导致的中断
	if(RI) {
		// 判断是复位到ISP的串口指令
		if(SBUF == 0xAA) {
			//立即关闭串口中断,防止延迟期再次进入中断
			ES = 0;
			//延迟一秒后重启单片机到isp区
			delay1s();
			//复位到ISP
			IAP_CONTR = 0x60;
			//while(1);
			return;
		}
		RI = 0;
		SBUF = SBUF;
	}
	// 发送完毕中断
	if (TI) {
		// 清零发送中断标志位
		TI = 0;
		// 
		busy = 0;
	}
}
//打印字符串
void printString(char *p) {
	while(*p) {
		busy = 1;
		SBUF = *p++;
		while(busy);
	}
}
//主程序入口
void main(void) {
	// 计数器
	u8 tmp = 0x00;
	// 定义字符串
	char *s = "CSDN!\r\n";
	UartInit();
	while(1) {
		//观察LED电平翻转
		P33=!P33;
		printString(s);
		delay1s();
		tmp++;
	}
}

如图是设置自动热加载编译后的二进制代码的方式

点击3的按钮就自动下载了

串口能收到字符CSDN

相关推荐
<p> <strong><span style="font-size:24px;">课程简介:</span></strong><br /> <span style="font-size:18px;">历经半个多月的时间,</span><span style="font-size:18px;">Debug</span><span style="font-size:18px;">亲自撸的 “企业员工角色权限管理平台” 终于完成了。正如字面意思,本课程讲解的是一个真正意义上的、企业级的项目实战,主要介绍了企业级应用系统中后端应用权限的管理,其中主要涵盖了六大核心业务模块、十几张数据库表。</span><span></span> </p> <p> <span style="font-size:18px;">其中的核心业务模块主要包括用户模块、部门模块、岗位模块、角色模块、菜单模块和系统日志模块;与此同时,</span><span style="font-size:18px;">Debug</span><span style="font-size:18px;">还亲自撸了额外的附属模块,包括字典管理模块、商品分类模块以及考勤管理模块等等,主要是为了更好地巩固相应的技术栈以及企业应用系统业务模块的开发流程!</span><span></span> </p> <p> <br /> </p> <p> <span style="font-size:24px;"><strong>核心技术栈列表</strong></span><span style="font-size:24px;"><strong>:</strong></span> </p> <p> <br /> </p> <p> <span style="font-size:18px;">值得介绍的是,本课程在技术栈层面涵盖了前端和后端的大部分常用技术,包括</span><span style="font-size:18px;">Spring Boot</span><span style="font-size:18px;">、</span><span style="font-size:18px;">Spring MVC</span><span style="font-size:18px;">、</span><span style="font-size:18px;">Mybatis</span><span style="font-size:18px;">、</span><span style="font-size:18px;">Mybatis-Plus</span><span style="font-size:18px;">、</span><span style="font-size:18px;">Shiro(</span><span style="font-size:18px;">身份认证与资源授权跟会话等等</span><span style="font-size:18px;">)</span><span style="font-size:18px;">、</span><span style="font-size:18px;">Spring AOP</span><span style="font-size:18px;">、防止</span><span style="font-size:18px;">XSS</span><span style="font-size:18px;">攻击、防止</span><span style="font-size:18px;">SQL</span><span style="font-size:18px;">注入攻击、过滤器</span><span style="font-size:18px;">Filter</span><span style="font-size:18px;">、验证码</span><span style="font-size:18px;">Kaptcha</span><span style="font-size:18px;">、部署插件</span><span style="font-size:18px;">Devtools</span><span style="font-size:18px;">、</span><span style="font-size:18px;">POI</span><span style="font-size:18px;">、</span><span style="font-size:18px;">Vue</span><span style="font-size:18px;">、</span><span style="font-size:18px;">LayUI</span><span style="font-size:18px;">、</span><span style="font-size:18px;">ElementUI</span><span style="font-size:18px;">、</span><span style="font-size:18px;">JQuery</span><span style="font-size:18px;">、</span><span style="font-size:18px;">HTML</span><span style="font-size:18px;">、</span><span style="font-size:18px;">Bootstrap</span><span style="font-size:18px;">、</span><span style="font-size:18px;">Freemarker</span><span style="font-size:18px;">、一键打包部署运行工具</span><span style="font-size:18px;">Wagon</span><span style="font-size:18px;">等等,如下图所示:</span><span></span> </p> <img src="https://img-bss.csdn.net/201908070402564453.png" alt="" /> <p> <br /> </p> <p> <br /> </p> <p> <br /> </p> <p> <span style="font-size:24px;">课程内容与收益</span><span style="font-size:24px;">:</span><span></span> </p> <p> <br /> </p> <p> <img src="https://img-bss.csdn.net/201908070403452052.png" alt="" /> </p> <p> <span style="font-size:18px;">总的来说,</span><span style="font-size:18px;">本课程是一门具有很强实践性质的“项目实战”课程,即“</span><span style="font-size:18px;">企业应用员工角色权限管理平台</span><span style="font-size:18px;">”,主要介绍了当前企业级应用系统中员工、部门、岗位、角色、权限、菜单以及其他实体模块的管理;其中,还重点讲解了如何基于</span><span style="font-size:18px;">Shiro</span><span style="font-size:18px;">的资源授权实现员工</span><span style="font-size:18px;">-</span><span style="font-size:18px;">角色</span><span style="font-size:18px;">-</span><span style="font-size:18px;">操作权限、员工</span><span style="font-size:18px;">-</span><span style="font-size:18px;">角色</span><span style="font-size:18px;">-</span><span style="font-size:18px;">数据权限的管理;在课程的最后,还介绍了如何实现一键打包上传部署运行项目等等。如下图所示为本权限管理平台的数据库设计图:</span> </p> <p> <span></span> </p> <p> <br /> </p> <p> <img src="https://img-bss.csdn.net/201908070404285736.png" alt="" /> </p> <p> <br /> </p> <p> <br /> </p> <p> <br /> </p> <p> <span style="font-size:18px;"><strong>以下为项目整体的运行效果截图:</strong></span> <span></span> </p> <img src="https://img-bss.csdn.net/201908070404538119.png" alt="" /> <p> <br /> </p> <p> <img src="https://img-bss.csdn.net/201908070405002904.png" alt="" /> </p> <p> <br /> </p> <p> <br /> </p> <p> <img src="https://img-bss.csdn.net/201908070405078322.png" alt="" /> </p> <p> <br /> </p> <p> <img src="https://img-bss.csdn.net/201908070405172638.png" alt="" /> </p> <p> <br /> </p> <p> <img src="https://img-bss.csdn.net/201908070405289855.png" alt="" /> </p> <p> <br /> </p> <p> <img src="https://img-bss.csdn.net/201908070405404509.png" alt="" /> </p> <p> <br /> </p> <p> <img src="https://img-bss.csdn.net/201908070405523495.png" alt="" /> </p> <p> <br /> </p> <p> <br /> </p> <p> <br /> </p> <p style="text-align:left;"> <span style="font-size:18px;">值得一提的是,在本课程中,</span><span style="font-size:18px;">Debug</span><span style="font-size:18px;">也向各位小伙伴介绍了如何在企业级应用系统业务模块的开发中,前端到后端再到数据库,最后再到服务器的上线部署运行等流程,如下图所示:</span><span></span> </p> <img src="https://img-bss.csdn.net/201908070406328884.png" alt="" /> <p> <br /> </p>
©️2020 CSDN 皮肤主题: 1024 设计师:白松林 返回首页