当前位置:首页 > > 21ic电子网
[导读]出品 21ic论坛 yangjiaxu网站:bbs.21ic.com前言:大家好,我是豆包。前两天从我兄弟那里得到了一款穿了“衣服”的51开发板,说真的,能把开发板做成这样,真的是很用心,很细心。之前,我还自己建立个公众号,做的是关于51单片机开发的经验分享,可能是因为当时能力有...

出品 21ic论坛 yangjiaxu
网站:bbs.21ic.com
前言:大家好,我是豆包。前两天从我兄弟那里得到了一款穿了“衣服”的51开发板,说真的,能把开发板做成这样,真的是很用心,很细心。之前,我还自己建立个公众号,做的是关于51单片机开发的经验分享,可能是因为当时能力有限,可能也没有耐性,最后,公众号也没怎么维护,也没有继续发表文章了;论坛是个好地方,前段时间有个做社区的朋友给我打电话,做了一下用户回访,我们聊了很多,说现在直播和公众号真的很强,给社区论坛这种平台冲击不小,我跟她说,论坛长久看来是最好的,它可以承载很多,很多工程师的经验和快乐都在这里。当需要查找资料,遇到技术难题了,都可以在论坛里找到答案。
今天,借此契机,把之前想做而没做完的事情做好吧,在论坛和公众号一起为大家分享关于51单片机的开发经验与心得,虽然没有大佬们做的那么细致,但是我也有一些自己在开发中遇到的问题,BUG或者研发中的启发,都可以与大家分享,因为,研发就是互相学习,互相进步的一个过程,在这个圈子里,不仅有制作出来产品的成就,还有和大佬们畅谈和学习的快乐,好了,言归正传吧,开启我们的基于学电开发板的51单片机开发之旅。
51单片机,其实很多工程师的入门工具都是它,51因为其是八位单片机,寄存器较少,采用C语言开发,程序通俗易懂,而且开发起来较为简单,所以,备受高校实验室和企业工程师的喜爱。
之前的51单片机,在工程师眼里,就是封装“笨重”,运行速度慢,不带仿真,而且调试基本只能靠printf,蜂鸣器 LED来看程序运行到哪里了。虽然胜在便宜,但是企业上用的还是不太多。
现在的51单片机可不一样了,就拿学电开发板中运用的MCU来说,STC8G2K64S4:64k Flash, 2k 256 RAM, 35MHz主频, 内置EEPROM,硬件SPI/I2C,所有IO可做PWM,而且本身芯片就是个仿真芯片,可以通过STC-ISP来配置成仿真芯片,如图1所示,配置完成之后,就可以通过keil进行硬件仿真了。
精品工程师测评:一块值得拥有的学习利器图1 配置仿真模式
软件方面配置如图2所示,首先选择仿真工具,直接选择STC Monitor-51 Driver这个就好,然后点击setting,会弹出串口号设置和波特率,串口号通过电脑设备管理器查找,确定是与开发板相连的端口号才可以,波特率是115200,然后就是跟正常仿真操作一致了,可以打断点,单步运行等等操作。精品工程师测评:一块值得拥有的学习利器图2软件方面配置仿真的流程
接下来介绍一下学电开发板,学电开发板拿到手之后,真的眼前一亮,虽然瞅着小巧,但是功能和性能都一点不差劲。先看看开发板的样式,如图3,图4所示。精品工程师测评:一块值得拥有的学习利器图3 学电51开发板正面
精品工程师测评:一块值得拥有的学习利器图4 学电51开发板背面
开发板外设资源如下:    l 红黄绿 3 个发光二极管;    l 1 个电源指示发光二极管(红);    l 2.0 寸 IPS 液晶屏(320*240像素);    l 4 个按键(3 个用户自定义按键、1 个硬复位重启按键);    l 背面扩展IO引出;
接下来介绍一下硬件的内部结构,主要内部电路分为几个部分,首先是供电电路(包含锂电池充电电路和电压检测电路)、串口通讯和下载电路、外设电路(包含存储、按键、LED、传感器、蜂鸣器和TFT液晶屏等)。具体结构框图如图5所示。精品工程师测评:一块值得拥有的学习利器图5 学电51开发板硬件结构框图
这里值得学习的是只要使用 USB连接电脑,CH340 就开始工作了,不受电源开关控制。但是这部分电路建议可以做成自动下载电路(免冷启动电路),这样的话会方便很多,也不用频繁重启硬件。
到此,硬件基本就介绍的差不多了,小结一下:学电开发板电路设计的比较人性化,电路考虑的比较全面,尤其是对LDO1电源通过一个按键控制实现了MCU重启功能,其次是USB转串口下载程序的那部分是不受LDO1控制,这样不会因为电源重启导致串口突然断开从而导致烧录失败的问题发生。最后是选择的TFT液晶屏是8080总线接口的,因为STC的MCU一般都会有一组8位的IO作为并口使用,这样会提升屏幕的刷新速度。
接下来讲一下环境搭建和如何开发吧。
首先下载个KEIL C51,然后需要有STC-ISP软件(这个是专门给STC下载程序用的,而且在这个软件上还能下载很多关于STC MCU开发的资源)接下来就是通过STC-ISP软件把 STC 单片机的头文件也添加进去,保证编译器可以支持STC的MCU。
接下来就是再KEIL C51中创建工程,最后就是和正常开发一样啦,具体可以参考学电的快速入门手册,非常全面。  02-快速入门手册.pdf (1.36 MB, 下载次数: 0)最后,分享一下用学电开发板的点灯视频吧,使用学电开发板驱动WS2812共24位,代码如下:

void main(){unsigned char i, j, t = 1; PIN_MODE_CONFIG(P1, PIN_5, PIN_MODE_STANDARD); WS2812_IO = 0;while (1) {switch(t) {case 1:for (i = 1; i <= 24; i ) {for (j = 0; j < i; j ) { Send_WS2812((unsigned long)0xFF0000); }for (; j < 24; j ) { Send_WS2812((unsigned long)0x000000); } Delay100ms(); } t = 2;break;case 2:for (i = 1; i <= 24; i ) {for (j = 0; j < i; j ) { Send_WS2812((unsigned long)0xD2691E); }for (; j < 24; j ) { Send_WS2812((unsigned long)0x000000); } Delay100ms(); } t = 3;break;case 3:for (i = 1; i <= 24; i ) {for (j = 0; j < i; j ) { Send_WS2812((unsigned long)0xFFFF00); }for (; j < 24; j ) { Send_WS2812((unsigned long)0x000000); } Delay100ms(); } t = 4;break;case 4:for (i = 1; i <= 24; i ) {for (j = 0; j < i; j ) { Send_WS2812((unsigned long)0x008000); }for (; j < 24; j ) { Send_WS2812((unsigned long)0x000000); } Delay100ms(); } t = 5;break;case 5:for (i = 1; i <= 24; i ) {for (j = 0; j < i; j ) { Send_WS2812((unsigned long)0x00FFFF); }for (; j < 24; j ) { Send_WS2812((unsigned long)0x000000); } Delay100ms(); } t = 6;break;case 6:for (i = 1; i <= 24; i ) {for (j = 0; j < i; j ) { Send_WS2812((unsigned long)0x0000FF); }for (; j < 24; j ) { Send_WS2812((unsigned long)0x000000); } Delay100ms(); } t = 7;break;case 7:for (i = 1; i <= 24; i ) {for (j = 0; j < i; j ) { Send_WS2812((unsigned long)0x800080); }for (; j < 24; j ) { Send_WS2812((unsigned long)0x000000); } Delay100ms(); } t = 1;break; }    }
https://www.bilibili.com/video/BV1GL411x7hf/相关附件请点击阅读原文内查看
---------------------
作者:yangjiaxu此文章来自于21ic网站,著作权归21ic所有,未经允许禁止转载。
21ic电子网

扫描二维码,关注更多精彩内容

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭