单片机开发_单片机开发板 - CSDN
精华内容
参与话题
  • 单片机开发入坑指南

    千次阅读 2019-01-14 19:44:34
    什么是单片机 单片机英文名Microcontrollers,即微控制器,英文简称MCU。 单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口...

    入坑前了解

    什么是单片机

    单片机英文名Microcontrollers,即微控制器,英文简称MCU。
    单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统。
    简单点说单片机就好比是个微型电脑,可以接收外部消息,可以处理消息,可以向外部反馈。而我们开发单片机就是从程序角度来实现消息接收、处理、反馈等功能。

    为什么用单片机

    • 体积小:单片机就是颗芯片,一般都不大,甚至有些单片机需要用放大镜才能看得清;
    • 功耗低:一般的单片机大多工作电压在3.3V或5V,工作电流在几到上百毫安左右。相比手机或电脑处理器来说功耗是非常低的了;
    • 价格便宜:常见的单片机大多价格在几块钱到几十块钱左右;
    • 功能多:单片机集成的功能较多(虽然不一定强),可以大大简化电路设计,变相节省成本;

    常见的单片机

    • 51/52系列单片机;
    • STM系列单片机(ST意法半导体)(它家的STM32系列低端的单片机也可以选国产的http://cn.gigadevice.com/product-category/1.html?locale=zh_CN);
    • AVR系列单片机(ATMEL);
    • PIC系列单片机(Microchip);
    • LCP系列单片机(NXP恩智浦);
    • MSP430系列单片机(TI德州仪器);
    • 瑞萨电子的单片机;

    入坑学习涉及内容

    内容总览

    这里写图片描述

    内容说明

    一般来说初学单片机最好找个教程入门(书籍、视频等)。大多数单片机的入门书籍中上图的东西或多或少都会涉及。
    入门书籍包含内容一般如下:

    • C语言基础讲解(一般不包含指针,但基础的学习中也用不到;早些年的书中可能不是讲C语言的,而是讲汇编的);
    • 基本功能及外设(这部分所有单片机入门书籍中都有,入门主要学的就是这个);
    • 上层软件库(有些入门书籍中把这部分当作单片机开发的高级功能部分);
    • 电子基础(一般穿插在例程中电路说明部分,这部分对于写代码的人来说需要了解的知识很简单);
    • 系统硬件组成(一般会在入门书籍最开始或是功能及外设讲解前做简单说明,或是直接用在例程中);
    • 程序设计(这个有些入门书中有,有些书中没有);

    上面几块内容中C语言是单片机开发的开发的基础,但是单片机开发中用到的C语言很简单的,不用刻意去学习,唯一需要深入一点的知识就是指针了 ,但常用的也就一个函数的指针
    基本功能及外设是重点,学单片机无非就是学习这个,所有入门书籍大部分内容讲的就是这个。这块内容就是让你知道单片机具体可以做些什么,怎么做;
    程序设计这块一般入门书籍要不就是非常简单的讲一下,要不干脆就没讲,这块内容在入门学习单片机时也没什么用。但你如果不懂这块,就算其它几块都学好了,一旦正式进行项目开发你也许就不知道该从何下手了,很大的原因可能就是你不知道该怎么来协调单片机中各个功能外设,怎么来处理用户事务。这就需要好好做需求分析,好好设计程序逻辑了。这块可以参考https://blog.csdn.net/hello__xs/article/details/60142492,先有个简单的了解,更详细的内容可以在需要的时候自行百度。

    学习捷径

    这里写图片描述
    别做梦了!学习哪有什么捷径!
    开发单片机是有那么一点点考验综合能力的(还是比很多开发工作要简单的),想要学好只能别偷懒,动起手来,动起脑来。

    总结

    如果你不是有意向从事电子产品开发,对产品体积、功耗、价格等没有要求,或是对功能有特殊要求的话,不推荐学单片机。

    展开全文
  • 单片机开发总结

    2019-09-27 10:25:28
    马上秋招了,复习一下单片机。 文章目录序言概述调研芯片的应用领域收集相关资料 序言 大二的时候玩过单片机,马上秋招了,linux只是会用,不会移植,看不懂内核,看不懂uboot,C++也没精通,QT也是半吊子,python...

    马上秋招了,复习一下单片机。

    序言

    大二的时候玩过单片机,马上秋招了,linux只是会用,不会移植,看不懂内核,看不懂uboot,C++也没精通,QT也是半吊子,python也不是我的职业方向,只能把简单的单片机拿过来复习一下,希望在招聘的时候底气能够足一点。
    找工作是一个原因,除此之外,我还想认真地学一下UCOS,毕竟一个搞嵌入式的连一个RTOS都没接触过,说出去岂不是让人笑话。
    本篇文章并不会有什么细节,如果有,那也只是为了辅助介绍思想,更多的是一种单片机开发流程的总结与感悟。具有很强的通用性。所以完全可以当作一篇茶余饭后的小文章来看看。

    概述

    假如有一天,你的老板给你一块你从来没用过的单片机让你基于这款单片机开发出某某产品,我们该怎么办呢。这种情况,我相信在这个技术更新如此之快的时代是时常发生的情况,作为技术人,我们必须有一套应对这种情况的方法,这篇文章就是介绍一下我个人对这种情况的处理办法,不成熟是肯定的,有错误也是肯定的,毕竟我才大三。我大概总结了一下,有如下几个步骤:调研芯片的应用领域、收集相关资料、确认芯片内核架构、了解芯片系统结构、购买开发板与仿真器、组织工程文件、选择并配置开发环境、编写应用程序、测试应用程序、根据用户反馈维护并优化应用程序。我们下面将会挨个介绍上面的每一个步骤。

    注1:编写应用程序、测试应用程序、根据用户反馈维护并优化应用程序三点将不会在本篇文章中涉及,后面我会有一个系列的文章来记录我的UCOSIII学习历程,在那里将会有大量的应用示例

    注2:下面的步骤介绍是以STM32F103RBT6为例进行的

    调研芯片的应用领域

    这个步骤主要是为了了解一种芯片的优点与缺点,它之所以适用于某个领域,一定是在这些领域有某些独特的优势,之所以不适合其它领域也一定是在这些领域有一些劣势。那么如何调研呢?本人作为学生,没有系统地学习有哪些调研方法,只能简单地根据浅薄的经验来介绍一下几种常用的方法。

    • 百度:最简单粗暴的方法,基本上得不到什么有用的信息
    • 去各种相关的电子论坛:这些论坛里面更多的是具体的技术细节的探讨,以及某些技术的行业应用,你可以通过这些行业应用去大概了解芯片的应用领域
    • 去询问大佬:这其实是最高效的方法,如果你的身边有相关领域的大牛,直接去向他们咨询,这将会帮你节省很多时间,同时,友情提醒,不要轻信同水平人的言论。
    • 去看大佬的博客:这其实和上一点效果差不多,由于大牛不常有,所以才需要这种方法。

    总之,尽可能地去获取更多的高质量的信息,保证你在研究这块芯片之前已经对它有了足够的市场认知

    收集相关资料

    如果我们确定了某类芯片适合我们的项目,那么我们下一步就需要去研究它了,古语有言,巧妇难为无米之炊。我们在学习之前要先收集许多许多的资料,这些资料可以以视频、电子书、纸质书、代码、论坛、论文等多种形式而存在,下面我以我在复习STM32的过程中资料的收集情况来进行简要介绍。

    1. 手册型的
      主要包括M3权威指南(中英文)、标准库参考手册(中英文)、芯片数据手册、应用参考手册等。
      在这里插入图片描述

    2. 教材型的
      我这里主要使用了两方面的教材,一个是老师的PPT,一个是一些开发板公司的PDF教材,如下所示,当然如果有钱,也可以去买一些纸质版的教材。
      在这里插入图片描述
      在这里插入图片描述

    3. 视频型的
      我最近看视频不多了,感觉速度太慢而且信息不够,一般只有入门某个领域的时候才会看视频,我当时入门单片机的视频是郭天祥的《十天精通单片机》。

    4. 代码型的
      其实对于单片机来说,不需要去看太多的代码,因为单片机的代码逻辑非常简单,没有CS专业或者嵌入式的各种算法,各种数据结构,各种框架,各种设计模式。所以,在单片机层次,只要把标准库弄熟练了,多找点实际项目练练,基本都没什么问题。

    5. 论坛型的
      这一点非常重要,我们要多去逛逛各大论坛,比如什么摩尔吧、电路城、电子工程世界、一些芯片厂家的社区、一些开发板厂家的社区等等,在里面多学习,多交流,多找几个项目自己做一做,遇到问题,可以去那里找一找。

    6. 论文型的
      关于论文,在单片机方面其实我没有怎么见到过,因为单片机实在是没有什么论文可以发,不过我们可以去看一些应用单片机来进行科学研究的论文,其实不要局限思维,多去看一些大佬写的科研论文,看看人家是怎么组织文章结构的,看看人家是如何进行研究探索的,这对提高自己的科研素养还是很有帮助的。
      Tips:如果有能力,尽量不要去看知网上的文章,因为含金量实在是太低了

    确认芯片内核架构

    这一步看似是一个很简单的步骤,实际上,它的确是很简单的步骤,芯片的内核型号,从它的手册中一翻就出来了,但是,简单并不意味着不重要,相反,它非常重要,从名字上我们就可以看出,它是整个芯片的内部核心,也就是说内核的类型直接关系到芯片的下限与上限,比如M3的内核没有MMU,这就注定它无法跑linux,所以想上linux的朋友最好选一些高端的内核,如果想跑android等带文件系统的操作系统,最好选择带MMU且主频高一点的内核(比如Cortex A系列)。我目前用的M3就只能跑一跑像UCOS这样的RTOS。总之选择芯片前一定要清楚自己的内核需求,选择合适的芯片。
    下面是《Cortex-M3权威指南(中文)》的目录

    在这里插入图片描述
    我们可以看到很多术语,要想准确地选择自己需要的内核,就需要对内核的一些常用术语有一定的认识,目前里面还有很多术语,我都不太熟悉,以期将来工作有机会再加深对这些术语概念的理解。

    了解芯片系统架构

    ARM公司开发出内核之后,很多厂商就在其内核之上进行芯片设计,本质上就是加了许多外设(如I2C,SPI,ADC/DAC等等)。不同的厂商这些外设的差别是很大的。我们需要针对某个芯片去仔细地了解它的芯片系统架构。
    芯片里面有哪些外设,这些外设之间以及与内核是如何连接的,数据信息、地址信息、控制信息都是如何传递的,地址空间是如何分配的,有哪些存储器,这些存储器的特点与大小是怎样的,有哪些下载与调试接口,有没有一些没见过但是好像很有用的外设。
    下面是STM32F10xx的系统架构

    在这里插入图片描述
    我们可以从中获取很多信息,比如有哪些外设,信息是如何传递的(手册里会有对这个架构的简单介绍),有哪些存储器,这些部件之间是如何组织的,哪些是主动单元,哪些是被动单元,我们都可以知道。

    购买开发板与仿真器

    这一步个性化就更强了,如果你会画板子的话,最好自己画一个,这样学习更深刻。如果不会,也没关系,我们去淘宝上一搜就一大堆,根据自己的需要选一个就可以了,选板子的时候尽可能选择功能多一点的,虽然可能贵一点(单片机学习板贵上天能有多贵呢?),但是学习嘛,何必在意这点小钱呢。看看调试接口是怎样的,然后附带购买仿真器,仿真器可能贵一点,如果有钱就买好一点的,没钱就买便宜的,其实无所谓。我没有买过仿真器,都是在实验室蹭的?(没办法,出身贫寒,只能这样子维持一下生活了),我旁边这个还是找我以前的队友借的。

    组织工程文件

    可以说这一步是简单的,又是困难的,简单在大部分的代码都是别人写好的,困难在你需要去对着芯片架构理解这些代码,下面是正点原子的STM32F103代码结构(Tips:其实这种代码结构只是给人看的,编译器根本不在乎你是怎么组织的,它能看见的就是一堆C文件和汇编文件以及链接脚本)。

    在这里插入图片描述
    这个工程文件(大部分单片机都可以这样分类)主要分为如下几个部分:

    • Libraries:芯片库文件,主要包含内核接口库和外设驱动库两部分
    • listing:这里面有一个.lst文件,里面包含了丰富的信息
    • Output:这里面是输出文件,包含各种中间文件
    • Project:工程文件,类似于Makefile一样的存在
    • Doc:工程文件的说明文档
    • Board:板级驱动,也就是针对你的开发板特定的驱动,在别的板子上不行
    • User:基于驱动程序的应用程序

    这是我们电脑上文件的实际存放形式,但是在keil中还有一个工程组织结构,如下图
    在这里插入图片描述
    我们看到的不叫文件夹,在keil里面叫做group,它也只是给人看的一种组织形式。我们可以向里面添加我们需要的文件

    选择并配置编译环境

    这一步,不同的开发方式,不同的开发软件,都有着不同的配置方法,但是基本思想都是一样的,我们以keil为例进行介绍

    在keil中有一个叫做魔术棒的东西,他就是用来配置编译环境的,如下所示
    在这里插入图片描述
    点开,我们会看到如下界面,我们将逐个介绍里面每一个选项卡的含义(Options for Target)
    在这里插入图片描述
    1. Device选项卡
    如下图,在这一步中,我们选择相应的目标芯片,这样keil就会根据这个芯片选择特定的编译器,我们可以通过这个选项卡知道芯片的一些信息。
    在这里插入图片描述
    2. Target选项卡
    如下图
    在这里插入图片描述
    1、指定用晶振频率,可以用于模拟调试,仅反应外部震荡频率
    2、可以选择keil自带的操作系统,一般不用
    3、系统可视文件,一般不用
    4、片外只读存储器设置
    5、片内只读存储器设置
    6、编译器选择
    7、交叉模块优化
    8、使用MicroLIB
    9、片外RAM设置
    10、片内RAM设置
    3. Output选项卡,如下图
    在这里插入图片描述
    1、输出路径
    输出路径就是在工程编译的过程中,输出这些文件的保存路径
    2、输出可执行文件名
    3、输出可执行文件
    4、输出库
    输出的是静态库,而不是动态库
    4. Listing选项卡
    在这里插入图片描述
    1、输出路径、宽高
    选择列表文件输出的文件夹。可设置文件页面的宽度、长度。
    2、输出汇编列表
    勾选上会输出汇编列表信息,如果工程中没有汇编文件,则什么也不输出
    3、C编译列表
    C编译程序列表选项,勾选上可生成.txt,.i文件
    4、链接列表
    可选择生成或者禁止生成.map文件
    5. User选项卡
    在这里插入图片描述
    1、编译运行之前运行用户程序
    2、编译之前运行用户程序
    3、编译之后运行用户程序
    4、编译之后执行条件
    执行条件
    编译完发出声音
    启动调试程序
    6. C/C++选项卡
    在这里插入图片描述
    1、预处理定义
    这里主要就是预定义功能,相当于程序中的#define xxx
    2、语言代码生成
    可以理解为编译链接到最后生成代码,这部分对代码优化尤其重要
    3、包含路径
    就是让keil知道可以去哪里寻找头文件
    4、多功能控件
    5、编译器控制字符串
    针对编译器执行的命令,用来控制编译器的行为的
    7. Asm选项卡
    在这里插入图片描述
    这个选项卡和上一个C/C++差不多,只不过针对的是汇编语言,不再赘述。
    8. Linker选项卡
    用来控制链接器的行为的
    在这里插入图片描述
    1、使用来自目标对话框的内存布局
    这一步的意思就是使用我们指定的内存布局来编排代码中不同部件的位置
    2、分散文件
    可以加载、查看和编辑分散文件
    9. Debug选项卡
    这个选项十分重要,它是用来调试(软件仿真、硬件在线) 使用的。软件仿真和硬件在线调试配置基本一致,所以只讲硬件在线调试
    在这里插入图片描述
    1、选择硬件在线调试
    2、选择硬件在线调试
    Load Application at Startup:启动时加载应用程序。
    Run to main():程序执行到main()函数。
    Initialization File:加载编辑初始化文件。
    3、复位初始化会话设置
    如果勾选上,点击一下“复位”就会恢复到之前的状态。包括:断点Breakpoints、窗口Watch Windows、性能分析器Performance Analyzer、内存窗口Memory Window、工具箱Toolbox、系统查阅器System Viewer等。
    4、DLL文件
    这里不要动
    5、管理组件描述文件
    这里一般不用去管理。
    10. Utilities选项卡
    这个部分属于公共选项。
    在这里插入图片描述
    1、为Flash编程使用一个目标驱动(也就是一个flashloader)
    这里是二选一,一般我们使用上面的“Update Target Driver for Flash Programming”。
    Use Debug Driver:使用调试驱动。
    Update Target Before Debugging:调试之前更新目标
    Setting:设置
    很多人下载程序后,需要复位一下程序才可以运行,原因在于没有勾选“Reset and Run”,如下图:
    在这里插入图片描述
    2、配置图像文件的处理
    这个我们不常用,暂时不去了解
    11. 总结
    来总结一下,这10个选项卡中,最核心的是Target、C/C++、以及Linker。其中的Target和Linker共同用来配置链接器,Target和C/C++共同用来配置编译器。注:其实Device的选择对后面的选项卡都有影响,但我们要知道这种影响是机器帮我们做的,为的是帮我们屏蔽芯片细节,但是出于学习的目的,我们在这里要忽略Device这个选项卡,自己去了解芯片架构,内存映射,自己配置选项卡。
    除此之外,后面的Debug和Utilities也是很重要的。

    总结

    凡事都是要遵守流程,讲究规范,注意总结,这对于技术的积淀和效率的提高十分重要,感谢你的阅读,如果有错误或者不成熟的地方,请一定要提出来,谢谢。

    展开全文
  • 51单片机开发流程

    万次阅读 2018-06-14 23:30:41
    第一步:首先拿出我们的开发板,开发板整机如图1所示:图1 开发板整机 第二步:我们在给单片机下载程序的时候,需要做一些准备事项。...如图3所示:图3 USB数据线连接单片机开发板 3、我们下载的时候,单片...

    第一步:首先拿出我们的开发板,开发板整机如图1所示:

    开发板整机

     

    第二步:我们在给单片机下载程序的时候,需要做一些准备事项。

    1、打开开发板的时候,请首先看下板子的相关的配件。我们需要用到的是USB的数据线,配的其余配件在相关的实验需要用到:如图2所示:

    2 Mini USB数据线

    2、把Mini USB连接到单片机开发板上。如图3所示:

    3 USB数据线连接单片机开发板

     

    3、我们下载的时候,单片机开发板上需要做一些跳线帽的设置。如图4上标记的红色框框所示。

    跳线帽功能设置

    1. USB线链接到开发板上

    2. 电源的跳线帽短接到右边5V处。若是想用3.3V的,跳线帽可以短接到左边,注意单片机可能不能正常工作。

    3. 在使用51单片机的时候,跳线帽短接到右边。若使用ARM模块的时候,则短接到左边(板子上有51ARM的标注)。

    4. 单片机工作和下载需要把晶振接上。

    5. 在用到USB线下载的时候,这两个跳线帽需要短接到左边。若是使用9针串口的,请短接到右边(9针串口下载,不能使用普中的,只能使用官方STC-ISP)。

    6. 复位按键。跳线帽短接到下面,高电平处。若是使用avr单片机的,需要短接到上面低电平出。(开发板有标记HL)。

    7. 单片机安装上。注意,单片机安装时候,要注意缺口朝上。若安装反了,则会短路烧毁板子。

    第三步:打开我们板子的开关电源按钮:如图5所示。

    开发板工作状态

     

    注意:若是打开开关按钮无反应,请自行检查跳线帽是否正确,看回上一个步骤。

     

    第四步:这个时候我们板子的配置已完成。现在我们需要安装开发板ch340的驱动,安装驱动成功才能下载程序。打开我们光盘。光盘资料\步骤2安装单片机开发相关软件\开发板USB转串口CH340驱动。如图6所示:

    6 CH340驱动软件

    然后,双击打开我们ch340的软件(不要在乎ch340ch341的区别,本质是一致的)。跳出的安装界面:如图7所示:

    7 CH340安装界面

     

    接下来,我们点击安装ch340。安装成功后会出现提示,如图8所示:

    驱动安装成功界面

     

    驱动安装成功后。我们可以在我们的电脑设备管理器---端口号查询到。如图9所示:

         图9 CH340的驱动端口号显示

     

    注意:如出现安装驱动失败的,解决方法。

    提示预安装成功

    1.请看回步骤2,跳线帽的配置是否正确。

    2.板子未连接到电脑上,安装ch340驱动时候,软件需要检测不到ch340驱动芯片。解决方法:板子链接到电脑上,再安装驱动。

    3.板子已经链接,还是安装失败的。 精简的电脑系统可能缺少驱动文件,不兼容,使用其他的ch340驱动软件。该软件在步骤2软件打开工具里有。

    4.安装其他的ch340驱动还不行的,请换台电脑试下。

    5.若更换操作系统还是不行的,请联系售后或技术人员。

    提示安装失败

    1.请看回步骤2,跳线帽的配置是否正确。

    2.板子已经链接,还是安装失败的。 精简的电脑系统可能缺少驱动文件,不兼容,使用其他的ch340驱动软件。该软件在步骤2软件打开工具里有。

    3.安装其他的ch340驱动还不行的,请换台电脑试下。

    4.若更换操作系统还是不行的,请联系售后或技术人员。

     

     

     

    到这一步为止,我们的配置方面已经成功了,80%。剩下怎么下载程序了,下面我们会详细的教大家操作。

    打开我们的光盘资料,找到光盘资料\步骤2安装单片机开发相关软件\烧录软件,烧录软件如图10所示:

    10 PZ自动下载软件

     

    双击点开我们的普中自动下载软件:如图11所示:

    11 普中自动下载软件界面

     

    然后,在这个软件上,我们需要选择配置。如图12所示:

    12 配置界面设置

     

    1. 选择对应的芯片类型。因为我们使用的是51单片机,所有这里我们选择STC90C5XX系列的,若使用stm32的,则选择stm32。若是使用其他型号的,没有选择的,则要使用其支持的下载软件。

    2. 打开所需要下载的hex文件,这里我们选择实验内容的第一个例程,LED例程。该hex文件的路径在 光盘资料下:光盘资料\步骤3 51单片机例程\1LED\左右跑马灯\C版。如图13所示:

    13 选择hex文件

     

    3. 打开所需要下载的hex文件之后,我们点击下载。如图14所示:

    14 下载成功界面

    注意:出现下载失败的,如何解决?

      1)跳线帽是否连接好

      2)擦除下载失败-------波特率调低一点

      3) 波特率超时----------低速下载

         4)单片机芯片重新安装下

      5) 无法打开文件------管理员身份运行普中自动下载软件。

      6)若按照上述情况还不行的,则使用STC-ISP官方下载软件。该软件在步骤2单片机开发工具中,使用方法按照里面的操作说明文档教程操作。

     

    大家按照我们步骤到这里已经下载成功了。但是,大家不要心急,我们下载完成后,其实还没有成功。我们的板子需要接线到对应的模块上。

    因为我们的板子是模块是组合型的,大家需要手动的接线。如图15所示:

           图15 开发板接线图

    接好线之后,大家就可以看到 LED实验里 跑马灯的效果了。

    其它的实验步骤跟这个是一致的,需要手动接线到对应的模块。

    展开全文
  • linux下开发51单片机

    千次阅读 2018-01-24 19:13:24
    系统环境:linux mint 18.3 xfce 64bit(基于ubuntu16.04.01) 需要软件及环境: (1)codeblocks (2)SDCC编译器 (3)python-serial ...前面我有博客介绍了linux下stm32开发环境的配置,链接如下: linux

    系统环境:linux mint 18.3 xfce 64bit(基于ubuntu16.04.01)
    需要软件及环境:
    (1)codeblocks
    (2)SDCC编译器
    (3)python-serial
    (4)stcflash(https://github.com/laborer/stcflash)

    前面我有博客介绍了linux下stm32开发环境的配置,链接如下:

    linux配置stm32开发环境概述

    在linux下开发51单片机也非常简单,以前介绍过使用codeblocks配合SDCC编译器进行开发51单片机的博文

    Codeblocks配置SDCC实现51单片机定时器功能(proteus仿真)

    在linux系统下也是同样基于codeblocks和SDCC,使用codeblocks可以自动生成hex文件,而不用再安装其他软件来转换格式,烧写程序到51单片机使用stcflash,使用python,需要安装serial串口模块。
    关于USB转串口驱动问题 ,在linux下已经集成好了CH340和PL2302的驱动(linux mint(ubuntu16.04)是这样,其他发行版不清楚),一连接电脑在/dev/下面就会自动有/dev/ttyUSB0,表示有一个串口设备连接了电脑,在linux下的串口助手可以参考另一篇博文

    Linux系统下串口调试助手putty,cutecom,xgcom

    (1)codeblocks
    https://apt.jenslody.de/ 这个网站里有codeblocks的deb源,其他linux发行版也是能在官网找到安装包的,具体安装就不赘述了,相信在linux玩51的已经有这些基础的了。

    (2)SDCC
    下载地址

    http://sdcc.sourceforge.net/snap.php#Linux

    下载snapshot版本,下载之后解压,解压后在share/sdcc/doc/INSTALL.txt 里有安装指导,其实就是把解压后的文件(包含bin和share两个文件夹)复制到/usr/local 目录下,正确安装后
    sdcc二进制文件到: /usr/local/bin/
    header files 到: /usr/local/share/sdcc/include/
    non-free header files 到: /usr/local/share/sdcc/non-free/include/
    library files 到: /usr/local/share/sdcc/lib/
    non-free library files 到: /usr/local/share/sdcc/non-free/lib/
    并且 documentation 到: /usr/local/share/sdcc/doc/

    也可以运行

    /usr/local/bin/sdcc -v

    查看sdcc是否正确安装,正确安装执行上述代码会返回版本号

    (3)stcflash
    下载地址

    https://github.com/laborer/stcflash

    使用的时候要把stcflash.py 这个文件复制到hex文件同目录下,假设需要烧写的文件是test.hex ,那么在终端进入到test.hex 目录下,执行下面语句

    python stcflash.py test.hex

    以我自己的一个工程为例,需要烧写的文件为sonar.hex ,此时会有如下图所示
    这里写图片描述

    此时要关闭51单片机电源然后重启,就像在win系统下一样,然后会看到以下情况:
    这里写图片描述
    有晶振频率,芯片型号,ROM大小等信息。

    关于codeblocks建立MCS51工程的教程建议参考篇首提供的链接,这里就不再叙述了。

    展开全文
  • 51单片机开发系列一 51单片机开发环境搭建以及入门汇编代码 象棋小子 1048272975 1. 51单片机概述 51单片机是对所有兼容Intel 8031指令系统的单片机的统称。目前教科书基本都是以早期的MCS-51为原型,讲解微机...
  • 51单片机入门教程(0)—— 开发环境配置

    万次阅读 多人点赞 2018-10-06 09:55:15
    本教程包含51单片机开发环境Keil_C51的安装、破解和汉化,以及51单片机仿真环境proteus的安装、破解。 (说明:本教程仅供学习交流之用,禁止任何商业用途!请在24小时之内删除,如要使用Keil请购买正版) 1、 Keil_...
  • 51系列单片机开发宝典 (附盘)

    热门讨论 2020-07-30 23:30:55
    《51系列单片机开发宝典》内容全面、结构紧凑、实例丰富。51系列单片机的初学看,通过学习《51系列单片机开发宝典》可以快速入门。《51系列单片机开发宝典》对具有一定开发经验的设计人员,也有很好的参考价值。 ...
  • STM32单片机开发初识

    千次阅读 2017-12-26 09:15:01
    因工作需要,接触STM32单片机开发,过程中主要参考百度和自己实际经验,作为总结和以后参考,写此博客 一、开发环境准备 用到的开发环境和开发软件主要有 Keil for ARM,STM32CubeMX。 1、这里主要是针对ARM单片机...
  • 围绕实践与经验,注重应用和实用,8大完整单片机开发项目,实用、典型,上手容易。关注开发实践,对用到的新器件做了详细介绍,并仔细讲解了抗干扰技术和软件的可靠性。既介绍设计原理、基本步骤和流程,还提供设计...
  • 单片机开发工具之keil介绍

    千次阅读 2018-03-02 11:45:26
    写本篇文章的目的主要是因为在进行单片机开发的过程中,基本上都是使用的keil作为开发工具,因此这里主要针对我个人在进行单片机开发过程中遇到的问题和疑惑做一个总结,方便其他学习者参考。1、keil工具介绍 keil...
  • 应广单片机开发案例

    千次阅读 2020-10-18 11:45:10
    应广单片机价格美丽,性价比高,mini-c好用,适用于消费电子开发。但是案例demo太少了,为了方便大家能够快速入门。这里贴出了一份经典PMS150C的点灯程序代码。不是Hello world!那种,是偏向于实际产品的那种。 ...
  • 点击上方“大鱼机器人”,选择“置顶/星标公众号”福利干货,第一时间送达!针对ARM-Linux程序的开发,主要分为三类:应用程序开发、驱动程序开发、系统内核开发,针对不同种类的软件开发,...
  • 谈一谈单片机开发的几种调试方案

    千次阅读 2017-04-12 01:58:24
    原文地址:...单片机开发过程中,有一个好的调试系统可以极大地提高开发效率。 举个例子,做平衡系统时调节PID参数,你会选择 修改参数–>编译–>烧录–>运行–>修改…,还是做一个功
  • 16套51单片机开发板资料共享下载,拼命整理

    千次阅读 多人点赞 2018-08-29 09:24:29
    51单片机开发板 目录 《手把手教你学51单片机》 《郭天祥51单片机TX-1C 51-视频教程征服你》 《单片机视频教程(汇编)》 《给力者51单片机视频教程》 《慧净51单片机全套视频HJ-C5》 ...
  • ABOV单片机开发简介

    千次阅读 2020-07-08 10:08:13
    一、开发环境:官方有Keil和IAR,但是所有的工具都是Keil为例,所有推荐Keil C51版本; 二、仿真工具:Keil可以进行实时仿真,需要连接仿真工具OCD-II到Target,OCD-II的安装文件可以在官网进行下载,官方网站:...
  • Visual Code使用单片机开发的傻瓜教程

    千次阅读 2020-01-10 14:37:36
    Visual Code使用单片机开发的傻瓜教程 第一步至少去官网安装一个Visual Code; 链接: https://code.visualstudio.com 首先安装c语言的环境配置,下载TDM-GCC-64,没有网盘会员的我在此默哀,可以联系我,可我不一定...
  • ABOV单片机开发

    2012-02-27 22:27:15
    有哪位大侠用过ABOV单片机啊?
  • STC8A单片机开发环境搭建

    千次阅读 2020-08-27 21:56:36
    参考 STC官网 方法 首先下载安装Keil C51,百度下载即可,破解。到官网下载STC-ISP软件,现在2019-05-12,我下载的是stc-isp-15xx-v6.86R版本,下面在Keil中添加STC的器件库,点击图中Keil仿真设置,有一个按钮,...
  • 【入门】Linux上搭建51单片机开发环境(一) —— 环境搭建入门Linux上搭建51单片机开发环境一 环境搭建 安装sdcc 安装hex2bin 安装pyserial 安装stcgal此教程依赖于python3,需要确保已安装python3, pip3. 如果...
  • 单片机开发“小程序”

    千次阅读 2018-03-29 22:34:26
    我们都听说过微信小程序,但是你听说过用单片机开发的小程序吗?世界上没有什么不可以做,只是你没想到。。。。。。见图,所见即所得:图中的手机可不是一般的手机,其内部包含了stm32单片机,我们叫它智能屏,这里...
1 2 3 4 5 ... 20
收藏数 51,988
精华内容 20,795
关键字:

单片机开发