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

谢谢 分享很详细
页: 1 2 3 4 5 6 [7] 8
查看完整版本: 8051U全球大学计划实验箱,大国风范 !