当前位置:首页 > 单片机 > 单片机
[导读]经常看见那些学了几个月单片机的学生,突然间不知道该学习些什么了,会进入迷茫时段。感觉这么什么都会,可一做东西什么也不会。我比较反感“玩”、“精通”来形容单片机,说这些话的往往都是些初生牛犊,还不知道老虎长什么样子,会吃人。

几年前,我得依靠着自己的直觉找到程序中的问题所在;现在,我可以凭着我的语法基础以及程序设计的思维解决程序中的问题。

经常看见那些学了几个月单片机的学生,突然间不知道该学习些什么了,会进入迷茫时段。感觉这么什么都会,可一做东西什么也不会。我比较反感“玩”、“精通”来形容单片机,说这些话的往往都是些初生牛犊,还不知道老虎长什么样子,会吃人。

单片机学习是很难的,不能速成,你必须承认这一点,有些号称能帮你从入门到精通,那些大多都是牛皮膏药,基本上讲的都是些入门的东西,市面上的讲单片机的书本内容基本上八九成是一样的。学习单片机的视频,八九成一样,不同的人讲的,主讲人的水平高低不同。

而正真高深的单片机程序处理,你在网上基本上找不到,偶尔能有那么一两个高手把自己的一点点心得分享出来,也许你半天都不能领悟其真谛。

正真的高手是这么炼成的?唯有自己日积月累,不断坚持、思考读成熟的程序,加上自己对程序的悟性,等到2到3年方可有所造诣。

1、首先我们来谈谈C基础,单片机程序开发,基本上用的是C语言,你的 语言学的怎么样了,对于关键词的使用是否已经融会贯通了,对于语法规则是否已经掌握。这是一门实践行的知识,没有实践你的C语言等于0,他的功能可不是书上那些例子,输个数做个加减乘除把结果输出。利用他的关键字及语法规则,勾画出无限的生产力。对于C语言的基础知识你要达到那种水平了,当你的想法出现的时候,功能要求已有,你能立刻用C语言描绘出来。C语言只是工具,实现我们的想法的工具,对于工具的使用要信手拈来,例如:把一个字节数据高底位一一兑换、把脉冲数转换为时间及检测出按键的连续两次按下等等,看到问题的时候具体的实现代码在老海呈现了没。

2、工具用熟了以后,我们该学习什么了了?对语法熟练以后就应该重点学习程序设计的方法,请大家分清两个概念,C语言只是工具,会C语言并代表你会设计程序,程序设计能力可分为,首先是能将复杂的功能要求拆分为若干个细小功能,用C语言描述实现,再将这些小功能用你的C语言工具串起来组成我们所需要的复杂功能。整个过程下来C语言都只是实现你想法的工具。看到这里你是否还敢用“玩”、“精通”来形容单片机吗,当真正进入单片机殿堂的时候你会感觉这是一个浩瀚无边的宇宙,你会越发感觉自己的渺小,只有更好,没有最好。

总结几点个人的学习的经验:

C语言与程序设计的学习是相辅相成的,他们共同进步,就如同你的两只脚,谁都不能超过谁很远。学习单片机之前请先学习C语言,请不要相信什么零基础也能学好,至少20天,要把基础知识掌握,在进入单片机学习,视频网上一大把,学会操作基础模块,在这个阶段你可以在网上寻找知识学习,将你开发板的模块程序都练一遍。

当你开发板学完了, 这个时候该这么办了,这就是我今天重点要的。

如果你就是浅尝辄止,那么你可以说自己入门了,如果你想有所造诣那么你还远着了,对于走过了这个阶段以后,我对我的学生的要求就是“背程序”,就如同别人学习英语背文章增强语感。我说所的“背程序”,并非死记硬背,属于一种重复强化训练,围绕几个主题,①、按键读取;②、数码管显示(重复计算显示代码) ;③、LCD1602液晶显示;④、AT24C02读写;⑤、DS1302读写;⑥、DS18B20读写。每个项目从建工程到下载成功在20分钟以内,最好练到在10分钟左右。对于代码需要精简而又有内涵,当你做好以后能增强你的语感及常规程序设计能力。最后以同样的方式训练一个综合项目——多功能数字钟,这个项目可能需要一个上午才能做好。这个过程的目的很简单,增强C语言工具的使用能力,在单片机编程这块,对于基础模块的程序设计能力,完成从感觉自己什么都懂,可要写点什么东西时又不知如何下手到实现一些简单功能程序能迅速写出来的转变。这个方式枯燥乏味但是效果还可以,可以借鉴借鉴。

完成了上述工作,紧接着多练习综合项目,这个时候这能靠自己,学程序没有别的,只能多练,多想。用你的开发板编写:计算器、电子日历、电子密码等各类能把你开发板上的资源综合起来用的程序。假想就是在做项目,要对自己提出苛刻的功能要求,切记不多说差不多了,要做到完美。

再往下走,完美要回过头学习单片机原理,去学习汇编,学习单片机的运行原理对你编程有极大的帮助,再把你的C语言书拿出来,细细的看前几章节,是时候该去看看指针了。在程序中简单的使用指针。 就这样往下练吧,估计至少得年吧时间。

再往下走,你应该去研究指针了,将指针应用到你的程序当中,它可以给你解决以往你所遇到的很棘手的问题。

讲到指针,该想到结构体了,我们应该去学习链表了,我们要将简单数据结构应用到单片机了。这个期间你如果能去学习在操作系统上的编程是很有必要的。如在VC上做简单功能界面,Linux系统编程。这可以让你看看别人优秀代码,从中吸取经验,就算看不到源代码,也可以从别人的函数所具备的功能上思考的自己的函数设计,改善自己的函数,我的很多函数功能设计方式就是这么来的。

差不多又是一年时间过去了。真心希望你坚持下来了,到这个时候你基本上已经能独立解决很多问题了。

这个时候我们该去学习什么了了,该去学习“易经经”——C语言描述数据结构与算法分析。在程序的世界里,它就是最高的内功心法,能在里面学的一招半式,就可以行走江湖了。这本书目前我也只是研究过几个章节,在这里面你会看到操作系统的具体实现,文件系统的设计思想等等,各类大型程序设计设计思想。

时间不早了, 今天就到这里了

关于单片机学习,内容远不止这些,上述只讲了单片机的程序设计方面,依据单片机的特片还硬件这一块极为重要,不理解硬件也设计不好程序,下次再谈谈如何学习硬件。对于8位单片机你是否想过, 给它装上一个操作系统,这是我最近一直在思考的问题.

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

在现代电子技术的快速发展中,单片机以其高度的集成性、稳定性和可靠性,在工业自动化、智能家居、医疗设备、航空航天等诸多领域得到了广泛应用。S32单片机,作为其中的佼佼者,其引脚功能丰富多样,是实现与外部设备通信、控制、数据...

关键字: s32单片机引脚 单片机

在微控制器领域,MSP430与STM32无疑是两颗璀璨的明星。它们各自凭借其独特的技术特点和广泛的应用领域,在市场上占据了重要的位置。本文将深入解析MSP430与STM32之间的区别,探讨它们在不同应用场景下的优势和局限...

关键字: MSP430 STM32 单片机

该系列产品有助于嵌入式设计人员在更广泛的系统中轻松实现USB功能

关键字: 单片机 嵌入式设计 USB

单片机编程语言是程序员与微控制器进行交流的桥梁,它们构成了单片机系统的软件开发基石,决定着如何有效、高效地控制和管理单片机的各项资源。随着微控制器技术的不断发展,针对不同应用场景的需求,形成了丰富多样的编程语言体系。本文...

关键字: 单片机 微控制器

单片机,全称为“单片微型计算机”或“微控制器”(Microcontroller Unit,简称MCU),是一种高度集成化的电子器件,它是现代科技领域的关键组件,尤其在自动化控制、物联网、消费电子、汽车电子、工业控制等领域...

关键字: 单片机 MCU

STM32是由意法半导体公司(STMicroelectronics)推出的基于ARM Cortex-M内核的32位微控制器系列,以其高性能、低功耗、丰富的外设接口和强大的生态系统深受广大嵌入式开发者喜爱。本文将详细介绍S...

关键字: STM32 单片机

在当前的科技浪潮中,单片机作为嵌入式系统的重要组成部分,正以其强大的功能和广泛的应用领域受到越来越多行业的青睐。在众多单片机中,W79E2051以其卓越的性能和稳定的工作特性,成为市场上的明星产品。本文将深入探讨W79E...

关键字: 单片机 w79e2051单片机

单片机,又称为微控制器或微处理器,是现代电子设备中的核心部件之一。它集成了中央处理器、存储器、输入输出接口等电路,通过外部信号引脚与外部设备进行通信,实现对设备的控制和管理。本文将详细介绍单片机的外部信号引脚名称及其功能...

关键字: 单片机 微控制器 中央处理器

随着科技的飞速发展,单片机和嵌入式系统在现代电子设备中的应用越来越广泛。它们不仅提高了设备的智能化水平,还推动了各行各业的创新与发展。在单片机和嵌入式系统的开发中,编程语言的选择至关重要。本文将深入探讨单片机和嵌入式系统...

关键字: 单片机 嵌入式系统 电子设备

PLC(可编程逻辑控制器)和单片机是两种不同的控制设备,它们之间存在明显的区别:

关键字: 单片机 plc 控制器
关闭
关闭