欢迎来到天天文库
浏览记录
ID:19488296
大小:88.50 KB
页数:17页
时间:2018-10-02
《keil c单片机c语言应用研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、KeilC单片机C语言应用研究系别计算机系专业计算机科学与技术姓名刘志远指导教师张连生-17-KeilC单片机C语言应用研究刘志远(太原师范学院计算机系200202班山西·太原030012)指导老师:张连生【内容提要】KeilC是目前比较流行的单片机C语言调试和开发软件,多为当下单片机设计者所采用。但是,KeilC和普通的C语言有很大的区别,KeilC支持符合ANSI标准的C程序设计,它完全支持C的标准指令和单片机优化C扩展指令。特别地,针对8051单片机的自身特点它作了一些特殊扩展。KeilC生成的目标代码效率非常高,生成的语句编码紧凑,易理解,在开发单片机软件时,能充分发
2、挥单片机的有限资源,体现其高级语言的优势。本文详细分析了KeilC语言的来源以及其与汇编语言、TurboC的区别,重点论述了KeilC的特殊功能寄存器(SFR)、存储类型、指针和中断服务,反映了KeilC作为单片机开发软件的优势和高效率,并探讨了KeilC应用中的一些方法、技巧和注意事项。【关键字】单片机KeilC程序设计CSFR引言:为什么要使用KeilC?近年来随着计算机在社会领域的渗透,单片机的应用正在不断地走向深入,随着单片机开发技术以及微控制技术(以软件代替硬件的高性能控制技术)的日益完善和发展,单片机的应用必定导致传统控制技术发生巨大的变化,也就是说,单片机的应用
3、是对传统控制技术的一场革命,因此,了解单片机的应用技术尤其是开发技术是非常有意义的。当设计一个小的嵌入式系统时,一般我们都用汇编语言,在很多工程中,这是一个很好的方法,因为代码一般都不超过8K,而且都比较简单,如果硬件工程师要同时设计软件和硬件,经常会采用汇编语言来做程序,而硬件工程师一般不熟系像C一类的高级语言。与汇编语言相比KeilC它的可读性和可维护性都非常好,它是结构化的程序设计语言,编写效率很高,具有非常好的结构性和模块化,使得程序完全结构化,可移植性好而且更容易阅读和维护,代码的可重用性也比较高,虽然8051芯片的派生门类特别多(达到了上百种之多),但KeilC语
4、言对于它们的硬件资源大部分都可以进行操作。用KeilC编写程序比汇编更符合人们的思考习惯,开发者可以更专心的考虑算法而不是考虑一些细节问题,这样就减少了开发和调试的时间。尤其重要的是使用KeilC这样的语言,程序员不必十分熟悉处理器的运算过程,也能够编出符合硬件实际的专业水平的程序,这意味着对新的处理器也能很快上手,不必知道处理器的具体内部结构,使得用KeilC编写的程序比汇编程序有更好的可移植性。KeilC语言功能齐全,具有各种各样的数据类型,并引-17-入了指针概念,可使程序效率更高。另外它也具有强大的图形功能,支持多种显示器和驱动器,而且计算功能、逻辑判断功能也比较强大
5、,可以实现决策目的。而且它的适用范围广,适合多种操作系统,如DOS、Windows、UNIX,也适用于多种机型。用KeilC编写的程序具有坚固性:数据被破坏是导致程序运行异常的重要因素。KeilC语言对数据进行了许多专业性的处理,避免了运行中间非异步的破坏;它对不同函数的数据实行覆盖,有效利用片上有限的RAM空间;它提供复杂的数据类型(数组、结构、联合、枚举、指针等),极大地增强了程序处理能力和灵活性;它还提供auto、static、const等存储类型和专门针对8051单片机的data、idata、pdata、xdata、code等存储类型,自动为变量合理地分配地址;提供s
6、mall、compact、large等编译模式,以适应片上存储器的大小;KeilC的中断服务程序的现场保护和恢复,中断向量表的填写,是直接与单片机相关的,都由KeilC编译器代办;它还提供了常用的标准函数库,以供用户直接使用;头文件中定义宏、说明复杂数据类型和函数原型,有利于程序的移植和支持单片机的系列化产品的开发;它有严格的句法检查,错误很少,可容易地在高级语言的水平上迅速地被排掉;并可方便地接受多种实用程序的服务:如片上资源的初始化有专门的实用程序自动生成;再如,有实时多任务操作系统可调度多道任务,简化用户编程,提高运行的安全性等等。与TurboC相比KeilC可以更有效
7、地利用片上有限的RAM空间,利用其特有的特殊功能寄存器用sfr可以更加有效地对硬件的I/O接口,提供了更有效率的内部RAM可寻址位或特殊功能寄存器中的可寻址位操作,KeilC编译器支持C中大部分的函数但是一些不适用于嵌入式系统应用的库函数则没有包含,而是由C51扩充了一些非C标准函数使其更加适合单片机的操作,它同时针对8051单片机的自身特点作了一些特殊扩展。德国keil公司的单片机C语言编译器KeilC支持九种基本数据类型,变量可存放在bit、data、bdta、idata、xdata、pdata等不
此文档下载收益归作者所有