简述单片机编程手段与实践

时间:2022-10-01 07:02:16

简述单片机编程手段与实践

【摘要】本文阐述了单片机多种编程手段的特点、功能、使用环境及其优点,提出了实践环节渐进的过程,指出在学习单片机时,编程手段的选择和实践环节的渐进是学习掌握单片机的重要环节。

【关键词】单片机编程手段实践

【中图分类号】G712【文献标识码】A【文章编号】1674-4810(2012)08-0181-01

随着单片机应用的日益广泛,单片机技术推动了信息领域的巨大发展,形成了“嵌入式信息处理”浪潮,将信息处理隐藏于人们每天使用的产品中,把计算机技术及信息处理技术引入到人们日常生活的每个角落,这客观上给学习者提供了空前的发展机会与巨大的就业市场。单片机对于已经具有电子电路尤其是数字电路基本知识的学习者来说,不会有太大困难,如果有一定PC机的基础,那学习单片机就更容易了。为使学习者尽快入门并应用单片机,笔者将对编程手段的选择、实践环节的渐进,作一论述。

一 编程手段的选择

1.汇编编程

单片机常用汇编语言编程。汇编指令是一种符号指令,每一条指令对应一个确定的操作,可以把被控过程描述清楚,刻画出细腻生动的机器动作,常用在低阶时序、紧凑循环等处。虽然汇编难度相对较大,但可产生高效率的代码,应学好汇编编程。

2.C语言编程

C语言也是一种常用的编程工具。要写出高效而易维护的嵌入式C语言程序,不仅要了解硬件结构和汇编语言编程,而且对C语言也要有较为透彻的掌握。用C语言编程时,虽然不像用汇编语言那样具体地组织、分配存储器资源和处理端口数据,但对数据类型与变量的定义,必须与单片机的结构相互关联,否则编译器不能正确地映射定位。现在单片机的主频不断提高,单片机的ROM容量也在不断增大,足够装得下用C语言写的代码;另外,C语言的资料又多又好找,更重要的是,其移植性非常好,稍加改变即可用于其他场合,因此,学习者也应用好C语言编程。

3.择汇编和C语言混合编程

对一些实时性或运算能力要求很高的程序,如中断程序处理、数据采集程序、实时控制程序等,常把汇编语言嵌入C语言程序中混合编程。在KEIL C51的C编译系统中,C语言程序与汇编程序可实现方便灵活的接口,C语言程序调用汇编程序十分方便灵活,二者之间调用的难度在于数据的准确传输。汇编与C数据的准确传输可通过两种方式,一是利用工作寄存器进行数据传送,这种方式安全,但因传送数据类型的不同,只能传送1~3个参数;二是指定特定的数据区,自行在该数据区中进行数据传送,该方式可大量传送数据但不太安全,需仔细控制。对于特定编译器,可以参考由C语言函数编译出来的汇编程序,按C语言函数格式写汇编程序,在C程序中直接当作带参数的函数来调用。也就是把接口及资源分配交给编译器处理,增强程序运行的可靠性,降低编程工作量。

4.丰富的库函数编程

在KEIL C51中,开发厂家提供许多常用库函数,这些库函数有其鲜明的特点,主要是数学函数、内存分配等,灵活使用这些函数可大大地提高编程效率。

5.实时多任务操作系统编程

实时多任务操作系统是一种专家函数库,根据编程对象灵活选用,可快速编制软件,大大提高编程效率。

二 实践环节的渐近

1.硬件的选择

硬件的选择方法大致有两种。一是选择一块单片机学习板,不必要求功能太全。对于初学者来说,有流水灯、数码管、独立键盘、矩阵键盘、A/D或D/A、液晶、蜂鸣器即可。二是如果条件允许,可向单片机方面的高手求助,让他帮忙搭个简单的最小系统,自制成一块学习板。随后,学习者就可利用手头硬件进行软件的编制和调试,这具有很强的针对性。不仅避免了软件与硬件电路相互脱节,而且增强了学习者的硬件分析能力与软件设计能力,以及对系统的调试能力,可以全面掌握单片机的应用。

2.加强练习

首先查一下相关书籍,回顾单片机的各个功能。其实,使用单片机就是用软件去控制单片机的各个功能寄存器,进而控制单片机相关引脚何时出现高电平、低电平,由这些高、低电平的变化来控制系统板,从而实现需要的各个功能。在明确学习目标后开始练习,这是单片机学习中非常关键的一步。单片机不实践是不可能学会的。把学习板和电脑连好,打开调试软件,先学会怎么使用调试软件,再从最简单的流水灯做起,先让一个灯按照意愿随意亮、灭,随后让其他的流水灯按照意愿随意流动,这不仅是在学习知识,而且是在“玩”。在这一练习中肯定会遇到很多问题,可以去翻书自学或是问别人。当这些问题得到解答后会有很大的收获,从而逐步体会到学习单片机的重点是“耍口,体现控制”。

3.接受专业公司或企业的实践培训

单片机主要应用于控制系统中。其应用的意义绝不仅限于它的广阔范围,更在于它从根本上改变着传统控制系统的设计思想和设计方法。为此,学习者需到专业公司或企业接受实践培训,使用先进的专业设备和开发环境,快速掌握单片机开发系统的原理分析、电路检测、开发设计技术,不断增强综合运用能力,成为具有良好实践能力、设计能力的开拓性电子应用人才,逐步达到能独立进行单片机项目开发的要求。

总之,学习者应掌握多种编程手段,并大力实践,不断提高自身素质,从而增强实际工作能力。

上一篇:在平等\理解\尊重的基础上关爱学生 下一篇:浅谈班主任应善待每一位学生