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中大部分的函数但是一些不适用于嵌入式系统应用的库函数则
keil的c语言基础,KeilC单片机C语言应用研究入门基础篇要点S.doc相关推荐
- 用Keil C编制单片机高级语言程序,KeilC单片机C语言与研究.doc
KeilC单片机C语言与研究.doc KeilC单片机C语言应用研究 系 别 计算机系 专 业 计算机科学与技术 姓 名 刘志远 指导教师 张连生 Keil C单片机C语言应用研究 刘志远 (太原师范 ...
- 单片机汉字点阵c语言程序,51单片机C语言多种点阵屏驱动程序(开发软件为keil C...
51单片机C语言多种点阵屏驱动程序(开发软件为keil C 2016-08-23 1 0 0 暂无评分 其他 1 积分下载 如何获取积分? 51单片机C语言多种点阵屏驱动程序(开发软件为keil C ...
- 单片机c语言孔雀开屏,单片机C语言案例步骤教学指南.doc
单片机C语言案例教程教学指南 一 本书的特色和教学目标 本书是中职学校电子专业的单片机基础教材.特色在于全书以"案例+项目"的形式展开,由26个案例和5个项目组成.案例为项目的前导 ...
- 单片机c语言孔雀开屏,单片机C语言案教程教学指南.doc
单片机C语言案教程教学指南 单片机C语言案例教程教学指南 一 本书的特色和教学目标 本书是中职学校电子专业的单片机基础教材.特色在于全书以"案例+项目"的形式展开,由26个案例和5 ...
- 单片机c语言孔雀开屏,单片机C语言案例程教学指南.doc
单片机C语言案例程教学指南 单片机C语言案例教程教学指南 一 本书的特色和教学目标 本书是中职学校电子专业的单片机基础教材.特色在于全书以"案例+项目"的形式展开,由26个案例和5 ...
- 单片机c语言孔雀开屏,单片机c语言案例教本电子教本.ppt
单片机c语言案例教本电子教本 单片机C语言案例教程电子教案 第1章 单片机基础 1 我们所说的单片机,是一块集成电路芯片.下面的三个型号的单片机芯片,都属于8051系列,其品牌为STC.它们的内部组成 ...
- stc单片机c语言 pdf,STC单片机C语言程序设计 第13章 STC单片机C语言指针.pdf
STC单片机C语言指针 主讲:何宾 Email :hebin@mail.buct.edu.cn 2016.03 C51编译器中指针的分类 Cx51编译器支持使用字符"*"声明变量指 ...
- 51单片机c语言编程函数,单片机C语言教程:C51函数
其实一直出现在例子中的 main()也算是一个函数,只不过它比较特殊,编译时以它做为程序的开始段.有了函数C 语言就有了模块化的优点,一般功能较多的程序,会在编写程序时把每项单独的功能分成数个子程序模 ...
- 单片机C语言仿真图,单片机C语言程序设计代码和仿真图.doc
word完美格式 精心整理 学习帮手 <单片机C语言程序设计实训100例-基于8051+Proteus仿真>案例 第 01 篇 基础程序设计 01闪烁的LED /* 名称:闪烁的LED 说 ...
最新文章
- API 大赛决赛名单出炉,速来围观!
- GitHub Draft Pull请求支持新的协作流程
- MyBatis映射文件(一)
- 看看这14家科技前沿公司 原来最牛的天使投资是它
- [Java]Annotation元数据的几个应用
- jQuary的相关动画效果
- php 多字节截取,将多字节字符串截断为n个字符
- 不用js也能创建silverlight
- Netflix推出Hollow,处理内存数据集的Java库
- python 字典 列表 元祖_Python基础之列表、元祖、字典、集合,你都知道吗?附视频...
- linux 搜索文件后缀名,Linux -find、文件后缀名
- 北京市个人租房攻略,看完你就懂了
- WEBOS——第一次感觉云计算离我们如此之今
- Codeforces Round #828 (Div. 3) E2. Divisible Numbers (hard version)
- 生成新浪短地址 php,生成新浪的短链接和还原新浪短链接类(方法)总结
- 注册苹果开发者帐号 用什么银行的什么卡好? 收款帐号呢?
- 全局设置下载方式为豆瓣镜像的方法
- 史上最全手机简史,无线通讯佳话还在持续...
- android 应用学习
- 黑苹果Bootthink安装篇