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中大部分的函数但是一些不适用于嵌入式系统应用的库函数则

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

  1. 用Keil C编制单片机高级语言程序,KeilC单片机C语言与研究.doc

    KeilC单片机C语言与研究.doc KeilC单片机C语言应用研究 系 别 计算机系 专 业 计算机科学与技术 姓 名 刘志远 指导教师 张连生 Keil C单片机C语言应用研究 刘志远 (太原师范 ...

  2. 单片机汉字点阵c语言程序,51单片机C语言多种点阵屏驱动程序(开发软件为keil C...

    51单片机C语言多种点阵屏驱动程序(开发软件为keil C 2016-08-23 1 0 0 暂无评分 其他 1 积分下载 如何获取积分? 51单片机C语言多种点阵屏驱动程序(开发软件为keil C ...

  3. 单片机c语言孔雀开屏,单片机C语言案例步骤教学指南.doc

    单片机C语言案例教程教学指南 一 本书的特色和教学目标 本书是中职学校电子专业的单片机基础教材.特色在于全书以"案例+项目"的形式展开,由26个案例和5个项目组成.案例为项目的前导 ...

  4. 单片机c语言孔雀开屏,单片机C语言案教程教学指南.doc

    单片机C语言案教程教学指南 单片机C语言案例教程教学指南 一 本书的特色和教学目标 本书是中职学校电子专业的单片机基础教材.特色在于全书以"案例+项目"的形式展开,由26个案例和5 ...

  5. 单片机c语言孔雀开屏,单片机C语言案例程教学指南.doc

    单片机C语言案例程教学指南 单片机C语言案例教程教学指南 一 本书的特色和教学目标 本书是中职学校电子专业的单片机基础教材.特色在于全书以"案例+项目"的形式展开,由26个案例和5 ...

  6. 单片机c语言孔雀开屏,单片机c语言案例教本电子教本.ppt

    单片机c语言案例教本电子教本 单片机C语言案例教程电子教案 第1章 单片机基础 1 我们所说的单片机,是一块集成电路芯片.下面的三个型号的单片机芯片,都属于8051系列,其品牌为STC.它们的内部组成 ...

  7. stc单片机c语言 pdf,STC单片机C语言程序设计 第13章 STC单片机C语言指针.pdf

    STC单片机C语言指针 主讲:何宾 Email :hebin@mail.buct.edu.cn 2016.03 C51编译器中指针的分类 Cx51编译器支持使用字符"*"声明变量指 ...

  8. 51单片机c语言编程函数,单片机C语言教程:C51函数

    其实一直出现在例子中的 main()也算是一个函数,只不过它比较特殊,编译时以它做为程序的开始段.有了函数C 语言就有了模块化的优点,一般功能较多的程序,会在编写程序时把每项单独的功能分成数个子程序模 ...

  9. 单片机C语言仿真图,单片机C语言程序设计代码和仿真图.doc

    word完美格式 精心整理 学习帮手 <单片机C语言程序设计实训100例-基于8051+Proteus仿真>案例 第 01 篇 基础程序设计 01闪烁的LED /* 名称:闪烁的LED 说 ...

最新文章

  1. API 大赛决赛名单出炉,速来围观!
  2. GitHub Draft Pull请求支持新的协作流程
  3. MyBatis映射文件(一)
  4. 看看这14家科技前沿公司 原来最牛的天使投资是它
  5. [Java]Annotation元数据的几个应用
  6. jQuary的相关动画效果
  7. php 多字节截取,将多字节字符串截断为n个字符
  8. 不用js也能创建silverlight
  9. Netflix推出Hollow,处理内存数据集的Java库
  10. python 字典 列表 元祖_Python基础之列表、元祖、字典、集合,你都知道吗?附视频...
  11. linux 搜索文件后缀名,Linux -find、文件后缀名
  12. 北京市个人租房攻略,看完你就懂了
  13. WEBOS——第一次感觉云计算离我们如此之今
  14. Codeforces Round #828 (Div. 3) E2. Divisible Numbers (hard version)
  15. 生成新浪短地址 php,生成新浪的短链接和还原新浪短链接类(方法)总结
  16. 注册苹果开发者帐号 用什么银行的什么卡好? 收款帐号呢?
  17. 全局设置下载方式为豆瓣镜像的方法
  18. 史上最全手机简史,无线通讯佳话还在持续...
  19. android 应用学习
  20. 黑苹果Bootthink安装篇

热门文章

  1. 推荐系统学习笔记——四、Netfilx经典推荐系统架构
  2. 长城汽车使用ENOVIA物料合规管理模块(MCC)
  3. urllib.parse.parse_qsl 的一个小问题
  4. 2021-10-26MT4、MT5如何加载使用EA和指标
  5. Android 10.0 SystemUI下拉状态栏UI定制化开发系列(一)
  6. 产品学习之【竞品分析】
  7. Free software是什么?
  8. Taylor formulation
  9. 上海租房房源数据分析(基于R的案例分析)(一)
  10. 骗了全世界130年的钻石骗局 终于栽在中国