Keil C51 采用ANSIC标准关键字(共32个)

发布者:和谐共融最新更新时间:2024-08-08 来源: cnblogs关键字:Keil  C51  ANSIC 手机看文章 扫描二维码
随时随地手机看文章

序号

关键字

用途

说明

1

auto

存储器类型说明

用以说明局部变量,缺省值为此

2

break

程序语句

退出最内层循环体

3

case

程序语句

Switch语句中的选择项

4

char

数据类型说明

单字节整型数或字符型数据

5

const

存储类型说明

不可改变的常量

6

continue

程序语句

转向下一个循环

7

default

程序语句

Switch 语句中的失败选择项

8

do

程序语句

构成do。。。。while循环结构

9

double

数据类型说明

双精度浮点数

10

else

程序语句

构成if…… else 选择结构

11

enum

数据类型说明

枚举

12

extern

存储类型说明

在其他程序模块中说明了全局变量

13

float

数据类型说明

单精度浮点数

14

for

程序语句

构成for循环结构

15

goto

程序语句

构成goto转移结构

16

if

程序语句

构成if…… else 选择结构

17

int

数据类型说明

基本整型数

18

long

数据类型说明

长整型数

19

register

数据类型说明

使用CPU内部寄存器的变量

20

return

程序语句

函数返回

21

short

数据类型说明

短整型数

22

signed

数据类型说明

有符号数

23

sizeof

运算符

计算表达式或数据类型的字节数

24

static

存储类型说明

静态变量

25

struct

数据类型说明

结构类型数据

26

switch

程序语句

构成switch选择结构

27

typedef

数据类型说明

重新定义数据类型

28

union

数据类型说明

联合类型数据

29

unsigned

数据类型说明

无符号数数据

30

void

数据类型说明

无类型数据

31

volatile

数据类型说明

该变量在程序执行中可被隐含地改变

32

while

程序语句

构成while 和do…..while循环结构


Keil C51编译器的扩展关键字(13个)

序号

关键字

用途

说明

1

bit

位变量声明

声明一个位标量或位类型的函数

2

sbit

特殊位变量声明

声明一个可位寻址变量

3

sfr

特殊功能寄存器声明

声明特殊功能寄存器(8位)

4

sfr16

特殊功能寄存器声明

声明特殊功能寄存器(16位)

5

data

存储类型说明

直接寻址8051内部数据存储器(00H-7FH)

6

bdata

存储类型说明

可位寻址的8051内部数据存储器(20H-2FH)

7

idata

存储类型说明

可间接寻址的8051(52)所有内部数据存储器

(00H-FFH)256字节

8

pdata

存储类型说明

可页寻址的8051外部数据存储器(只可访问256字节)具体访问的是哪个256字节由P2口线选择决定。

9

xdata

存储类型说明

8051外部数据存储器64KB整个空间。使用该形式指针时,P2口不能作为I/O线使用。

10

code

存储类型说明

8051程序存储器,只能为常量数据。

11

interupt

中断函数声明

定义一个中断函数

12

reentrant

再入函数声明

定义一个再入函数

13

using

寄存器组定义

定义8051的工作寄存器组


关键字:Keil  C51  ANSIC 引用地址:Keil C51 采用ANSIC标准关键字(共32个)

上一篇:intrins.h 简介
下一篇:微机原理:处理器结构特点

推荐阅读最新更新时间:2026-03-19 12:26

Keil C51 采用ANSIC标准关键字(共32个)
序号 关键字 用途 说明 1 auto 存储器类型说明 用以说明局部变量,缺省值为此 2 break 程序语句 退出最内层循环体 3 case 程序语句 Switch语句中的选择项 4 char 数据类型说明 单字节整型数或字符型数据 5 const 存储类型说明 不可改变的常量 6 continue 程序语句 转向下一个循环 7 default 程序语句 Switch 语句中的失败选择项 8 do 程序语句 构成do。。。。while循环结构 9 double 数据类型说明 双精度浮点数 10 else 程序语句 构成i
[单片机]
深入理解C51标准ANSIC的扩展
深入理解并应用C51对标准ANSIC的扩展是学习C51的关键之一。因为大多数扩展功能都是直接针对8051系列CPU硬件的。大致有以下8类: 8051存储类型及存储区域 存储模式 存储器类型声明 变量类型声明 位变量与位寻址 特殊功能寄存器(SFR) C51指针 函数属性   具体说明如下(8031为缺省CPU)。 第一节 Keil C51扩展关键字 C51 V4.0版本有以下扩展关键字(共19个): _at_ idata sfr16 alien interrupt small bdata large _task_ Code bit pdata using reentrant xdata compact sbi
[单片机]
Keil C51 关键字sfr sbit相关知识
SFR 不是标准C 语言的关键字,而是Keil 为能直接访问80C51而提供了一个新的关键词。 功能: 用来定义硬件寄存器地址的关键字,具有定义硬件特性。 举个例子: sfr P0 =0x80; sfr P1 = 0x90; (C语言,这样就定义了51系列MCU中0x80地址,在编程时可以用P0符号代替地址0x80,具有定义硬件特性,一般在SFR的定义在头文件reg51.h或reg52.h或者stc8g.h内。 经过定义之后,编程的时候可以直接使用p0=0xff p1=0xff来实现控制端口IO。 =========================================================
[单片机]
Keil C51单片机中变量的使用方法解析
8051内核单片机是一种通用单片机,在国内占有较大的市场份额。在将C语言用于51内核单片机的研究方面,Keil公司做得最为成功。由于51内核单片机的存储结构的特殊性,Keil C51中变量的使用与标准C有所不同。正确地使用变量,有利于获得高效的目标代码。下面详细介绍Keil C51中变量的使用方法。 一、CPU存储结构与变量的关系 变量都需要有存储空间,存储空间的不同使得变量使用时的工作效率也不同。 标准C的典型运行环境是8086(含IA-32系列)内核,其存储结构是CPU内部有寄存器,外部有存储器,寄存器的访问速度大大高于存储器的访问速度。在标准C中,不加特别定义的变量是放在存储器中的,使用register可以强制变量存储在
[单片机]
<font color='red'>Keil</font> <font color='red'>C51</font>单片机中变量的使用方法解析
Keil c51的应用及特性解析
Keil c51号称作为51系列单片机最好的开发环境,大家一定都很熟悉。它的一些普通的特性大家也都了解,(书上也都说有)如:因为51内的RAM很小,C51的函数并不通过堆栈传递参数(重入函数除外),局部变量也不存储在堆栈中,而是存在于固定的RAM中及寄存器中。那么看一下下面的程序。 void fun1(unsigned char i) { } 正常情况参数i通过R7传入函数,那么它的实际地址在什么地方呢?就是R7吗?回答这个问题之前我们先来了解keil c51的几个有趣的特性(不考虑重入函数)。 一、函数在调用前定义与在调用后定义产生的代码是有很大差别的(特别是在优化级别大于3级时)。(本人也不太清楚为什么,大概因为在
[单片机]
keil c51 的安装
1、简介 用于编写单片机加载程序 keil 分为 MTK 和 C51 两个版本 下载的时候注意看清楚,MTK 版里面没有 C51 系列的单片机 2、下载 1)官网下载 官方下载地址:https://www.keil.com/download/product 官网需要填写 很多信息 笔记麻烦 CSDN 下载: https://download.csdn.net/download/qq_27061049/10926800 4、安装 1)点击运行程序 一步一步安装,直到安装成功 2)打开程序,进行注册 3)复制 cid 4)3.打开“注册机”: (1)粘贴上面复制的CID, (2)目标选择C51, (3)生成
[单片机]
<font color='red'>keil</font> <font color='red'>c51</font> 的安装
printf in KEIL C51 使用注意事项
在keil中使用printf()函数的要点 在网上找资料时找到一篇介绍在keil中使用printf()函数的文章,copy到这里,作为备忘。 在keil中printf默认是向串口中发送数据的,所以,如果应用该函数,必须先初始化串口,否则可能引起死机的情况,并且在printf之前应该先将TI置位,摘抄原因如下: 1.printf函数是调用putchar函数输入的,而putchar应该是先判断ti是否为1,不为1则等待为1。如果为1则清0,然后送出一 个字符。因此你如果直接使用printf函数,你的程序就会在putchar函数中等待ti为1。这时你的程序就相当于直接死掉了。你可以通过改写 putchar函数实现自己的目的的
[单片机]
KEIL C51代码优化详细分析:局部参数放寄存器变量,数据覆盖技术
阅读了《单片机与嵌入式系统应用》2005年第10期杂志《经验交流》栏目的一篇文章《Keil C51对同一端口的连续读取方法》(原文)后,笔者认为该文并未就此问题进行深入准确的分析 文章中提到的两种解决方法并不直接和简单。笔者认为这并非是Keil C51中不能处理对一个端口进行连续读写的问题,而是对Kei1 C51的使用不够熟悉和设计不够细致的问题,因此特撰写本文。 本文中对原文提到的问题,提出了三种不同于原文的解决方法。每种方法都比原文中提到的方法更直接和简单,设计也更规范。(无意批评,请原文作者见谅) 1 问题回顾和分析 原文中提到:在实际工作中遇到对同一端口反复连续读取,Keil C51编译并未达到预期的结果。原文作者
[单片机]
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved