第一篇:C语言于单片机的编写感想
C语言于单片机的编写感想
Y=max(m,n)这指的是y=m和n中最大的
这就是C语言和单片机语言的一个思想 C语言和单片机主要是靠逻辑思想来编程。但两者之间也有差别: 应用的函数有的地方不同 编程的格式不同
功能相对而言我感觉C语音更强大一些。C语言真对的是系统 单片机主要是针对机
熟练运用这两种就是现在计算机与自动化机械的基础 学习函数应由浅到深,易于理解。算法也是其主要内容
算法的其中一种在于延时。
延时的作用多用在控制动作的次序以及时间间隔 C++是比较常用的C语言工具
此外还有VB等等
内容的编写主要根据目的任务而定 内容编写应尽量工整,便于读懂和检查
注意编写程序的循环的应用,应避免出现死循环。 注意全局的的变量,不要造成变量冲突 编程模版大致相同。
第二篇:c语言编写单片机感想
用C语言对单片机编程感想
起先接触单片机,单片机的程序是用汇编语言编写的。汇编语言是面向机器的低级语言,保持了机器语言的优点,具有直接和简捷的特点,目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。但对于一些复杂的程序,汇编语言就显的繁琐,并且效率不高。而C语言简洁紧凑、灵活方便,数据类型丰富。C语言的最大的优点在于它的可移植性好。因此C语言对单片机的一些复杂程序就体现出它的优势。单片机是一块在集成电路芯片上集成了一台有一定规模的微型计算机。单片机的应用到处可见,应用领域广泛,主要应用在智能仪表、实时控制、通信、家电等方面。因此学习单片机是非常必要的。
在用汇编语言编写MCS–51单片机程序必须要考虑其存储器结构,尤其必须考虑其片内数据存储器与特殊功能寄存器的使用以及按实际地址处理端口数据。
用C语言编写的MCS–51单片机应用程序,则不用像汇编语言那样须具体组织、分配存储器资源和处理端口数据,但在C语言编程中,对数据类型与变量的定义,必须要与单片机的存储结构相关联,否则编译器不能正确地映射定位。
C语言编写单片机应用程序时,需根据单片机存储结构及内部资源定义相应的数据类型和变量,而标准的C语言程序不需要考虑这些问题。
C51包含的数据类型、变量存储模式、输入输出处理、函数等方面与标准的C语言有一定的区别。其它的语法规则、程序结构及程序设计方法等与标准的C语言程序设计相同。C51的语法规定、程序结构及程序设计方法都与标准的C语言程序设计相同,但C51程序与标准的C程序在以下几个方面不一样:
(1)C51中定义的库函数和标准C语言定义的库函数不同。标准的C语言定义的库函数是按通用微型计算机来定义的,而C51中的库函数是按MCS-51单片机相应情况来定义的。
(2)C51中的数据类型与标准C的数据类型也有一定的区别,在C51中还增加了几种针对MCS-51单片机特有的数据类型。
(3)C51变量的存储模式与标准C中变量的存储模式不一样,C51中变量的存储模式是与MCS-51单片机的存储器紧密相关。
(1)C51与标准C的输入输出处理不一样,C51中的输入输出是通过MCS-51串行口来完成的,输入输出指令执行前必须要对串行口进行初始化。
(5)C51与标准C在函数使用方面也有一定的区别,C51中有专门的中断函数。
学习单片机技术的关键,也就是学习编程,学习编程先要学习指令系统。掌握指令的准确含义、运用条件以及与相关硬件资源的关系;了解硬件资源,诸如内存、中断、计数器、计时器和I/O,以及外部资源等。
其实现在很多人用C语言编程,汇编似乎很落伍了,但是,它还是较机器语言外最直接的描述语言,但是汇编能清楚的反应单片机是怎么样工作的。学习编程的初级阶段,可以从读懂一小段程序开始,由简到繁,由浅入深,逐步到读懂一个较短的完整程序。借鉴现有程序,为一个新的目的修改程序,逐步熟练了就可以运筹资源架构程序。
程序就要会分析程序。程序与文章一样,也有段落,一段程序应该有个明确的目的,分析程序要有段落和架构的概念。不管程序有多长,将它分成若干个段落,简化成架构框图,程序的结构和目的就清晰可见了,也有助于编写程序。
编写程序,往往一气呵成,这时就不太会注意添加注释,其实注释很重要,有助于日后的修改,以及程序的可读性。
要学好单片机不光要会编程,还有重要的一部分是外围电路的拓展,这就要求我们对数电和模电有很好的基础。运用一些芯片来使单片机组成的电路具有更加强大的功能。因此学习单片机是不断尝试和调整的过程,在这个过程中虽然有这样或那样的问题,但能收获许多知道,以及体会成功的欢乐。
第三篇:C语言单片机嵌入式软件编写要点
C单片机嵌入式软件
本质是:
在单片机裸机上写一个操作系统。
技术范围:
软件工程。
具体指标:
一,模块化。
二,层次化。
三,可读性,可扩充性(中断程序少做事)。四,可移植性。
五,追求逻辑简单,不追求占用空间最少。
六,条件判断可以重复判断,追求逻辑和时间解耦。七,可以重复清理现场,提高软件抗干扰能力。八,有心得,请继续增加,大家共享。
第四篇:单片机感想
确定课程设计作品——>网上查找相关资料/购买开发板(魏凌同学私人提供)——>程序代码/开发板接线——>检查能否正常运行/找错,修改——>功能展示——>整理资料
从最开始确定小组课程设计的作品为电子锁,然后在网上查找相关资料,再一点一点地编写修改程序代码,开发板接线,最后运行。期间出现的问题真的算是蛮多的,一开始毫无头绪,程序代码有些搞
不懂,线也不知道怎么接,后来,基本上都是组长魏凌同学完成的。在这次实践中,我才深深意识到自己单片机理论知识是有很大欠缺的。
通过这次的单片机课程设计,我了解到学习单片机没有捷径,不能指望两三天就学会,要坚持不懈,重在积累。单片机是一门应用性和实践性很强的学科,要多动手,多做实验。在实践的过程中,发现问题,想办法解决问题。同时也可以学会参考别人的程序,减少自己琢磨的时间,迅速提高自己的编程能力。在碰到问题时,可以借助网络来搜寻答案和对自己有帮助的问题,一定会有所收获。另外,小组要团结,小组之间要多交流,技术是靠不断的积累和交流才会进步的。
近年来,随着计算机技术的迅速发展,单片机的越来越多的应用到了我们的生活中,但是单片机并不是一门纯理论课,它要求有一定的时间能力,是一门理论与实践相结合的课。在本学期,我们学习了单片机的原理及简单应用,由浅入深,但是单单理论知识对于我们来说未免太过枯燥和抽象。在完成课程设计的过程中,我们更多的将理
论和实践结合,不仅帮助我更好的理解了课本上的知识,巩固了以前所学过的知识,也培养了我的动手能力。在实践的过程中难免遇到一些困难,但是通过与组员的沟通和交流也成功解决了。最后的成品电子锁出来后我收获了满满的感动。
在这几周的实践中,我的实际动手能力和思考能力得到了很好的锻炼,同时在与组员的思维火花碰撞过程中,我的思维得到了启发,和人沟通的能力也得到了很好的锻炼。
总的来说,我很感谢这次的课程实践,也谢谢老师在这一学期的课程中对我们的悉心指导,更感谢我的组员们,没有他们我就完成不了此次的课程设计。
通过这次的单片机课程设计,让我们受益匪浅,确实单片机是一门很值得我们去深入研究拓展的课程。原来很多本来认为很神奇的东西还可以自己动手做出来,从理论到实践,在这段日子里,我们学习到了很多很多东西,无论是从知识上还是实践上,自己做单片机设计实物开阔了我们的眼界,很好的提高了我们对书本上知识的理解和应用,并且也在一定程度上提高了我们的团队协作能力!我相信这在以后的生活道路上是一直受用的。
在这次自己动手的过程中,我们也遇到许许多多困难。我们通过各种途径去自己解决这些问题,为此我们一起泡了很久的图书馆来查阅资料。从中我们也发现了自己对一些知识的掌握不够,还有动手能力不够强,希望以后可以通过更多的实践来巩固加强!
回顾起此次单片机课程设计,至今我仍感慨颇多,的确,从选题到定稿,从理论到实践,在大半月的日子里,可以说得是苦多于甜,但是可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟我第一次做的课程设计作品,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说、、、、、、、、、、(你自己举点例子好了)对单片机汇编语言掌握得不好……通过这次课程设计之后,一定把以前所学过的知识重新温故。虽然我们在这次课程设计中遇到了很多问题,但总归算是完成了我们的作品,我们也从其中学到了很多在书本上无法学到的知识。
第五篇:学习单片机感想
人的一生是一个不断学习、不断成长的过程。转眼间,研究生的学习生涯结束了,走上新的工作岗位。回头看看,发现自己不知不觉已经走过了五年的单片机学习之旅。
在2003年最初接触单片机的时候,在我心中觉得51就是单片机,单片机就是51,根本不知道还有其他单片机的存在。那时候老师只教会了我们汇编语言,根本不知道用C语言也可以进行单片机开发。幸运的是,我加入了单片机兴趣小组,在老师的指导下,做了一系列实验,有“基于DS18B20的温度采集系统”、“有基于164的移位寄存器的灯光控制系统”、“有步进电机和直流电机的控制系统”。这时候我才发现,这是学习单片机的一个最好途径——在实践中领悟理论,用理论指导实践。在上课的整整一个学期中,虽然老师讲得很详细,但是大部分概念都是到了实际动手做东西的时候才弄明白的。而且在经历了迷惑之后再搞清楚,印象就特别深刻。直到现在我对那些概念和接口都非常清晰。其实我也很庆幸学习和使用了两年多的汇编语言。由于有这些锻炼,我对单片机底层结构和接口时序就弄得很清楚。在使用C语言开发的时候,优化代码和处理中断也就不会太费劲。我觉得,虽然现在绝大部分单片机开发都使用C语言,甚至有些公司还推出了图形化编程的工具,这样对于项目的开展从时间上快了很多,在管理上也规范了不少,但是从学习和想深入掌握单片机精髓的角度来说,还是需要熟练掌握汇编语言的使用。
机会总是青睐于有准备的人。也许有了前面一段时间的理论和实践的积累,我才慢慢得到了一些参加科技竞赛和参与科研项目的机会。在参加第一届浙江省机械设计竞赛的时候,我们设计的由多单片机系统协调控制的“月球车”机器人夺得了唯一的一个特等奖。这个竞赛给我最大的收获是我对单片机的认识改变了,它不再仅仅是一门学科了,它是一个可以让你的创意得到充分发挥的平台。后来参与了“基于视频分划技术的钢卷尺自动切零位机”、“电能表涡杠涡轮啮合深度检测系统”、“基于公共电话网的水表集抄数据路由器”、“高精度电感微位移测量系统”等一些实际的项目。在这些过程中,我发现只是精通单片机技术还不能很好的解决问题。体会最深的是,单片机只有融合到各种应用领域中,才能展现它的最大活力。然而单片机仅仅是一个工具而已,要做好单片机系统还需要各种应用领域的专业知识的支持。例如,在“基于视频分划技术的钢卷尺自动切零位机”中,就需要搞清楚全电视信号的时序,弄明白钢卷尺切零位机的工作原理,懂得怎么利用叠加在视频信号中的横竖线来进行刻度的瞄准等。没有这些专业知识,就算单片机技术再厉害也不可能做好这个项目。脱离应用背景的单片机开发,就像一个没有灵魂的躯体一样。
随着ARM的出现,我曾经认为,8位单片机可能在32位单片机的冲击下就此走进历史,可是很快就认识到我是错误的。随着技术的革新和时间的推移,各大单片机公司纷纷将单片机朝着片上系统这个方向发展,集成了现在各种流行的技术和常用的模块。我相信,在当前国内和国外的这个市场中,8位单片机应用的市场仍然是充满生机,活力无限。在市场的不断变化和技术的不断更新过程中,8位单片机也会顺应潮流不断革新。
从我五年走过的路来看,单片机学习的过程应该是一个循序渐进、不断学习、不断积累的过程,可以分为三个阶段。
第一阶段:掌握开发单片机的必备基础知识。首先是熟练掌握单片机的基本原理,其实各家各门的单片机其基本结构和原理都差不多,特别是共有的知识需要好好理解和掌握。例如,内核结构、内存分配、中断处理、定时计数、串行通信、端口复用等一些最基本的概念和原理。除此之外,我们还需要具备模拟电子、数字电子、C语言程序开发知识以及原理图和PCB
设计等一些技能。在进行系统开发的时候,进行原理设计、PCB布板、程序编写、系统联调这些工作都是在所难免的。
第二阶段:在掌握好一款单片机原理和应用的基础上,开始学习其他各家单片机的独有技术,学不了那么多也要多了解了解。同时尽可能多地掌握单片机的一些外围器件和常用电路,以备不时之需。有时候客户要求低成本,那我们只好选用合钛、义隆、华邦等这类台湾芯片;如果客户要求工业级的性能,那么我们就得从PIC、NEC、飞思卡尔、NXP等这些欧美和日式单片机中选择;若要进行功耗的开发,选用MSP430系列应该有一定优势;在进行测量仪器设计的时候,C8051和AduC842这类数模混合芯片就显得比较方便。所以说最好每个类型的单片机都会一两款,在实际项目选型中可以更加灵活。另外,要注意平时的技术积累。比如,在项目开发过程中将一些常用的接口程序和控制算法整理成模块或者函数,在其他的项目开发中,有同样或者接近的需求时马上就可以使用,又快又好。
第三阶段:在实际的项目开发过程中,不断深化单片机应用技术,不断积累应用行业的专业知识。例如,我完成了“高精度电感微位移测量系统”,就会对电感传感器的测量机理和信号特性、测量电路的设计、电磁兼容处理、误差修正和非线性处理等测控方面的专业技术有很深的认识。以后碰到类似的项目时,很多东西就可以直接利用了。有了扎实的单片机应用相关的基础知识,并且熟悉掌握了几款不同类型单片机的开发方法,再结合实际的应用背景,那么就可以随心所欲,设计出性能最优、结构最合理的单片机应用系统。这是我最大的奋斗目标,我觉得这也应该是单片机应用的最高境界吧。
在这五年的学习中,有感慨、有遗憾、有憧憬、有希望,更重要的是我对单片机应用这个领域充满热情。由于才疏学浅、涉世未深,希望能与行业里的各位老师多多交流,不断学习,不断成长。