发布信息

一块学习板还是必要的写好程序,仿真器就看个人需要

作者:软荐小编      2023-05-12 09:08:30     264

单片机的仿真软件_单片机仿真软件教程_ads仿真软件视频教程

1、万事开头难,要勇敢迈出第一步。

一开始不要总是给自己找借口,说KEIL不会建工程,没有实验板等等。 遇到困难,要一一攻破。 如果您不知道如何构建项目,则应先学习它。 网上这方面的教程很多,随便找找,多做几次就明白了。 以后可以参考别人的程序,抄了也没关系。 写一个最简单的,让它跑起来。 过程不会有太大区别,你要建一个项目,配置项目,然后建一个程序,添加到项目中,写代码,编译,生成HEX,刷入单片机,运行。 必须熟悉这套程序。 我个人认为学习板还是很有必要的。 写完程序跑起来看看效果,学习效果会好很多。 模拟器看个人需要。 单片机非常重视理论和实践,不动手是看书学不会的。

2.知识点用于天赋学习,不用的暂时搁置。

厚厚的一本书,看得人眼花缭乱。 学了前面的,怕是上面的都忘记了。 因此,结合实际程序使用时最好阅读。 从第一页开始看书,看完之后写程序。 比如你写了一个跑灯,中断的知识根本不需要看,专心学好跑灯就可以了。 这是把整本书一点一点地分成几部分。

3、程序不要只看不写,一定要自己写一遍。

刚开始什么都不懂,就去copy别人的程序,看看每一句是干什么用的,达到什么目的,运行后有什么后果。 看懂了之后还要自己写。 你会发现别人的程序一开始很容易看懂,但是自己写的时候,一句也写不出来。 这就是区别。 . . 当你能自己写下来的时候,就说明你真的理解了。 . .

4、必须学会掌握调试程序的方法。

很多人写程序单片机仿真软件教程,写代码,然后运行,结果不是自己想要的,头晕目眩,然后搬到顶楼发帖,发程序,问:为什么我的程序工作不正常? 跑步? 之后就等着别人自己分析了。 这是一种非常恶劣的行为。 你应该学会发现问题,学会自己解决问题。 这需要学习如何调试程序。 比如在KEIL中,可以设置断点,查看寄存器内容等,这些都是调试程序的手段。 当你发现自己编写的程序运行结果与想象中的不一样时,可以单步执行或设置断点,然后跟踪查看相关寄存器的内容,看运行过程中是否有错误程序运行,找出影响结果的地方,并修正。 这个过程非常重要。 通过程序调试,可以学到书本上学不到的知识。

5. 找到问题的解决方案比找到代码更重要。

我们用单片机来控制外围元件来达到我们想的目的。 这是一个问题,如何编写程序控制组件按照你想要的结果运行才是解决问题的方法。 写程序首先要找到解决问题的思路。 对你来说,学会找到这个解题思路比找到代码更重要。 很多人喜欢找别人的代码,甚至有人直接把代码复制到自己的程序中。 可以说,这不是一种学习心态,更不会帮助你提高编程水平。 我几乎不读别人的代码。 大多数时候,我会看别人的想法。 最好有框图。 程序好像特别累,所以现在也明白了,我学习的时候说的程序流程图很重要,现在明白了。 当你知道如何解决一个问题,那么剩下的就是你去安排代码去完成它,这就不再是问题了。 举个反例:数码管动态扫描。 没写过的初学者可能搞不清楚是怎么回事。 虽然单片机仿真软件教程,它是分时的,每个时间段只控制一个数码管显示数字,多个数码管轮流显示。 ,因为速度很快,人眼看起来所有的数码管都亮了。 一旦明白是这样,事情就好办了,剩下的无非就是安排每个数码管轮流显示相应的数值。 显示号码,然后延时一会,然后下一个显示号码,延时,这个我们都知道,其实我们在程序中只需要这样:发送段码到段端口,然后打开位选择显示一个,延时一会,关闭位选择,然后发送段码,再打开另一个位选择。。就这样。 有了解决问题的思路,我们就可以把问题分离出来,一个一个解决。 如果不了解动态扫描的原理,不了解如何进行,那么这个程序是写不下来的。

6、开动脑筋,运用各种方法,不断优化你的程序。

想一想实现相同功能的所有不同方法。 这是一个实践和提升的过程。 一旦你解决了一个问题,再想一想,你能不能换一种写法来实现同样的功能,或者说,你写下来的代码能不能再精简一点? 使程序执行更有效率的过程是一个渐进的过程。 很多知识和经验的获得,并不是直接写在书上给你看的。 你需要多多练习,多动脑筋,积累经验,提高编程水平。

7.看别人的代码,学习他们的思想。

这在学习初期非常有用。 通过看别人的代码,尤其是有多年编程经验的人写的具有一定代码水平的代码,可以快速提高自己的编程水平。 同时,你也可以结合别人的编程技术,结合自己的观点,写出更高层次的代码,并从中取得进步。 但是要小心,不要把学习变成了抄袭,更不要觉得抄袭了就学会了,那样做只会让自己退步。

8. 尝试编写综合应用程序。

从学习跑灯,到动态扫描,再到中断,所以可以尝试写时钟等综合应用的程序。 不要低估时钟。 写好它并不容易。 它包含了单片机的大部分知识,比如键盘(IO读取)、动态扫描(IO输出)、中断等,如何协调各个功能模块的正常工作是程序员需要学习的。 当你写一个单一的函数时 有时候,比如读键盘,你可能会觉得很容易,因为你的程序除了读按钮什么都不做。 但是把它和其他功能混在一起,如何让整个程序中的每一部分都能正常工作,写一个键盘来读取就不是那么容易了,而且功能模块之间可能会相互影响,比如你需要数码管能够显示和处理键盘读数。 如何让这两部分正常工作,是一个协调的过程。 当你具备这种处理和协调能力时,你才刚刚开始。

9. 专注于培养解决问题的能力,而不是你写了多少代码或做了什么。

“学习单片机的重点是学习解决问题的思路,不局限于特定的芯片类型和语言”这仍然是我的座右铭,这是我多年研究单片机的心得体会. 我经常听到有人说“你能驱动XX芯片,你真棒”,“你做过XX项目,你真棒”,也许这很片面,你做过XX芯片,做过XX项目,只能说明你做过这个项目,只是你的表现,并不代表你的能力就一定高。 真正的能力应该是:“当遇到以前没有解决的问题或组件时,可以利用所学的知识快速找到解决问题的技巧”。 这就是能力。 写程序的过程就是创造的过程。 几乎没有完全相同的项目。 每次遇到他们,几乎都不一样。 所以,你所拥有的一定是你面对新项目时的创造能力,而不是去炫耀你的前几年。 你做了多少个项目。 其实成绩也可以从另一个方面反映你的经验和水平。

10. 如果可能,多学习计算机科学,比如数据结构。

这是你解决问题的基本知识。 你应用这些知识越好,就越容易找到问题的解决方案。 这就是为什么计算机专业写的程序和非计算机专业写的程序会有不同的激励。 也是新手晋升高级必须具备的知识。 如果我们把编程分为宏编程和微编程,那么微编程就是写具体的代码,比如控制某个组件的语句; 方法来运行以获得你想要的结果。 前面说过,“可以控制XX组件”只能算是微程序。 能做到这一步,只能算是新手级别。 也就是说你还是个中级菜鸟。 当你有了一定的编程经验,控制了相当数量的组件后,你会发现控制组件的工作都是类似重复的工作,并不能说明编程的水平,充其量是写得好不好. 区别只能算是一些小方法的应用。 最麻烦的是对整个程序进行布局和编排,能做到宏编程和微编程双管齐下的才是真正的高手。 对于较大的程序,这一点变得更加明显。

11、面对新项目时,多动动脑筋,不要急着找别人的程序。

很多人面对一个新的项目,首先想到的就是在网上找别人写的代码,然后抄一段,自己多写几句,一起完成任务。 看起来这样可以节省时间,但绝对不利于你的学习。 当你接到一个新的项目时,首先要自己构思整个程序的结构,想好如何完成,有条件的话,画一个流程图,在脑子里很容易画出来。 变量有个初步的安排,然后自己写。 遇到自己解决不了的地方,可以向别人请教,或者看看别人是怎么处理的。 这样一来,首先,至少你自己想过,有自己的想法。 ,如果你一开始就看别人的程序,你的思维会局限在别人的思维里,更难创新自己,所以你永远无法提升自己,因为你在影子里行走别人的 。

12、多使用网络搜索,学会提问。

一般来说,在学习的过程中,遇到的问题,大部分都是前人遇到过的,所以如果有不懂的地方,自己解决不了的时候,最好先上网搜索一下看看能不能找到答案,如果找不到,那就去顶峰提问吧。 提问也要有目的性,尽量把问题描述得简单明了,让帮助你的人能在最短的时间内听懂你说的话,虽然人家帮助你是免费的,但时间也是有限的。

相关内容 查看全部