欢迎来到《圣博凯斯》变频供水设备官网
精锐于专业 / 卓然于品质 -- 20年专注于供水行业,缔造至臻品质 -- 服务热线:0731-85783205 18932453205

初学者怎样看懂单片机代码_单片机代码怎么读懂

就数据存储类型而言,8051系列有片上、输出程序存储装置、片上、输出数据存储器,片上程序存储器还分为直接地址区域和间接地址类型,分别为code 支持根据idata和51系列特色设定的pdata类型,通过使用不同的内存,程序的执行效率不同,与生成C51程序的ANSI-C略有不同,为SAMLL、COMPACT、lll 数组

51系列中的data、idata、xdata、pdata差异:

data:固定是指前面0x00-0x7f的128个RAM,能够直接在acc上读写,速度最快,生成的代码也最小。

idata:固定是指前一个0x00-0xff的256个RAM。 其中,前面的128和data的128完全相同,但访问方法不同。 idata以类似于c的指针方式访问。 程序集语句为mox ACC,@Rx . (不重要的补充:在c中,idata作为指针式访问非常有效。 )

xdata:外部扩展RAM通常是指外部0x0000-0xffff空间,通过DPTR访问。

当地址在当前A0-A7之上时,pdata:外部扩展RAM的最低256个字节被读写,并且由movx ACC和@Rx读写。 这很特殊,C51上好像有这个bug,所以建议不要太用。 但是,也有他的优势,具体的使用方法是中级的问题,所以在这里不提及。

单片机c语言unsigned char代码表[ ]代码是什么?

代码的作用是,我定义的数据放入程序存储器区域(ROM ),告诉单片机写入后不能更改,实际上就像程序集中的寻址MOVX ()。 因为c语言无法详细说明ROM仍然是RAM,所以可以在软件中添加此语句以代替汇编指令。 还有对应的data

程序可以简单地分为代码(程序)区域和数据(数据)区域。 代码区域在运行中无法更改。 在data区域中放置全局变量和临时变量需要不断变更。 cpu从代码区域读取指令,并对data区域的数据进行运算处理,因此代码区域存储在哪个介质上并不重要。 就像以前的计算机程序。代码区域可以在rom中、ram中、flash中,所以通常先将程序放入flash中,然后加载到ram中执行; DATA区域没有选择。 已经决定放入RAM。 放入rom也无法变更。 互联网

bdata怎么用那个?

程序需要8个以上的bit变量时,想要一次给8个变量赋值时很不方便。 (请举例说明其便利性,想更深入地了解时请在APP应用中考虑。 )此外,不能定义bit数组。 有唯一的方法

char bdata模式;

sbit MODE_7=MODE^7;

sbit mode _6=模式^ 6;

sbit MODE_5=MODE^5;

sbit MODE_4=MODE^4;

sbit MODE_3=MODE^3;

sbit mode _2=模式^ 2;

sbit mode _1=模式^ 1;

sbit MODE_0=MODE^0;

定义了8个bit变量MODE_n

这是定义语句,Keilc的特殊数据类型。 如果是sbit,请记住

比特模式_0=模式^ 0;

赋值语句如果是这样的c语言,就被视为异或运算

-----------------------------请参阅

空间名称地址范围的说明

DATAD:00H~7FH片内RAM直接地址区域

BDATAD:20H~2FH片内的RAM地址区域

IDATAI:00H~FFH片内的RAM间接地址区域

XDATAX:0000H~FFFFH64KB普通片外RAM数据区

HDATAX:0000H~FFFFFFH16MB扩展片外RAM数据区

CODEC:0000H~FFFFH64K通常片内外ROM代码区域

hconst(ecode ) c :0000 h至fffff fh16 MB扩展片外ROM常量区域(对于Dallas390可用作代码区域) ) ) ) ) ) ) ) )。

银行0~银行31b0:0000h~FFFFFH

:

:

B31:0000H~FFFFH组码区,最时尚人生拓展32X64KB ROM

-----------------------------请参阅

keil生成的文件:

. plg:编译器的编译结果

. hex和. bin:可执行文件

. map和. lst:连接文件

. o :目标文件

. crf、 lnp、 d、 axf :调试文件

. opt :保存项目配置信息

. bak :工程备份文件

M51文件,startup文件。 spa

注:本文从网络指针收集

猜你喜欢

  • 清水离心泵的启动程序有哪些组成_清水离心泵的启动程序有哪些?

    清水离心泵的启动程序有哪些?清水离心泵用于抽吸和输送清水及物理化学性质类似水但不含固体颗粒的液体,它广泛用于工业,农业,城市,排水和消防供水。1、检查油杯的储油量和悬架主体储油室的油位,油位表中心线应控制在2mm左右。2、检查电动机的转动方

  • 泵在闭合环路上工作时,其所需扬程等于_管道式无堵塞排污泵的轴弯曲后如何直轴及注意事项

    1.捻打直轴法直轴的办法有许多,但对管道式无堵塞排污泵来说,现场*简便易行的办法是捻打直轴法,这儿只介绍一种。直轴时,把轴放在硬木上(或垫有钢皮的方铁上),凹面朝下。然后用锤子、捻棒击打,使轴的凹面资料受击打而延伸,把轴校直。捻棒通

  • 长江生活污水排放区域,加强长江流域城镇污水处理设施建设-泵业

    泵业据悉“中央强调把修复长江生态摆在压倒性位置,而城镇污水处理效果是影响长江水环境质量的关键因素之一。”3月9日,全国政协委员、长江大学副校长郑军接受记者采访时呼吁,应加强长江流域城镇污水处理设施建设。上海泵业积极参

  • 欧姆龙plc软件安装教程_欧姆龙plc

    使用欧姆龙可编程控制器编程软件CX-程序员简介我们打开欧姆龙CX-P软件,显示如下图。整体感觉清爽简约,但功能很强大。软件屏幕从上到下分为标题栏、菜单栏、工具栏、工程编程窗口和底部信息栏。我们点击工具栏上的。图标,可以新建一个项目;单击工具栏中的。图标,您可以打开一个旧项目。工具栏图标的功能,只需将鼠标放在图标上即可

  • 计算机英语常用词汇书籍_计算机专业英语词汇书籍

    可擦除可编程只读存储器malafideadj.扭曲的(不诚实的))。推送操作推拉操作apparentbrightnessn.视觉亮度存在subsistentadj.(microreliefn.地形域集成域的完整性系统控制单元n.系统控制器unstablepointn.

  • 利用中间变量进行plc程序的编写有何意义_plc为什么要加中间变量

    目前,高端PLC的变量都需要自己定义,但今天我们将整理PLC变量的数据类型一、布尔布尔变量可以为“真”或“假”。该值是逻辑量,占用1比特的存储区域可以认为是普通PLC的辅助继电器2.整数变量字节、字节、沃德、单字节、单字节、单字节、单字节、双字节、双字节、单字节。请注意,从长数据类型转换为短数据类型会丢失更高级别

18932453205