第一篇:单片机学习——keil软件调试心得
工程中要注意,要勾下图中的“产生hex文件”
1)选择左边的步进可以进入函数内调试
2)选择左边的运行可以从当前位置运行到断点
3)通过下图可以看各定时寄存器的状态:
4)看程序中各变量
点下图中的眼镜,出现下面中间的窗口,按F2输入变量名,就可以观察变量值的变化。
5)编译一定要完全,点下面这个键才有用
点这个键没用,会出现无法调试的困难
第二篇:Proteus和KEIL的单片机教学研究
第01卷 第11期 读 写 算 Vol.01 No.11 2011年 11月 Read Write and Count December 2011
基于Proteus和Keil的单片机教学研究
摘 要:文章从单片机目前教学所存在的不足出发,讨论了基于Proteus和Keil的单片机教学方法:以教师为辅、学生为主,突出教学中学生的主体和中心地位,建立新型的师生关系;以任务驱动为手段,最大程度的调动学生的学习主观能动性;以教材为辅,学生提高能力为主。该教学方法已经过实践的检验,可更有效的实现单片机的教学目标。关键词:Proteus;Keil;单片机;任务驱动
中图分类号:XXXX.X 文献标识码:A 文章编号:1002-7661(2011)XX-XXX-XX
单片机以体积小,性价比高等优点在家电、工业控制、通信设备等各种领域得到了广泛的应用,因此越来越多的专业开设单片机的相关课程,但单片机这门技术更注重实践学习,就目前的教学来看,主要有以下几个方面,学生需要记忆的内容太多,如枯燥的汇编指令,这会大大降低学生的学习兴趣;理论教学与实验教学关联程度不高,不能互相印证,存在一定程度的脱节现象。
基于以上种种问题以及多年单片机的一线教学经验,我们认为将Proteus和Keil引入课堂教学和实验教学能有效提高教学质量,更大程度的引发学生的学习兴趣,更有利于激发学生的主观能动性,下面简要介绍两种软件。
Proteus 软件是英国Labcenter electronics 公司出版的EDA 工具软件,是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,在编译方面,它也支持IAR,KEIL和MPLAB等多种编译器。是目前最好的单片机及外围器件的工具。Keil 是一款关于5l系列MCU的开发工具,支持汇编、C语言及混合编程,能够不接硬件电路直接进行用户程序仿真与调试。我们可将二者的长处结合起来,利用Proteus设计单片机系统的原理图,用Keil来完成C语言程序的编辑、编译,而整个系统的调试需要两个软件间的联合才能完成。单片机程序的执行情况,可在Proteus中的电路原理图上非常直观的观察到,而单片机某个寄存器的具体内容可以通过Keil的变量观察窗口观察到。二者取长补短,互为补充可构成一个完整的单片机系统。下面分别从课堂教学和实验教学两个方面来分析。
一、从课堂教学角度分析
授人以鱼,不若授人以渔。现在有个奇怪的现象,老师在课堂上灌输的越多,学生接受的知识反而越少,因此与其让教师灌输给学生太多的知识,不如让教师引导学生自己去发现问题,认识问题,并一步步用之前学过的相关知识点去解决问题。在这个发现问题,认识问题,解决问题的过程中,既加深了对课本基础知识的理解,又锻炼了独立分析问题,解决问题的能力,这种教师为辅助,学生为主体;教材为辅,提高能力为主的教学模式将极大的培养学生们的学习兴趣。
相对于文字,人们更喜欢直观的图像或动画。因此在单片机课堂教学的时候,教师可以采用现场仿真演示的方法,给学
生更形象生动的阐述说明。比如讲解某条汇编指令,可以在Proteus或Keil中编写该指令,并现场编译执行,然后观察执行该汇编指令后所导致的相关寄存器或地址单元中数据的变化情况,还可配合提问的方式与学生互动,引导学生自己去分析某条汇编指令的功能。这样便可以将枯燥的汇编指令变的简单好学,从而不会让学生感到枯燥乏味了。又比如在学习单片机例程时,可根据题目将班里的学生分组,每个组准备一道例程,并现场用Proteus和 Keil演示讲解,教师可根据每个组的课堂表现计入平时成绩。这种任务驱动教学方式有效的调动了学生们的主观能动性。
二、从实验教学角度分析
单片机应用技术是一门注重实践的技术,因此实验是单片机教学中不可分割的重要组成部分,以往的单片机实验大多采用实验箱的做法,即:指导教师布置几个题目,学生在实验箱上实现即可。这有几个弊端:1)实验箱上电路模块固定,可选做的实验题目较少,且题目陈旧老套,不能实时更新;2)实验箱上的电子元器件更容易因长期实验或学生使用不当造而损坏,不容易维护,增加实验成本;3)购买单片机实验箱价格不费,需要学校较大投资; 4)人力资源等现实原因,大多情况实验时开放时间远远不够学生们做实验需要的时间。
鉴于以上多个原因,在实验教学环节我们可采用Proteus和Keil两款软件建立虚拟实验室,而两款软件可免费从网上下载,因此大大降低实验成本;由于是软件仿真,所以在实验题目的选取方面有较大空间,且可以根据较新元器件搭建实验电路,灵活多变;在PC机相当普及的今天,学生可以随时随地的建立一个虚拟的单片机实验室,极大的满足了学生做实验的需求。使学生不需硬件支持也能完成实验内容,能降低实验成本,缩短实验周期,延伸实验内涵。
总之,将Proteus和Keil引入单片机教学,采用教师为辅学生为主,任务驱动的教学理念,在节省成本的同时,极大的培养了学生们的学习兴趣,有效提高了学生们的实践能力。
第三篇:单片机课设调试过程与心得
一.实验目的
课程标志性内容的设计理解和综合运用,鼓励独立性设计和功能扩展的创新实践。
二.实验设计功能:
分离模块要求:(这个模块要求用汇编写)
1)设计一个可以显示1234的显示电路,并利用单片机实现。2)利用按键切换,然后显示I0Y 3)按键切换的动作,全部用串口进行通信。
设计一个开关,当进行切换后,程序再进入主要要求。
主模块要求:(这个模块可以用汇编,也可以用C语言写,要是用汇编,老师说基本就给优的了,要是用C语言,得有创新点才能给优)(1)显示准确的北京时间(时、分),可用24小时制式;(2)随时可以调校时间。
(3)增加公历日期显示功能(月、日);(4)随时可以调校月、日;
(5)允许通过转换功能键转换显示时间或日期。(6)所有按键需要通过串口自发自收来调校各种功能。
调试过程:
1.串口,时钟等的设置参考了老师给的C语言版的例程。
2.在按键输入判断时,由于一开始遗忘了延时子程序的运用,导致功能不稳定,导致按键输入与功能显示不匹配,加入延时子程序后,该错误得以改正。
3.在用数码管显示时,由于P0是8位,而显示只需要用7位来确定,为了找出P0与数码管的7个显示管之间的对应关系,通过对A寄存器进行不同的赋值,即MOV A,#FEH和MOV A,#7FH,发现当A=FEH时数码管显示为8,即8位数据中最后一位不对数码管的显示七作用,而D7-D1分别对应着数码管的a-g。
4.由于一开始并不知道矩阵键盘与设置P2口所对应的关系,于是采用了测试的方法。通过SHOW1234的调用程序来获取键盘的对应关系。如用让R5=7EH,然后通过按如图所示的0位置和15位置,发现15位置时能够显示,即7EH代表了15位置,再用R5=7DH,再去测试图中所示的11位置和14位置,发现是11位置时能够显示,即可按照此规律确定其他键所对应的P2值。
5.在串口(CHUANKOU)子程序时,CMP2中的判断跳转语句原先为CJNE R7,#31H,MAIN,则显示时间很短,不能够稳定在改状态,于是增加了跳转入口,改为CJNE R7,#31H,CMP3,并增加了CMP3,由此能够实现在没有别的操作下,可让显示稳定在一个状态。
6.由于老师的功能要求需要通过一个按键进入主模块,所以我们用一个按键1来实现由分离模块调到主模块,以实现可用按键切换功能来实现功能跳转。
7.在进入主程序模块后,由于设置秒和时钟的功能只能显示而不能较好的更改,即不能实现自动更改时间的功能,于是就把显示功能去掉了。8.在设置月日时,设置后,程序不稳定,不能较好的进行自动调整时间,经网上查找资料和修改,还是没能改正。9.增加了年的显示功能,且增加了对年份的修改,
第四篇:学习plc单片机组态软件,嵌入式的一些心得
学习plc,单片机,组态软件,嵌入式的一些心得
学习plc,单片机,组态软件,嵌入式的一些心得
如果专注于某一兴趣,且投入进去,那么一定会有一种感觉:学习真的没完没了,永远有学不完的东西!
plc,51单片机,嵌入式系统,组态软件等等这些东西要学精学透真的必须踏踏实实的下功夫去钻研,要花大量的时间和精力!同时这些知识必须不断温习和巩固且要去实践,否则即便是当时理解了学会了,过些时日有些知识点便会遗漏掉。
上周用51单片机开发板+固态继电器+DC5V手机充电器+DC24V开关电源+DC24V继电器+飞利浦电风扇红外遥控器这些硬件自己动手做了一个带温度自动控制功能的AC220V遥控电源;虽然体积比较大,但是毕竟是自己的一件DIY作品,还是比较喜欢的。在动手制作的过程中,对硬件的掌握有了更深的认识,尤其是51单片机1602液晶显示出现的一些问题,这些问题如果不是自己动手是不可能发现的!
本周,终于编写plc程序并动手实践接线了。以前总是看书,看程序例子,虽然花了很多时间感觉理论上已经学得很好了,但是通过实践发现理论和实践的距离还是很大的!首先是笔记本电脑和plc的通信问题,我用的是USB通信电缆,即USB--RS485串口通信,打开编程软件后怎么也通信不上,为了这个通信问题我几乎是一晚上没有睡好觉,第二天还不断打电话请教别人,结果是电话费浪费不老少问题依然没有解决。直到第三天通过自己不断实验和设置终于把通信问题解决了!在这个过程中,不断怀疑是不是通信电缆或者plc或者驱动程序有问题,搞得人真的好憔悴。通过实践发现西门子的编程软件功能真的太强大了!对于plc的接线,工作电源等等资源有了更深的认识。真的是:实践出真知!
接下来就要动手实践通过上位机组态软件来控制plc了。这也是一个大工程。
以前总希望自己的一些同事,年轻的大学生多学点业务知识。现在看来真的不要去学习这些东西了。玩硬件是很花钱的,花钱耗精力不说,关键是不能为自己带来经济效益,而且领导根本就不重视技术!在国企,想通过真本事改变命运真的几乎不可能,要想出头还得下血本送礼请客溜须。
自从学上这些东西之后,我是欲罢不能了。因为只有强烈的兴趣而且热爱这些东西,一个人才能孤独的坚持学习。也只有在电子世界我才能有一种归属感!
对于爱学习的人来说,永远有学不完的东西要学,永远觉得时间和精力不够。然而现实是:凡是爱学习的人,爱好钻研技术的人一般是混得不怎么样的人;试想,哪个为官者会花时间和精力去读书钻研专业技术?
世上的众多情感中,我唯独不信爱情!我相信绝大部分人都是将就过日子。什么是爱情?年轻人会有许多美好的憧憬,然而,现实很残酷!爱情是什么?爱情是选择,你有得选择吗?你有资本选择吗?
人只会在危难的时候才能感悟出深刻的道理!身体是人类的万欲之源,如同厚德载物的天地。“身体好,才是真的好!”,试想,有谁会躺在棺材里数钞票,追逐名利,谈情说爱?恐怕还没来得及“试想”,老婆早就改了姓!所以说,一定要珍惜身体,哪怕是行尸走肉也要健健康康的行走!
原以为,组态软件很简单就能学会。组态王和MCGS组态软件不知道哪个更好?就先学MCGS吧!感觉组态软件的脚步程序和一些函数必须要非常熟悉才能组建一个较完善的工程。组态软件和plc构建工程时,plc的程序怎么写呢?这个问题是学习组态软件的最大难点。
STM32的学习,有所停滞;一定要坚持把STM32学透,哪怕花两年的时间。最终要用STM32和固态继电器设计出一个带液晶界面功能强大的近似于万能的plc。不过,这个plc只能用c语言编写程序。
人必须要学会变态!
第五篇:学习51单片机心得
学习51单片机心得
在新的学期里,学习了单片机,让自己对电子设计中的程序设计有了新的认识!
在一开始,老师放了一首生日快乐歌曲,全班同学都很好奇地想知道为什么,也对51编程有了一个感性的认识——通过程序控制有限的硬件,实现多样化的功能!老师说它不仅仅可以放歌曲,还可以实现声光效果,测量控制等强大功能!那样,大家就更有心要学习单片机了!
随着学习的继续,从点亮第一个发光二极管,到后来的流水灯,再到蜂鸣器,再到数码管等,一步步深入,直到数模模数转换的关键,最后学的是液晶显示和综合数字钟设计!这一整个过程,大家一起在课堂上学设计,做编程,下载看效果,解决问题,整个过程,大家都是比较融入课堂的!这说明,这样一种创新课堂教学方式是比较受大家喜欢的!
心得的最后,十分感谢对此付出辛勤的老师,您辛苦了!至于建议,就简单说一句,您应该可以更自信地轻松自如地上课了,不要太麻烦自己了,不要太辛苦了!