单片机编程好学吗?单片机初学者怎样看懂代码?

发布者:和谐的24号最新更新时间:2023-01-05 来源: jdzj关键字:单片机  编程  初学者  代码 手机看文章 扫描二维码
随时随地手机看文章

单片机在很多人看来好像门槛很高,在某些人看来很简单。

所以,单片机编程好不好学,这取决于谁去学,有没有基础,有没有兴趣。

我自己是通过自学学会的,我个人认为相对java那些纯软件,单片机比较好学。

单片机编程只需要学习C语言,很多人也会把汇编也学了,但是实际产品开发汇编一般用的还是比较少。

反正我从来没用汇编做过项目,所以只需要学习C语言就可以了。

至于单片机嘛,入门51的单片机也很简单,就是看手册配置单片机的寄存器而已。

就像你买一个冰箱,它配一个说明书给你,教你怎么用。

学习编程的过程才是最枯燥,连续看1个月视频,敲一个月的代码,只能在屏幕前显示冷冰冰一些字符。

而单片机则有趣的多,你只要会C语言入门语句,再加一点单片机寄存器配置就能点亮电路板上的一个灯。

这个时候你会更有成就感,感觉你学的东西可以很快看到成果,很快你天马行空的脑袋就会去思考,我怎么用程序控制家里的灯打开和关闭。

有了这些想法以后,你就更有动力去学习,把自己的想法变现。

所以很多时候,我经常对学员说,只要你有兴趣,其实最后你是玩会单片机的

就像我们玩游戏,只要有兴趣,我相信一个小学生都能玩的很好。

单片机初学者怎么看懂代码?

在看代码之前,我们首先要背下C语言的一些关键词和语句都有什么作用,这是基础,这一步没做到,不要想着能看懂代码。

那是不是知道C语言所有关键词和语句就一定能看懂代码呢?

答案肯定是不一定的,一段代码就是一个功能,如果你不了解功能的情况下看代码,你会越看越迷茫。

一般我看代码的正确流程是:

1. 先搞懂功能原理,然后思考如果是我的话,我会怎么去写,我会先尝试着用自己的思维去实现一下代码,只有写的时候你才会发现问题。

2. 抱着这些问题去研究别人的代码,看下别人的实现思路。

3. 如果有条件,可以尝试改改别人的代码,调试一下会有什么反应。


做到以上三步,基本上你就能吃透别人的代码。

学会看懂别人的代码是一项非常重要的能力,我的编程水平都是这样去提升的。

很多时候虽然你重写代码也能实现同样的功能,但是其中涉及到2个东西会直接影响整个产品的稳定性和效率。

1.代码架构

2.代码算法

代码架构决定你的程序移植性和可扩展性,同时也会影响做出来产品的稳定性。

代码算法决定你的程序执行的效率,举个例子,右移运算也能当除法去,并且执行的机器周期比除法运算短。

这两个概念主要体现在中大型的项目上,如果你的项目是51单片机级别的,基本上可以忽略,因为芯片的资源有限,你想做出好的架构,芯片的ROM都不够用。


关键字:单片机  编程  初学者  代码 引用地址:单片机编程好学吗?单片机初学者怎样看懂代码?

上一篇:单片机属于嵌入式系统吗?嵌入式开发要学哪些课程?
下一篇:单片机是否为嵌入式技术,单片机和嵌入式学哪个

推荐阅读最新更新时间:2024-11-12 18:29

单片机累加器A与ACC区别
累加器A与ACC区别 累加器写成A或ACC在51汇编语言指令中是有区别的。 ACC在汇编后的机器码必有一个字节的操作数,即累加器的字节地址E0H,A在汇编后则隐含在指令操作码中。所以在指令中A不能用ACC来替代,而对A的特殊功能寄存器直接寻址和累加器某一位的寻址要用ACC,而不能写成A。 例如,指令INC A的机器码是04H,属于寄存器寻址,写成ACC后则成了INC DIRECT的格式,对应机器码为05E0H。 A和ACC都表示累加器,但A是累加器的代号,在指令中默认是无地址的,而ACC是累加器在指令中的直接地址(E0H),可出现在用直接寻址的任何地方,例如: PUSH ACC POP ACC 类
[单片机]
基于51单片机的两路温度控制器的设计方案
1.引言 目前,温度控制器存在的问题是如何缩减成本,减少功耗,温度测量的准确性和多路温度的同时显示。本方案设计的实现基于C51单片机的两路温度控制器,做到成本最低化,精确度高,两路温度的显示和控制,能在温度超出设定的最高温度时启动电风扇进行降温,在温度低于设定的最低温度时启动蜂鸣器报警,能够用户设定最高最低温。 2.系统结构 温度控制器系统包括以下几个主要部分:温度传感器,报警电路,LED显示电路,键盘控制,89C51控制部分。如图所示:     本系统设计实现:启动温度控制器后,绿灯亮起,四位LED数码显示器上前两位为温度传感器1所测的环境温度,后两位为温度传感器2所测的环境温度。 3.硬件结构 3.1 温度传感器 本设计采用
[电源管理]
基于51<font color='red'>单片机</font>的两路温度控制器的设计方案
关于PIC单片机PAGE和BANK
从PIC单片机的指令结构上来分析一下为什么PIC中要有BANK和PAGE的设置吧。先来看一下为什么PIC中要把RAM区划分多个BANK。 仔细观察PIC单片机汇编语言指令的格式,一条完整的汇编语言指令语句通常是这样的:标号 操作码助记符 操作数1,操作数2;注释。其中,主体部分是‘操作码助记符 操作数1,操作数2’。 例如: 指令:MOVF 33,1 操作码助记符:MOVF ; 操作数1:33 ; 操作数2:1 ; 而在程序被编译时指令语句的主体部分会被转换为代码的形式,通常是:指令代码 操作数2 操作数1。 例如在指令位数为14位的中档PIC单片机中: 指令:MOVF 33,1 转换后代码:00 1000 1 011
[单片机]
单片机出租车计价器设计
出租车计价器的单片机源程序: #include reg51.h #include lcd1602.h #include ds1302.h unsigned char time_add ; void LcdDisplay(); void keyscan(); uint n=0,s=0; uint j=0,k=0; uint t=0; uint tx=0,ty=0,tz=0; uint s18=0,n18=0,t18=0,tx18=0,ty18=0,tz18=0,j18=0,k18=0; uint l=0; uint lx=0,ly=0; uint count; sbit SW=P2^1; sbit LED=P2^0;
[单片机]
<font color='red'>单片机</font>出租车计价器设计
MSP430 Flash编程程序
//flash.c文件 #define __FLASH__ #define __HW_v_2_1__ #include flash.h /************************************************************************************************* * This section contains all FLASH memory relevant functions: * * writeByte * * writeWord
[单片机]
51单片机外围模块——LCD1602液晶模块
LCD1602简介 1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号的点阵型液晶模块。它是由若干个5x7或者5x10的点阵字符位组成,每个点阵字符位都可以用显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此,所以它不能很好的显示图片。 1602的引脚 操作步骤 初始化(写命令) 写地址 写数据 时序图及时序参数 LCD1602关键性的指令设置 1.清屏指令 功能: 清除液晶显示器,即将 DDRAM 的内容全部填入 空白 的 ASCII码 20H; 光标归位,即将光标撤回液晶显示屏的左上方; 将地址计数器(AC)的值设为 0。 2.进
[单片机]
51<font color='red'>单片机</font>外围模块——LCD1602液晶模块
本土公司杀入MCU:兆易创新发多款ARM Cortex-M3 MCU
GigaDevice (兆易创新)在中国发布14款基于ARM Cortex-M3内核的GD32F103系列32位通用MCU产品。目前,该系列产品已经开始提供样片。GD32系列MCU力争为用户带来优异的系统性能与灵活的应用体验,并在性价比上做得更为出众。为了给用户在研发时有更大的自由选择范围,全新的GD32F103产品线提供从16KB到128KB的Flash容量,并有QFN36、TQFP48、LQFP64和LQFP100多种封装选择。系列产品在软件和引脚封装方面全兼容。 GD32F103系列产品主频为108MHz,提供了出色的处理性能。目前片内闪存(Flash)最大为128KB,RAM最大为20KB,供电电压范围为2.6V-3.
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved