单片机课程学习总结.docx
《单片机课程学习总结.docx》由会员分享,可在线阅读,更多相关《单片机课程学习总结.docx(13页珍藏版)》请在冰点文库上搜索。
单片机课程学习总结
单片机课程学习总结
单片机课程学结
总结是指对某一阶段的工作、学习或思想中的经验或情况加以总结和概括的书面材料,它在我们的学习、工作中起到呈上启下的作用,让我们一起认真地写一份总结吧。
我们该怎么去写总结呢?
下面是的单片机课程学结,欢送大家。
《单片机》这门课程我已经学了一个学期了,在这一个学期的学习过程中,我一开始不怎么懂得编程,但慢慢的我现在已经不仅会读程序还会写程序了。
真为自己一个学期来努力学到的单片机知识只是而感到快乐。
怎么学单片机?
也常看到有人说学了好几个月可就是没有什么进展。
当然,受限于每个人受到的教育水平不同和个人理解能力的差异,学习起来会有快慢之分,但我感觉最重的就是学习方法。
一个好的学习方法,能让你事半功倍,这里说说我学习单片机的经历和方法。
我觉得学习单片机首先要懂得C语言,因为单片机大多说都是靠程序来实现的,如果看不懂程序或那么不懂的编程是很难学会单片机的。
学习单片机首先要明白一个程序是怎么走的,要完全懂得程序每一个步骤的意思。
其次要懂得每一条指令的意思,不能盲目地去靠背指令,这是记得不牢靠的,最主要的还是靠了解。
学习单片机最主要的对C51芯片内部结构有全方面的,只要了解了C51才能知道单片机实现什么样的功能和作用,才能对单片机有更深一步的了解。
通过一个学期《单片机》这门课程的学习,我也从中有了不少心
得和体会想和大家一下。
万事开头难、要勇敢迈出第一步。
开始的时候,不要老是给自己找借口,不要说单片机的程序全是英文,自己看不懂。
遇到困难要一件件攻克,不懂指令就要勤奋看书,不懂程序就先学它,这方面网上教程很多,随便找找看一下,做几次就懂了。
然后可以参考别的人程序,抄过来也无所谓,写一个最简单的,让它运行起来,先培养一下自己的感觉,知道写程序是怎么一回事,无论写大程序还是小程序,要做的工序不会差多少。
然后建个程序,参加工程中,再写代码、编译、运行。
必须熟悉这一套工序。
个人认为,一块学习板还是必要的,写好程序在上面运行一下看结果,学习效果会好很多,仿真器就看个人需要了。
单片机是注重理论和实践的,光看书不动手,是学不会的。
知识点用到才学,不用的暂时丢一边。
厚厚的一本书,看着人头都晕了,学了后面的,前面的估计也快忘光了,所以,最好结合实际程序,用到的时候才去看,不必说非要把书从第一页看起,看完它才来写程序。
比方你写流水灯,完全就没必要看中断的知识,专心把流水灯学好就是了,这是把整本书化整为零,一小点一小点的啃。
程序不要光看不写,一定要自己写一次。
最开始的时候,什么都不懂,可以抄人家的程序过来,看看每一句是干什么用的,到达什么目的,运行后有什么后果。
看明白了之后,就要自己写一次,你会发现,原来看明白别人的程序很容易,但到自己写的时候却一句也写不出来,这就是差距。
当你自己能写出来的时候,说明你就真的懂了。
必须学会掌握调试程序的方法。
不少人写程序,把代码写好了,
然后一运行,不是自己想要的结果,就晕了,然后跑到上发个帖子,把程序一贴,问:
我的程序不能正常运行?
然后就等别人来给自己分析。
这是一种很不好的行为,应该自己学会发现问题和学会如何解决问题。
这就需要学习调试程序的方法,比方KEIL里,可以下断点啦,查看存放器内容等等,这些都是调试程序的手段,当你发现你写的程序运行结果和你想象中不一样的时候,你可以单步,也可以下断点,然后跟踪,查看各相关存放器内容,看看程序运行过中是不是有什么偏差,找出影响结果的地方,改正过来。
这一个过程非常重要,通过程序的排错,你可以学到的知识是书上得不到的。
找到解决问题思路比找到代码更重要。
我们用单片机来控制周边器件,到达我们想到的目的,这是一个题目,而如何写出一个程序,来控制器件按你想要的结果去运作,这个就是解题的思路。
要写程序,就得先找到解决问题的思路,你学会找出这个解题思路,比你找到代码更为重要。
不少人很喜欢找人家的代码,有的人甚至有了代码就直接到自己的程序中,可以说,这不是一种学习的态度,无助于你编程水平的提高。
我几乎不人家的代码,多数时候是看别人的思路,有方框图最好,没有的话文字说明也可以。
要从代码中看出别人处理问题的思路,是相当困难的,特别是大型的程序,看起来是非常的累人。
所以现在我也明白了,以前读书时说的程序流程图很重要,现在算是知道了。
当你知道一个问题怎么去解决了,那么剩下的`只是你安排代码去完成,这就已经不是什么问题了。
开动脑筋,运用多种方法,不断优化自己的程序。
想想用各种不同方法来实现同一功能。
这是一个练习和提高的过程,一个问题,你解决了,那么你再想想,能不能换种写法,也可以实现同一功能,或者说,你写出来的代码,能不能再精简一点,让程序执行效率更高,这个过程,就是一个进步的过程。
很多知识和经验的获得,并不是直接写在书让你看就可以得到的,需要自己去实践,开动脑筋,经验才能得到积累,编程水平才能有所提高。
看别人的程序,学习人家的思路。
这个在学习初期是很有用,通过看别人的程序,特别是老师写出的具有一定水平的程序,可以使自己编程水平得到迅速的提高。
同时,也可以结合别人的编程手法,与自己的想法融合在一起,写出更高水平的程序,从中得到进步。
但要注意,切忌将学习变成抄袭,更不是抄袭完了就认为自己学会了,这样做只会使你退步。
尝试编写一下综合应用的程序。
从流水灯学起,到动态扫描,再到中断,那么,你可以试试写一下时钟这种综合性应用的程序,不要小看时钟,要写好它不是一件容易的事情,它包括了单片机大局部的知识,比方有按键(IO读取)、动态扫描(IO输出)、中断等,如何协调好各功能模块正常工作,才是编程者需要学习的地方,当你单独写一个功能的时候,比方按键读取,你可能感觉很容易,因为你的程序什么也不做,只是读按键。
但把它和其它功能混合在一起,如何在整个程序运行中使每一局部都正常工作,这就不是写一个按键读取这么容易的事情,功能模块之间有可能会互相影响,比方你需要让数码管既能显示,又要去处理按键读取,怎么使这两局部都正常工作,这就是一个协调过程。
当你有了这个处理协调能力,你就算是入门了。
着重于培养解决问题的能力,而不是具体看自己编写了多少程序或者做过什么。
“学单片机重点在于学习解决问题的思路,而不是局限于具体的芯片类型和语言”这一直是我的座右铭,是我学单片机学习单片机之后感悟出来的。
真正的能力不是你曾经编写过多少个可以实现的程序,而应该是:
“遇到没有解决过的问题,能利用自己已学的知识,迅速找到解决问题的方法。
”这个才是能力。
面对一个新程序时,多自己开动脑筋,不要急于找别人的程序。
有不少人面对一个新程序时,第一步想到的就是网上找别人写过的程序,然后抄一段,自己再写几句,凑在一起就完成任务,这虽然可能是省时间,但绝对不利你的学习。
当你接到一个程序时,应该先自己构思一下整个程序的架构,想想如何来完成。
有可能的话,画一个流程图,简单的可以画在脑子里,对程序中用到的数据、变量有一个初步的安排,然后自己动手去写,遇到实在没方法解决的地方,再去请教老师或同学,或看别人是怎么处理的,这样首先起码你自己动过脑想过,自己有自己的思路。
如果你一开始就看别人的程序,你的思维就会受限在别人的思维里,自己想再创新就更难了,这样你自己永远也没方法提高,因为你是走在别人的影子里。
学会提问题。
一般来说,学习过程中,你遇上的问题,多数人也有遇上的,所以如果有什么不懂,你可以去问老师。
我觉得学习单片机最主要的要多提问,对于一个自己不是太懂的程序,自己一定要多提问几遍,这样不但有利于加深自己的印象还能从中学到不少别人的方法。
经过一个学期我对《单片机》这门课程的学习,不仅让我懂得了很多程序的编写,还让我学到了很多对自己有用的学习方法。
总结这个学期来的我自己的学习情况,我觉得自己对编程进步了不少,懂得运用正确的学习方法学习单片机程序,不再记硬背指令了。
所以我觉得学习要不断总结学习方法,才能让自己学习不断进步。
交通灯设计报告
实验目的:
P1口的使用方法,延时程序的编写
实验要求:
在一个十字路口分为东西南北走向,等按以下的状态顺序工作:
(1)初始状态0,东西、南北红灯全亮。
延时一定时间;
(2)状态1,南北绿灯亮通车,东西红灯,延时一定时间;
(3)状态2,南北绿灯闪烁几次转黄灯,东西仍然红灯,延时一定
时间;
(4)状态3,南北红灯,东西绿灯通车,延时一定时间;
(5)状态4,南北仍然红灯,东西绿灯闪烁几次转黄灯,延时一定
时间;
(6)循环至状态1,继续
实验电路和流程框架图:
(1)硬件电路
交通灯实训设备用最小系统板和灯组合而成。
2、软件编程
假设各路口灯亮灭的时间间隔为2s钟,灯光闪烁时间间隔为0.5s。
用软件延时的方法,晶振频率12MHz时,一个机器周期为1us。
编写交通灯程序:
编写主程序,由R7做主程序的计数器,确定调用延时时间为0.5s,从而获得交通灯的亮灭时间。
人的一生是一个不断学习、不断成长的过程。
转眼间,研究生的学习生涯结束了,走上新的工作岗位。
回头看看,发现自己不知不觉已经走过了五年的单片机学习之旅。
在20xx年最初接触单片机的时候,在我心中觉得51就是单片机,单片机就是51,根本不知道还有其他单片机的存在。
那时候老师只教会了我们汇编语言,根本不知道用c语言也可以进行单片机。
幸运的是,我参加了单片机兴趣小组,在老师的指导下,做了一系列实验,有“基于ds18b20的温度采集系统”、“有基于164的移位存放器的灯光控制系统”、“有步进电机和直流电机的控制系统”。
这时候我才发现,这是学习单片机的一个最好途径——在实践中领悟理论,用理论指导实践。
在上课的整整一个学期中,虽然老师讲得很详细,但是大局部概念都是到了实际动手做东西的时候才弄明白的。
而且在经历了迷惑之后再搞清楚,印象就特别深刻。
直到现在我对那些概念和接口都非常清晰。
其实我也很庆幸学习和使用了两年多的汇编语言。
由于有这些锻炼,我对单片机底层结构和接口时序就弄得很清楚。
在使用c语言的时候,优化代码和处理中断也就不会太费力。
我觉得,虽然现在绝大局部单片机都使用c语言,甚至有些公司还推出了图形化编程的工具,这样对于工程的开展从时间上快了很多,在管理上也标准了不少,但是从学习和想深入掌握单片机精髓的角度来说,还是需要熟练掌握汇编语言的使用。
时机总是青睐于有准备的人。
也许有了前面一段时间的理论和实践的积累,我才慢慢得到了一些参加科技竞赛和参与科研工程的时机。
在参加第一届浙江省机械设计竞赛的时候,我们设计的由多单片机系统协调控制的“月球车”机器人夺得了唯一的一个。
这个竞赛给我最大的收获是我对单片机的认识改变了,它不再仅仅是一门学科了,它是一个可以让你的创意得到充分发挥的平台。
后来参与了“基于视频分划技术的钢卷尺自动切零位机”、“电能表涡杠涡轮啮合深度检测系统”、“基于公共网的水表集抄数据路由器”、“高精度电感微位移测量系统”等一些实际的工程。
在这些过程中,我发现只是精通单片机技术还不能很好的解决问题。
体会最深的是,单片机只有融合到各种应用领域中,才能展现它的最大活力。
然而单片机仅仅是一个工具而已,要做好单片机系统还需要各种应用领域的专业知识的支持。
例如,在“基于视频分划技术的钢卷尺自动切零位机”中,就需要搞清楚全电视的时序,弄明白钢卷尺切零位机的工作原理,懂得怎么利用叠加在视频中的横竖线来进行刻度的瞄准等。
没有这些专业知识,就算单片机技术再厉害也不可能做好这个工程。
脱离应用背景的单片机,就像一个没有灵魂的躯体一样。
随着arm的出现,我曾经认为,8位单片机可能在32位单片机的冲击下就此走进历史,可是很快就认识到我是错误的。
随着技术的革新和时间的推移,各大单片机公司纷纷将单片机朝着片上系统这个方向开展,集成了现在各种流行的技术和常用的模块。
我相信,在当前国内和国外的这个市场中,8位单片机应用的市场仍然是充满生机,活力无限。
在市场的不断变化和技术的不断更新过程中,8位单片机也会顺应潮流不断革新。
从我五年走过的路来看,单片机学习的过程应该是一个循序渐进、不断学习、不断积累的过程,可以分为三个阶段。
第一阶段:
掌握单片机的必备根底知识。
首先是熟练掌握单片机的根本原理,其实各家各门的单片机其根本结构和原理都差不多,特别是共有的知识需要好好理解和掌握。
例如,内核结构、内存分配、中断处理、定时计数、串行通信、端口复用等一些最根本的概念和原理。
除此之外,我们还需要具备模拟电子、数字电子、c语言程序知识以及原理图和pcb设计等一些技能。
在进行系统的时候,进行原理设计、pcb布板、程序编写、系统联调这些工作都是在所难免的。
第二阶段:
在掌握好一款单片机原理和应用的根底上,开始学习其他各家单片机的独有技术,学不了那么多也要多了解了解。
同时尽可能多地掌握单片机的一些器件和常用电路,以备不时之需。
有时候客户要求低本钱,那我们只好选用合钛、义隆、华邦等这类芯片;如果客户要求工业级的性能,那么我们就得从pic、nec、飞思卡尔、nxp等这些欧美和日式单片机中选择;假设要进行功耗的,选用msp430系列应该有一定优势;在进行测量仪器设计的时候,c8051和aduc842这类数模混合芯片就显得比拟方便。
所以说最好每个类型的单片机都会一两款,在实际工程选型中可以更加灵活。
另外,要注意平时的技术积累。
比方,在工程过程中将一些常用的接口程序和控制算法成模块或者函数,在其他的工程中,有同样或者接近的需求时马上就可以使用,又快又好。
第三阶段:
在实际的工程过程中,不断深化单片机应用技术,不断积累应用行业的专业知识。
例如,我完成了“高精度电感微位移测量系统”,就会对电感传感器的测量机理和特性、测量电路的设计、电磁兼容处理、误差修正和非线性处理等测控方面的专业技术有很深的认识。
以后碰到类似的工程时,很多东西就可以直接利用了。
有了扎实的单片机应用相关的根底知识,并且熟悉掌握了几款不同类型单片机的方法,再结合实际的应用背景,那么就可以随心所欲,设计出性能最优、结构最合理的单片机应用系统。
这是我最大的奋斗目标,我觉得这也应该是单片机应用的最高境界吧。
在这五年的学习中,有感慨、有遗憾、有憧憬、有希望,更重要的是我对单片机应用这个领域充满热情。
由于才疏学浅、涉世未深,希望能与行业里的各位老师多多交流,不断学习,不断成长。
51单片机学结:
在一片集成电路芯片上集成微处理器、存储器、i/o接口电路,从而构成了单芯片微型计算机,即单片机。
intel公司推出了mcs-51系列单片机:
集成8位cpu、4k字节rom、128字节ram、4个8位并口、1个全双工串行口、2个16位定时/计数器。
寻址范围64k,并有控制功能较强的布尔处理器。
(1)用到单片机的工程经验介绍;
(2)手持粮库温度寻检设备;
(3)毕设辩论打分器;
(4)台灯;
(5)自动感应水龙头;
(6)但凡与控制或简单计算有关的电子设备都可以用单片机来实现,再根据具体实际情况选
择不同性能的单片机,如:
atmel,stc,pic,avr,凌阳,80c51,arm等;
(7)工业自动化:
数据采集、测控技术;
(8)智能仪器仪表:
数字示波器、数字源、数字万用表、感应电流表等;
(9)消费类电子产品:
洗衣机、电冰箱、空调机、电视机、微波炉、、ic卡、汽车电
子设备等;
(10)通讯方面:
调制解调器、程控交换技术、、等;
(11)武器装备:
飞机、军舰、导弹、飞机、鱼雷制导、智能武器等;
(1)数字电路中只有两种电平:
高和低;
定义单片机为ttl电平:
高+5v低0v
(2)rs232电平:
计算机的串口:
高-12v低+12v
所以计算机与单片机之间通讯时需要加电平转换芯片;
(3)进制转换与逻辑、算术运算;
(4)c语言根底;
(5)80c51了解;
80c51是mcs-51系列中的一个典型品种;其它厂商以8051为基核出的cmos工艺单片机产品统称为80c51系列。
(6)
总线(bus)是计算机各部件之间传送信息的公共通道。
微机中有内部总线和外部总线两类。
内部总线是cpu内部之间的连线。
外部总线是指cpu与其它部件之间的连线。
外部总线有三种:
数据总线db(databus),地址总线ab(addresus)和控制总线cb(controlbus)。
(7)
CPU:
由运算和控制逻辑组成,同时还包括中断系统和局部外部特殊功能存放器;RAM:
用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据;ROM:
用以存放程序、一些原始数据和表格;
I/O口:
四个8位并行I/O口,既可用作输入,也可用作输出;
T/C:
两个定时/记数器,既可以工作在定时模式,也可以工作在记数模式;
五个中断源的中断控制系统;
一个全双工UART(通用异步接收发送器)的串行I/O口,用于实现单片机之间或单片机与微机之间的串行通信;
片内振荡器和时钟产生电路,石英晶体和微调电容需要外接。
最高振荡频率取决于单片机型号及性能。
(8)C51数据存储类型
例:
数据类型变量名
charvar1;
bitflags;
unsignedcharvextor[10];
intw;
注意:
变量名不能用C语言中的关键字表示。
(9)包含的头文件(可以在目录下INC目录下查看)
通常有:
reg51.hreg52.hth.hctype.hstdio.hstdlib.habsa.h
常用有:
reg51.hreg52.h
(定义特殊功能存放器和位存放器);
th.h(定义常用数学运算);
(10)中断效劳程序的格式
函数名interruptnusingm
{
函数内部实现….
}
(11)I/O口定义
itbeep=P2^3;
(12)单片机的根本时序
机器周期和指令周期
振荡周期:
也称时钟周期,是指为单片机提供时钟脉冲的振荡源的周期,TX实验板上为11.0592MHZ。
状态周期:
每个状态周期为时钟周期的2倍,是振荡周期经二分频后得到的。
机器周期:
一个机器周期包含6个状态周期S1~S6,也就是12个时钟周期。
在一个机器周期内,CPU可以完成一个的操作。
指令周期:
它是指CPU完成一条操作所需的全部时间。
每条指令执行时间都是有一个
或几个机器周期组成。
MCS-51系统中,有单周期指令、双周期指令和四周期指令。
最小系统能够运行起来的必要条件:
(1)电源2.晶振3.复位电路
对单片机任意IO口的随意操作:
(1)输出控制电平上下2.输入检测电平上下。
定时器:
重点掌握最常用的方式2
中断:
外部中断、定时器中断、串口中断
串口通信:
单片机之间、单片机与计算机间
/***********************************/一个单片机技术
/***********************************/
分类收录的、优秀的电子技术现在越来越受电子技术爱好者青睐,但也有些电子技术爱好者愁于找不到一些优秀的电子技术来辅助学习与工作设计。
因此,现在我将一位高级电子工程师归纳总结的电子行业技术、电子工程师必备汇总、;其包括单片机、dsp、嵌入式、Plc、开关电源技术、通信技术、eda/pld可编程逻辑技术、电子技术等等,这样或许会对我们这些电子技术爱好者有莫大的帮助吧!
电子世家网址导航:
---电子技术工程师的上网主页!
这学期我们选择了单片机这门课,从第一节课开始,我们就感觉到了这门课与其他的课有一些不同。
单片机课程不仅是学习书本的内容,也需要从实验中掌握知识。
这门课程确实让我们受到了很多的启发,并学到了很多的知识。
学习单片机,要掌握单片机指令系统中汇编语言各种根本语句的意义及汇编语言程序设计的根本知识和方法,以及单片机与其他设备相连接的输入输出中断等接口技术。
使我们从硬件软件的结合上理论实际,提高动手能力,从而全面掌握单片机的应用。
熟悉单片机的人都知道,要学好单片机可不是一件容易的事,倒不是因为单片机很难学,而是很难找到一本专为单片机入门者而编写的教材。
翻一下身边的单片机教材,都好似是为已经懂单片机的人而写的,一般先介绍单片机的硬件结构和指令系统,再是系统扩展和器件,顺便讲一些应用设计。
如果按照此种学习方法,想进行产品,就必须先把所有的知识全部掌握了才可以进行实际应用。
学习使用单片机只能靠循序渐进的积累,不可能一蹴而就。
万事开头难、要勇敢迈出第一步知识点用到才学,不用的暂时丢一边。
想把厚厚的一本书看完在做实验,估计是不太可能的。
看着人头都晕了,学了后面的,前面的估计也快忘光了,所以,最好结合实际程序,用到的时候才去看。
我们在焊接具体电路之前,最好做个仿真,这样实验的成功率会大大提高。
我们都学习过C语言,相信的大家的根底都不错,在编写程序千万不要光看不写,一定要自己写一次。
刚开始我们可以模仿别人的程序,然后慢慢的学会自己编写,这是一个完全自主学习的过程,需要恒心和信心。
在学习这门课程时,我遇到过许多困难,这并不可怕,因为只要我们敢于面对,团结合作,就没有解决不了的问题。
在焊接电路过程中,我们需要互相学习焊接技巧,互相帮助、互相鼓励。
在编写程序的时候,要善于把自己好的算法给大家,不会的时候要虚心向同学和老师请教。
当然更要利用当今社会为我们提供的网络资源,学会在网络上搜索资料,自主学习。
切忌拿别人做好的实验和编写好的程序去蒙混过关,这样对自己百害无一利。
在学习单片机的时候,让我学会了思考生活中的点点滴滴。
比方说,当我看到交通灯的时候会想到它的程序是怎样实现的?
它的led灯会有如此的高亮度?
而我的led灯亮度很低,如果电流稍过大,就会烧毁。
在家乡的公家车上看到远程led信息远程测试的时候,我便会想到它应有通信模块和显示模块两局部组成,也许我想的过于简单,但是让我学会了思考。
总之,学习单片机这门课程,不仅学会了这门专业课的知识,还提高了我的自主学习能力,更让我的世界观、方有了深层的提高,谢谢老师对我的教诲,让我受益匪浅。
张坤,张金,张龙
12864(ks0108控制器)的显示控制;LED扫描显示;超声波发射与接收;单片机接口及编程技巧;定时器、中断等的使用;开关电路的设计;等等。
通过单片机课上的系统设计工程,作为一个三人组成的团队,我们在团队管理方面都深有体会。
首先一个团队的每个成员必须同心协力,共同努力完成任务。
团队每个成员都要有责任感,因为我们团队只有三个人,所以大家都可以做到相互催促,相互鼓励,每个人对整个工程也都有很整体的把握。
一个人遇到难以克服的困难,三个人团结协作一起解决。
同时也要注意分工的问题,责任分配一定要明确,困难是大家的,责任却是个人的。
小团队里不需要专门的问责制,但是我们团队每个成员都很自觉的承当起各自的责任。
一定要注重效率,防止重复工作。
这又向我们提出了经常交流的要求。
只有多交流,搜集到的资源才能充分共享,每个人都知道其他人的想法,清楚工程的进程。
最后还要注意团队精神状态的保持。
团队