宇凡微|一些单片机学习心得,干货总结
单片机作为计算机发展的一个重要分支领域,在现代智能电子领域中拥有不可或缺的重要性。现如今,单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,几乎涉及到人类生产生活的方方面面。学习单片机的朋友也越来越多,今天宇凡微工程师就为大家分享一些单片机学习心得,希望能够帮助到正在或者想要学习单片机的朋友。
首先,单片机的种类丰富多样,但是任何一款单片机其基本原理和功能都是大同小异。不同种类的单片机之间只是其外围功能模块的配置以及数量和指令系统等等。
对于指令系统来说,虽然在形式上看起来有很大的不同,但实际上只是符号的不同,它所代表的含义、要完成的功能和寻址方式基本相似。
PCBA板
要了解一款单片机,首先需要知道就是其ROM空间、RAM空间、IO口数量、定时器数量和定时方式、所提供的外围功能模块(Peripheral Circuit)、中断源、工作电压及功耗等等。
了解这些单片机 Features后,接下来第一步就是将所选MCU的功能与实际项目开发的要求的功能进行对比,明确哪些资源是目前所需要的,哪些是本项目所用不到的。
对于项目中需要用到的而所选MCU不提供的功能,则需要认真理解MCU的相关资料,以求用间接的方法来实现,比如,所开发的项目需要与PC机COM口进行通讯,而所选的MCU不提供UART口,则可以考虑用外部中断的方式来实现。
对于项目开发需要用到的资源,则需要对其进行认真的理解和阅读,而对于不需要的功能模块则可以忽略或浏览即可。对于MCU学习来讲,应用才是关键,也是最主要的目的。
明确了MCU的相关功能后,接下来就可以开始编程了。
对于初学者或初次使用此款MCU的设计者来说,可能会遇到很多对MCU的功能描述不明确的地方,对于此类问题,可以通过两种方法来解决,一种是编写特别的验证程序来理解资料所述的功能:另一种则可以暂时忽略,单片机程序设计中则按照自己目前的理解来编写,留到调试时去修改和完善。前一种方法适用于时间较宽松的项目和初学者,而后一种方法则适合于具有一定单片机开发经验的人或项目进度较紧迫的情况。
不要花太多时间去理解指令系统。指令系统只是一个逻辑描述的符号。在编程过程中,您只能根据自己的逻辑和程序的逻辑要求查看相关指令。此外,随着编程的进展,指令系统将变得越来越熟练,甚至可以在不知不觉中被记住。
引用:单片机学习心得-深圳宇凡微
单片机的学习经验(附学习总结)
单片机作为一种简单的控制器在生活中有着广泛的应用,当然在工业型单片机在生产中也扮演着很重要的角色,所以对于一个学习自动化的工控人来说,学习单片机是非常有必要的。
作为一名电子技术从业人员,你学过单片机吗?你或运用单片机吗?我想你一定学过,但不一定会运用。因为学习单片机比学习其他学科需要付出更多的努力和代价,不仅要学习理论知识还要练习实际操作,而且主要是在实际操作中才能真正学到单片机技术。此外,学习单片机还需要投入一定的学习成本,随着你学习知识的扩展成本还会增加。 单片机作为一种简单的控制器在生活中有着广泛的应用,当然在工业型单片机在生产中也扮演着很重要的角色,所以对于一个学习自动化的工控人来说,学习单片机是非常有必要的。
单片机的学习经验 1、学习电子技术基础知识,如电路、模拟电路和数字电路。这是学习电类相关专业的基础。 2、学习计算机硬件知识,如计算机的简单组成原理(只需要了解),当然要知道CPU是什么?总线是什么?一些相关概念。 3、程序编写的相关知识,主要是汇编语言和C语言。了解结构化语言的程序设计方法,也就是三种结构(顺序结构、分支结构(或称选择结构)、循环结构),或一些常用的算法。
4、可以买一两块廉价的单片机开发板,用廉价的方法(可以用热转印法做PCB板)仿制一些更简单的实验功能板,开始做板时千万不做得太复杂,我带过的很多学生中,有少部分人总是觉得太简单了,做个复杂的,结果做了个把星期,没有成功,最后只有放弃。还有一点很重要,就是用PROTEUS仿真时,最好只做单一功能的仿真,否则可能与实际在硬件上做的结果不一样。 学习单片机的步骤 第一步:基础理论知识学习 单片机属于数字电路,其概念、术语、硬件结构和原理都源自数字电路,如果数字电路基础扎实,对复杂的单片机硬件结构和原理就能容易理解,就能轻松地迈开学习的第一步,自信心也会树立起来。相反,基础不好,这个看不懂那个也弄不明白,越学问题越多,越学越没有信心。如果你觉得单片机很难,那就应该先放下单片机教材,去重温数字电路,搞清楚触发器、寄存器、门电路、COMS电路、时序逻辑和时序图、进制转换等理论知识。理解了这些知识之后再去看看单片机的结构和原理,我想你会大彻大悟,信心倍增。 C语言知识并不难,没有任何编程基础的人都可以学,在我看来,初中生、高中生、中专生、大学生都能学会。当然,数学基础好、逻辑思维好的人学起来相对轻松一些。C语言需要掌握的知识就那么3个条件判断语句、3个循环语句、3个跳转语句和1个开关语句。别小看这10个语句,用它们组合形成的逻辑要多复杂有多复杂。学习时要一条语句一条语句的学,学一条活用一条,全部学过用过这些关键语句后,相信你的C基础建立了。 第二步:单片机实践 1.有刻苦学习的决心 2.有一套完整的学习开发工具 3.要注重理论和实践相结合 学习编写程序应该按照以下过程学习,效果会更好。看到编程题目先试着构思自己的编程思路,然后再看教材或视频教程里的代码,研究人家的编程思路,注意与自己思路的差异;接下来就照搬人家的思路亲自动手编写这个程序,领会其中每一条语句的作用;对有疑问的地方试着按照自己的思路修改程序,比较程序运行效果,领会其中的奥妙。每一个编程都坚持按照这个过程学习,你很快会找到编程的感觉,取其精华去其糟粕,久而久之会形成你独特的编程思想。 第三步:单片机硬件设计 电路原理设计涉及到各种芯片的应用,而这些芯片外围电路的设计、典型应用电路和与单片机的连接等在芯片数据手册(DATASHEET)都能找到答案,前提是要看得懂全英文的数据手册。否则,照搬别人的设计永远落在别人的后面,你做的产品就没有创意。电子技术领域的第一手资料(DATASHEET)都是英文,从第一手资料里你所获得的知识可能是在教科书、网络文档和课外读物等所没有的知识。做PCB板就比较简单了。只要懂得使用protel软件或AltimDesigner软件就没问题了。但要想做的板子布局美观、布线合理还得费一番功夫了。 学习单片机的内容 使用按钮输入信号,发光二极管显示输出电平,就可以学习引脚的数字I/O功能,在按下某个按钮后,某发光二极管发亮,这就是数字电路中组合逻辑的功能,虽然很简单,但是可以学习一般的单片机编程思想,例如,必须设置很多寄存器对引脚进行初始化处理,才能使引脚具备有数字输入和输出输出功能。每使用单片机的一个功能,就要对控制该功能的寄存器进行设置,这就是单片机编程的特点,千万不要怕麻烦,所有的单片机都是这样。IO口的使用,最简单的就是点亮流水灯啦~Comeon!为了让没有单片机的同学也能顺利学习,我们可以用仿真软件来做,有视频喔,学习更简单,麻麻再也不用担心了 学会定时器的使用,就可以用单片机实现时序电路,时序电路的功能是强大的,在工业、家用电气设备的控制中有很多应用,例如,可以用单片机实现一个具有一个按钮的楼道灯开关,该开关在按钮按下一次后,灯亮3分钟后自动灭,当按钮连续按下两次后,灯常亮不灭,当按钮按下时间超过2s,则灯灭。数字集成电路可以实现时序电路,可编程逻辑器件(PLD)可以实现时序电路,可编程控制器(PLC)也可以实现时序电路,但是只有单片机实现起来最简单,成本最低。定时器的使用是非常重要的,逻辑加时间控制是单片机使用的基础。按键,就不用说了吧,应用很广泛的,不多说,参见帖子,注意,按键扫描程序是用if还是while喔~最近在某论坛发现了一种新型按键识别思路(利用AD),也可以看看~ 单片机的特点是一段程序反复执行,程序中的每个指令的执行都需要一定的执行时间,如果程序没有执行到某指令,则该指令的动作就不会发生,这样就会耽误很多快速发生的事情,例如,按钮按下时的下降沿。要使单片机在程序正常运行过程中,对快速动作做出反应,就必须使用单片机的中断功能,该功能就是在快速动作发生后,单片机中断正常运行的程序,处理快速发生的动作,处理完成后,再返回执行正常的程序。中断功能使用中的困难是需要精确地知道什么时候不允许中断发生(屏蔽中断)、什么时候允许中断发生(开中断),需要设置哪些寄存器才能使某种中断起作用,中断开始时,程序应该干什么,中断完成后,程序应该干什么等等。 第四步:与PC机进行RS232通信 第五步:学会A/D与D/A 第六步:学会PCI、I2C接口和液晶显示器接口 那我们来看一下如何实现LCD1602的显示吧:帖子链接+仿真链接 这些功能可以使单片机能够控制电机,检测转速信号,实现电机调速器等控制器功能。如果以上七步都学会,就可以设计一般的应用系统,相当于学会十招降龙十八掌,可以出手攻击了。 学习USB接口、TCP/IP接口、各种工业总线(CAN总线、SPI总线)的硬件与软件设计是非常重要的,因为这是当前产品开发的发展方向。到此为止,相当于学会15招降龙十八掌,但还不到打遍天下无敌手的境界。即使如此,也算是单片机大虾了。 PT2262/PT2272是台湾普城公司生产的一种CMOS工艺制造的低功耗低价位通用编解码电路,PT2262/PT2272最多可有12位(A0-A11)三态地址端管脚(悬空,接高电平,接低电平),任意组合可提供531441地址码,PT2262最多可有6位(D0-D5)数据端管脚,设定的地址码和数据码从17脚串行输出,可用于无线遥控发射电路。51单片机学习总结 在一片集成电路芯片上集成微处理器、存储器、I/O接口电路,从而构成了单芯片微型计算机,即单片机。Intel公司推出了MCS-51系列单片机:集成8位CPU、4K字节ROM、128字节RAM、4个8位并口、1个全双工串行口、2个16位定时/计数器。寻址范围64K,并有控制功能较强的布尔处理器。 用到单片机的项目经验介绍 毕设答辩打分器 自动感应水龙头 工业自动化:数据采集、测控技术。 消费类电子产品:洗衣机、电冰箱、空调机、电视机、微波炉、手机、IC卡、汽车电子设备等。 武器装备:飞机、军舰、坦克、导弹、航天飞机、鱼雷制导、智能武器等。 3、学习单片机之前预备知识 定义单片机为TTL电平: (2)RS232电平:计算机的串口 所以计算机与单片机之间通讯时需要加电平转换芯片 (4)C语言基础 80C51是MCS-51系列中的一个典型品种;其它厂商以8051为基核开发出的CMOS工艺单片机产品统称为80C51系列。 总线(BUS)是计算机各部件之间传送信息的公共通道。微机中有内部总线和外部总线两类。内部总线是CPU内部之间的连线。外部总线是指CPU与其它部件之间的连线。外部总线有三种:数据总线DB(DataBus),地址总线AB(AddressBus)和控制总线CBControlBus)。 CPU:由运算和控制逻辑组成,同时还包括中断系统和部分外部特殊功能寄存器; ROM:用于存放程序、一些原始数据和表格; T/C:两个定时/记数器,既可以工作在定时模式,也可以工作在记数模式; 一个全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或单片机与微机之间的串行通信; (8) 例: charvar1; unsignedcharvextor[10]; 注意:变量名不能用C语言中的关键字表示。 包含的头文件(可以在安装目录下INC目录下查看) 常用有:reg51.hreg52.h math.h(定义常用数学运算); 函数名()interruptnusingm 函数内部实现…. (11)I/O口定义 (12)单片机的基本时序 (1)振荡周期:也称时钟周期,是指为单片机提供时钟脉冲信号的振荡源的周期,TX实验板上为11.0592MHZ。 (3)机器周期:一个机器周期包含6个状态周期S1~S6,也就是12个时钟周期。在一个机器周期内,CPU可以完成一个独立的操作。 4、学习单片机目标 1.电源2.晶振3.复位电路 1.输出控制电平高低2.输入检测电平高低。
中断:外部中断、定时器中断、串口中断
相关问答
生理学蟾蜍的反射弧分析 实验 报告怎么写?《单片机实验》实验报告格式报告书写与提交方式每一次实验写一个实验报告(共五个)。第二个实验开始,每次实验时提交上一次的实验报告。教师评阅后返还。第...
4×4矩阵式按钮 单片机 实习报告-ZOL问答4*4矩阵键盘扫描程序如下:ucharkbscan(void){unsignedcharsccode,recode;P1=0x0f;//发0扫描,列线输入if((P2&0x...
单片机 会被淘汰吗?-ZOL问答单片机的发展已经经历了几十年了,近10年来,随着ARM公司的CORTEX系列芯片的强势崛起,现在越来越多人都在谈论ARM,并且CORTEX-M0,CORTEX-M3系列芯片主打的就是要代...
模拟电路,传统数字电路与 单片机 有什么区别?模拟电路两个词总结就是放大,数字电路总结就是门电路,单片机偏向于数字电路,但是主要在与编程模拟电路两个词总结就是放大,数字电路总结就是门电路,单片机偏...
单片机 中 ADC 是如何进行采集的?摘要:本文设计并实现了基于2.4GHzISM频段射频收发芯片nRF2401的计算机短距离无线数据采集系统。该系统采用PC作为系统控制中心,以C8051F021单片机...
想自学 单片机 编程,能推荐几本书么?单片机编程推荐书籍:51:《单片机的C语言应用程序设计》作者:马忠梅PIC:《PIC单片机入门与实战》作者:张明峰AVR:《AVR单片机嵌入式系统原理与应用实践...
准备读研的话,工程类的学科FPGA和 单片机 哪个方向更好一点?谢谢悟空邀请,作为一名从事单片机和FPGA开发的工程师,我来回答这个问题专业技能要求FPGA主要的芯片品牌比较少,目前主流有赛灵思,altera,Lattice编程语言...谢...
数控加工技术学生实习总结。发邮箱..._求职实习_帮考网数控编程、加工及数控车床、数控铣床、数控加工中心及其它数控设备的操作维修、维护方面的理论知识和专业知识。并能获得国家劳动和社会保...并能...
单片机 编程器原理?单片机编程器(MicrocontrollerProgrammer)是一种用于将程序代码或数据加载到单片机(Microcontroller)中的设备。它的原理基于单片机内部的编程接口和通信协...
大一想参加学校机器人设计比赛,已经组好队,要学习 单片机 ,我们学完c语言了, 单片机 入门需要看一些什么书?每次看到大学生在大学期间做点有技术含量的东西,都会非常羡慕,计科毕业从事嵌入式开发已经十几年了,在大学期间学的第一门编程语言就是C语言,早期的大学开设...