2023年自学单片机心得体会_集中自学心得体会.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2023年自学单片机心得体会_集中自学心得体会.docx》由会员分享,可在线阅读,更多相关《2023年自学单片机心得体会_集中自学心得体会.docx(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2023年自学单片机心得体会_集中自学心得体会 自学单片机心得体会由我整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“集中自学心得体会”。 自学单片机心得体会 无论是作为一名业余的电子爱好者还是一名电子行业的相关从业人员,掌握单片机技术无疑可以使您如虎添翼,为您的电子小制作或者开发设计电子产品时打开方便的大门! 而且现在学习单片机技术的热潮正在不断升温,电子发烧友网开设了详细的单片机学习专栏和人气非常旺的论坛讨论组,对于想学习单片机的朋友来说帮助很大,可以说现在的单片机学习环境是最好的,经过一段时间的努力,采用单片机来开发设计电子产品已经不再是专业电子工程师的“专利”!作为一个普通的电子
2、爱好者完全可以通过一番努力后熟练掌握!国外的电子爱好者采用单片机来设计小制作非常普及,一些智能机器人、智能自动装置内部都离不开单片机的身影 学习单片机技术有一定的难度,不花费一番努力是很难学会的,但是只要不断努力就一定能成功,套用一句广告歌词:努力总有回报! 学习单片机最好从51系列开始,第一是书多、资料多,而且掌握51技术的人多,碰到问题能请教的老师也就多了,51系列的实验芯片AT89C51价格低廉而且很容易买到,AT89C51芯片而且可以反复擦写1000次以上,对于初学者来说真是太合适了,就算以后考虑工业运用,也可以先学透51后再学其他类型的单片机,毕竟技术是相通的。 学习单片机的第一步是
3、看书,单片机是一个知识密集的东东,不看书是绝对不行的,北京航空航天大学出版社出版了大量单片机方面的好书,你可以直接登录他们的网站进行邮购。本人认为第一本书应该是8051单片机的基础原理书,我看的第一本书是问单位一位大学生同事借的清华大学出版社的单片机的原理及接口技术这本是51的大学教科书,比较系统地介绍了51芯片的基础知识,我认为这本书对我帮助还是很大的,可以很系统地了解51单片机,虽然一开始不容易看懂,不过确实很有用,很有嚼头,可以先大致看一遍,不消化的可以以后在试验实践中反复研究。 这里我推荐初学者一张学习单片机的多媒体光盘,这张光盘中有比较详细的单片机基础知识,因为是图文并茂,所以学习起
4、来比较容易上手,学习容易产生兴趣,当然最终还是要看书的,毕竟书更系统全面。 MCS51单片机实用接口技术这是一本北京航空航天大学出版社出版的一本好书,它详细描述了单片机的常见接口技术,对于想以后开发产品的话,那就人手一本吧!单片机实践与运用这本书详细介绍了用单片机作的实验,有很实用的汇编源程序,可以通过学习模仿上面的程序加以试验,快速掌握单片机技术。 学习单片机的第二步是购买工具,单片机芯片必须借助编程器才能写入程序,站长用的编程器是一种性能较好的Genius NSP 通用编程器,通用编程器的特点是专为开发单片机和烧写各类存储器而设计的通用机型,它的编程可靠性高,支持的器件品种很多。 Geni
5、us NSP 通用编程器: 4Opins万用锁紧插座。适应绝大多数器件编程之所需。使用适配器能够支持非DIP封装器件的编程。 RS232窜口通讯。通讯波特率:57600bit/s 9V/500mA电源转换器。 主要功能:EPROM、EEPROM、FLASH、MPU/CPU、PLD。Serial EEPROM六大类器件的编程;RAM器件及CMOS/TTL器件的测试等等。 可选择的器件插入自动探测启动功能,即当您选择该功能并启动后,不再需要每次点击鼠标启动操作,每次当您更换芯片并锁紧万用插座后操作自动启动。 Genius NSP 可以在 WINDOS95、98、me、2000、XP上运行。 从长远
6、的方面考虑,购置一台通用编程器是很有必要的。 学习单片机的第三步是反复编程实践,这里需要一块AT89C51的试验板。 仿真器对单片机初学者来说既是那么耳熟,同时又有些陌生,这主要是因为市场上传统的仿真器价格都在千元以上,对经济不是非常宽裕的人来说是不小的开支。同时仿真器是用来提高调试程序效率的,也不是非需不可的,所以站长在自学单片机开始的时候也没有用过仿真器,碰到程序出错的时候,只好苦思冥想,或者在程序中插入一些驱动端口的指令,然后再接上一些发光二极管做简单指示,一般调试一个程序,反复烧写几十次芯片是很经常的。 现在我们介绍一种新型的廉价在线仿真器:它使用一片宏晶公司 【SST公司】的STC8
7、9C516RD 的单片机,仿真机通过串口与 PC 连接,该型号单片机是51系列单片机中的一种,具有ISP(在系统可编程)功能,程序可串行下载,可仿真63K用户程序空间,具有450个外部RAM字节。 具备了必要的工具以后就可以开始学习单片机了,对单片机进行编程可以采用汇编语言或者C语言,汇编语言的特点是代码紧凑,对初学者的电脑水平要求低、上手快,但是程序编写工作量大,站长网站的程序范例就是采用汇编语言编写的,这里说的C语言是专用于51单片机的C语言,它的特点是编写效率高,但是对使用者的电脑水平要求高,最好是已经会C语言了,电子发烧友网网站上也有单片机C语言教程。我认为初学单片机的人最好懂一些汇编
8、语言,汇编语言可以直接控制单片机的资源,比如具体的单片机引脚、内存地址,掌握这些也是很有必要的,学会汇编语言可以打下比较好的基础,很多参考书也是这么说的,如果你是专业单片机开发人员,那么C语言效率高,更适合你。 自学汇编语言,首先要学会看懂别人的汇编语言程序,可以将汇编语言的指令翻译成自己容易理解的功能描述性文字,详细注释在程序后面,这样便于自己以后引用或者别人容易看懂。站长看到别人写的一些汇编程序的注释都非常少,这非常不利于初学者学习和互相交流,所以只要是站长写的程序都做了非常详细的注释。 学习汇编语言可以参考相关的书,汇编语言有100多条指令,但是常用的指令也就二三十条,可以先记住常用的汇
9、编指令,如果一时记不住可以打印在纸上慢慢熟悉,然后对别人的汇编程序再加以试验验证,最后还可以在自己理解的基础上对汇编程序的相关参数修改再反复试验,这是快速掌握单片机的捷径! 一、八路LED跑马灯实验 现在让我们开始做第一个实验:八路发光二极管轮流点亮的实验,也就是通常所说的跑马灯实验,首先让我们来完成必须的硬件部分,我们需要焊接上8个发光二极管和8个限流电阻,可以参考下面的原理图和实物图像进行操作,需要注意的是LED是有极性的,引脚长的为正极,引脚短的为负极,负极和电阻一侧连接,如果接错那么相应的那一路可能在实验中不会点亮了,在焊接前要看仔细哦 下面我们来完成软件编程设计,这里我们没有采用高深
10、的编程技巧,而是用了最笨、最直接的向端口送数的办法来实现,一来程序比较简单,没必要玩深沉,而且初学者看起来直观易懂。 ORG 0000H START:MOV P1,#01111111B;最下面的LED点亮 LCALL DELAY;延时1秒 MOV P1,#10111111B;最下面第二个的LED点亮 LCALL DELAY;延时1秒 MOV P1,#11011111B;最下面第三个的LED点亮(以下省略) LCALL DELAY MOV P1,#11101111B LCALL DELAY MOV P1,#11110111B LCALL DELAY MOV P1,#11111011B LCALL
11、 DELAY MOV P1,#11111101B LCALL DELAY MOV P1,#11111110B LCALL DELAY MOV P1,#11111111B;完成第一次循环点亮,延时约0.25秒 AJMP START;反复循环 ;延时子程序,12M晶振延时约250毫秒 DELAY: MOV R4,#2 L3: MOV R2,#250 L1: MOV R3,#250 L2: DJNZ R3,L2 DJNZ R2,L1 DJNZ R4,L3 RET END 如何精确计算延时子程序的执行时间? 汇编语言的一大优势就是能够精确控制程序的执行时间,这在编写一些对时序要求严格的外围器件驱动时由
12、为重要! 二、两位数码管循环显示0099的实验 现在让我们用实验板上的两个数码管来做一个循环显示0099数字的实验,先来完成必要的硬件部分,数码管有共阴和共阳的区分,单片机都可以进行驱动,但是驱动的方法却不同,并且相应的09的显示代码也正好相反。 首先我们来介绍两位共阳数码管的单片机驱动方法,电路如下图: 网友可以看到:P2.6和P2.7端口分别控制数码管的十位和个位的供电,当相应的端口变成低电平时,驱动相应的三极管会导通,+5V通过IN4148二极管和驱动三极管给数码管相应的位供电,这时只要P0口送出数字的显示代码,数码管就能正常显示数字。 因为要显示两位不同的数字,所以必须用动态扫描的方法
13、来实现,就是先个位显示1毫秒,再十位显示1毫秒,不断循环,这样只要扫描时间小于1/50秒,就会因为人眼的视觉残留效应,看到两位不同的数字稳定显示。 下面我们再介绍一种共阴数码管的单片机驱动方法,电路如下图: 网友可以看到:+5V通过1K的排阻直接给数码管的8个段位供电,P2.6和P2.7端口分别控制数码管的十位和个位的供电,当相应的端口变成低电平时,相应的位可以吸入电流。单片机的P0口输出的数据相当于将数码管不要显示的数字段对地短路,这样数码管就会显示需要的数字。 网友可以看到,共阴数码管的硬件更简单,所以在批量生产时,硬件开销小,节省PCB面积,减少焊接工作量,降低综合成本,所以采用共阴数码
14、管更有利于批量生产,现在销售的试验板都是采用共阴数码管了。 以下是用AT89C51实验板的两位数码管显示0099依次循环的汇编语言程序 a_bit equ 20h;数码管个位数存放内存位置 b_bit equ 21h;数码管十位数存放内存位置 temp equ 22h;计数器数值存放内存位置 star: mov temp,#0;初始化计数器,从0开始 stlop: acall display;调用显示子程序 inc temp;对计数器加1 mov a,temp cjne a,#100,next;判断计数器是否满100? mov temp,#0;满100就清零重新开始 next: ljmp st
15、lop;不满就循环执行 ;显示子程序 display: mov a,temp;将temp中的十六进制数转换成10进制 mov b,#10;10进制/10=10进制 div ab mov b_bit,a;十位在a mov a_bit,b;个位在b mov dptr,#numtab;指定查表启始地址 mov r0,#4 dpl1: mov r1,#250; dplop: mov a,a_bit;取个位数 MOVC A,A+DPTR;查个位数的7段代码 mov p0,a;送出个位的7段代码 clr p2.7;开个位显示 acall d1ms;显示162微秒 setb p2.7;关闭个位显示,防止鬼影
16、 mov a,b_bit;取十位数 MOVC A,A+DPTR;查十位数的7段代码 mov p0,a;送出十位的7段代码 clr p2.6;开十位显示 acall d1ms;显示162微秒 setb p2.6;关闭十位显示,防止鬼影 djnz r1,dplop;循环执行250次 djnz r0,dpl1;循环执行250X4=1000次 ret ;2+2X80=162微秒,延时按12MHZ计算 D1MS: MOV R7,#80 DJNZ R7,$ RET ;实验板上的7段数码管09数字的共阴显示代码 numtab: DB 0CFH,03H,5DH,5BH,93H,0DAH,0DEH,43H,0D
17、FH,0DBH end ;如果是共阳数码管的显示代码 numtab: DB 30H,0FCH,0A2H,0A4H,06CH,25H,21H,0BCH,20H,24H 三、单片机演奏音乐实验 利用单片机演奏音乐大概是单片机爱好者感兴趣的问题之一。这里我们用网站提供的实验板来做这个实验,并且了解单片机演奏音乐的基本原理,和相关的源程序。 首先来完成必要的硬件部分,硬件部分比较简单,如下图: AT89C51单片机的P2.5口控制一个8550的三极管,三极管控制电磁蜂鸣器的电源通断。 我们知道,声音的频谱范围约在几十到几千赫兹,若能利用程序来控制单处机某个口线的高电平或低电平,则在该口线上就能产生一定
18、频率的矩形波,接上喇叭就能发出一定频率的声音,若再利用延时程序控制“高”“低”电平的持续时间,就能改变输出频率,从而改变音调。 例如,要产生200HZ的音频信号,200HZ音频的变化周期为1/200秒,即5ms。这样,当P2.5的高电平或低电平的持续时间为2.5ms时就能发出200HZ的音调。 乐曲中,每一音符对应着确定的频率,我们将每一音符的时间常数和其相应的节拍常数作为一组,按顺序将乐曲中的所有常数排列成一个表,然后由查表程序依次取出,产生音符并控制节奏,就可以实现演奏效果。 此外,结束符和体止符可以分别用代码00H和FFH来表示,若查表结果为00H,则表示曲子终了;若查表结果为FFH,则
19、产生相应的停顿效果。 为了产生手弹的节奏感,在某些音符(例如两个相同音符)音插入一个时间单位的频率略有不同的音符。 程序框图如图2所示。 下面给出程序序请单,可直接在51实验板上进行演奏。本程序演奏的是民歌“八月桂花遍地开”,C调,节奏为94拍/分。网友也可以自行找出一首歌,将乐曲翻译成码表输入机器,而程序不变。本实验方法简便,即使不懂音乐的人,将一首陌生的曲子翻译成代码也是易事,和着机器的演奏学唱一首歌曲,其趣味无穷。 ;标题 八月桂花香发声程序 ORG 0000H LJMP START ORG 000BH INC 20H;中断服务,中断计数器加1 MOV TH0,#0D8H MOV TL0
20、,#0EFH;12M晶振,形成10毫秒中断 RETI START: MOV SP,#50H MOV TH0,#0D8H MOV TL0,#0EFH MOV TMOD,#01H MOV IE,#82H MUSIC0: NOP MOV DPTR,#DAT;表头地址送DPTR MOV 20H,#00H;中断计数器清0 MUSIC1: NOP CLR A ;A清零 MOVC A,A+DPTR;查表取代码 JZ END0;是00H,则结束 CJNE A,#0FFH,MUSIC5 ;如果是休止符,往下执行 LJMP MUSIC3 MUSIC5: NOP MOV R6,A ;R6=18H音符的频率 INC
21、DPTR DPTR加一 MOV A,#0 MOVC A,A+DPTR;取节拍代码送R7 MOV R7,A ;R7=30H音符发音的时间 SETB TR0;启动计数 MUSIC2: NOP CPL P2.5 ;P2.5是音乐输出引脚 MOV A,R6 MOV R3,A ;R3=R6=18H LCALL DEL MOV A,R7 CJNE A,20H,MUSIC2;中断计数器(20H)=R7否? ;不等,则继续循环 MOV 20H,#00H;等于,则取下一代码 INC DPTR LJMP MUSIC1 MUSIC3: NOP;休止100毫秒 CLR TR0 MOV R2,#0DH;R2=13 MU
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 自学 单片机 心得体会 集中
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内