单片机实训心得(锦集12篇)
【前言】本文是热心网友“ccc4999”整理的单片机实训心得(共12篇),供大家赏析。
通过这一个学期的单片机学习,我收获了很多关于单片机的知识,并且这些知识和日常的生活息息相关。了解了一些简单程序的录入,LED显示器、键盘、和显示器的应用和原理。
LED显示器:LED显示器是由发光二管组成显示字段的器件。通常的8段LED显示器是由8个发光二极管组成,LED显示器分共阳极和共阴极两种。有段选码和和位选码。当LED显示器每段的平均电流位5MA时,就有较满意的亮度,一般选择断码5-10MA电流;
位线的电流应选择40-80MA。LED显示器的显示方式有动态和静态两种。7289A芯片是具有SPI串行接口功能的显示键盘控制芯片,它可同时取得8位共阴极数码管和64个键的键盘矩阵。7289A的控制指令分为两类:8位宽度的单字节指令和16位宽度双字节指令;
还有闪烁指令和消隐指令。7289A采用串行方式SPI总线与微处理器通信;
7289A与AT89C52接口电路,在实际电路中无论接不接键盘,电路中连接到其各段上的8个 100千欧的下拉电阻均不可以省去,如果不接键盘而只接显示器可以省去8个10千欧电阻,若仅接键盘而不接显示器,可省去串入DP及SA-SG连线的8个220欧电阻,7289A还需要外接晶体振荡电路。液晶显示器简称LCD,其显示原理是用经过处后的液晶具有能改变光线传输方向的特性,达到显示字符和图形的目的。最简单的笔段式液晶显示器类似于LCD显示器,可以显示简单的字符和数字,而目前大量使用的是点阵式LCD显示器,既可以显示字符和数字也可以显示汉字和图形。如果把LCD显示屏、背光可变电源、接口控制逻辑、驱动集成芯片等部件构成一个整体,是的与CPU接口十分方便。
键盘:键盘是最常见的计算机输入设备,它广泛应用于微型计算机和各种终端设备上。计算机操作者通过键盘向计算机输入各种指令、数据,指挥计算机的工作。按照键盘的工作原理和按键方式的不同,可以划分为四种:机械式键盘采用类似金属接触式开关,工作原理是使触点导通或断开,具有工艺简单、噪音大、易维护的特点。
塑料薄膜式键盘键盘内部共分四层,实现了无机械磨损。其特点是低价格、低噪音和低成本,已占领市场绝大部分份额。
导电橡胶式键盘触点的结构是通过导电橡胶相连。键盘内部有一层凸起带电的导电橡胶,每个按键都对应一个凸起,按下时把下面的触点接通。这种类型键盘是市场由机械键盘向薄膜键盘的过渡产品。
无接点静电电容式键盘使用类似电容式开关的原理,通过按键时改变电极间的距离引起电容容量改变从而驱动编码器。特点是无磨损且密封性较好。
按照按键方式的不同键盘可分为接触式和无触点式两类。接触式键盘就是我们通常所说的机械式键盘,它又分为普通触点式和干簧式。普通触点式的两个触点直接接触,从而使电路闭合,产生信号;
而干簧式键盘则是在触点间加装磁铁,当键按下时,依靠磁力使触点接触,电路闭合。与普通触点式键盘相比,干簧式键盘具有响应速度快、使用寿命长、触点不易氧化等优点。无触点式键盘又分为电容式、霍尔式和触摸式三种。其中电容式是我们最常用到的键盘类型,它的触点之间并非直接接触,而是当按键按下时,在触点之间形成两个串联的平板电容,从而使脉冲信号通过,其效果与接触式是等同的。电容式键盘击键时无噪声,响应速度快,但是价格很高一些。
显示器:按照显示器的显示管分类CRT、LCD。按显示色彩分类单色显示器、彩色显示器。按大小分类通常有14寸、15寸、17寸和19寸,或者更大。显示管的屏幕上涂有一层荧光粉,电子枪发射出的电子击打在屏幕上,使被击打位置的荧光粉发光,从而产生了图像,每一个发光点又由“红”“绿”“蓝”三个小的发光点组成,这个发光点也就是一个象素。由于电子束是分为三条的,它们分别射向屏幕上的这三种不同的发光小点,从而在屏幕上出现绚丽多彩的画面。显示器显示画面是由显示卡来控制的。若仔细观察显示器上的文本或图像是由点组成的,屏幕上点越多越密,则分辨率越高。
屏幕上相邻两个同色点的距离称为点距,常见点距规格有、、等。显示器点距越小,在高分辨率下越容易取得清晰的显示效果。电子束采用光栅扫描方式,从屏幕左上角一点开始,向右逐点进行扫描,形成一条水平线;
到达最右端后,又回到下一条水平线的左端,重复上面的过程;
当电子束完成右下角一点的扫描后,形成一帧。此后,电子束又回到左上方起点,开始下一帧的扫描。这种方法也就是常说的逐行扫描显示。而隔行扫描指电子束在扫描时每隔一行扫一线,完成一屏后再返回来扫描剩下的线,这与电视机的原理一样。隔行扫描的显示器比逐行扫描闪烁得更厉害,也会让使用者的眼睛更疲劳。完成一帧所花时间的倒数叫垂直扫描频率,也叫刷新频率,比如60Hz、75Hz等。
通过这几天的单片机的实训,我在理论的基础上更深刻的掌握了单片机的深层内容及实际生活中的应用,实训锻炼了自己动手能力和思维能力,还有在软件方面的编程能力,让我受益匪浅,同时也暴露出一些平时学习上的问题,让我深刻反思。这些问题的发现将为我以后的学习和工作找明道路,查漏补缺为进一步学习作好准备。通过实训,让我懂得了如何编写一些简单的程序,学会了如何制作单片机应用程序,并且可以在今后的日常生活中灵活运用。
一周的实训,让我们从另一个角度去发现单片机。期间我学会了很多宝贵的知识和经验,在这次单片机实训中我们巩固了我们平时所学的内容;
加深了对各种调试和仿真软件的使用技能;
掌握了单片机应用电路的设计和调试方法。
首先,我们要从所给定的元器件中设计出6个不同的电路,并编写程序实现相关任务要求。我们小组设计出的电路主有:
(1)数码管轮流显示百十个位的数。要求:数据来源于拨码开关;
个位显示完毕停留的时间稍微长些。
(2)定时计数器实现对外部脉冲计数5次后,流水灯的状态由亮点左流动转化成闪烁5次,然后回到初始状态。
(3)单键改变流水灯状态。按键一旦按下,流水灯状态由暗点右流动转化成闪烁8次,然后回到初始状态。
(4)双键改变流水灯状态。按键K0(连接INT0)按下,流水灯状态由亮点左流动,转化成闪烁5次,然后回到初始状态;
按键K1(连接INT1)按下,流水灯状态由亮点左流动,转化成暗点右流动至最右端,然后回到初始状态;
并且按键K1级别高于K0。
(5)串口输出数据,实现在2个数码管上显示60秒计数器。
(6)在集成的8位数码管上动态显示出:1——8的效果。
其次,我们要对我们所设计的电路进行电路布局、连线,检查电路是否出现错误或者遗漏。
然后,学会用KEIL软件调试程序,并用该软件菜单的各项调试工具和窗口。再结合硬件和软件,进行整体调试。
最后,当我们根据相关要求从所给定的元器件中设计出6个不同的电路、编写程序、线路布局,调试成功,我们的设计就完成了。
在这实训期间我深刻的认识到了理论知识和实践操作必须是相结合的,也许在实训时会有很多各种软、硬件等故障。
在编程时我们就出现了很大的障碍, 本来还以为编程会很简单的,等到实际操作起来才知道它的复杂性,没有想像中的那么得心应手, 最后不得不求出其他小组,原来本身程序的思维是正确的,只是步骤中有点小错误,所以导致整个程序的结果很乱。
我们在做双键改变流水灯状态的电路时又发现了一个头痛的问题,发光二极管不亮、开关不管用,刚开始的时候,我们检查了好几遍就是没有发现问题,快要失去耐心是发现少两连接了两根线,这是个好现象让我们有了继续往下的勇气,终于在反复的检查研究中,我们发现发光二极管不亮的正负方向反了,开关接错了位臵,这才导致连接线路期间的错误不断。结果是可喜的,在我们小组竭尽全力,同学老师的帮忙下,我们的电路很成功。
我们会遇到很多挫折,不要气馁,不要放弃。我们只有这样才能提高自己的实际操作能力;
培养自己独立思考能力;
树立良好的心理素质和吃苦耐劳精神。因此,本实训对培养学生正确的劳动观念、组织纪律性、团队合作精神。
通过这一个学期的单片机学习,我收获了很多关于单片机的知识,并且这些知识和日常的生活息息相关。了解了一些简单程序的录入,LED显示器、键盘、和显示器的应用和原理。
LED显示器:LED显示器是由发光二管组成显示字段的器件。通常的8段LED显示器是由8个发光二极管组成,LED显示器分共阳极和共阴极两种。有段选码和和位选码。当LED显示器每段的平均电流位5MA时,就有较满意的亮度,一般选择断码5—10MA电流;
位线的电流应选择40—80MA。LED显示器的显示方式有动态和静态两种。7289A芯片是具有SPI串行接口功能的显示键盘控制芯片,它可同时取得8位共阴极数码管和64个键的键盘矩阵。7289A的控制指令分为两类:8位宽度的单字节指令和16位宽度双字节指令;
还有闪烁指令和消隐指令。7289A采用串行方式SPI总线与微处理器通信;
7289A与AT89C52接口电路,在实际电路中无论接不接键盘,电路中连接到其各段上的8个100千欧的下拉电阻均不可以省去,如果不接键盘而只接显示器可以省去8个10千欧电阻,若仅接键盘而不接显示器,可省去串入DP及SA—SG连线的8个220欧电阻,7289A还需要外接晶体振荡电路。液晶显示器简称LCD,其显示原理是用经过处后的液晶具有能改变光线传输方向的特性,达到显示字符和图形的目的。最简单的笔段式液晶显示器类似于LCD显示器,可以显示简单的字符和数字,而目前大量使用的是点阵式LCD显示器,既可以显示字符和数字也可以显示汉字和图形。如果把LCD显示屏、背光可变电源、接口控制逻辑、驱动集成芯片等部件构成一个整体,是的与CPU接口十分方便。
键盘:键盘是最常见的计算机输入设备,它广泛应用于微型计算机和各种终端设备上。计算机操作者通过键盘向计算机输入各种指令、数据,指挥计算机的工作。按照键盘的工作原理和按键方式的不同,可以划分为四种:机械式键盘采用类似金属接触式开关,工作原理是使触点导通或断开,具有工艺简单、噪音大、易维护的特点。
塑料薄膜式键盘键盘内部共分四层,实现了无机械磨损。其特点是低价格、低噪音和低成本,已占领市场绝大部分份额。
导电橡胶式键盘触点的结构是通过导电橡胶相连。键盘内部有一层凸起带电的导电橡胶,每个按键都对应一个凸起,按下时把下面的触点接通。这种类型键盘是市场由机械键盘向薄膜键盘的过渡产品。
无接点静电电容式键盘使用类似电容式开关的原理,通过按键时改变电极间的距离引起电容容量改变从而驱动编码器。特点是无磨损且密封性较好。
按照按键方式的不同键盘可分为接触式和无触点式两类。接触式键盘就是我们通常所说的机械式键盘,它又分为普通触点式和干簧式。普通触点式的两个触点直接接触,从而使电路闭合,产生信号;
而干簧式键盘则是在触点间加装磁铁,当键按下时,依靠磁力使触点接触,电路闭合。与普通触点式键盘相比,干簧式键盘具有响应速度快、使用寿命长、触点不易氧化等优点。无触点式键盘又分为电容式、霍尔式和触摸式三种。其中电容式是我们最常用到的键盘类型,它的触点之间并非直接接触,而是当按键按下时,在触点之间形成两个串联的平板电容,从而使脉冲信号通过,其效果与接触式是等同的。电容式键盘击键时无噪声,响应速度快,但是价格很高一些。
显示器:按照显示器的显示管分类CRT、LCD。按显示色彩分类单色显示器、彩色显示器。按大小分类通常有14寸、15寸、17寸和19寸,或者更大。显示管的屏幕上涂有一层荧光粉,电子枪发射出的电子击打在屏幕上,使被击打位置的荧光粉发光,从而产生了图像,每一个发光点又由“红”“绿”“蓝”三个小的发光点组成,这个发光点也就是一个象素。由于电子束是分为三条的,它们分别射向屏幕上的这三种不同的发光小点,从而在屏幕上出现绚丽多彩的画面。显示器显示画面是由显示卡来控制的。若仔细观察显示器上的文本或图像是由点组成的,屏幕上点越多越密,则分辨率越高。
屏幕上相邻两个同色点的距离称为点距,常见点距规格有0。31mm、0。28mm、0。25mm等。显示器点距越小,在高分辨率下越容易取得清晰的显示效果。电子束采用光栅扫描方式,从屏幕左上角一点开始,向右逐点进行扫描,形成一条水平线;
到达最右端后,又回到下一条水平线的左端,重复上面的过程;
当电子束完成右下角一点的扫描后,形成一帧。此后,电子束又回到左上方起点,开始下一帧的扫描。这种方法也就是常说的逐行扫描显示。而隔行扫描指电子束在扫描时每隔一行扫一线,完成一屏后再返回来扫描剩下的线,这与电视机的原理一样。隔行扫描的显示器比逐行扫描闪烁得更厉害,也会让使用者的眼睛更疲劳。完成一帧所花时间的倒数叫垂直扫描频率,也叫刷新频率,比如60Hz、75Hz等。
通过这几天的单片机的实训,我在理论的基础上更深刻的掌握了单片机的深层内容及实际生活中的应用,实训锻炼了自己动手能力和思维能力,还有在软件方面的编程能力,让我受益匪浅,同时也暴露出一些平时学习上的问题,让我深刻反思。这些问题的发现将为我以后的学习和工作找明道路,查漏补缺为进一步学习作好准备。通过实训,让我懂得了如何编写一些简单的程序,学会了如何制作单片机应用程序,并且可以在今后的日常生活中灵活运用。
实践是检验真理的唯一方法,有时候我们学习了很多知识,但是到有需要的时候却没办法运用到这些知识,这是因为我们的实践经验不足。而想要提高自己的实践经验,参加实训和实习都是非常不错的。整理总结了一篇大学生51单片机实训心得体会,希望这篇文章能够帮助到大家!
51精简开发板是一款以8051系列单片机为核心的精简开发板。8051系列单片机是一款应用非常广泛的8位微处理芯片,由于其功能齐全,产品技术成熟,资料广泛,又是学习其他很多单片机的基础。
单片机具有成本低、体积小、可靠性高、具有高附加值、通过更改软件就可以改变控制对象等优点,单片机越来越成为电子工程师设计产品时的首选器件之一。因此拥有一块单片机开发板对单片机学习具有着极其重要的意义。
51单片机提高重在实践,想要学好单片机,软件编程必不可少。但是熟悉硬件对于学好51单片机的也是非常重要的。如何学习好硬件,动手实践是必不可少的。我们可以通过自己动手做一个自己的电子制作,通过完成它,以提高我的对一些芯片的了解和熟练运用它。这样我们就可以多一些了解芯片的结构。我相信,你完成了一个属于自己的电子制作,你的单片机水平就会有一个质的提高。
我们认真学习和熟练掌握了电子器件的理论知识和使用方法,特别留意焊接过程中的焊锡使用的.技术要点,以及对电路正确的验证(以防短路,烧毁器件)。焊接完毕之后,编写程序测试硬件。我们将平时上课学到的汇编语言,根据电子器件的使用方法和特性,编写相适应的汇编程序调试。由于调试是一个比较漫长需要耐心的工作,我们从中学到许多测试经验和编程技巧,培养了坚持不懈的耐力。
通过对单片机实验开发板的硬件认识,编写测试程序对单片机开发板系统进行了完整的硬件测试,实验的测试现象达到预期要求。最终证实了此次焊接相当成功,表明这次生产实习非常圆满成功!
虽然这次的实习算起来在实验室的时间只有几天,不过因为我们都有自己的实验板,硬件的设计跟焊接都要我们自己动手去焊,软件的编程也要我们不断的调试,最终一个能完成课程设计的劳动成果出来了。
通过这次单片机实习,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新可以是在原有的基础上进行改进,使之功能不断完善,成为真己的东西。
通过这一个学期的单片机学习,我收获了很多关于单片机的知识,并且这些知识和日常的生活息息相关。了解了一些简单程序的录入,LED显示器、键盘、和显示器的应用和原理。
LED显示器:LED显示器是由发光二管组成显示字段的器件。通常的8段LED显示器是由8个发光二极管组成,LED显示器分共阳极和共阴极两种。有段选码和和位选码。当LED显示器每段的平均电流位5MA时,就有较满意的亮度,一般选择断码5—10MA电流;
位线的电流应选择40—80MA。LED显示器的显示方式有动态和静态两种。7289A芯片是具有SPI串行接口功能的显示键盘控制芯片,它可同时取得8位共阴极数码管和64个键的键盘矩阵。7289A的控制指令分为两类:8位宽度的单字节指令和16位宽度双字节指令;
还有闪烁指令和消隐指令。7289A采用串行方式SPI总线与微处理器通信;
7289A与AT89C52接口电路,在实际电路中无论接不接键盘,电路中连接到其各段上的8个100千欧的下拉电阻均不可以省去,如果不接键盘而只接显示器可以省去8个10千欧电阻,若仅接键盘而不接显示器,可省去串入DP及SA—SG连线的8个220欧电阻,7289A还需要外接晶体振荡电路。液晶显示器简称LCD,其显示原理是用经过处后的液晶具有能改变光线传输方向的特性,达到显示字符和图形的目的。最简单的笔段式液晶显示器类似于LCD显示器,可以显示简单的字符和数字,而目前大量使用的是点阵式LCD显示器,既可以显示字符和数字也可以显示汉字和图形。如果把LCD显示屏、背光可变电源、接口控制逻辑、驱动集成芯片等部件构成一个整体,是的与CPU接口十分方便。
键盘:键盘是最常见的计算机输入设备,它广泛应用于微型计算机和各种终端设备上。计算机操作者通过键盘向计算机输入各种指令、数据,指挥计算机的工作。按照键盘的工作原理和按键方式的不同,可以划分为四种:机械式键盘采用类似金属接触式开关,工作原理是使触点导通或断开,具有工艺简单、噪音大、易维护的特点。
塑料薄膜式键盘键盘内部共分四层,实现了无机械磨损。其特点是低价格、低噪音和低成本,已占领市场绝大部分份额。
导电橡胶式键盘触点的结构是通过导电橡胶相连。键盘内部有一层凸起带电的导电橡胶,每个按键都对应一个凸起,按下时把下面的触点接通。这种类型键盘是市场由机械键盘向薄膜键盘的过渡产品。
无接点静电电容式键盘使用类似电容式开关的原理,通过按键时改变电极间的距离引起电容容量改变从而驱动编码器。特点是无磨损且密封性较好。
按照按键方式的不同键盘可分为接触式和无触点式两类。接触式键盘就是我们通常所说的机械式键盘,它又分为普通触点式和干簧式。普通触点式的两个触点直接接触,从而使电路闭合,产生信号;
而干簧式键盘则是在触点间加装磁铁,当键按下时,依靠磁力使触点接触,电路闭合。与普通触点式键盘相比,干簧式键盘具有响应速度快、使用寿命长、触点不易氧化等优点。无触点式键盘又分为电容式、霍尔式和触摸式三种。其中电容式是我们最常用到的键盘类型,它的触点之间并非直接接触,而是当按键按下时,在触点之间形成两个串联的平板电容,从而使脉冲信号通过,其效果与接触式是等同的。电容式键盘击键时无噪声,响应速度快,但是价格很高一些。
显示器:按照显示器的显示管分类CRT、LCD。按显示色彩分类单色显示器、彩色显示器。按大小分类通常有14寸、15寸、17寸和19寸,或者更大。显示管的屏幕上涂有一层荧光粉,电子枪发射出的电子击打在屏幕上,使被击打位置的荧光粉发光,从而产生了图像,每一个发光点又由“红”“绿”“蓝”三个小的发光点组成,这个发光点也就是一个象素。由于电子束是分为三条的,它们分别射向屏幕上的这三种不同的发光小点,从而在屏幕上出现绚丽多彩的画面。显示器显示画面是由显示卡来控制的。若仔细观察显示器上的文本或图像是由点组成的,屏幕上点越多越密,则分辨率越高。
屏幕上相邻两个同色点的距离称为点距,常见点距规格有0。31mm、0。28mm、0。25mm等。显示器点距越小,在高分辨率下越容易取得清晰的显示效果。电子束采用光栅扫描方式,从屏幕左上角一点开始,向右逐点进行扫描,形成一条水平线;
到达最右端后,又回到下一条水平线的左端,重复上面的过程;
当电子束完成右下角一点的扫描后,形成一帧。此后,电子束又回到左上方起点,开始下一帧的扫描。这种方法也就是常说的逐行扫描显示。而隔行扫描指电子束在扫描时每隔一行扫一线,完成一屏后再返回来扫描剩下的线,这与电视机的原理一样。隔行扫描的显示器比逐行扫描闪烁得更厉害,也会让使用者的眼睛更疲劳。完成一帧所花时间的倒数叫垂直扫描频率,也叫刷新频率,比如60Hz、75Hz等。
通过这几天的单片机的实训,我在理论的基础上更深刻的掌握了单片机的深层内容及实际生活中的应用,实训锻炼了自己动手能力和思维能力,还有在软件方面的编程能力,让我受益匪浅,同时也暴露出一些平时学习上的问题,让我深刻反思。这些问题的发现将为我以后的学习和工作找明道路,查漏补缺为进一步学习作好准备。通过实训,让我懂得了如何编写一些简单的程序,学会了如何制作单片机应用程序,并且可以在今后的日常生活中灵活运用。
作为一名自动化专业的大三学生,我觉得做单片机课程设计是十分有好处的,而且是十分必要的。在已度过的大学时间里,我们大多数接触的是专业课。我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践潜力?如何把我们所学的专业基础课理论知识运用到实践中去呢?我想做类似的课程设计就为我们带给了良好的实践平台。
这次单片机课程设计我们历时两个星期,在我们班里算是倒数几组完成的吧,但经过这两个星期的实践和体验下来,我们又怎样会去在乎那个先后问题呢,因为对我来说学到的不仅仅是那些知识,更多的是团队和合作。此刻想来,也许学校安排的课程设计有着它更深层的好处吧,它不仅仅仅让我们综合那些理论知识来运用到设计和创新,还让我们明白了一个团队凝聚在一齐时所能发挥出的巨大潜能!
单片机作为我们的主要专业课之一,虽然在大三开学初我对这门课并没有什么兴趣,觉得那些程序枯燥乏味,但在这次课程设计后我发现自己在一点一滴的努力中对单片机的兴趣也在逐渐增加。
两个星期前我们五个人还在为到底选那个课题而发生分歧,最后还是在龚老师的耐心分析和指导下完成了课题的选定,但是随之而来的问题却远比我们想想的要困难的多
过没想到这项看起来不需要多少技术的工作却是十分需要耐心和精力在两个星期后的这天我已明白课程设计对我来说的好处,它不仅仅仅是让我们把所学的理论知识与实践相结合起来,提高自己的实际动手潜力和独立思考的潜力,更重要的是同学间的团结,虽然我们这次花去的时间比别人多,但我相信我们得到的也会更多!
在做本次课程设计的过程中,我感触最深的当属查阅超多的设计资料了。为了让自己的设计更加完善,查阅这方面的设计资料是十分必要的,同时也是必不可少的。我们是在做单片机课程设计,但我们不是艺术家,他们能够抛开实际尽情在幻想的世界里翱翔,而我们一切都要有据可依,有理可寻,不切实际的构想永远只能是构想,永远无法升级为设计。
其次,在这次课程设计中,我们运用到了以前所学的专业课知识,如:CAD制图、汇编语言、模拟和数字电路知识等。虽然过去从未独立应用过它们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获。后,要做好一个课程设计,就务必做到:在设计程序之前,对所用单片机的内部结构有一个系统的了解,明白该单片机内有哪些资源;要有一个清晰的思路和一个完整的的软件流程图;在设计程序时,不能妄想一次就将整个程序设计好,反复修改、不断改善是程序设计的必经之路;
要养成注释程序的好习惯,一个程序的完美与否不仅仅仅是实现功能,而就应让人一看就能明白你的思路,这样也为资料的保存和交流带给了方便;在设计课程过程中遇到问题是很正常德,但我们就应将每次遇到的问题记录下来,并分析清楚,以免下次再碰到同样的问题的课程设计结束了,但是从中学到的知识会让我受益终身。
发现、提出、分析、解决问题和实践潜力的提高都会受益于我在以后的学习、工作和生活中。设计过程,好比是我们人类成长的历程,常有一些不如意,但毕竟这是第一次做,难免会遇到各种各样的问题。在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。
我们透过查阅超多有关资料,并在小组中互相讨论,交流经验和自学,若遇到实在搞不明白的问题就会及时请教老师,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。
透过这次课程设计我也发现了自身存在的不足之处,虽然感觉理论上已经掌握,但在运用到实践的过程中仍有意想不到的困惑,经过一番努力才得以解决。这也激发了我今后努力学习的兴趣,我想这将对我以后的学习产生用心的影响。
透过这次设计,我懂得了学习的重要性,了解到理论知识与实践相结合的重要好处,学会了坚持、耐心和努力,这将为自己今后的学习和工作做出了最好的榜样。我觉得作为一名自动化专业的学生,单片机的课程设计是很有好处的。更重要的是如何把自己平时所学的东西应用到实际中。
虽然自己对于这门课懂的并不多,很多基础的东西都还没有很好的掌握,觉得很难,也没有很有效的办法透过自身去理解,但是靠着这一个多礼拜的“学习”,在小组同学的帮忙和讲解下,渐渐对这门课逐渐产生了些许的兴趣,自己开始主动学习并逐步从基础慢慢开始弄懂它。
我认为这个收获就应说是相当大的。觉得课程设计反映的是一个从理论到实际应用的过程,但是更远一点能够联系到以后毕业之后从学校转到踏上社会的一个过程。小组人员的配合相处,以及自身的动脑和努力,都是以后工作中需要的。
一直想写一个帖子,将自己学习单片机的经历、经验和方法总结一下,今天终于动手写了,呵呵,这是我学习单片机的经验、心得、方法。希望对大家学习单片机有所帮助。
经常在群、论坛里看到有人问:怎么学单片机?也常看到有人说学了好几个月可就是没有什么进展。当然,受限于每个人受到的教育水平不同和个人理解能力的差异,学习起来会有快慢之分,但我感觉最重的就是学习方法。一个好的学习方法,能让你事半功倍,这里说说我学习单片机的经历和方法。
20xx年的时候,因为制作FM发射电路采用了BH1415的芯片,需要用到单片机控制,所以开始接触使用单片机,虽然以前读书时作为一门功课学过,不过也快丢荒了10年了,基本上都忘光了,也算是从头学起了吧。我当时是买了一块实验板,很简单的功能,比论坛实验板还要少功能,还有一个仿真器,也是比较简单的,SST芯片的。然后开始从大家都知道的流水灯写起,万事开头难,第一个程序基本上就抄人家的,翻查了一份快速入门的学习资料,写下第一个程序。然后,在仿真机是单步的看运行结果,从每一步执行,都硬件上反应出来的效果,很快,对单片机的运作有了一个非常感性的认识,这跟只看书然后自己想象运行是完全两码事。然后,是进一步的其它程序学习,一个月时间,基本上已经熟悉了51的各种硬件资源。把流水灯,数码管动态扫描,中断等等的学习了,然后就是写综合性的程序,也就是我发在论坛里的时钟。通过这个程序的编写,使自己的编程水平有了很大的飞跃。之后,就是逐步学习编写更多的程序,各种外围器件的控制等等,通过编写程序使自己不断的提高。在学过汇编之后,我又转到了C语言学习,因为以前没有学习过C语言,一切都很陌生,所以自己沿用了学习汇编的方法,大约花了3天功夫基本就对C语言有了初步的了解,然后就是尝试写上面所说的时钟,以汇编程序的思路作为参考,以C语言来编写,花了几天功夫完成了这一程序,也实现了从汇编编程为主到C编程为主的转变。然后,就是以C语言编写外围器件的控制程序,以此来熟悉C的编程风格,一直到现在,基本上就是C语言编程,汇编已经是作为调试程序的辅助。
下面我概括了几点我的学习经验和心得体会:
1、万事开头难、要勇敢迈出第一步。开始的时候,不要老是给自己找借口,说KEIL不会建项目啦、没有实验板啦之类的。遇到困难要一件件攻克,不会建项目,就先学它,这方面网上教程很多,随便找找看一下,做几次就懂了。然后可以参考别的人程序,抄过来也无所谓,写一个最简单的,让它运行起来,先培养一下自己的感觉,知道写程序是怎么一回事,无论写大程序还是小程序,要做的工序不会差多少,总得建个项目,再配置一下项目,然后建个程序,加入项目中,再写代码、编译、生成HEx,刷进单片机中、运行。必须熟悉这一套工序。个人认为,一块学习板还是必要的,写好程序在上面运行一下看结果,学习效果会好很多,仿真器就看个人需要了。单片机是注重理论和实践的,光看书不动手,是学不会的。
2、知识点用到才学,不用的暂时丢一边。厚厚的一本书,看着人头都晕了,学了后面的,前面的估计也快忘光了,所以,最好结合实际程序,用到的时候才去看,不必说非要把书从第一页看起,看完它才来写程序。比如你写流水灯,完全就没必要看中断的知识,专心把流水灯学好就是了,这是把整本书化整为零,一小点一小点的啃。
3、程序不要光看不写,一定要自己写一次。最开始的时候,啥都不懂,可以抄人家的程序过来,看看每一句是干什么用的,达到什么目的,运行后有什么后果,看明白了之后,就要自己写一次,你会发现,原来看明白别人的程序很容易,但到自己写的时候却一句也写不出来,这就是差距……当你自己能写出来的时候,说明你就真的懂了。
4、必须学会掌握调试程序的方法。不少人写程序,把代码写好了,然后一运行,不是自己想要的结果,就晕了,然后跑到论坛上发个帖子,把程序一贴,问:为什么我的程序不能正常运行?然后就等别人来给自己分析。这是一种很不好的行为,应该自己学会发现问题和学会如何解决问题。这就需要学习调试程序的方法,比如KEIL里,可以下断点啦,查看寄存器内容等等,这些都是调试程序的手段,当你发现你写的程序运行结果和你想象中不一样的时候,你可以单步,也可以下断点,然后跟踪,查看各相关寄存器内容,看看程序运行过中是不是有什么偏差,找出影响结果的地方,改正过来。这一个过程非常重要,通过程序的排错,你可以学到的知识是书上得不到的。
5、找到解决问题思路比找到代码更重要。我们用单片机来控制周边器件,达到我们想到的目的,这是一个题目,而如何写出一个程序,来控制器件按你想要的结果去运作,这个就是解题的思路。要写程序,就得先找到解决问题的思路,你学会找出这个解题思路,比你找到代码更为重要。不少人很喜欢找人家的代码,有的人甚至有了代码就直接复制到自己的程序中,可以说,这不是一种学习的态度,无助于你编程水平的提高。我几乎不怎么看人家的代码,多数时候是看别人的思路,有方框图最好,没有的话文字说明也可以,要从代码中看出别人处理问题的思路,是相当困难的,特别是大型的程序,看起来是非常的累人,所以现在我也明白了,以前读书时说的程序流程图很重要,现在算是知道了。当你知道一个问题怎么去解决了,那么剩下的只是你安排代码去完成,这就已经不是什么问题了。举个例子:数码管动态扫描,没写过的初学者可能搞不清是怎么回事,其实,就是分时让每一时间段时只控制一只数码管显示数字,几只数码管轮流显示,由于速度很快,人眼的看起来是全部数码管都亮的。明白是这么一回事,事情就好办了,剩下的事情,无非是你安排让一只只数码管轮流显示出相应的数值。显示数字,然后延时一下,再下一只显示数字,延时,知道是这样,我们实际程序上只要做到这样就可以:往段口送段码,然后打开位选显示一只,延时一下,再关闭位选,再送出段码,再打开另一只位选仅此而已。有了解决问题的思路,我们就能问题拆分开来,然后逐一的解决,如果动态扫描的原理都没懂,不知道如何做,那么这个程序是怎么也写不出来的。
6、开动脑筋,运用多种方法,不断优化自己的程序。想想用各种不同方法来实现同一功能。这是一个练习和提高的过程,一个问题,你解决了,那么你再想想,能不能换种写法,也可以实现同一功能,或者说,你写出来的代码,能不能再精简一点,让程序执行效率更高,这个过程,就是一个进步的过程。很多知识和经验的获得,并不是直接写在书让你看就可以得到的,需要自己去实践,开动脑筋,经验才能得到积累,编程水平才能有所提高。
7、看别人的代码,学习人家的思路。这个在学习初期是很有用,通过看别人的代码,特别是有多年编程经验的人写出的具有一定水平的代码,可以使自己编程水平得到迅速的提高,同时,也可以结合别人的编程手法,与自己的想法融合在一起,写出更高水平的代码,从中得到进步。但要注意,切忌将学习变成抄袭,更不是抄袭完了就认为自己学会了,这样做只会使你退步。
8、尝试编写一下综合应用的程序。从流水灯学起,到动态扫描,再到中断,那么,你可以试试写一下时钟这种综合性应用的程序,不要小看时钟,要写好它不是一件容易的事情,它包括了单片机大部分的知识,比如有按键(IO读取)、动态扫描(IO输出)、中断等,如何协调好各功能模块正常工作,才是编程者需要学习的地方,当你单独写一个功能的时候,比如按键读取,你可能感觉很容易,因为你的程序啥也不做,只是读按键。但把它和其它功能混合在一起,如何在整个程序运行中使每一部分都正常工作,这就不是写一个按键读取这么容易的事情,功能模块之间有可能会互相影响,比如你需要让数码管既能显示,又要去处理按键读取,怎么使这两部分都正常工作,这就是一个协调过程。当你有了这个处理协调能力,你就算是入门了。
9、着重于培养解决问题的能力,而不是具体看自己编写了多少代码或者做过什么。“学单片机重点在于学习解决问题的思路,而不是局限于具体的芯片类型和语言”这一直是我的座右铭,是我学单片机多年来感悟出来的。经常看到有人说“你会驱动xx芯片,真牛啊”“你搞过xx项目,真厉害”之类的话,其实这是非常片面的,搞过xx芯片,搞过xx项目,只能说明你做过这一项目,它只是你的业绩,并不是代表能力就一定高。真正的能力应该是:“遇到没有解决过的问题或器件,能利用自己已学的知识,迅速找到解决问题的方法。”这个才是能力。写程序的过程就是一个创造的过程,几乎没有完全一样的项目,每次你遇上的几乎都不相同,所以你拥有的必须是你面对新项目时的创造能力,而不是标榜着你以往做过多少项目。当然,业绩也能从另一侧面反映你的经验和水平。
10、如果有可能,多学习计算机专业的知识,比如数据结构等。这些是你解决问题的基础知识,你把这些知识应用得越好,就会发现越容易找到解决问题的方法,这就是为什么一个学计算机专业的人编的程序和一个非计算机专业的人编的程序有差异的原因。也是一个菜鸟进军到高手所要配备的知识。如果我们把编程分为宏观编程和微观编程,那么微观编程就是写具体的代码,比如控制某某器件的语句;而宏观编程就是如何对整个程序进行布局、安排,使功能模块以你想要的方式去运行,得出你想要的结果。如前所说“会控制xx器件”这些只能算是微观编程,能做到这一步还只能算是菜鸟级别,如果面对一个新的器件,你心里没底,没把握去写这个控制程序,那说明你还是一个初级的菜鸟。当你有了一定的编程经验,控制过相当数量的器件之后,你就会发现,控制器件这些工作都是相似的、重复的工作,体现不出编程的水平,最多也是写得好与不好的差别,只能算是一些小技巧的应用。而对整个程序进行布局、安排这些才是最头痛的事情,能达到宏观编程和微观编程都做好才是真正的高手。对于规模越大的程序,越能体现出这一点。
11、面对一个新项目时,多自己开动脑筋,不要急于找别人的程序。有不少人面对一个新项目时,第一步想到的就是网上找别人写过的代码,然后抄一段,自己再写几句,凑在一起就完成任务,这虽然可能是省时间,但绝对不利你的学习。当你接到一个新项目时,应该先自己构思一下整个程序的架构,想想如何来完成,有可能的话,画一个流程图,简单的可以画在脑子里,对程序中用到的数据、变量有一个初步的安排,然后自己动手去写,遇到实在没办法解决的地方,再去请教别人,或看别人是怎么处理的,这样首先起码你自己动过脑想过,自己有自己的思路,如果你一开始就看别人的程序,你的思维就会受限在别人的思维里,自己想再创新就更难了,这样你自己永远也没办法提高,因为你是走在别人的影子里。
12、多利用网络的搜索,学会提问题。一般来说,学习过程中,你遇上的问题,前人们多数也有遇上的,所以如果有什么不懂,在自己解决不了的时候,最好先到网上搜索一下,看能不能找到答案,找不到再到论坛里发问,发问也要有目的性,尽量简单明了的描述问题,让帮助你的人可以用最少的时间就看懂你说什么,毕竟人家帮助你是免费的,时间也是有限的。
以上就是我学习单片机的经历和心得体会,希望对大家会有帮助,说得有不好或不对的地方欢迎大家批评指正。
最近,我对我的微控制器特别感兴趣,因为我可以看到它可以控制电机的旋转,我感觉很神奇。我想弄清楚它是如何做的?
我看到这本书:微控制器可以用两种语言写入,一个是C语言,另一个是汇编语言。汇编语言是一种机器语言,代码很麻烦,不容易记住。有必要掌握微控制器的内部结构和逻辑结构。通过查看几本书,我明白汇编真的太繁琐了,但我已经学习了C语言,我也参加了国家计算机的二级考试,我觉得我一方面有一个优势。可以快速学习。
但是,在学习中,我发现学习单芯片不仅需要软件的知识,还需要硬件知识。我在实践中买了一个芯片是一个活生生的例子。我没有相应的硬件知识。我甚至不知道单芯片微电脑。我为我的原始想法感到羞耻。单片机是一个很好的研究,我需要我学习它。
时间苍蝇,眨眼间,学期和结束,本学期的单片综合课程设计也在一周内完成。
俗话说,“良好的开始是成功的一半。”谈到课程设计,我认为最重要的是要设计专业的学前班,认真的研究教师,并选择一个有兴趣的话题。其次,教师对实验的解释将是一丝不苟,因为只懂,它将是半计量,如果你不明白,你将旨在选择这个话题,而且没有收获。最后,我们必须注意模块化,修改程序,还要注意调试程序,掌握方法。
时光飞逝,一转眼,一个学期又进尾声了,本学期的单片机课程也结束,但通过这次单片机的学习,我不仅加深了对单片机理论的理解,将理论很好地应用到实际当中去,而且我还学会了如何去培养我们的创新精神,从而不断地战胜自己,超越自己。创新可以是在原有的基础上进行改进,使之功能不断完善,成为真己的东西。
当今社会随着电子技术的发展,特别是随着大规模集成电路的产生,给人们的生活带来了根本性的变化,如果说微型计算机的出现使现代的科学研究得到了质的飞跃,那么可编程控制器的出现则是给现代工业控制测控领域带来了一次新的革命。在现代社会中,温度控制不仅应用在工厂生产方面,其作用也体现到了各个方面。本学期我们就学习了单片机这门课程,感觉是有点难呢。也不知道整个学习过程是怎么过来得,可是时间不等人。
刚开始学习的时候,对单片机没有什么认识,不知道什么是单片机,更不知道它有什么作用。通过学习才大体知道了单片机的一些知识。单片机是一块在集成电路芯片上集成了一台有一定规模的微型计算机。简称为:单片微型计算机或单片机。单片机的应用到处可见,应用领域广泛,主要应用在智能仪表、实时控制、通信、家电等方面。由中央处理器CPU、随机存储器RAM、只读存储器ROM、I/O接口、定时器/计数器以及串行通信接口等集成在一块芯片上,构成了一个单片微型计算机,简称为单片机。它的应用范围很广,在工业自动化中应用有数据采集、测控技术。在智能仪器仪表中应用有数字示波器、数字信号源、自动取款机等。在消费类电子产品中应用有空调机、电视机、微波炉、手机、IC卡、汽车电子设备等。在通讯方面应用有手机、小灵通等。在武器装备方面应用有飞机、坦克、导弹、航天飞机、智能武器等。刚开始学习时只能抄写别人做成功的程序,一遍一遍的写,从简单的入手,逐步的积累,一步步的能够将小的程序结合到一起,拼接成较为复杂一些的程序。但是程序不要只是看别人得,一定要自己写过才是自己的。只有当你自己能写出来的时候说明你真懂了。刚接触KEIL时确实很让人头疼,使用 KEIL不会建项目、不会使用实验板。然后可以参考已经成功的程序,抄过来,写一个最简单的,让它运行起来,先培养一下自己的感
觉,先建个项目,再配置一下项目,然后建个程序,加入项目中,再写代码、编译、生成HEX,刷进单片机中、运行。其实当遇到问题一定要自己尝试着解决,不能遇到问题就去问别人,自己一定要掌握解决问的方法和思路。对一个新项目时,自己一定要多想想,不要急着去看别人是怎么写的。应该先想一下程序的构架,想想如何来完成。然后自己动手去写,理清自己的思路这样更容易提高自己。
熟悉单片机的人都知道,要学好单片机可不是一件容易的事,倒不是因为单片机很难学,而是很难找到一本专为单片机入门者而编写的教材。翻一下身边的单片机教材,都好像是为已经懂单片机的人而写的,一般先介绍单片机的硬件结构和指令系统,再是系统扩展和外围器件,顺便讲一些应用设计(随便说一下,很多书中的电路设计已经过时,并且有些程序还是错误的)。如果按照此种学习方法,想进行产品开发,就必须先把所有的知识全部掌握了才可以进行实际应用。学习使用单片机只能靠循序渐进的积累,虽然单片机的课程只上了几节就去上班了,但在学习的过程中有了一定的了解。下面就本人学习单片机的过程和经验做简要介绍。
首先,学习单片机要有一定的基础:电子技术方面要有数字电路和模拟电路等方面的理论基础,特别是数字电路;编程语言要求汇编语言或C语言。要想成为单片机高手,建议初学者首先学习汇编语言,学的差不多的时候,转入C语言学习。尽管汇编语言属于低级语言,编程效率低,但是较C语言具有目标代码简短,占用内存少,执行速度快等优点,更重要的是能使初学者尽快熟悉单片机的内部结构,并能对其进行精确的控制。汇编语言在单片机教材里面都会涉及,不需要单独购买教材和学习。C语言是一门学问,有很多专业书籍来讲解,并且对我们今后的编程生涯有绝对的好处,因此要深入学习,千万不要自以为看了某某的视频教程就以为掌握了C语言,那只是C语言的一部分。在这里给大家推荐一本单片机C语言程序设计参考书,马忠梅等著,北京航空航天大学出版社出版的《单片机的C语言应用程序设计》,要求C语言基础。如果没学过C语言,建议学习清华大学谭浩强编写的C语言程序设计,这本书写的不错,通俗易懂。
其次,是单片机教材选择。单片机是一门非常重视实践的技术,不能总是看书,但要学习它首先应看书,对单片机引脚、内部结构、寄存器和原理有一定地了解和感官认识,它的是怎样工作的,能干些什么?刚开始时,也许你看不明白,但这并不要紧,因为你还缺乏实践经验。现在单片机应用广泛,因此各个厂家分别推出了自己的单片机,我们没必要每样都学!因为他们的编程方法和调试过程以及内部指令结构有一定的相似,只要学精通一款就OK了!尤其是用C语言编程,就几乎不用分什么派系,但是我们要选择一款有代表性的知识范围广,并且入门容易,书籍多。一般来说,MCS-51系列单片机已经得到广泛的普及和应用,市场上它的资料也比较多,用的人也很多。给大家推荐一些参考书,学习时只需要一本就足够拉。书名:《新编MCS-51单片机应用设计》,哈尔滨工业大学出版,张毅刚;书名:《单片机原理及应用》,高等教育出版社,张毅刚等;书名:《单片机高级教程:应用与设计》,北京航空航天大学出版社,何立民。相关教材还有很多,在这不一一列举。
然后,是开发工具和开发环境的选择。选择一块合适的学习板,对于初学者来说一般无力接受,如果经济条件允许、本人又对单片机很感兴趣、有从事相关工作意向的话,鼓励大家购买。随便说一句,学习板功能要求太全,具有流水灯、数码管、独立键盘、矩阵键盘、AD或DA、液晶、蜂鸣器等就差不多啦,毕竟,功能齐全的价格比较高。仿真器对单片机初学者来说既是那么耳熟,同时又有些陌生,这主要是因为市场上传统的仿真器价格都在千元以上,对经济不是非常宽裕的人来说是不小的开支。同时仿真器是用来提高调试程序效率的,也不是非需不可的,如果你没有仿真器,遇到程序出错的时候,只好苦思冥想,反复烧写调试。随便推荐一下,学林电子的51tracer仿真器,有兴趣的朋友可关注一下。有了单片机教程板以后,先看下指导说明书,熟悉一下学习板,开卷有益。以后就得靠自己多练习了,将学习板与电脑连接好,先学会开发软件的使用,然后从最简单的流水灯实验做起,按照你自己的意愿控制流水灯,当你完成时,你会发现这是多么惬意的事情。太好玩了,你会觉得这不是在学习,而是在玩,当你发现,单片机能够按照你编写的程序工作时,你会觉得非常兴奋,比做什么事情都开心,这样你会慢慢迷上单片机,真的。不少网站上说搞定某个实验,就恭维的告诉你一声”恭喜你,学会了”自己学会了单片机,这有点可笑,这只能说明你算过关了,对单片机有了一定了解和会使用它了。但是单片机能完成的功能太多了,尤其是对外围器件的控制,综合起来能设计出许多意想不到的产品。因此除了入门外,精通可千万别轻易说出口。
最后,在熟练掌握和应用后,那可以说对于单片机方面的硬件你已经入门了,剩下的就是自己练习设计开发各种课题,不断的积累经验。最终,自己完全设计具有个人风格的课题,产品,这样你就是单片机高手拉。只要过了第一关,后面的路就好走多了,万事开头难,这大家可能都听过。
有时候单片机的学习很单调,有些知识学起来很抽象,不容易理解,只能慢慢适应,一边学习理论知识,一边编写程序,将程序刷入单片机进行调试,通过这种方式才能更快速的学习单片机。要坚定自己的学习信心,在付出持之以恒的努力,我相信自己能进一步加深对单片机的了解,在单片机的学习道路上走得更远!
本人还是学生,此刻大三,接触单片机一年多以来,从最基础的51开始,到更高级点的MSP430,一向到此刻刚开始上手的STM32,编过的程序不算多,但加起来怎样也有上百个了,做过的东西仔细数数,能拿出手来算算的上是个样的也不下十个,算是小有所成吧。
但今日,我却发现,这一年我一向在走一条歪路。
先说一下情景吧,是这样的,最近同学几个合伙做个小项目,不算复杂,跟市面上的工程项目完全没法比,用难再需要使用的一个芯片是教师给的,从没用过,没有历程,至于一份电子版的数据手册,一切的一切都只能是从头开始,从底层开始,我们几个斌开始从最底层的逻辑时序、寄存器操作开始,但经过几天的研究,确实毫无效果可言。
为此,我们几个郁闷了好长时间,开始疯狂的上网搜资料,拷代码,却终究是不得而返,还让教师骂了一顿,因为这个项目是我们主动要求教师放给我们的,结果却耽误了工期。
我次我们几个人很受打击,最终决定大家一齐静下心来分析分析,到底我们败在了什么地方最终总经过两天的思考、讨论、总结、检讨···,我们发现了问题的所在,想来想去,这估计是很大一部分初学者正在面临的一个“瓶颈问题”,所以,由我净这个讨论的结果发布出来,期望与更多的人交流、分享、提高、共勉。
下头先总结一下我们失败的几点原因:
1、“都是开发板惹的祸”。
能够说从开始学习单片机,哪怕是最基础的51、以致之后的MSP430、ARM,我没从未离开过开发板,并且这长达一年多的时间,养成了我们对开发板极大的依靠,尽管自我焊过51最小系统、绘制过430最小系统板,但都是参考的别人已有的电路图,连最基本的电路基本都没分析过,为什么要在这几个电阻,该加个多大的,不加会怎样样,太大了太小了会有什么后果,等等此类问题,我们从未分析过,全是COPY、COPY、再COPY,以致自我做过的东西不少,本事却未曾提高。
2、“全是例程误导我”。
我们买来的开发板,往往都会带有丰富的例程,通常这也是卖家吹嘘、比拼的地方,但就是这些附带的历程,让我们与底层的开发绝缘了,有了例程,我们不用再一个代码一个代码地敲键盘,不用再去研究那些器件的数据手册、通信接口、寄存器、内部原理、以及很多商家没给我们加进去的功能,哪怕是将这些程序改到别的地方,我们也可是是在宏定义里改两个引脚配置而已,从未尝试过从底层写驱动、敲代码、写函数,从未尝试过快平台移植代码,开发呢些没用过的功能等等。
3、“现实环境太无奈”。
这跟上头两个说的是不一样的方面,我们都是大学生,大学里此刻吵得火热的“大学生就业难”、“你是考研还是就业”、“你报XXX培训班了吗”“你考四六级证了吗”等等,好像上大学就是为了干这些,似乎没有这些,你就会陷入“毕业即失业”的困境。应对这些外来的干扰,越来越多的学生坐不住了,我们这些人也一样,尽管一向在学习自我的爱好,但当被人问得多了的时候,心里也难免会发毛、会害怕,从而导致一年来真正静下心来学这些东西的时间越来越少。
大体也就总结怎样多吧,经过这次失败,也算是教训深刻吧,此刻才大三,到大四毕业,还有近两年的时间,还不算太晚,再说将来的路还长,此刻发现这些,应当不算晚吧。
对我们来说,革命尚未成功,同志仍需努力啊!
开这贴,一为总结这次失败、而为自我立志改变、三为警示之后的同学、四为大家齐言献计。
大家有遇到同样问题的、要类似迷茫的、要好的提议意见的,欢迎回帖交流,大家一齐共勉。
两周的单片机课程设计实训,真是让我们受益匪浅,学到了很多东西,不管怎么样,先感谢学校给我的这么多机会。真正的学到了东西。
此次课程设计软件与硬件相结合,考察了我们的焊接水平与编程能力。因为以前做过关于焊接的电工实习,所以对于我们机械设计专业的学生而言焊接是不成问题,也很顺利;可到了编程时就出现了很大的障碍,先开始的显示时钟还算顺利,本来还以为编程会很简单的,等到实际操作起来才知道它的复杂性,没有想像中的那么得心应手,理解流程是有思维的前提。其实本身程序的思维是正确的,只是步骤中有点小错误,所以导致整个程序的结果很乱,在仔细修改程序之后,终于一步步地达到效果了。
系统以AT89S51为核心部件,利用软件编程,通过键盘控制和液晶显示实现了秒表的功能,能实现本设计题目的基本要求和发挥部分。尽量做到硬件电路简单稳定,充分发挥软件编程的优点,减小因元器件精度不够引起的误差。
我们将各个部分的程序编好后怎么都连不起来,出不了预期的效果。对于硬件在编程过程中PCB板的接触又是一个头疼的问题,在进行编译的时候,数码显示管上什么都没有,按一下旁边与之相连的元器件时就有显示了,所以也花费了好多时间在PCB板的重新焊接上,最后在全组人竭尽全力,老师的精心指导下,程序基本编写成功,这是我们共同努力的结果,在享受我们成果之时,不得不感慨单片机的重要性与高难度性,所以为期两周的单片机课程设计没有浪费,我们从中学到了很多知识,也让我们对单片机有了更深一步的了解。虽然最后结果是出来了,可这与老师的精心指导是分不开的,他引导我们的思路,本来一窍不通的我们经过老师的点拨基本上通了,所以说老师是功不可抹的。
由于时间有限和本身知识水平的限制,本系统还存在一些不够完善的地方,要作为实际应用还有一些具体细节问题需要解决。
踉踉跄跄地忙碌了两周,我的单片机课程设计也终将告一段落。设计实物也基本达到预期的效果,但由于能力和时间的关系,总是觉得有很多不尽人意的地方,譬如功能不全、外观粗糙……数不胜数。但我可以自豪的说,这里面的每一段代码,都有我的劳动。当看着自己的程序,自己成天相伴的系统能够健康的运行,真是莫大的幸福和欣慰。我相信其中的酸甜苦辣最终都会化为甜美的甘泉。
总而言之,单片机课程设计对于我们有很大的帮助,我们从中受益匪浅。
一周的实训,让我们从另一个角度去发现单片机。期间我学会了很多宝贵的知识和经验,在这次单片机实训中我们巩固了我们平时所学的内容;加深了对各种调试和仿真软件的使用技能;掌握了单片机应用电路的设计和调试方法。
首先,我们要从所给定的元器件中设计出6个不同的电路,并编写程序实现相关任务要求。我们小组设计出的电路主有:
(1)数码管轮流显示百十个位的数。要求:数据来源于拨码开关;个位显示完毕停留的时间稍微长些。
(2)定时计数器实现对外部脉冲计数5次后,流水灯的状态由亮点左流动转化成闪烁5次,然后回到初始状态。
(3)单键改变流水灯状态。按键一旦按下,流水灯状态由暗点右流动转化成闪烁8次,然后回到初始状态。
(4)双键改变流水灯状态。按键K0(连接INT0)按下,流水灯状态由亮点左流动,转化成闪烁5次,然后回到初始状态;按键K1(连接INT1)按下,流水灯状态由亮点左流动,转化成暗点右流动至最右端,然后回到初始状态;并且按键K1级别高于K0。
(5)串口输出数据,实现在2个数码管上显示60秒计数器。
(6)在集成的8位数码管上动态显示出:1——8的效果。
其次,我们要对我们所设计的电路进行电路布局、连线,检查电路是否出现错误或者遗漏。
然后,学会用KEIL软件调试程序,并用该软件菜单的各项调试工具和窗口。再结合硬件和软件,进行整体调试。
最后,当我们根据相关要求从所给定的元器件中设计出6个不同的电路、编写程序、线路布局,调试成功,我们的设计就完成了。
在这实训期间我深刻的认识到了理论知识和实践操作必须是相结合的,也许在实训时会有很多各种软、硬件等故障。
在编程时我们就出现了很大的障碍, 本来还以为编程会很简单的,等到实际操作起来才知道它的复杂性,没有想像中的那么得心应手, 最后不得不求出其他小组,原来本身程序的思维是正确的,只是步骤中有点小错误,所以导致整个程序的结果很乱。
我们在做双键改变流水灯状态的电路时又发现了一个头痛的问题,发光二极管不亮、开关不管用,刚开始的`时候,我们检查了好几遍就是没有发现问题,快要失去耐心是发现少两连接了两根线,这是个好现象让我们有了继续往下的勇气,终于在反复的检查研究中,我们发现发光二极管不亮的正负方向反了,开关接错了位臵,这才导致连接线路期间的错误不断。结果是可喜的,在我们小组竭尽全力,同学老师的帮忙下,我们的电路很成功。
我们会遇到很多挫折,不要气馁,不要放弃。我们只有这样才能提高自己的实际操作能力;培养自己独立思考能力;树立良好的心理素质和吃苦耐劳精神。因此,本实训对培养学生正确的劳动观念、组织纪律性、团队合作精神。