摘要:单片机越来越受到我国电子产品开发商和高等技工学校的使用和重视。 本文根据多年的实践经验,从单片机结构、逻辑思维、微观概念等方面入手,详细介绍了如何学好单片机应用技术的一些经验。
介绍
微控制器诞生于 20 世纪 70 年代。 所谓微控制器,是采用大规模集成电路技术,将中央处理器(CenterProcessingUnit,俗称CPU)、数据存储器(RAM)、程序存储器(ROM)等I/O通信端口集成在一个微处理器上。芯片。 它构成了一个最小的计算机系统,再加上中断单元、定时单元、A/D转换等更加复杂完整的电路,使得单片机的功能越来越强大,应用也越来越广泛[1]。 现在更多的微控制器的发展已经进入了嵌入式系统时代。 由于制造工艺的进步,VHDL、RTOS、CPLD、FPGA、DSP、ARM等一系列可编程器件的尺寸和成本越来越小。 低,功能也越来越能够满足人们的需求。 20世纪80年代以来,单片机技术在我国各个控制领域得到广泛应用。 全球半导体企业都非常看好中国巨大的市场,纷纷在中国投资建厂。 例如,在苏州有日本瑞萨、松下、美国运通等半导体公司在中国设有制造工厂。 同时,面对这项技术的不断发展,我国大部分院校都将单片机课程作为学生的必修课。 这为我国近年来科技、工业控制等方面的发展培养了大批人才,而且社会对这方面人才的需求还在不断增加。 面对这样的情况,作为一名在校学生,我们应该从哪里开始学习呢? 如何学好这门课程? 我们怎样才能防止自己学到一些我们还没有学到的东西呢? 本文介绍了我自己根据多年实践的一些感受和经验。
1 了解单片机的结构
对于初学者来说,最困惑的就是对单片机芯片内部结构的理解,以及一块小小的芯片如何完成如此神奇的功能。
这是我第一次从事电子行业,总觉得黑芯片的内部非常神奇。 直到有一天,我在检查日本二手电子市场买的一台程控交换机时,发现里面一块黑色的黑胶已经裂了。 当我撬开它时,我发现里面有一块电路板,里面充满了焊料。 密集包装的电子零件。 最后我终于明白了芯片还可以这样制作。 当然,我们当时看到的电路板还不能称为芯片。 只是一家日本电子制造公司为了防止别人抄袭或者其他原因,将整个电路板进行了密封,只引出了几个引脚等电路。 连接。 不过,可以回忆一下,芯片的基本结构与此类似。 如果把内眼可见的电子零件缩小一千倍甚至更小,使得所有的电子零件都可以制作在一块硅芯片上,那么它就成了名副其实的芯片了。 我们用图1所示的电路和电路板来形象地介绍一下。 这张图是直流电机可以正反转的电路。 制作好电路板,焊接好电子元件后,如果经测试没有问题,就可以用黑胶(一般是酚醛树脂等材料)将所有的电子元件密封起来。 ,只留下6个引脚连接外部电路,因此看起来像一个芯片。
知道了通用芯片的原理,还可以进一步想象单片机为什么要执行逻辑运算等功能,这涉及到数字电路和模拟电路的知识。 事实上,无论多么强大的微控制器,它只是由许多微米甚至纳米级别的数字和模拟电子器件组成的。 为了形象地说明单片机的内部结构原理,图2所示的跑马灯电路这里不再讨论。 图中电路的最终目的是让LED依次点亮。 首先,通过计数器对输入脉冲进行计数。 0到15共16个脉冲为一个周期,即计数器的输出为二进制0000B到1111B。 然后40-16解码器对计数器的结果进行解码并输出。 即依次将Y0~Y15从高电平到高电平设置。 当某路输出为高电平时,经过反相器后,将与该线相连的LED负极拉至低电平,点亮发光二极管。 这样,计数器和译码器就相当于单片机中的处理器和PC地址寄存器。 连接解码器输出引脚的线相当于地址线,连接LED负极的输出线相当于数据线。 ,每条“地址线”与8条“数据线”有交点,每个交点相当于存储单元的每一位。 是否连接这些交叉点就相当于将程序烧录到内存(ROM)中。 最终总体来说相当于一个只有16个地址的8位单片机。 如果将图中的LED换成数码管,并改变图中的二极管接法,“单片机”上电输入时钟脉冲后,就可以连续显示数字了。
另外,要想真正理解单片机的内部结果,首先必须有扎实的电路基础、模拟电路、数字电路等知识,否则可能就是空中楼阁。
2.理清逻辑思维
学习单片机最重要的是不要混淆,不要搞乱逻辑关系。 当你刚接触单片机时,你必须学会用流程图的形式清晰地表达程序的逻辑关系。 至于为单片机编写程序所用的语言,则非常简单。 不要认为它很神秘。 无论是汇编语言、C语言,还是更高级的VC++和图形化语言(如LABVIEW),都只是简单的语言。 我们清晰的逻辑思维告诉微控制器处理器并指示它如何执行逻辑运算。 非常认真地对待单片机的指令应该是我们大家学习单片机时最大的误区之一。 我们总是担心记不住说明书,无法使用。 这也是我们学习单片机之前入门、上手的主要症状。 事实上,没有什么可担心的。 如果你记不住,就不要勉强。 将说明放在旁边。 清除逻辑关系后,再查看指令表,确定哪些逻辑关系是由哪些指令完成的。 当一条指令使用过几次后,你不再需要担心不知道该命令是否有效。 退一步讲,即使你实在记不住说明,参考书上的说明也是完全可行的。 现在的知识量巨大,把学过的知识全部背下来绝对会让人头破血流。 在编写程序时,只要明确了程序的逻辑关系,编写它就像做一个简单的翻译工作,将逻辑关系翻译成计算机语言来表达。 下面图3和图4是简单的按键扫描电路和程序流程图。 根据这个流程图,我们可以使用目前很常见的C51汇编语言快速编写这个程序。
按键扫描:
PUSH A ;保存寄存器A
INC R1;
和 R1,00000011B
MOV R2,3
MOVC DPHL,表; 获取表的首地址
MOVC A,@DPHL+R1; 读取表中的数据
和A,00001111B; 保留低 4 位
MOV P1,A; 根据表中数据,输出P1的低4位。
CALL DELAY_TIME ;延迟
MOV A,P1 ;读P1口
AND A,11100000B ;保留 P14、P16、P17
环形:
RLC A; 将 A 左移一位到寄存器“C”中
JC R1,循环1; 判断位寄存器“C”是否为“0”
CALL KEY_CAL ;调用键码计算子程序
循环1:
DJNE R2,循环; 判断是否移位了3位
POP A ;恢复寄存器A
RTI; 本次扫描结束
KEY_CAL: ;按键码计算子程序
…………
实时传输系统
DELAY_TIME: ;延迟子程序
…………
实时传输系统
TABLE: ;按键扫描输出表
DB 11111110B
DB 11111101B
DB 11111011B
DB 11110111B
3 对微观世界的想象
在设计电路板时,为了让电路中的电流能够顺利流过电路,也为了让设计出来的电路板在各种测试条件下都能满足安全标准,例如UL标准要求最长的通电时间地线不能超过0.02欧姆。 (测试条件是在20A电流下测量其功率P=I2R)。 如果是0.02欧姆,通过20A的电流,这条线的加热功率就是8W。 把电流想象成我们宏观世界中的水,一条线就像一条沟渠。 当然,控制水在沟渠中的流动方式很容易。 例如,水会急转弯形成漩涡,从而对沟渠的另一侧产生影响。 同样,如果电路板上的线路出现急转弯,电流也会产生涡流,也会对电路的拐点产生影响,产生辐射。 这样,明白了这个原理后,每次电路板设计完成后,所有的测试都能一次性通过。 可见,将微观世界想象成宏观世界中类似的事物或过程是非常有帮助的。 在现代电子世界,尤其是微电子领域,要想看清楚它的真面目,就只能在高清显微镜下看到它的样子。 然而,纵然了解其表象,也只知其然,不知其所以然。 ,根本看不到它的工作过程。
如今,微控制器的结构越来越复杂,集成度越来越高,存储容量越来越大。 未来也可能使用分子级电子晶体管。 它的运行速度也越来越快。 现在它使用纳秒级别来定义其运行时间。 一条指令的运行时间最长也不过一两微秒。 它只是一瞬间就飞过去了。 少得多、少得多。 既然我们可以用放大镜在空间中放大形状来理解它,那么我们也可以在时间中延长时间来理解它。 如果我们不把一微秒想象成一分钟或者一小时,我们就不难理解CPU就像人一样在处理某条指令。 例如,指令“MOV A,01H”表示CPU将数据01H发送到A累加器。 运输过程就像人搬运东西的过程。 这个过程的处理时间就是CPU处理一条指令(通常称为一条指令)所花费的时间。 循环。 有时微控制器没有足够的时间来处理某个操作。 例如,在采集数据时,采集到的信号快于微控制器的处理时间,从而发生数据丢失。 这就要求微控制器运行速度更快。 如果没有微观时间的概念,就很难理解这是如何发生的。
4。结论
微控制器正在快速变化和发展,但它们保持不变。 只要了解了它们的基本原理和结构思想,无论它们如何变化,你都能知道它们是什么、为什么。
芯英达科技(芯片级解决方案设计公司)结合芯英达多年研发经验积累的资源,开发了具有完全知识产权的课程体系:
1.电子基础PCB画板单片机项目开发实现从菜鸟到单片机工程师的转变,实现你的高薪梦想
2.C语言ARM9.ARM11.cortex-m3 多种平台供您选择,Linux(A8.A9)从底层驱动学习到应用开发
3、JAVA Android应用驱动开发让您亲身体验手机、平板的开发流程
4. FPGA应用开发DSP实训STM32实战学习让您亲身体验一线工程师项目的实战教学。
四大课程体系全面升级,让你选择、轻松学习、提升技能; 项目式教学,注重实际操作,有兴趣就来吧! 如果你想要高薪,就来这里吧!
上课地点:广州天河、深圳龙华、南山、宝安、郑州、南宁、上海、北京八个直营中心竭诚为您服务!
上课时间:全日制、夜校、周末班均可!