keil的c语言基础,KeilC单片机C语言应用研究入门基础篇要点S.doc

KeilC单片机C语言应用研究

系 别 计算机系

专 业 计算机科学与技术

姓 名 刘志远

指导教师 张连生

Keil C单片机C语言应用研究

刘志远 (太原师范学院计算机系200202班 山西·太原 030012)指导老师张连生

【内容提要】 KeilC是目前比较流行的单片机C语言调试和开发软件,多为当下单片机设计者所采用。但是, KeilC和普通的C语言有很大的区别, KeilC支持符合ANSI标准的C程序设计,它完全支持C的标准指令和单片机优化C扩展指令。特别地,针对8051单片机的自身特点它作了一些特殊扩展。KeilC生成的目标代码效率非常高,生成的语句编码紧凑,易理解,在开发单片机软件时,能充分发挥单片机的有限资源,体现其高级语言的优势。

本文详细分析了KeilC语言的来源以及其与汇编语言、Turbo C的区别,重点论述了KeilC的特殊功能寄存器(SFR)、存储类型、指针和中断服务,反映了KeilC作为单片机开发软件的优势和高效率,并探讨了KeilC应用中的一些方法、技巧和注意事项。

【关键字】 单片机 KeilC 程序设计 C 引言:为什么要使用KeilC?

近年来随着计算机在社会领域的渗透, 单片机的应用正在不断地走向深入,随着单片机开发技术以及微控制技术(以软件代替硬件的高性能控制技术)的日益完善和发展,单片机的应用必定导致传统控制技术发生巨大的变化,也就是说,单片机的应用是对传统控制技术的一场革命,因此,了解单片机的应用技术尤其是开发技术是非常有意义的。

当设计一个小的嵌入式系统时,一般我们都用汇编语言,在很多工程中,这是一个很好的方法,因为代码一般都不超过8K,而且都比较简单,如果硬件工程师要同时设计软件和硬件,经常会采用汇编语言来做程序,而硬件工程师一般不熟系像C一类的高级语言。

与汇编语言相比KeilC它的可读性和可维护性都非常好,它是结构化的程序设计语言,编写效率很高,具有非常好的结构性和模块化,使得程序完全结构化,可移植性好而且更容易阅读和维护,代码的可重用性也比较高,虽然8051芯片的派生门类特别多(达到了上百种之多),但KeilC语言对于它们的硬件资源大部分都可以进行操作。用KeilC编写程序比汇编更符合人们的思考习惯,开发者可以更专心的考虑算法而不是考虑一些细节问题,这样就减少了开发和调试的时间。尤其重要的是使用KeilC这样的语言,程序员不必十分熟悉处理器的运算过程,也能够编出符合硬件实际的专业水平的程序,这意味着对新的处理器也能很快上手,不必知道处理器的具体内部结构,使得用KeilC编写的程序比汇编程序有更好的可移植性。KeilC语言功能齐全,具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。另外它也具有强大的图形功能,支持多种显示器和驱动器,而且计算功能、逻辑判断功能也比较强大,可以实现决策目的。而且它的适用范围广,适合多种操作系统,如DOS、Windows、UNIX,也适用于多种机型。

用KeilC编写的程序具有坚固性:数据被破坏是导致程序运行异常的重要因素。KeilC语言对数据进行了许多专业性的处理,避免了运行中间非异步的破坏;它对不同函数的数据实行覆盖,有效利用片上有限的RAM空间;它提供复杂的数据类型(数组、结构、联合、枚举、指针等),极大地增强了程序处理能力和灵活性;它还提供auto、static、const等存储类型和专门针对8051单片机的data、idata、pdata、xdata、code等存储类型,自动为变量合理地分配地址;提供small、compact、large等编译模式,以适应片上存储器的大小;KeilC的中断服务程序的现场保护和恢复,中断向量表的填写,是直接与单片机相关的,都由KeilC编译器代办;它还提供了常用的标准函数库,以供用户直接使用;头文件中定义宏、说明复杂数据类型和函数原型,有利于程序的移植和支持单片机的系列化产品的开发;它有严格的句法检查,错误很少,可容易地在高级语言的水平上迅速地被排掉;并可方便地接受多种实用程序的服务:如片上资源的初始化有专门的实用程序自动生成;再如,有实时多任务操作系统可调度多道任务,简化用户编程,提高运行的安全性等等。

与Turbo C相比KeilC可以更有效地利用片上有限的RAM空间,利用其特有的特殊功能寄存器用sfr可以更加有效地对硬件的I/O接口,提供了更有效率的内部RAM可寻址位或特殊功能寄存器中的可寻址位操作,KeilC编译器支持C中大部分的函数但是一些不适用于嵌入式系统应用的库函数则

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值