当前位置: 东星资源网 > 大学生 > 学习 > 正文

单片机的学习方法

时间:2017-03-29 来源:东星资源网 本文已影响 手机版

篇一:51单片机学习方法指导意见

txt">本店的单片机学习开发板是一个单片机学习的硬件平台,有了这

个平台可以做学习、研究、开发之用途;但是拿到开发板后不可急功

近利,不要想着拿到开发板马上就能编程做东西,这是个错误的想法;

必须一步一个脚印的从头学起,结合本人的经验和高人的指点,特总

结如下学习步骤:

1, 拿到开发板后,按要求先连通电脑,首先下载本开发板

自带的试验源程序,一个一个的验证下自带的试验源程

序;(这样做的目的:验证开发板是好的,了解开发的组

成,了解单片机下载程序的方法,为下一步独立编程做

好准备工作);这项学习需要花费的时间是1-8个小时;

2, 打开光盘,找到开发板原理图,熟悉本开发板的原理图,

了解管脚的连接情况和硬件结构;(为使用本开发板编程

学习、开发做准备,要想编程验证自己的想法,必须了

解开发板的硬件结构);这项学习的时间建议是1-4个小

时;

3, 慢慢上手:对本开发板的自带的试验源程序进行简单的

修改,以验证自己的想法和实际的程序运行的差别;如

果你想用C编程,那就找到C的环境(比如:KEIL环

境等),编写简单的闪灯程序,调整延时时间,观察灯的

闪烁频率; 如果你觉得这个简单,只要不会出错,

你可以编一些稍复杂的程序;这一步是有简单到复杂的

过程,建议学习时间是1-3个月,这一步很关键,为以

后复杂学习打下基础;

这一步学的具体方法是:先在KEIL环境里或汇编

环境里 写或修改程序,然后编译成.HEX或.BIN文件 ,

下载到学习板里,验证自己的想法,观察程序执行境况;

4, 高级上手阶段,可以编写一些实际的实用的程序,建议

还是有简单到复杂;

总而言之,切不可急功近利,上去就想编个像样的程序,

然后是错误百出,搞得自己筋疲力尽,最后丧失学习兴

趣,导致学习失败;

关于STC89C52、AT89S52、AT89C52的区别:

首先说明,我这只讲简单的区别,是配合学习板讲的:这三种

单片机都是51的内核,就是下载程序的方式不一样:STC89C52是通过电脑的串口下载的,只要一根串口延长线就可以了,

然后再加下载软件; AT89S52是通过ISP口下载程序的,要有一

根ISP下载线,目前本店里的学习板是并口下载线,一端接电脑并口,

一端接学习板的ISP口,通过并口下载软件下载的; AT89C52

目前已经停产;市场上都是老的芯片;

另外编译过的程序可以互用,比如:你在KEIL下写的程序,

编译过后生成的.HEX或.BIN文件可以通过串口下载到ST89C52;同

样也可以通过并口ISP下在线下载到AT89S52;一样的效果;

学习就要学新的,现在主流的都选STC的单片机,下载程序

方便,又有工业级的,AT只有商业级的;

篇二:单片机的学习方法与简单的小程序

明确下你学习单片机的目的是一时的兴起?还是其他呢?

其实不管是不如社会还是在学校不管年龄多大学单片机的道路很长 但是入门?找对了方式方法那么你便可以很快入门而这需要的只是你的上进心和时间。

当我步入社会后由于自己的学历和没两把刷子选择的只有销售类行业,可是它不是稳定的 而销售分很多种。人都说隔行如隔山。不尝试不知其中的心酸与挫折。记得小时候在上学的时候大人们常说社会是残酷的,每个“社会人”都是现实的。而几年以后我也成为了所为的“社会人”可我没有发现有多么的残酷多么的现实。

而当我步入了另一个行业,这里不要求你有多么好的销售技巧和销售能力需要的是技术 单片机、C/C++、ARM 而对于原来从来没有接触的我来说真的太陌生了。一方面的陌生更大的是别人对你的瞧不起。因为你什么都不会。而没有公司会给一个什么都不会什么都做不了的员工去发工资。我很恼火。我凭什么要被他们看不起所以我在网上下载了好多视频,下载了好多资料。以为这样多花费时间精力就可以大功告成。可是半年多一无所获 因为我犯了致命的错误急于求成 殊不知一步一步扎扎实实的走,当我明白这个道理的时候我已后悔不已。白白耽误了半年时间。最后我找到了学习的方法。

1、花100元左右买一块学习板、其中包括 LED 数码管 AD DA 串口 小键盘当然还有很多外设的你比如点阵块 步进电机 红外收发 蜂鸣器

2、书,谭浩强的C语言程序设计(如果学汇编的话你可以买8051的)

3、结合视频和对原理的讲解你就会明白很多。

4、当你把学习板里面的东西都弄通了的时候你就入门了 你再熟悉外围芯片的操作自己尝试如果不行去网上找资料问问老师或者其他人

5、当你可以自己设计一些程序来达到自己的要求的时候你回头看看自己走过的路你会发现努力了有收获了。

6、当你熟悉了一些常用外围芯片比如74系列的373 是控制数码管 LED连接是要用上拉电阻的 原理图的连接你要懂 熟悉你常用的一些芯片。

我走的路很辛苦 如果我早知道学习这个要用学习板那我早买了早知道要买C语言程序设计我早买了而不是买了一些其他的书

如果你连什么都不是单片机的话我可以和你说下单片机就是带各个管脚的元器件,和电脑里面的CPU差不多它每个角都有功能定义的你一定要记住它每个管脚都是什么意思做什么的怎么操作它这样你以后不但可以自己编写小程序还可以走原理图的路子 自己设计板子自己调试实现功能 多棒啊

下面附录一些程序大家可以看下 有初学的可以试着下载编译写入下 祝大家早日有所收获。

#include<reg52.h> //定义的头文件

Void main()

{

P0=0; //给单片机P0口赋值 点亮P0口LED灯

}

这样就点亮了LED,

#include<reg52.h>//头文件

sbit wela=P2^6; //为数码管选择 位选端

Sbit dula=P2^7; //为数码管选择 段选锻

Void main()

{

dula=0; //打开段选

dula=0x7d;将要亮哪一位选中

dula=1; 关闭段选

wela=0; 打开位选

Wela=0xfe;给位选送数

Wela=1;关闭位选

}

点亮数码管 要借助一些软件 你可以找一下比如 数码管断码查询

下面是外围芯片 ADC0809的程序

#include <AT89X52.H>

unsigned char code dispbitcode[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; unsigned char code dispcode[]={0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f,0x00}; unsigned char dispbuf[8]={10,10,10,10,10,0,0,0}; unsigned char dispcount;

sbit ST=P3^0;

sbit OE=P3^1;

sbit EOC=P3^2;

unsigned char channel=0xbc;//IN3 unsigned char getdata;

void main(void)

{

TMOD=0x01;

TH0=(65536-4000)/256; TL0=(65536-4000)%256; TR0=1;

ET0=1;

EA=1;

P3=channel;

while(1)

{

ST=0;

ST=1;

ST=0;

while(EOC==0);

OE=1;

getdata=P0;

OE=0;

dispbuf[2]=getdata/100; getdata=getdata%10; dispbuf[1]=getdata/10; dispbuf[0]=getdata%10;

}

}

void t0(void) interrupt 1 using 0 {

TH0=(65536-4000)/256; TL0=(65536-4000)%256;

P1=dispcode[dispbuf[dispcount]]; P2=dispbitcode[dispcount]; dispcount++;

if(dispcount==8)

{

dispcount=0;

}

}

小键盘的程序

#include <AT89X51.H>

unsigned char count;

void delay10ms(void)

{

unsigned char i,j;

for(i=20;i>0;i--)

for(j=248;j>0;j--);

}

void main(void)

{

while(1)

{

if(P3_7==0)

{

delay10ms();if(P3_7==0) {

count++; if(count==16){

count=0;}

P1=~count; while(P3_7==0); }

}

}

}

定时器计数器的相关程序 #include <AT89X51.H>

unsigned char tcount2s; unsigned char tcount02s; unsigned char ID;

篇三:怎样学好单片机?

览次数:284次悬赏分:0 | 提问时间:2010-12-15 08:33 | 提问者:匿名

其他回答 共4条

单片机已经无处不在,与我们生活更加相关并渗透入生活的方方面面。单片机的特点是小,也就是其集成的特性,其内部的结构是普通的计算机系统的简化。在增加一些外围电路之后,就能成为一个完整的系统。比如,我们常用的一类电子秤,内部就安装了一块单片机,再加上传感器、显示器和一些附加电路,就形成了一个应用系统。所以单片机的可扩展性是相当好的。又比如K85这样的电脑中频电疗仪,能够从病人身上获取数据,然后根据现有的算法从几种治疗处方中选择,而在每一种处方中还能够根据病人的病情而改变中频和波形及输出电流强度。这样可以看出单片机本身也具有和普通计算机类似的强大的处理,可以增加复杂的算法,获得很强的数据处理能力。单片机也可以应用在电脑缝纫机上,这样单片机可以替代很多机械部分,还能提供很多老式的缝纫机无法实现的图案。所以单片机在工业中的应用,极大地提高了工业设备的智能化,提高了处理能力和处理效率,而且无需占用很大的空间和复杂的设备。

好好学吧!

我的单片机学得不好,我同学中单片机学好的,工资很高的哦!

我要说的是单篇机学好了用处大了

电子产品好多都要用单篇机比如电视机 收音机 还有什么计时器呀 秒表啊 多了我也说上来

并且现在中国的大部分中小企业都是做单篇机的

好找工作

要学好它首先要学好电路 尤其是数电

还有编程 一定有掌握一门计算机语言

要多实践 多做实业 特别是电子线路的设计方面

如果你是专业学这个的,可以先学好数电,这是理论基础,再学点c语言,然后买个开发板,去网上找资料,问老师

如果你是自学的,推荐去网上下个《十天学会单片机视频》,买个开发板,一步步照着做,但数电和c语言也要自学。个人觉得网上有些人的博客里好东西不少,你可以和他们交流

网上郭天祥的视频建议你看一下,最好买个配套的开发板把实验都做一遍。做完就入门了。

一般我们现在用的比较多的是MCS-51的单片机,它的资料比较多,用的人也很多,市场也很大。就我个人的体会怎么样才能更快的学会单片机这门课。单片

机这门课是一项非常重视动手实践的科目,不能总是看书,但是学习它首先必须得看书,因为从书中你需要大概了解一下,单片机的各个功能寄存器,而说明白点,我们使用单片机就是用软件去控制单片机的各个功能寄存器,再说明白点,就是控制单片机那些管脚的电平什么时候输出高,什么时候输出低。由这些高低电平的变化来控制你的系统板,实现我们需要的各个功能。至于看书,只需大概了解单片机各管脚都是干什么的?能实现什么样的功能?第一次,第二次你可能

单片机的学习方法

看不明白,但这不要紧,因为还缺少实际的感观认识。所以我总是说,学单片机看书看两三天的就够了,看小说你一天能看五六本,看单片机你两三天看两三遍就够了,可以不用仔细的看。推荐一本书,就这一本就足够,书名是《新编MCS-51单片机应用设计》,是哈尔滨工业大学出版社出的的,作者是张毅刚。大概了解一下书上的内容,然后实践,这是非常关键的,如果说学单片机你不实践那是不可能学会的,关于实践有两种方法你可以选择,一种方法:你自己花钱买一块单片机的学习板,不要求功能太全的,对于初学者来说你买功能非常多的那种板子,上面有很多东西你这辈子都用不着,我建议有流水灯、数码管、独立键盘、矩阵键盘、AD或DA(原理一样)、液晶、蜂鸣器,这就差不多了。如果上面我提到的这些,你能熟练应用,那可以说对于单片机方面的硬件你已经入门了,剩下的就是自己练习设计电路,不断的积累经验。只要过了第一关,后面的路就好走多了,万事开头难,大家可能都听过。方法二:你身边如果有单片机方面的高手,向他求助,让他帮你搭个简单的最小系统板。对于高手来说,做个单片机的最小系统板只需要一分钟的时间,而对于初学者可就难多了,因为只有对硬件了解了,才能熟练运用。而如果你身边没有这样的高手,又找不到可以帮助你的人,那我劝你最好是自己买上一块,毕竟自己有一块要方便的多,以后做单片机类的小实验时都能用得上,还省事。 有了单片机学习板之后你就要多练习,最好是自己有台电脑,一天少看电影,少打游戏,把学习板和电脑连好,打开调试软件坐在电脑前,先学会怎么用调试软件,然后从最简单的流水灯实验做起,等你能让那八个流水灯按照你的意愿随意流动时你已经入门了,你会发现单片机是多么迷人的东西啊,太好玩了,这不是在学习知识,而是在玩,当你编写的程序按你的意愿实现时你比做什么事都开心,你会上瘾的,真的。做电子类的人真的会上瘾。然后让数码管亮起来,这两项会了后,你已经不能自拔了,你已经开始考虑你这辈子要走哪一行了。就是要这样练习,在写程序的时候你肯定会遇到很多问题,而这时你再去翻书找,或是问别人,当得到解答后你会记住一辈子的,知识必须用于现实生活中,解决实际问题,这样才能发挥它的作用,你自己好好想想,上了这么多年大学,天天上课,你在课堂上学到了什么?是不是为了期末考试而忙碌呢?考完得了90分,哈哈哈好高兴啊,下学期开学回来忘的一干二净,是不是?你学到什么了?但是我告诉你单片机一旦学会,永远不会忘了。另外我再说说用汇编和C语言编程的问题。很多同学大一二就开设了C语言的课,我也上过,我知道那时天天就是几乘几,几加几啊,求个阶乘啊。学完了有什么用?让你用C语言编单片机的程序你是不是就傻了?书上的东西我们必须要会运用。单片机编程用C语言或汇编语言都可以,但是我建议用C语言比较好,如果原来有C语言的基础那学起来会更好,如果没有,也可以边学单片机边学C语言,C语言也挺简单,只是一门工具而已,我劝你最好学会,将来肯定用得着,要不你以后也得学,你一点汇编都不会根本无所谓,但你一点C语言都不会那你将来会吃苦头。汇编写程序代码效率高,但相对难度较大,而且很罗嗦,尤其是遇到算法方面的问题时,根本是麻烦的不得了,现在单片机的主频在不断的提高,

我们完全不需要那么高效率的代码,因为有高频率的时钟,单片机的ROM也在不断的提高,足够装得下你用C语言写的任何代码,C语言的资料又多又好找,将来可移植性非常好,只需要变一个IO口写个温度传感器的程序在哪里都能用,所以我劝大家用C语言。 总结上面,只要你有信心,做事能坚持到底,有不成功不放弃的强烈意志,那学个单片机来说就是件非常容易的事。 步骤: 1.找本书大概了解一下单片机结构,大概了解就行。不用都看懂,又不让你出书的。 2.找学习板练习编写程序,学单片机就是练编程序,遇到不会的再问人或查书。(我当初就买了中国开发板网一个单片机开发板,网址如下:

/html/2006111423012559.html) 3.自己网上找些小电路类的资料练习设计外围电路。焊好后自己调试,熟悉过程。 4.自己完全设计具有个人风格的电路,产品。 「知无不言.言无不尽.百人誉之不加密.百人毁之不加疏.」-- 诸葛廷栋

我原来写过的一篇文章现在转给你!

在电子领域,尤其是自动化智能控制领域,由传统的分立元件或数字逻辑电路构成的控制系统正在被单片机等智能控制系统所取代。单片机具有体积小、功能强、成本低、应用面广等优点,可以说,智能控制与自动控制的核心就是单片机。目前,一个学习与应用单片机的高潮正在兴起。如何短时间内上手单片机是很多人关心的问题。

但是,对于单片机很多人存在学习上的误区,指导如何下手,有的人高估了单片机的难度,有一种敬畏的心里,认为自己不行,有的人低估了它的深度,导致学了很长时间还是很肤浅!因此要学习单片机首先要有一个正确的认识和了解。

首先,学习单片机并不像学习传统数字电路或模拟电路那样直观,原因是除了 “ 硬件 ” 之外还存在一个 “ 软件 ” 的因素。正是这个 “ 软件 ” 因素的存在,使得许多同学怎么也弄不懂单片机的工作过程,不明白为什么将几个数送来送去,就能控制一盏灯的亮、灭或控制一台电机变速、液晶屏的显示等。由此对单片机产生一种 “ 神奇 ” 、“ 敬畏 ” ,甚至 “ 恐惧 ” 感,阻碍了学习单片机的热情与兴趣,因而在社会上有 “ 单片机难学 ” 一说。

对于初学者我有些经验想和大家分享:

学习的步骤

当前的单片机种类很多,但是 51 是最基础的,因此单片机的学习最好也是从 51 开始,不仅容易上手,而且相当实用。然而 51 单片机毕竟过于基础,后来的很多单片机在功能上都有很大的扩展,因此按照我们实验室多数人的路线接下来大多数人会学习 AVR 单片机, AVR 单片机在功能上较 51 有很大提升,集成了 A/D 、快速 PWM 等很多实用的功能,而且和很多大型的单片机在功能上有很多类似之处,因此如果以后还想掌握其他单片机 AVR 无疑是一个很好的跳板。

学习的过程

学习单片机最终要的是当然是练,我所说的学习跟课堂上的单片机学习不同,我以前也看过一些单片机教材,有些教材讲的是单片机的工作原理和内部结构,这些东西对于我们暂时并不需要,等以后开课的时候在学习好了。现在要学习的是暂时抛开内部结构原理不谈,如何能用单片机写一些简单的小程序,是从实用性的角度出发,网上有一种说法称之为先实践后理论的学习方法。

因此我的观点如下,单片机的硬件结构首先要有一个基本的了解,最起码要知道各引脚的功能、区别,能自己动手搭一个单片机的最小系统,然后就可以直接从程序入手,程序最好还是用 C 语言编程,从简单的跑马灯做起,逐渐深入,陆续可以做一些数码管、液晶、 DS1302 、 DS18B20 等电子元器件的应用,在深入就可以结合一些具体实例扩展一些中断、串口通讯等功能。还有一点要声明的是单片机里用到的 C 语言其实很有限,课堂上学习 C++ 的很大一部分内容在初期单片机编程中都用不到,因此没必要因为觉的自己的 C 语言基础不是很好而对单片机望而止步!

学习的工具

软件方面方面, 51 单片机用的是 KEIL 软件,这个软件在学校图书馆软件下载和其他网站上都有,具体用法自己查找相关资料, AVR 的软件就比较多了,我用的是 CVAVR ,另外还有 ICCAVR 等多款编译软件,这要看个人喜好了,建议有了一定的 51 基础再学。另外就是烧写软件,烧写软件的作用就是将编译器生成的 HEX 文件烧写至单片机里,这要配合下载线实用,如果有并口的话最好用并口下载线,软件最好用广州双龙的 SLISP 软件,如果是笔记本没有并口的话则要自己买一个下载器了,名称为 USBASP ,网上电子市场有卖 20 块钱左右,软件会随光盘自带。

硬件方面,首先是要有单片机,对于单片机有一点要注意, 51 单片机最好买 89S51 、 89S52 这两种型号,上面我所说的烧写程序是 ISP 方式,这两种单片机支持 ISP 下载,所以如果买其他型号的烧写程序可能会不太方便, AVR 单片机常用的就是 ATmega16L 其它型号的区别也不是很大,甚至有些兼容。至于单片机开发板,目前的价格都很贵,从一百到几百不等,不过像上次学校里广告的那个六十多块钱的最好还是免了,没什么作用。能买一块当然好,没有的话也不要紧,自己动手买个电路板搭一下也很方便,引出 ISP 接口,烧写程序十分容易,然后将 I/O 口引出扩展也很方便。

学习单片机的其它几个注意点:

1 .理论与实践并重

对一个初学单片机的人来说,如果按教科书式的学法,上来就是一大堆指令、名词,学了半天还搞不清这些指令起什么作用,也许用不了几天就会觉得枯

燥乏味以致半途而废。所以学习与实践结合是一个好方法,边学习、边演练,循序渐进,这样用不了几次就能将所用到的指令理解、吃透、扎根于脑海,甚至 “ 根深蒂固 ” 。也就是说,当你学习完几条指令后 ( 一次数量不求多,只求懂 ) ,接下去就该做实验了,通过实验,使你感受到刚才的指令产生的控制效果,眼睛看得见 ( 灯光 ) 、耳朵听得到 ( 声音 ) ,更能深刻理解指令是怎样转化成信号去实现控制的,通过实验看到自己所学的成果不仅有一种成就感也能提升你对单片机的兴趣。说句实在话,单片机与其说是学出来的,还不如说是做实验练出来的,何况做实验本身也是一种学习过程。因此边学边练的学习方法,效果特别好。

2 .合理安排时间持之以恒

学习单片机不能 “ 三天打鱼、两天晒网 ”,要有持之以恒的毅力与决 4 心。学习完几条指令后,就应及时做实验,融汇贯通,而不要等几天或几个星期之后再做实验,这样效果不好甚至前学后忘。另外要有打 “ 持久战 ”的心理准备,不要兴趣来时学上几天,无兴趣时凉上几星期。学习单片机很重要的一点就是持之以恒。

3 .遇到问题耐心检查

单片机有软硬件两方面的内容,有时一个程序怎么调都不出效果,然而从理论分析却又是对的,这是就要仔细找原因了,学习单片机经常碰到很多问题,有时一两天都不能解决,这是就要有耐心,从底层找起,相信每找出一个错误都会有一个新的收获。切不可轻言放弃!!!

4 .对只短暂学过一遍的知识,充其量只比浮光掠影稍好。因此,较好的方法是过一段时间后 (1-2 个月 ) 再重新学一遍,学过的知识要经常运用,这样反复循环几次就能彻底弄懂消化,永不忘却。

5 .要进行适当投资购买实验器材及书籍资料

单片机技术含金量高,一旦学会后,给你带来的效益当然也高,无论是应聘求职还是自起炉灶开厂办公司,其前景都光明无限。因此在学习时要舍得适当投资购买必要的学习、实验器材。另外还要经常去科技图书店看看,购买一些适合自己学习、提高的书籍。一本好的书籍真的很重要,可以随时翻阅,随时补充不懂或遗忘的知识。

1、您得有一定数量的Money。

(1)、开发板贵

(2)、培训费更贵

(3)、开发平台是贵得不能再贵。(除非您只是想玩玩而已)

2、最重要的一点,你得有坚韧不拔之志和一颗平常之心。

(1)、自信 坚强 积极 勤快 (注:好的自信是自觉的!)

(2)、成功其实就是成为最好的您自己

单片机门槛虽然较高,但也跟其他事物一样,并不是牢不可破。只要我们用心去对待,东雪终将化去,春风定会吹来。具体步骤如下:

标签: