单片机“朝花夕拾”系列——乐创增强型51单片机讲义序

本来想的是认认真真地做一部ARM内核的MCU教程和文档,这个入口最好的芯片切入口就是STM32。然而最不凑巧的是,现在STM32无论哪一个型号都是一“芯”难求。以至于我Layout好的开发套件资料,又被藏进了硬盘的最深处。寻寻觅觅了好久,我每天一有时间就在网上寻找各种适合学习的芯片,其中不乏有iMxRT系列,GD32系列等等主流的M4内核芯片。经过长期的寻觅,我发现现有的这些ARM-Cortex M芯片大致可以分成两类,第一类是存在了很长时间的一线大厂的芯片,如iMXRT,LPC,ATSAMS等,这一类芯片是长期独立于STM32这种体系存在的,因此开发流程和库函数等和STM32大相径庭,但是考虑到性价比完全比不上涨价之前的意法半导体同价格产品,因此暂时弃之;另一类是意法半导体涨价之前就已经存在,涨价之后由幕后走向台前的类“STM32”芯片,这一类芯片除了将STM32换成了GD32,HK32之外,其余的基本都和STM32 Pin to pin兼容,软件开发也与STM32大同小异。这里补充一点,如果等我们这个“朝花夕拾”系列做完,STM32价格还是这么高,我就真的使用GD32来讲解了。

图1 “琳琅满目”的XX32

由上述内容可以看出,STM32的涨价对于我最早的规划来说,其实是有很大影响的,就在我苦苦寻找之际,有天上午,我本来要搜索意法半导体(ST)的,结果手抖了多打了一个C,紧接着,一个熟悉的网站映入眼帘。“要不做一期51单片机吧”一个念头从我脑中闪过。当然,这个51单片机并不是我们很早之前熟悉的那款,而是51单片机的魔改版或者说增强版,那么,这个到底是什么单片机呢?当然还是51单片机。

图2 不解释

其实我做增强型51单片机教程的决定,并不是那么随意的做出的。我前面早就说过,单片机终究是单片机,一块可以被我们使用的芯片而已。那么我们选用它的原因无非就是性价比,就比如我们使用的这个芯片STC8A8K64S2A12,它是一款内置24MHz高速晶振,有4个串口,5个定时器,12位15通道的ADC,IIC和SPI等外设,8KB SRAM和64K flash的1T超高速51单片机。最重要的是,它的价格才4元左右(现在价格小批量涨到了7元左右)。可能有些读者印象中的51单片机外设还是那种带着74HC573和八段数码管动态扫描的老掉牙的算法,在这个增强型的8位内核的单片机上,扩展一些如SPI LCD,RTC,FLASH甚至是WIFI模组完全没有任何问题,因此我首先将开发板设计成了一个可以远程操作和远程控制的产品,因为以后我们的编程工作中,网络内容肯定会接触地越来越频繁。

图3 增强型51单片机资源

然而,我最焦虑的一个问题就是,51单片机的开发语言C51和标准的C语言是不一样的,内部用了很多关键词,如只能用sfr定义的一些特殊功能寄存器等。如果使用C51写程序,确实在移植的时候会有很多地方需要修改。因此,我又自己仿造STM32固件库写了一个51单片机的固件库,目的是将C51的关键词减到最少,或者只将其限制在程序的最底层。

图4 51单片机固件库调试

这个“增强型51单片机教程”被我归类到了“朝花夕拾”系列,为什么以“朝花夕拾”命名呢?回顾我第一次接触单片机到现在已有将近15年,在这15年间的前4年是学校生涯,在这4年的“朝阳时光”里,我自学了51,AVR,MSP430,STM32等单片机,这些单片机的学习对我的工作技能其实是有很大帮助的,但是不得不承认,对于它们的学习,只不过走马观花,并没有一个深入的研究。因此希望借助这一套系列教程,再来审视一下这些“大清早的花朵”。

最后,我觉得这一套视频教程适合两类人群,一类是零基础的初学者,增强型51单片机有着51单片机传统的简单,因此特别容易上手;第二类人群是具有基础的同学,再回来看一下51单片机,你一定会有提升的。

《乐创C语言讲义》很成功,这也离不开大家的支持,我也会继续推出优秀的作品,一如既往地服务大家。

(0)

相关推荐

  • 视频教程 | 手把手教你学 ARM-STM32(李想主讲)

    EEWORLD 电子资讯 犀利解读 技术干货 每日更新 今天为大家推荐学习STM32的经典视频教程<手把手教你学ARM-STM32>,这部教程通俗易懂,内容详实,思维方法独到,授课风格诙谐 ...

  • UC头条:STM32基于标准库函数和HAL库编程差异

    本文目的是以串口通信来简要分析STM32使用标准库函数和HAL库函数编程的差异. 目录 (一)开发方式 1.配置寄存器 2.库函数 3.HAL库 (二)库函数与HAL库对比 1.串口通信实验 2.库函 ...

  • 初涉STM32之浅谈时钟使能问题

    声明信息 作为一个STM32的菜鸟级人物,我刚开始接触STM32时,其实和当年开始学习51单片机的心理是一样的.茫然,谁说不是呢?但是,正常的学习途径无非就是看书,然后敲代码,最后烧程序,有问题就ch ...

  • 我在高职教STM32(无论怎么封装终究是操作的还是寄存器)06初识STM32固件库

    https://m.toutiao.com/is/J48Arsu/ (无论怎么封装终究是操作的还是寄存器) 大家好,我是老耿,高职青椒一枚,一直从事单片机.嵌入式.物联网等课程的教学.对于高职的学生层 ...

  • 增强型51单片机扩展方式

    文/Edward 大家是否思考过一个问题,为什么现在的51单片机在做宣传的时候,不外乎都是称作为"增强型51单片机"?与传统的51单片机相比,究竟哪些地方得到了扩展? 在回答这个问 ...

  • 如何看待增强型51单片机?

    文 / Edward  1  辩证地看待51内核单片机 要回答这个问题,首先需要来看一下传统的51单片机.在有些文章或者书本中,对于51单片机的态度是全面否定的,一旦听到某人要学习或者使用51单片机, ...

  • 增强型51和传统51单片机外设操作的区别

    文/Edward 前面的内容,我们从传统的51单片机出发,从硬件的基础上,一步步衍生出了增强型51单片机所增强的地方.现在我们可以清楚地了解,增强型51单片机对比传统的51单片机,增强的地方在于存储器 ...

  • 51单片机——增强型PWM,使用自带PWM发生器

    0. 序 之前用定时器做了模拟PWM输出,得到的1k左右波形还行,到10k往上波形就特别难看,又是跳变又是长短不一.后来在参考手册上面看到stc15w4k系列自带pwm波形发生器,于是整了好久写出来了 ...

  • 一天入门51单片机

    本套教程共3节课程,熟悉这3节课程的话,你已经入门51单片机了. 下面是内容正文 单片机学习的第一步,什么是单片机最小系统? 我来打个比喻吧. 我们都知道,人的大脑是可以控制眼耳口鼻,手脚,全身等等, ...

  • 51单片机的存储空间梳理

    文/Edward我们在学习传统的MCS-51单片机的时候,一定学习过51单片机的存储结构.传统的MCS-51存储器有三个空间,分别是片内RAM(内部数据存储器).片外RAM(外部扩展的数据存储器) 和 ...

  • 51单片机 4个独立按键控制LED灯 (protues仿真)(C语言版)

    一.思路及相关问题 1.逻辑思路: 当按下key1时 led1亮起来 因为按下去具有瞬时性不用while,用if语句,当松开时,用while(!key1) ,函数调用. 先在脑海里想象它的大致运行过程 ...

  • 在51单片机上跑RTOS有没有意义?

    最近看见我的一个技术交流群在讨论一个问题:在51单片机上跑RTOS有没有意义? 今天就来围绕51和RTOS展开讲讲. 1关于51单片机及性能和资源 51单片机可以说是我们这一代人的经典,因为它资源不是 ...

  • 51单片机+DAC0832的信号发生器Proteus仿真设计(附仿真文件+Word文档+C程序

    设计要求: 1.输出4种波形:方波.锯齿波.三角波.正弦波: 2.幅值可调节范围为2V-10V: 3.频率可调节范围为20Hz-80Hz: 设计思路: 通过Keil平台下的C语言编程,单片机控制输出的 ...