单片机c语言(c51)应用中的几个关键问题new

单片机c语言(c51)应用中的几个关键问题new

ID:34417280

大小:163.11 KB

页数:3页

时间:2019-03-05

单片机c语言(c51)应用中的几个关键问题new_第1页
单片机c语言(c51)应用中的几个关键问题new_第2页
单片机c语言(c51)应用中的几个关键问题new_第3页
资源描述:

《单片机c语言(c51)应用中的几个关键问题new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、维普资讯http://www.cqvip.com第2期电光系统No.22007年6月ElectronicandElectro—opticalSystemsJune.2007单片机C语言(C51)应用中的几个关键问题康春涛,张会军中国电子科技集团公司第二十七研究所郑州450015摘要:C语言是一种通用的编译型程序设计语言,语言功能十富、编译效率高、有较好的移植性,使用C语言来实现目标系统软件会大大缩短开发周期,便于软件的维护和修改,可大幅度地提高软件系统的可靠性。(151是基于微控制器8051的C语言。本文对KeilC51作了

2、简要介绍,对在应用中的几个关键问题:启动控制、中断处理、混合编程和特定外部器件存储器的使用提出了相应的解决方法。关键词:Keilc51编译器;中断处理;启动控制;混合编程中图分类号:TP312文献标识码:A作。本文中所提到的C5l均针对KeilC51。l刖吾2KeilC51简介单片机具有价格低、应用灵活、面向控制的特点,因此得到了越来越广泛的应用。8051单keil/Fanklin公司是一家专业开发嵌人式系片机在各种应用中非常常见,已成为单片机领域统软件工具的公司,它在80年代中期开始进行中的事实标准。由于80年代中后期,I

3、ntel公司C51编译器的研发,目前其发布的C51编译器较以专利互换的形式将8051核授权给其他著名半新版本为V7.6.1。在常用的几种C51编译器中,导体公司使用,如PHILIPS、AMD、ATMEL、STIKeil/FanklinC51(以下简称KeilC51)在代码生成等,所以到今天,8051已发展形成了一个拥有数方面具有明显的优势,可生成最少的代码。因此百个衍生品种的单片机大家族。由于8051使用在使用单片模式时,KeilC51是最好的选择。面广,培养了数量巨大的用户群,因此就连IN.KeilC51支持的数据类型有基

4、本类型和构TEL和PHILIPS推出的16位单片机80C251和造类型。基本类型有位、有/无符号字符型、有/8051xA也要和51单片机保持机器代码兼容确无符号整型、有/无符号长整型、浮点型,构造类保获得较好的市场认可。而且大量基于51核单型有数组、结构体、枚举和共用体等。KeilC51片机的不断问世,也保证了51用户在21世纪的的数据除了具有数据类型外还有存储类型,数据的存储类型和51系列单片机的物理存储空间所技术领先。对应,如表1所示。c语言是一种编译型程序设计语言,它语言表l8051的物理存储空间和功能丰富、编译效率高

5、、有较好的移植性,可以直C51存储类型的对应关系接对系统硬件控制。此外c语言具有完善的模8051的物理存储空间C51的存储类型块程序结构,为软件的结构化设计提供了重要保程序存储空间(64k)Code障,所以使用C语言来实现目标系统软件会大大可位寻址空间,允许字节混合访问(16字节)Bdata缩短开发周期,便于软件的维护和修改,可大幅直接寻址片内数据存储区(128字节)Data度地提高软件系统的可靠性。间接寻址片内数据存储区(256字节)idataC5I是基于微控制器8051的C语言。标准间接寻址片外数据存储区(256字节)1

6、)tiata的ANSIC向8051的移植开始于80年代中后片外数据存储空间(64k)xdata期,经过Keil/Franklin、IAR、BSO/Tasking等另外为了能直接访问8051内部的特殊功能C51b编译器公司的不懈努力,C51逐渐成熟,现寄存器SFR,KeilC51提供了关键字“sfr”。我们在已经完全可以胜任专业化的单片机的开发工可以利用该关键字来定义8051内部的特殊功能维普资讯http://www.cqvip.com42电光系统第2期寄存器,例如:中断是系统进行实时处理的重要手段。系sfrSCON=0X98

7、/定义串口控制寄存器统的输人接口、通讯接口往往多采用中断方式,地址/而且8051系列单片机的中断源有5个到l5个KeilC51编译器经过扩展(具体内容要查阅之多,因此对中断处理的支持是衡量一个C51编特定版本的C51编译器文档资料)之后可以访译器功能完善的重要尺度。问和控制单片机上的所有硬件资源。KeilC为了在C源程序中直接开发中断程序,减轻使用汇编语言开发中断程序的烦琐过3KeilC51在应用中的几个关键问程,KeilC扩展了函数的属性定义来实现中断处题理的良好支持。中断函数的语法定义如下:Voidfuction3.1启

8、动控制—name(void)interruptRumusing问题的提出:在基于8051MCU应用系统的开bank发中,我们常常要对某些外围器件、存储区域或变其中fuction—name是中断服务程序的函数量进行系统启动后初始化,或者对系统的启动或名,Rum为对应的中断源编号,Rum为内部

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。