如何真正的“从零开始”单片机/电子设计?

对于单片机与电子设计我认为要具备以下两个方面的素质,第一个就是要具备一定的模拟电路与数字电路的基础理论;第二个要具备一定的实践动手操作能力。看到这个题目,我认为要想真正的“从零开始”单片机/电子设计是有难度的,下面我针对我自己和朋友们聊聊如何设计单片机/电子电路的。我认为做电子设计这一块要脚踏实地,最好不要好高骛远。

因为要想真正做一个实用的电子产品是要有严格的过程的,刚开始我们可以抱着“玩”的心态去学习电子设计,这样既能提高自信心也能在实践中进一步加深对理论的理解。我们刚开始做电子设计可以先从“模仿”别人成熟的电路图做起,比如做学单片机电路要包括硬件和软件两部分,有的朋友会“欺软怕硬”,对软件比较熟悉对电路硬件设计比较“害怕”。

我认为这个完全没有必要,我们可以从最简单的电路开始设计,比如我刚开始时学单片机电路设计时就“模仿”过别人的交通灯电路,类似下面的原理图。接下来通过原理图,我们可以找些PCB万能板自己焊接电路,我认为这一个阶段非常有必要,通过这种方法可以锻炼我们的焊接水平,提高我们的排除问题的能力。经过一段时间的练习,就会发现我们的技能水平会在不知不觉中得到提高。

这时候在通过电子绘图软件(比如DXP、AD10、Cadence等绘图)自己制作PCB板,然后通过自己制作的PCB进行焊接类似交通灯的电路板,紧接着编写程序、烧写程序、调试等一列环节。当这一步做到轻车熟路的地步后就我们就可以“进阶”了。单片机电路尚且如此那么对于电子电路同样也是一样的套路,也是先从“模仿”别人成熟的电路开始,在选电路时要做到难度适中,这样制作的成功概率就会大。

比如我们可以参考一些成熟实用的电路,焊接完之后就可以拿来用,像下图中的水箱自动上水控制电路图就很适合我们去制作。我曾经参考过这个原理图制作了一个自动上水装置模型,经过测试效果不错。通过自己简单的制作,然后就会慢慢步入设计电路的大门了,这就像我们小孩学走路一样,先找个支撑点站起来,然后学会扶着物体走几步,最后自己就会独立地行走了。

什么自己设计不出来单片机程序?该怎么做?

学习单片机编程,需要有基础,需要有方法。一,写不出单片机程序的原因有哪些?C语言掌握不够,常用的语法不理解.单片机知识点没有掌握。单片机编程没有入门。第一,要一定C语言基础,单片机C语言和普通C语言语法差异1.调用的头文件不一样。2.编译器的不同会造成单片机C程序编写过程中细节的差异,比如unsigned int类型,在某些编 译器当中是与unsigend char一样的位宽。

第二,要有一定的硬件知识。理解普通的三极管,高低电平,电压电流等基本概念。这个能看得懂原理图,从事单片机开发,会需要调试程序,需要通过一定的工具,万用表,示波器来分析自己的软件是否正常。 第三。必须要有一块合适的开发板。资料和教程要齐全,没有开发板,就没有练习和实操的机会和平台,更谈不上进步。单片机分为很多种,8位单片机,16位单片机,32位单片机,从未接触过单片机开发的初学者,在选择开发板时,建议用从8位单片机如AT89S51作为单片机入门芯片。

对于基础知识较薄弱的同学,不建议一开始就学习stm32,因stm32学习难度会大很多,知识点也更多,学不好会打击积极性。二,能熟练编写单片机程序,有什么方法?首先,单片机的入门级别的知识点:1,开发环境的搭建和使用,下载程序的操作。这一块非常重要,这个学不会,后面的单片机编程无从谈起。2,端口IO输出,实操LED灯的亮灭,流水灯实验。

3,端口IO输入,实操按键的输入高低电平变化,操作LED的亮灭。4,串口的输入输出,掌握ASCII码的字符与0-255数字的对应关系,并学会利用串口进行调试信息打印,掌握利用串口调试代码的方法。(这种调试方法很重要,很多单片机不能在线仿真,只能用串口调试)5,掌握定时器功能。掌握普通定时器中断函数的写法和用法,如果对应的单片机包含PWM设置,也必须掌握PWM的配置和使用。

6,掌握IIC时序操作,很多常用芯片都用IIC通信,比如EEPORM存储芯片,掌握后读写相关参数.存储的数据断电不丢失。7,一般开发板都会有实时时钟芯片如DS1302,掌握其用法,可以在综合练习中用到。一定要熟练掌握以上知识点,初学者心中要形成自己单片机开发的知识树。接下来说下第一,多学习和多看教学资料和视频,目前51级别的开发板非常多,价格实惠,而且有很多优质的教学视频。

可以作为入门教程。第二,推荐郭天祥的入门书籍《手把手教你学单片机C语言》,以及他的教学视频《十天学会单片机编程》,我就是看了这本书和视频,然后不断练习,才踏入单片机编程领域的。第二,多练习,想需要单片机,看得懂不一定写得出来,一定要跟着视频书籍和老师的要求,自己一点点的编写出来,并每个知识点做好记录。

并思考总结,消耗吸收变成自己的知识。综合实验根据自己所学习的知识点,完成一个带定时闹钟功能的实时时钟,1 通过按键设置闹钟,需要将闹钟时间存储在EEPORM中。2,通过按键修改时间,对ds1302的操作,时间计数的累加,3,通过切换闹钟-时间显示模式,比如长按,短按键的搭配等4,数码管在不同的模式下分别显示时间和闹钟。