初学者怎样看懂单片机代码(看懂单片机程序)
我是一个单片机初学者,我想问一下我需要学哪些知识?
我觉得首先要看懂111条指令,懂意思就行,根本就不需要每一条都记住,因为常用的都只有四五十条罢了。那么多的指令意在可以用多种语句实现同一种功能。
还有就是一定要实际的编程,这一点是非常重要的,只有在实际编程中才能熟悉指令的应用,当然你或许会问自己什么都不懂怎么编程啊,这时候你不要着急,你可以你买一本书,有实际的例子的书,我也见过有这种书但是名字我忘记了,它每个例子是讲得十分详细,有汇编的代码,也有C语言的代码,而且每一行都有注释(名字我忘记了只记得那封皮是黑色的)你可以仿照它的代码写写看,再仿真一下,或者在实际的板子上试试看能不能实现功能,别人的程序修改了能用在自己的板子上那么就是自己的程序了。
至于仿真软件我建议用protues,专用的单片机仿真软件。
如果是自学,那么不懂的地方可以上网收索或者上论坛询问,这里有个单片机的QQ群,是官方建的你可以加上一起学习讨论群号是:7344883
还有在了解指令的同时你要了解你的板子的结构亦即电路连接才能写好你的程序。
当你学到一定程度的时候你可以学习一下单片机的外围电路设计比如液晶显示啊,A/D转换啊什么的....
总之,实际编程练习是学好单片机的唯一途径,至于它和汇编的关系,楼上的哥们儿已解释得十分清楚了的,就不多说了,免得啰嗦。
最后,祝你成功!!!
新手学单片机怎么入门?
循序渐近,一点点吃透学习,方法如下:
1、选择一本好教材,建议《51单片机轻松入门 基于STC15W4K系列》这本,内容新,讲解透彻,有配套视频可辅助参考,不管是初学入门还是已经懂得单片机皮毛,满足所有需求。
2、有了书就要理解意思,所以要吃透教材,看不懂也不要紧,多看,多问,在问题中寻找学习方向。
3、选择配套产品,不要在乎板子的资源多少,推荐吴鉴鹰的单片机,开发板性价比高;软件建议用Keilc51,硬件要有pc机和开发板,开发板要求有流水灯、数码管、独立按键、矩阵键盘、ad转换、液晶屏、蜂鸣器,这就差不多了。其它不明白的就网上找视频找教程,总会有解答的东西。
4、操练起来,从最基本的流水灯开始,试着先控制一个发光管,慢慢的变换花样,做出自己的个性来。
5、带着问题解决问题,一开始先不要找人请教,自己试,这样记忆最深刻,也最有效果,但也不要钻牛角尖,实在不行就问,要不刚建立起来的那点想法就打击没有了。
6、当技术水平,学习方法,心理素质都达到一定的境界了,就算入门了,接下来就要看个人的努力和悟性怎样了,当然在学习单片机的过程中必须遵循一定的原则,坚守住一定的底线,这样才能用最少的经历,在最短的时间内获得大的进步。
单片机(Microcontrollers)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。
单片机怎样快速入门?怎样看懂芯片手册
芯片手册的话
一方面你的专业英语和专业知识要有一定的积累
还有就是对一些基本概念的了解
要能够明白芯片手册说的是什么
最后就是多看多比较了
看多了
你就知道芯片手册的套路
你会知道挑着看
看重点的
到时候你会发现看芯片手册是一种享受
单片机的快速学习的步骤
当前的单片机种类很多,但是 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 .要进行适当投资购买实验器材及书籍资料
单片机技术含金量高,一旦学会后,给你带来的效益当然也高,无论是应聘求职还是自起炉灶开厂办公司,其前景都光明无限。因此在学习时要舍得适当投资购买必要的学习、实验器材。另外还要经常去科技图书店看看,购买一些适合自己学习、提高的书籍。一本好的书籍真的很重要,可以随时翻阅,随时补充不懂或遗忘的知识。
单片机初学者,单片机汇编语言不懂,谁能帮我看下,谢谢 ORG 0000H MOV P1,#0FFH ;P1.0=1,内部上拉(0FFH
ORG 0000H ;ORG是汇编伪指令,定位程序地址用,这里是程序入口0000H
MOV P1,#0FFH ;给P1口赋值FFH,即P1口全部置1
P1.0=1;P1.0口置1,这里单独给P1口的第一位置1.
;这个程序没写完,至少应该结尾处有一个END,为了使程序可控,结束前加一个死循环较好。因此需要加如下两句:
SJMP $ ;原地循环,这样可以保持以前的状态
END ;程序结束,这也是伪指令,通知编译器,所有程序到此完结。
单片机的初学者遇到一段代码不太明白 求大师帮忙
RI和TI是串口中断标志位,是内部控制寄存器的一位,当发生串口中断时(收到数据或发送完成),该标志位为1,中断发生后,需程序清0
此程序中,并没有发送数据,因此,发送完成中断标志TI不会为1,也用不着清0
程序我没用过,我的理解是占空比=高电平宽度/周期,本来是个小数,但我们用串口发送时,小数运算不方便,所以我们将其变成0-255的整数,扩大了255倍,所以要还原为真正的占空比是: dutycnt /255
单片机这门课程怎么学啊?一点也看不懂!请高手帮忙!
单片机就三部分内容,IO口,定时/计数器,中断。如果你不是为了应付考试,而是想短时间内对单片机知识迅速了解,及时上手,可以听我的建议:
首先,现在学校购置的教材通常是汇编版的,不是说学汇编不好,只是这样会走很多弯路。你可以先把教材的前两章大致看看,看到寻址方式之前,因为寻址方式是只有考试才会用到的东东,后面就要讲汇编了,跳过。如果你C语言学的好,接下来就可以看一些实例的书,增加阅历。有人说读懂2W行代码单片机就学通了,这个量是很巨大的。个人认为,下苦功,一个月,单片机,搞定。