l64481000
发表于 2024-7-11 04:37:33
本帖最后由 l64481000 于 2024-7-11 04:38 编辑
STC8051U分享《00 - 开发环境搭建》
参考手册P85/1184,
用户需要:
(1)安装KEIL MDK5 环境,
(2)安装C251的工具包,
(3)下载stcai-isp-v6.94G.zip,解压后,在Keil仿真设置-一键添加STC相关的头文件到KEIL MDK5 中
可能会遇到的问题:
解决方法:
这是因为exe没有做window系统那个巨量文件兼容,由于索引文件数量超过一定限制,无法找到其他盘符。
所以我们需要清理一下,如上桌面,那就是桌面文件数量太多了,清理一下桌面,减少文件个数。
正常如图:
l64481000
发表于 2024-7-11 05:06:27
本帖最后由 l64481000 于 2024-7-11 05:10 编辑
STC8051U分享《01 - 开始点灯》
参考手册P325/1184开始的相关资料,
第一个工程往往是最重要的,笔者会特别详细分享过程,希望能给刚8051U到手又无从下手的像我一样的小白的一点点经验:
一、《00 ...》做完之后,就可以以STC8051U为核心设备(Device)建立工程:
选择STC MCU Database ,筛选8051关键字,可以选择对应的STC8051U核心(这里按指令需要可选32bit或者8bit)牛的这一点,无缝切换
二、接下来是建议的option配置:
这是官方推荐,当然也可以按需要来选择内存模式
三、配置一下hex生产和格式
四、新建一个点灯工程(文末可以下载例程哦)
五、例程注意事项
注意到原理图中硬件设计了电源使能,编程时,需要将P40置为低,
注意主频的设置,推荐一样,当然可以试试不一样会发生什么
六、下载步骤
这里以强大的USB直接下载为例:8051U可以通过USB直接下载,免去下载模块
(1)选择芯片,
(2)打开要烧录的程序文件,
(3)设置一下IRC频率,
(4)最重要,最关键!(P32 = 0 的时候给MCU供电,就能进入USB下载)
(5)下载/编程,
七、观察实验效果
173
备注:这个USB下载,只!只需要用到J3
l64481000
发表于 2024-7-11 05:18:50
STC8051U分享《02 - 定时器中断》
参考手册P412/1184开始的相关资料,
定时器是较为常用的功能,用来做板级系统调度是合适的,因此作为第二个例程来与大家分享:
如何建立工程,要特别参考《01...》,新手像我一样的,必须请亲自走一次流程,并接受这个过程。
这个例程源码大部分参考了STC32G的例程,大家直接看效果:(文末会有例程下载)
程序烧录后,用示波器探测P00和P01
对应500Hz和1500Hz
在程序上,硬件实现了预期的效果!
l64481000
发表于 2024-7-11 05:33:43
本帖最后由 l64481000 于 2024-7-11 05:59 编辑
STC8051U分享《03 - 595数码管》
这个例程可以是单纯对硬件理解和对595器件的驱动,
【分析硬件】
在硬件上,需要控制P32 P34 P35
以及简单理解下595,注意:硬件上没有设置输出上拉电阻,切勿使用595A来强行替代!!
按上图测试焊接时,需要选用595或者595D,阉割版的595A是开漏输出的:
74HC595有三个要点:
(1)特殊引脚:RCK/STCP,PIN12,存储寄存器时钟输入,上升沿时移位寄存器的数据进入数据存储寄存器,下降沿时存储寄存器数据不变。
(2)特殊引脚:SCK/SHCP,PIN11,移位寄存器时钟输入,该引脚上升沿时数据寄存器的数据进行移位。
平常把这两个引脚的电平置低,需要移位时就把SH_CP拉高一下,需要锁存时就把ST_CP引脚拉高一下
(3)SER/DS/DATA,PIN14,串行数据输入
所以新数据从这里进去,溢出的数据自动丢给PIN9
那么需要写595驱动程序 1:
写595驱动程序 2:
还需要注意什么呢:
注意到,数据是U10溢出给U11的,因此先写段,再写位,最后并口输出!
观察实验效果:
174
l64481000
发表于 2024-7-11 05:44:36
本帖最后由 l64481000 于 2024-7-11 05:46 编辑
STC8051U分享《04 - 蜂鸣器》
这个是硬件上要理解无源蜂鸣器的驱动方法,
需要先看下数据手册:(手册也在例程zip中含有,也有对应物料编号)
手册说需要一个占空比为50%的方波来控制,因为它是无源的,容易理解,
这个图的意思是,2.7kHz的时候,最响!
那么程序就写一个50%占空比的PWM波形,来驱动即可。
注意下新旧原理图差别:
新:旧:
其他都很常规,就简单说一下这个值怎么算:
8051U的手册中,有PWM的公式,这里笔者没有设置PSCR寄存器,复位值就是0,算的应该是8888.888888....
观察实验效果:
175
l64481000
发表于 2024-7-11 05:50:36
STC8051U分享《05 - 矩阵键盘》
这个比较简单,有了前面595的基础,直接上效果:
176
l64481000
发表于 2024-7-11 05:52:51
STC8051U分享《06 - ADC键盘》
这个也比较简单,有了前面595的基础,参考STC32G的例程,直接上效果:
177
对了,要注意下,ADC这里要复用引脚:
l64481000
发表于 2024-7-11 05:57:59
本帖最后由 l64481000 于 2024-7-11 06:01 编辑
STC8051U分享《07 - NTC测温》
这个也比较简单,有了前面595的基础, ADC引脚记得复用设置,直接上效果:
(对应的器件,这里用的是B值3950的,涉及到后边拟合函数计算温度值)
注意了!!!
原理图,P51要供电,需要设置推挽输出!!
和官方以往例程不同的是,笔者这里用函数拟合法,并非查表法,这里需要注意下:
观察实验效果:
178
l64481000
发表于 2024-7-11 06:12:30
板载的功能,我会按时间节点,陆续分享对应的例程。
今天还想跟大家汇报一下硬件上的改动,和各个节点的电压测量:
关于D14并联肖特基二极管的功效:
(去除D14)
(从上电到SYS-MCU到达3V3是存在爬坡时间的)
焊接上之后,可以改良优化这个,
使得当MOS没有完全导通时,
优先通过肖特基二极管给系统供电。
haiyang201
发表于 2024-7-12 11:28:34
谢谢 分享很详细