当前我们接触的大多数计算机都是数字计算机(这里是针对模拟计算机而言的),在数字电路这门课程中,我们学习了组合逻辑电路和时序逻辑电路,所谓的组合逻辑电路实现了基于电路的运算.这是构成计算机运算的基础,而时序逻辑电路使计算机具有了“记忆”,也就是所谓状态的历史相关性,这构成了计算机存储与程序运行的基础。我们站在数字电路的角度来看待单片机或者某个单片机外设,它正是运用各种同步信号(包括时钟、触发等),更改或者获取某一特定存储空间的数据。
如:单片机内部是通过时钟信号驱动PC指针从制定的RAM空间或者程序ROM空间中依次读取指令,单片机内部的CPU核心再通过对指令的解码实现相关动作。而所有的外部设备包括传感器、存储器、输入输出设备也都是通过制定时序实现与单片机实现通讯,并通过对外设内部存储空间的读写完成相关功能。如通过规定的时序完成对DS18B20的读写即可完成温度的读取,通过SPI口与ILI341液晶显示屏通讯,将每个像素的颜色信息写入规定的显示空间地址即可完成显示,通过设置AD寄存器启动AD转换并通过寄存器读回等等。
我当初学习单片机使用的是汇编语言,现在除了BootLoader很少会使用到汇编,但正是汇编语言的学习让我真正理解到了计算机底层的逻辑工作原理。特殊寄存器、累加器、B寄存器、程序状态字、程序计数器PC,它们是如何相互配合完成运算的,立即寻址、直接寻址、间接寻址、寄存器寻址、寄存器间接寻址等寻址方式更是C语言指针的基础,(BTW:当初尝试考计算机三级第一次就卡在机试的PC汇编上了,学完单片机后满分通过)。
同时也正是汇编的学习,让我对中断的处理有了及深刻的认识,在中断时需要“保护现场“,此时需要压栈处理,恢复现场时,则需要出栈操作。这对于后面的操作系统中所说的的任务切换的实质动作了。综上所述,打好学科基础是非常必要的。我们在大学时学到的知识在学校期间也许是脱离实际的,只局限于做题解题,但是当你积蓄了大量的理论知识后,在实际工作中就会有一个明确的理论支撑,能够让你更快的熟悉工作。
我觉得对于想学习单片机的人目的各有不同,不能给出一个笼统的答案,只要在个人经济范围能够承受的范围内,买个外设齐全的开发板也是不错的选择。如果喜欢动手就从核心板、洞洞板做起,只要我们学到东西就行,现在某宝上有很多的开发板,并且都带有很多的教程。但是这里面的教程都是针对某一个功能、外设的,比如按键、串口等等单个外设的例程,目的就是让学习者掌握某一类外设的应用,根据自己的需要进行综合。还有一类就是像无际老师这样,将自己的工程案例制作成开发板,有针对性的进行教学,这样可以从外设到架构一起学习,关于架构这一点我们后面谈。
0人已收藏
0人已打赏
免费0人已点赞
分享
电气工程原创版块
返回版块2.19 万条内容 · 576 人订阅
阅读下一篇
住宅照明指南:房间的照明如何计算?知识点:室内照明计算基本方法 流明代表什么? 流明是光通量的 SI 单位,因此是人眼感知亮度的量度- 流明数越高,光线越亮。灯具制造商的产品说明通常包含有关此值的信息,并且根据您选择的灯泡,也可以控制此值。 一个房间需要多少流明? 经验法则说,每平方米 100 流明适合客厅,每平方米 300 流明适合厨房或浴室等“工作室”。因此,例如,如果一间卧室为 20 平方米,则房间中所有灯具的总和应具有 2000 流明的光强。
回帖成功
经验值 +10
全部回复(0 )
只看楼主 我来说两句抢沙发