单片机C语言中关键词code的作用
最近在读代码的时候看到了这样一串代码:
uchar code DSY_CODE[] = {0x06,0x5b,0x77};
uchar就是unsigned char ,意思就是定义一个无符号字符型数据 8位数,,范围是 0-255 占用一个字节。
但是为什么会多出一个code呢?这个code的作用是什么呢?
正解: code的作用就是告诉单片机,定义的数据要放在ROM(程序存储区)里面,写入后就不能再更改,因为C语言中没办法详细描述存入的是ROM还是RAM(寄存器),所以在软件中添加了这一个语句起到代替汇编指令的作用,对应的还有data是存入RAM的意思。
ROM和RAM的区别这里就不详细介绍啦。
下面还有一些其他关键词的意思:
code :程序存储区(64KB),
data :可直接寻址的内部数据存储区(128B)
idata:不可直接寻址的内部数据存储区(256B)
bdata:可位寻址内部数据存储区(16B)
xdata:外部数据存储区(64KB)
pdata:分页的外部数据存储区
单片机C语言中关键词code的作用相关推荐
- 单片机c语言中延时函数的作用,单片机中C语言延时函数
单片机C语言延时程序计算2009-11-02 22:15单片机C语言延时程序用C语言写出来程序非常的简练,它是一种模块化的语言,一种比汇编更高级的语言,但是就是这样一种语言也还是有它不足之处:它的延时 ...
- 单片机c语言左移的作用,[转载]单片机c语言中的左移右移
单片机c语言中的左移右移 左移 变量1 << 变量2 将变量1的二进制位值向左移动由变量2所指定的位数. 例如: a = 0x8f; // 10001111 a << 2; / ...
- c语言中code table,unsigned char code table[]中的code的作用
unsigned char code table[]中的code的作用是告诉单片机,我定义的无符号的字符串组放在ROM(程序存储区)里面,因为C语言中没办法详细描述存入的是ROM还是RAM(寄存器), ...
- 单片机C语言中的位运算符,单片机c语言教程第八课 运算符和表达式(位运算符)...
学过汇编的朋友都知道汇编对位的处理能力是很强的,但是单片机C语言也能对运算对象进行按位操作,从而使单片机C语言也能具有一定的对硬件直接进行操作的能力.位运算符的作用是按位对变量进行运算,但是并不改变参 ...
- C语言中双感叹号的作用
1.C语言中双感叹号的作用 (1)感叹号的作用:感叹号是逻辑运算符,表示逻辑非,也就是把真变成假,把假变成真: (2)在C语言中,0值表示假,非0值都是真,所以感叹号会把非0值变成0,而把0值变成1: ...
- 单片机c语言左移的作用,单片机c语言中的左移右移
// 据说有些编译器采用逻辑右移,即左端补0 结果:a = 0xe3 (11100011) 1当左移移出的是"1"而不是0时,你该怎么想? 2 当左移的操作数是一个sign型是,你 ...
- c语言中的除号什么作用,c语言中除号用什么表示
前言继承是OOP设计中的重要概念.在C++语言中,派生类继承基类有三种继承方式:私有继承(private).保护继承(protected)和公有继承(public).一.继承规则继承是C++中的重要特 ...
- 单片机c语言定义位,单片机C语言中位操作用法.pdf
风行下载2012 正式版官方下载:/ C C 单片机的CC语言中位操作用法 作者:郭天祥 来源:转自 更新时间:2008-12-421:50:22 在对单处机进行编程的过程中,对位的操作是经常遇到的. ...
- 单片机c语言中的循环语句,单片机c语言教程:C51循环语句
循环语句是几乎每个程序都会用到的,它的作用就是用来实现需要反复进行多次的操 作.如一个 12M 的 51 芯片应用电路中要求实现 1 毫秒的延时,那么就要执行 1000 次空语句 才能达到延时的目的( ...
- c语言中预处理指令的作用,C语言中常用预处理指令
转载自 https://blog.csdn.net/farsight2009/article/details/58602886 姓名:张艳博 学号:17021223249 [嵌牛导读]: C语言中常用 ...
最新文章
- 索引与联合索引使用注意
- 笔记-高项案例题-2017年上-质量管理
- C# winform开发:Graphics、pictureBox同时画多个矩形
- 下列关于linux的进程,描述不正确的是,进程是资源管理的最小单位,2012年7月成人自考网络操作系统考试真题...
- step1 . day2:Linux系统基础知识
- Node环境的配置与安装(windows系统)(超详细)
- SAP CDS view里association和join的区别
- maven 父maven_Maven不会吮吸。 。 。 但是Maven文件会
- 689 Maximum Sum of 3 Non-Overlapping Subarrays
- oracle日期修改格式化,oracle日期格式化的实现
- Concepts in Games Development(游戏开发概述) 公开课笔记
- C语言 - printf的占位符(%) 异常
- 电源噪声(EMI)滤波器的基本原理与应用方法
- vue提交mutation_为什么Vuex中必须要通过commit提交mutation?
- get 和 post的区别
- [C/C++] C++中new的语法规则
- CUDNN下载速度慢解决方法
- 数据库MySQL数据查询---模糊查询(like和relike(或regexp))
- 长亭科技安服实习面试
- 【Linux】Linux环境基础开发工具的使用 ———(yum、vim、gccg++、gdb、make/Makefile、进度条 、git)