我写这篇文章,是我在百度看到很多想接触单片机或者已经接触单片机的人,不知道怎么入门,或者不知道第一步怎么走。我也是把我的经验写出来,这次的只不过针对的是想接触单片机的,刚接触单片机的,一开始都会存在几个疑问。1.学习单片机的需要什么基础。2.开始怎么入手3.需不需要买开发板。主要就存在这几个疑问,我也在这里为大家说说,大家只不过在交流,小弟在这里献丑啦,如有什么说的不周到的,或者不全面的,也请高手多多指教。我写这个目的是希望给更多的想学习单片机,热爱电子设计的人提供一些帮助。闲话少说,进入正题。
学习单片机一开始首要认为是通读一遍书,这个很重要了解它是什么原理,还有能实现那些功能,例如外部中断,定时器等等吧~!这些都是理论的东西。当你了解差不多就开始真刀真枪的比试~!首先要学会的是KEILC51这个软件,这个是一个编程软件,编写C程序的软件。对于初学者这个很关键如果连这个软件都弄不会,不知道怎么建立工程文件,怎么生成.HEX文件的话。等于白学单片机一样。还有一个是STC系列单片机怎么烧录程序,这个可以在官方网站上面下载一个烧录软件。(我主要针对的是STC系列单片机)。这个是需要迈进单片机这个第一步。有些初学者,或者我自己也犯过这样错误,看这本书上做这个挺好玩也想比试,看到那本书上做这个也挺好,最后什么都没有做成。人做事情就应该踏踏实实的。还有就是培养自己有一种成就感,这样慢慢的就会坚持下来,也是建立信心的最好办法。也是从最简单的入手,这样给自己一点点信心。下面我就介绍我自己的一种方法。
学习单片机的编写程序就好像搭积木一样,不是一下就可能写出来很大,很复杂的程序的。都是从最简单的程序开始,慢慢的往上面加功能,优化的。我给大家介绍一种方法吧~!这个也是我这些天总结出来的,根据我自己的走过来的路想出来的,希望对大家以后学习单片机有帮助吧~!
第一步就是编写一个是LED点亮的程序,烧录到单片机里面看看效果,这个目的:1.熟悉单片机怎么编写程序2.怎么烧录程序3.感性认识一下单片机是控制什么东西的。也是让自己有感兴趣的关键第一步,因为教材上都是告诉你单片机什么地址,什么的根本没有实际的东西,也是大家认为难的,我遇到好几个人都说单片机难,是因为老师讲的不太明白,学的都是汇编,就知道什么地址相加减,或者从这个地址传送到这个地址里面,这样很枯燥,很没有意思。谁都会感觉没有兴趣。当你编写一个这样简单的程序你会知道单片机还有这样的功能,这么好玩。也是了解LED灯这么亮的。
第二步就是编写一个让8个LED灯轮流亮,或者每隔两个灯轮流亮,这个程序目的是增加一个延时程序,让大家知道不精确延时这么编写。当你会这个程序以后,你就可以发挥你自己想想编写出来不同的花样的流水灯程序,就是练习熟悉开发环境还有就是延时程序和自己的想象力。
第三步就是编写一个带有外部中断的流水灯程序,就是当有外部中断时候会变换不同的花样,程序编写跟第二步差不多但是只不过加一个外部中断,因为我自己感觉对于外部中断对于初学者来说真的很难理解,我那个时候学时候用下午时间也没有想明白,最后还是用开发板做实验,先感性认识怎么回事,慢慢经过几次应用才能理解些啦~!所以一开始如果不理解也可以照着例程把程序烧录进去以后先感性认识一下,在理性的学习一下。慢慢就好了~!
第四步就是编写一个精准延时的流水灯程序,这个就需要加上定时器程序,这个目的和方法跟第三步类是。在这里就不多说了。
第五步就是编写一个与电脑通信,利用电脑控制灯的程序,这个方法跟第三步类是,就是把电脑通信的程序加入里面。
第六步是编写个按键程序,把按键程序加入,知道按键程序怎么进行编写,可以理解按键,如果有能力也可以加入矩阵键盘程序这样更好啊~!这个看你自己能力啊~!
当你把这六步全部走完,每一个程序都是自己编写的,在加上自己的想象创新出来很多花样,会感觉自己很有成就感,对于以后的学习单片机很有帮助,别看一个流水灯程序有很多花样玩法啊,如果都能弄明白的话,说明对单片机你是有一个初步的了解,也了解这个最小系统啦~!对于以后的编程也有很大的帮助。技术不要什么最新就用什么,最后走一圈回来,还就是会流水灯程序啊~!所以如果认准学习C51,就不要过两天别人说AVR好,就又学AVR啦,最后那一个都没有学好,会的还是最简单的程序。其实每种单片机只不过编程有些不同,还有功能有些差异,但是原理都是差不多的~!!!
以上这些都是我个人的看法,只做参考,如果有更好的方法希望大家留言,我们更好交流啊~!!!也请高手进来说说自己的经验。
关键字:单片机 开发板
引用地址:
写给要接触单片机和刚接触单片机的人
推荐阅读最新更新时间:2024-03-16 14:25
51单片机学习笔记———7.按键法配置定时器
如果用延时函数来对按键进行检测的话,会消耗单片机的内存,不是很好,于是我们有以下方法: unsigned char cnt1 = 0XFF; cnt1 = (cnt1 1)|KEY1; if(cnt1!=0x00) { KeyLock = 0; } else if (KeyLock==0) { KeyNum = 1; KeyLock = 1;//防止按键触发 }
[单片机]
STM32单片机串口通信波特率计算方法
1. 什么是波特率 不管是什么单片机,在使用串口通信的时候,有一个非常重要的参数:波特率。什么是波特率:波特率就是每秒传送的字节数。双方在传输数据的过程中,波特率一致,这是通讯成功的基本保障。下面以STM32单片机为例,讲解一下串口波特率的计算方法。 2. STM32波特率相关的寄存器 STM32单片机设置波特率的寄存器只有一个:USART_BRR寄存器,如下图所示。 该寄存器的有效位数为16位,前4位用于存放小数部分,后12位用于存放整数部分。将波特率算出来后,数值填入这个波特率就可以了。下面介绍如何计算。 3. 波特率计算方法 STM32的数据手册给出了计算方法,有一个公式,如下图所示: 在这个公式上,共有三
[单片机]
单片机电子密码锁程序(2)
仿真文件和完整源码下载地址:http://www.51hei.com/bbs/dpj-22586-1.html 论文下载地址:http://www.51hei.com/f/电子密码锁论文最终稿.docx 下面是main.c文件: #include reg52.h #include delay_ms.h #include 矩阵键盘.h #include i2c.h #include 1602.h #include delay_ms.h #include mima.h #define uchar unsigned char #define uint unsigned int #define A 0x0a //输入密码 #d
[单片机]
单片机程序存储器ROM的规划原则是什么?
程序存储器ROM的规划原则是: (1)按照MCS-5单片机复位及中断入口地址的规定,002FH以前的空间都作为中断、复位的入口地址区设计时,可在这些地址单元中设置转移指令,转移到相应的中断服务程序或复位启动程序。 (2)当程序存储器中的功能程序及子程序数量较的时候,应当尽可能地设置入口地址表 (3)二次开发扩展区要尽可能地安排在高位地址区,为扩展留有余地。 (4)对常数、表格要集中设置表格区
[单片机]
基于单片机的光伏发电系统太阳自动跟踪器
摘要:由于太阳位置随时间而变化,使光伏发电系统的太阳能电池阵列受光照强度不稳定,从而降低了光伏电池的效率,因此,设计太阳自动跟踪器是提高光伏发电系统工作效率的有效措施。本文采用单片机EM78247为控制核心,设计了一个双轴太阳自动跟踪器,配合两台交流伺服电机实现光伏电池阵列与阳光照射之间的同步跟踪。该控制器在硬件和软件各方面采取了多项抗干扰措施,使其具有较好的跟踪效果和较强的抗干扰能力,且运行可靠稳定,具有较高的实际应用价值。 关键词:光伏发电系统;EM78247;太阳自动跟踪器 当今社会人们的环保意识越来越强,光伏发电系统的应用普遍受到各国政府重视。因为它不仅能为我们提供用之不竭的可持续再生电能,并更好地保护人类
[单片机]
与51单片机扩展有关的知识点
这些日子做项目,用到外部ram扩展,很是汗颜,很多基本知识点都不会,现在把不会的东西记下来,做个笔记,也和大家共享,学点知识,更好开发产品。 1.单片机中的关键字_at_:定义变量的存储地址。 2.这段程序是什么意思? #define XBYTE((char*)0x20000L) XBYTE =0x41; define XBYTE ((char*)0x20000L) 定义了XBYTE是个指向地址 0x0000L 的字符型指针(或者数组)变量XBYTE =0x41; 对数组XBYTE的第 0x8000个变量进行赋值,赋值为0x41。即对地址0x8000L的内存单元赋值为0x41。这说明你用的是带外部数据总线的51芯片,外部
[单片机]
基于STC89C52单片机的数字电压表
一、设计题目 基于STC89C52的简易数字电压表的设计。 二、设计内容与要求 用STC89C52单片机和ADC0809组成一个数字电压表,要求能够测量0~5V的直流电压值,并用四位数码管显示,并要求所用元器件最少。 三、设计目的意义 1.通过亲身的设计应用电路,将所用的理论知识应用到实践中,增强实践动手能力,进而促进理论知识的强化。 2.通过数字电压表的设计系统掌握51单片机的应用。掌握A/D转换的原理及软件编程及硬件设计的方法,掌握根据课题的要求,提出选择设计方案,查找所需元器,设计并搭建硬件电路,编程写入EPROM并进行调试等。 四、系统硬件电路图 4.1 系统原理框图 选择STC89
[单片机]
使用高集成度MCU实现网络支持的技术
在过去 20 年中,许多工业和自动化系统的趋势是向单个节点添加越来越多的数字智能,以提高它们的响应速度。通过使用分布式智能将系统整合到系统系统(也称为“物联网”)中,系统可以变得更加灵活。通过网络控制,可以提供对设备的远程控制,让它们更智能地工作,以节省能源并提供状态和错误反馈。 使用从远程节点收集的数据,云中的服务器可以在警报开始出现时主动安排维护。这些服务器还可以通过使用增强的控制算法使设备协同工作,以获得更节能或更具成本效益的解决方案,这些算法不仅对来自一个设备的数据作出反应,而且还执行传感器融合以使用来自多个设备的输入。 自 1970 年代推出以来,以及随后在 1980 年代更新为使用低成本双绞线电缆,
[单片机]