在keil中使用bdata型可位寻址全局变量
使用keil开发51单片机下位机程序,希望使用dbata型全局变量。首先了解一下51的片内RAM.
51单片机中,片内RAM分为data,bdata,和idata,
data指前面0x00-0x7f 128个字节。
idata指的是0-0xFF 这256个字节存储区。前128个字节同data完全相同。
bdata是片类可位寻址的存储区,地址位0x20-0x2f 的16字节存储区,和可位寻址的特殊功能寄存器。
不同于一般的全局变量,用bdata申明的变量在头文件中不能添加extern关键字,否则编译器提示my.h(6): error C142: 't1': invalid base address。
为此写了一个测试,并设置断点观察变量的变化。
my.h
#ifndef __my_h__
#define __my_h__
#include <reg52.h>
char bdata t1 ;//_at_ 0x20;
sbit t2=P1^0;
sbit t1_7=t1^7;
extern void test();
#endif
my.c
#include "my.h"
//char bdata t1 _at_ 0x20;
void test()
{t1_7=0;
}
test.c
#include <reg52.h>
#include "my.h"
main()
{while(1){t2=~t2;t1_7=~t1_7;test();//在此设置断点}
}
调试时候打开,view/watch windows 查看t1_7的变化。
在keil中使用bdata型可位寻址全局变量相关推荐
- c语言中整形精确到后面几位,C语言中普通整型变数在记忆体中占几个位元组
C语言中普通整型变数在记忆体中占几个位元组以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! C语言中普通整型变数在记忆体中 ...
- keil中c语言bit怎么用,关于keil多c文件工程中bit变量的声明定义问题
为了这个问题,浪费好长时间,挤进了脑汁,伤透了脑筋,曾一度有个现在看来应该是挺好笑的想法--怀疑keil不向标准c一样,不能很好的支持多c文件工程,在多c文件共享变量时,尚无法很好处理. 不过就在要点 ...
- CC++中的整型常识
很多人对C/C++中的整型不太了解,导致代码移植的时候出现问题,本人在此总结一下,若有描述错误,请务必指出,谢谢! a. C/C++对整型长度的规定是为了执行效率,将int定义为机器字长可以取得最大的 ...
- 在Power BI Desktop中实施星型架构
In this article, you will see how to implement a star schema in Power BI. Microsoft Power BI is a bu ...
- c语言编程中的或逻辑的符号 符号如何输入,C语言中逻辑运算符(,||,!)和位运算符号(,|,^)...
1. C语言中逻辑运算符(&&,||,!)和位运算符号(&,|,^)的区别 在C语言中,编程者经常混淆两组运算符:(&&,||,!)和(&,|,^).第 ...
- 在KEIL中生成bin文件的方法
生成hex文件 KEIL中默认生成的是axf文件. 如果想要生成hex文件,则只需要简单地勾一下: 生成bin文件 要生成bin文件,则需要用到fromelf. Keil自带了一个小工具,可以通过执行 ...
- c51语言定义位变量,C51中定义一个可位寻址的变量LED访问P1口访问P1.1引脚的方法是 。...
C51中定义一个可位寻址的变量LED访问P1口访问P1.1引脚的方法是 . 更多相关问题 铸造全冠颈部肩台通常为A.0.2-0.4mmB.0.03mmC.0.3mmD.0.5-0.8mmE.1.0mm ...
- C语言整型量包括哪些,C语言中的整型量
整型量 整型量包括整型常量.整型变量.整型常量就是整常数.在C语言中,使用的整常数有八进制.十六进制和十进制三种. 整型常量 1.八进制整常数八进制整常数必须以0开头,即以0作为八进制数的前缀.数码取 ...
- 隐式类型转换——C语言中的整型提升
整型提升概念: C语言中的整型算术运算总是至少以缺省整型类型的精度来进行的. 为了获得这个精度,表达式中的字符和短整型操作数在使用之前被转换为普通整型,这种转换称为整型提升. 整型提升的意义 三点说明 ...
最新文章
- Android应用系列:完美运行GIF格式的ImageView(附源码)
- 宝塔控制面板创建ftp后链接不上的解决方法
- java中let_java Signleton模式详解及示例代码
- 一组匹配中国大陆手机号码的正则表达式
- (论坛答疑点滴)DataGrid的EditCommandColumn如何使用图片作为按钮?
- 【BZOJ】1649: [Usaco2006 Dec]Cow Roller Coaster(dp)
- [vue] 如果将axios异步请求同步化处理?
- oracle 12c缩容磁盘组,oracle 表收缩
- 第 1 节:前端面试指南 — 简历篇
- 企业网络之间资源互访
- 数组指定位置添加元素_访问数组的任意位置元素的性能真的一样?
- 约瑟夫环-单向循环链表
- 拳皇97c语言编码,拳皇97金手指代码
- vue打包多个html,vue多页面应用打包配置
- python利用range生成包含1-10的列表_Python列表干货:创建数字列表:range()函数用法...
- WD_考研计算机C语言基础002【统考中的C语言】
- 打桥位程序lisp_【下载】借花献佛,AutoLISP程序的安装包制作,感谢秋枫大侠的程序...
- 行业研究报告-全球与中国PH/ORP变送器市场现状及未来发展趋势
- 张一鸣:不甘平庸的年轻人 全都有同一个特质
- 深度分享:中国老年消费市场最新趋势/机会是什么?六位老年行业创新创业实践者精彩观点!