0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

keil单片机编程软件需要注意什么事项

Wildesbeast 来源:网络整理 作者:佚名 2020-08-15 10:51 次阅读

单片机编程软件的使用为单片机的使用提供了便捷,对于单片机编程软件,小编在往期文章中有诸多介绍。为增加大家对单片机编程软件的了解,本文将对keil单片机编程软件予以介绍,主要在于介绍该单片机编程软件的模式设置和一些编程事项。如果你对本文内容具有兴趣,不妨继续往下阅读哦。

深入理解并应用C51对标准ANSIC的扩展是学习C51的关键之一。因为大多数扩展功能都是直接针对8051系列CPU硬件的,大致有以下8类:

8051存储类型及存储区域、存储模式、存储器类型声明、变量类型声明、位变量与位寻址、特殊功能寄存器(SFR)、C51指针。

一、Keil C51扩展关键字

C51 V4.0版本有以下扩展关键字(共19个):

_at_ idata sfr16 alien interrupt small

bdata large _task_ Code bit pdata

using reentrant xdata compact sbit data sfr

二、内存区域(Memory Areas)

1. Pragram Area:

由Code说明可有多达64kBytes的程序存储器

2. Internal Data Memory:

内部数据存储器可用以下关键字说明:

data:直接寻址区,为内部RAM的低128字节 00H~7FH

idata:间接寻址区,包括整个内部RAM区 00H~FFH

bdata:可位寻址区, 20H~2FH

3. External Data Memory

外部RAM视使用情况可由以下关键字标识: xdata:可指定多达64KB的外部直接寻址区,地址范围0000H~0FFFFH

pdata:能访问1页(25bBytes)的外部RAM,主要用于紧凑模式(Compact Model)。

4. Speciac FuncTIon Register Memory

8051提供128Bytes的SFR寻址区,这区域可位寻址、字节寻址或字寻址,用以控制定时器、计数器、串口、I/O及其它部件,可由以下几种关键字说明:

sfr:字节寻址 比如 sfr P0=0x80;为PO口地址为80H,“=”后H~FFH之间的常数。

sfr16:字寻址,如sfr16 T2=0xcc;指定TImer2口地址T2L=0xcc T2H=0xCD

sbit:位寻址,如sbit EA=0xAF;指定第0xAF位为EA,即中断允许

还可以有如下定义方法:

sbit 0V=PSW^2;(定义0V为PSW的第2位)

sbit 0V=0XDO^2;(同上)

或bit 0V-=0xD2(同上)。

三、存储模式

存储模式决定了没有明确指定存储类型的变量,函数参数等的缺省存储区域,共三种:

1. Small模式

所有缺省变量参数均装入内部RAM,优点是访问速度快,缺点是空间有限,只适用于小程序。

small模式下,再入函数的堆栈是设在idata中的

2. Compact模式

所有缺省变量均位于外部RAM区的一页(256Bytes),具体哪一页可由P2口指定,在STARTUP.A51文件中说明,也可用pdata指定,优点是空间较Small为宽裕速度较Small慢,较large要快,是一种中间状态。

compact模式下,再入函数堆栈是设在pdata中的

3. large模式

所有缺省变量可放在多达64KB的外部RAM区,优点是空间大,可存变量多,缺点是速度较慢。

提示:存储模式在C51编译器选项中选择。

四、存储类型声明

变量或参数的存储类型可由存储模式指定缺省类型,也可由关键字直接声明指定。各类型分别用:code,data,idata,xdata,pdata说明,例:

data uar1

char code array[ ]=“hello!”;

unsigned char xdata arr[10][4][4];

五、变量或数据类型

C51提供以下几种扩展数据类型:

bit 位变量值为0或1

sbit 从字节中定义的位变量 0或1

sfr sfr字节地址 0~255

sfr16 sfr字地址 0~65535

其余数据类型如:char,enum,short,int,long,float等与ANSI C相同。

六、位变量与声明

1. bit型变量

bit型变量可用变量类型,函数声明、函数返回值等,存贮于内部RAM20H~2FH。

注意:

(1) 用#pragma dISAble说明函数和用“usign”指定的函数,不能返回bit值。

(2) 一个bit变量不能声明为指针,如bit *ptr;是错误的

(3) 不能有bit数组如:bit arr[5];错误。

2. 可位寻址区说明20H-2FH

可作如下定义:

int bdata i;

char bdata arr[3],

然后:

sbit bito=in0;sbit bit15=I^15;

sbit arr07=arr[0]^7;sbit arr15=arr[i]^7;

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6001

    文章

    43978

    浏览量

    620866
  • 存储器
    +关注

    关注

    38

    文章

    7151

    浏览量

    162001
  • keil
    +关注

    关注

    68

    文章

    1196

    浏览量

    165315
收藏 人收藏

    评论

    相关推荐

    STM8单片机设计时钟要注意什么?

    刚开始学习STM8单片机,想利用该系列单片机实践设计一款LED数码管时钟。请求大家说明一些注意事项(事先查阅了一些资料;方案确认的元器件有6位数码管和TM1620驱动芯
    发表于 04-18 08:23

    pcba加工中的波峰焊操作需要注意哪些事项

    在pcba加工生产中,我们会经常碰到后焊物料较多的情况,这个时候就需要波峰焊来进行后焊料加工,那么波峰焊操作需要注意哪些事项
    的头像 发表于 03-15 10:54 321次阅读

    电源滤波器在接线时有哪些需要注意事项

    电源滤波器在接线时有哪些需要注意事项?|维爱普电源滤波器
    的头像 发表于 01-31 09:35 236次阅读

    面粉加工项目使用PLC要注意哪些事项呢?

    在面粉加工项目中使用PLC(可编程逻辑控制器)时,有几个方面需要注意
    的头像 发表于 01-05 09:27 399次阅读

    请问ADXL362的采集有什么需要注意的吗?

    请问ADXL362的采集有什么需要注意的吗?我用430单片机采集,ADXL362一直没有输出。初学者,附程序在下,请各位帮忙,谢谢!
    发表于 01-01 07:21

    设计软板pcb需要注意哪些事项

    设计软板pcb需要注意哪些事项
    的头像 发表于 12-19 10:06 308次阅读

    在ATE测试中,需要注意哪些事项呢?

    在ATE测试中,需要注意哪些事项呢? ATE(Automated Test Equipment,自动化测试设备)测试在现代电子制造业中扮演着重要的角色。它能够快速、高效地对电子器件、模块或系统进行
    的头像 发表于 11-09 15:30 348次阅读

    单片机Keil开发环境的搭建

    欢迎大家来到C语言单片机编程课堂。前面一课我们了解了单片机编程与嵌入式开发内容,这节课我们来学习单片机开发环境
    的头像 发表于 11-01 09:17 861次阅读
    <b class='flag-5'>单片机</b><b class='flag-5'>Keil</b>开发环境的搭建

    轨到轨放大器应用中需要注意哪些事项

    轨到轨放大器应用中需要注意哪些事项? 轨到轨放大器是一种常用于模拟电路中的放大器,主要的特点是能够输出接近于电源电压的信号,而且能够在输入信号与电源电压之间进行转换。使用轨到轨放大器的应用十分广泛
    的头像 发表于 10-29 14:21 364次阅读

    在进行51单片机的学习时要注意哪些问题?

    在进行51单片机的学习时要注意哪些问题
    发表于 10-19 07:19

    若是采用libyuv处理JPEG方面的输出或者输入,需要注意什么事项

    若是采用libyuv处理JPEG方面的输出或者输入,需要注意什么事项
    发表于 09-19 06:06

    华大单片机设计特别注意事项(上)

    华大单片机设计特别注意事项(上)
    的头像 发表于 09-18 10:59 672次阅读

    如何创建51单片机KEIL工程步骤

    1. 什么是Keil软件 Keil软件是一款专为嵌入式系统开发而设计的集成开发环境(IDE),常用于51、STM32单片机
    的头像 发表于 09-11 10:49 1610次阅读
    如何创建51<b class='flag-5'>单片机</b><b class='flag-5'>KEIL</b>工程步骤

    寄存器是什么 掌握使用寄存器做设计需要注意事项

    既然RTL是以寄存器行为为基础,那么就必须先了解寄存器是什么,并且掌握使用寄存器做设计需要注意事项
    的头像 发表于 07-13 15:38 882次阅读
    寄存器是什么 掌握使用寄存器做设计<b class='flag-5'>需要注意</b>的<b class='flag-5'>事项</b>

    使用安全光幕有哪些需要注意的吗?

    使用安全光幕有哪些需要注意的吗?
    的头像 发表于 06-29 09:38 418次阅读
    使用安全光幕有哪些<b class='flag-5'>需要注意</b>的吗?