铁岭县| 谢通门| 湟中| 郸城| 大田| 新河| 绥中| 沿滩| 宜丰| 九江县| 南丰| 畹町| 敦化| 无极| 平江| 长垣| 东阳| 淮安| 泽库| 江陵| 长白| 扎鲁特旗| 德格| 昌图| 嘉义县| 汉阳| 柯坪| 辉南| 凤凰| 阿拉尔| 崇礼| 金坛| 昆山| 榆林| 惠州| 启东| 松溪| 云集镇| 南海| 星子| 铜仁| 微山| 怀集| 宾县| 夏河| 将乐| 尼木| 阿瓦提| 宾县| 英吉沙| 江安| 眉县| 交城| 阜新市| 射洪| 柳州| 白城| 南投| 阳朔| 西峡| 昌宁| 汉中| 龙山| 乳源| 蒙自| 永城| 绥滨| 路桥| 岢岚| 尼木| 依安| 固安| 金门| 江永| 东西湖| 留坝| 靖宇| 中牟| 大洼| 平舆| 东方| 雁山| 建德| 四会| 桂林| 博罗| 浑源| 昌都| 尉犁| 象州| 新建| 防城区| 黎城| 广西| 黟县| 兰州| 中宁| 辽阳县| 岑巩| 小河| 青阳| 彭山| 肥城| 武鸣| 南城| 临颍| 阿拉尔| 洞头| 彰化| 石泉| 龙门| 黔西| 集美| 富蕴| 海盐| 忻州| 宜城| 肇源| 宁乡| 日土| 高唐| 庐江| 正阳| 那坡| 城口| 户县| 韶关| 铜仁| 察布查尔| 科尔沁右翼中旗| 开封县| 浦东新区| 山阳| 大方| 乐业| 札达| 广德| 黔江| 汤原| 永川| 精河| 嘉义市| 哈尔滨| 穆棱| 南城| 西和| 呼和浩特| 马山| 桐城| 蒙城| 伊春| 孝昌| 万宁| 泗县| 灵山| 陈仓| 泾源| 通许| 黔江| 枣阳| 保山| 石龙| 休宁| 迭部| 江都| 科尔沁左翼后旗| 宁津| 电白| 太和| 神农顶| 献县| 安义| 喀什| 安仁| 商都| 嵩明| 察哈尔右翼后旗| 澄城| 阿鲁科尔沁旗| 聂拉木| 浦城| 栾城| 聊城| 二道江| 澄城| 祥云| 汉沽| 蔡甸| 巨野| 相城| 宜兴| 弥渡| 顺德| 鱼台| 无锡| 永善| 信宜| 绥中| 宁海| 鄂州| 宣化县| 泗洪| 宝鸡| 开化| 兴仁| 江口| 内黄| 曲麻莱| 新安| 潼关| 图们| 水城| 黄陂| 喜德| 吉安县| 广河| 饶河| 武川| 博野| 常山| 察隅| 丰台| 博爱| 三江| 旌德| 通州| 江油| 通榆| 榆社| 房山| 金乡| 喀喇沁左翼| 大竹| 饶阳| 巴林右旗| 项城| 梁子湖| 高阳| 黑龙江| 黄梅| 单县| 昌都| 合水| 滦平| 九江县| 钟祥| 永兴| 浙江| 汤原| 晋宁| 通城| 武穴| 禄劝| 沙湾| 兴和| 湘阴| 资溪| 红河| 大悟| 林口| 酉阳| 滑县| 施秉| 大洼| 澳门百家乐官网

电子发烧友网 > 控制/MCU > 正文

如何将51单片机进行内存优化

2019-01-21 15:30 ? 次阅读
标签:开园艺 真钱棋牌 吴泾路

对51单片机内存的认识,很多人有误解,最常见的是以下两种

① 超过变量128后必须使用compact模式编译

实际的情况是只要内存占用量不超过 256.0 就可以用 small 模式编译

② 128以上的某些地址为特殊寄存器使用,不能给程序用

与 PC机不同,51单片机不使用线性编址,特殊寄存器与 RAM 使用重复的重复的地址。但访问时采用不同的指令,所以并不会占用 RAM 空间。

由于内存比较小,一般要进行内存优化,尽量提高内存的使用效率。

Keil C 编译器为例,small 模式下未指存储类型的变量默认为data型,即直接寻址,只能访问低 128 个字节,但这 128 个字节也不是全为我们的程序所用,寄存器 R0-R7必须映射到低RAM,要占去 8 个字节,如果使用寄存组切换,占用的更多。

如何将51单片机进行内存优化

所以可以使用 data 区最大为 120 字节,超出 120 个字节则必须用 idata 显式的指定为间接寻址,另外堆栈至少要占用一个字节,所以极限情况下可以定义的变量可占 247 个字节。当然,实际应用中堆栈为一个字节肯定是不够用的,但如果嵌套调用层数不深,有十几个字节也够有了。

为了验上面的观点,写了个例子

#define LEN 120

data UCHAR tt1[LEN];

idata UCHAR tt2[127];

void main()

{

UCHAR i,j;

for(i = 0; i 《 LEN; ++i )

{

j = i;

tt1[j] = 0x55;

}

}

可以计算 R0-7(8) + tt1(120) + tt2(127) + SP(1) 总共 256 个字节

keil 编译的结果如下:

Program Size: data=256.0 xdata=0 code=30

creating hex file from “。\Debug\Test”。。.

“。\Debug\Test” - 0 Error(s), 0 Warning(s)。

(测试环境为 XP + Keil C 7.5)

这段代码已经达到了内存分配的极限,再定义任何全局变量或将数组加大,编译都会报错 107

这里要引出一个问题:为什么变量 i、j 不计算在内?

这是因为 i、j 是局部变量,编译器会试着将其优化到寄存器 Rx 或栈。问题也就在这了,如果局部变量过多或定义了局部数组,编译器无法将其优化,就必须使用 RAM 空间,虽然全局变量的分配经过精心计算没有超出使用范围,仍会产生内存溢出的错误!

而编译器是否能成功的优化变量是根据代码来的

上面的代码中,循环是臃肿的,变量 j 完全不必要,那么将代码改成

UCHAR i;

UCHAR j;

for(i = 0; i 《 LEN; ++i )

{

tt1[i] = 0x55;

}

再编译看看,出错了吧!

因为编译器不知道该如何使用 j,所以没能优化,j 须占 RAM 空间,RAM 就溢出了。

(智能一点的编译器会自动将这个无用的变量去掉,但这个不在讨论之列了)

另外,对 idata 的定义的变量最好放在 data 变量之后

对于这一种定义

uchar c1;

idata uchar c2;

uchar c3;

变量 c2 肯定会以间接寻址,但它有可能落在 data 区域,就浪费了一个可直接寻址的空间

变量优化一般要注意几点:

①让尽可能多的变量使用直接寻址,提高速度

假如有两个单字节的变量,一个长119的字符型数组

因为总长超过 120 字节,不可能都定义在 data 区

按这条原则,定义的方式如下:

data UCHAR tab[119];

data UCAHR c1;

idata UCHaR c2;

但也不是绝的,如果 c1, c2 需要以极高的频率访问,而 tab 访问不那么频繁

则应该让访问量大的变量使用直接寻址:

data UCAHR c1;

data UCHaR c2;

idata UCHAR tab[119];

这个是要根据具体项目需求来确定的

②提高内存的重复利用率

就是尽可能的利用局部变量,局部变量还有个好处是访问速度比较快

由前面的例子可以看出,局部变量 i, j 是没有单独占用内存的

子程序中使用内存数目不大的变量尽量定义为局部变量

③对于指针数组的定义,尽可能指明存储类型

尽量使用无符号类型变量

一般指针需要一个字节额外的字节指明存储类型

8051 系列本身不支持符号数,需要外加库来处理符号数,一是大大降低程序运行效率,二是需要额外的内存

④避免出现内存空洞

可以通过查看编译器输出符号表文件(.M51)查看

对前面的代码,M51文件中关于内存一节如下:

* * * * * * * D A T A M E M O R Y * * * * * * *

REG 0000H 0008H ABSOLUTE “REG BANK 0”

DATA 0008H 0078H UNIT ?DT?TEST

IDATA 0080H 007FH UNIT ?ID?TEST

IDATA 00FFH 0001H UNIT ?STACK

第一行显示寄存器组0从地址0000H开始,占用0008H个字节

第二行显示DATA区变量从0008H开始,占用0078H个字节

第三行显示IDATA区变量从0080H开始,占用007F个字节

第四行显示堆栈从00FFH开始,占0001H个字节

由于前面代码中变量定义比较简单,且连续用完了所有空间,所以这里显示比较简单

变量定义较多时,这里会有很多行

如果全局变量与局部变量分配不合理,就有可能出现类似下面的行

0010H 0012H *** GAP ***

该行表示从0010H开始连续0012H个字节未充分利用或根本未用到

出现这种情况最常见的原因是局变量太多、多个子程序中的局部变量数目差异太大、使用了寄存器切换但未充分利用。

下载发烧友APP

打造属于您的人脉电子圈

关注电子发烧友微信

有趣有料的资讯及技术干货

关注发烧友课堂

锁定最新课程活动及技术直播

电子发烧友观察

一线报道 · 深度观察 · 最新资讯
收藏 人收藏
分享:

评论

相关推荐

铜厚单位换算

发表于 2019-01-21 15:21 ? 6次阅读
铜厚单位换算

51单片机c语言设计计算器,独立键盘设置加减乘除无法实现

发表于 2019-01-21 19:55 ? 40次阅读
51单片机c语言设计计算器,独立键盘设置加减乘除无法实现

AVR单片机对外部RAM的扩展

我采用的是GCC编译器,并且在项目中采用C++来编写程序,根据理论上来讲,只要外部存储器使能了并且配...

发表于 2019-01-21 15:24 ? 35次阅读
AVR单片机对外部RAM的扩展

51单片机的复位方式及原理

51单片机采用高电平复位。以当前使用较多的AT89系列单片机来说,电路图如下。在复位脚加高电平2个机...

发表于 2019-01-21 14:51 ? 41次阅读
51单片机的复位方式及原理

兆易系列:T5UIC1串口彩屏与兆易GD32交互,实现常用功能(附例程)

发表于 2019-01-21 17:24 ? 782次阅读
兆易系列:T5UIC1串口彩屏与兆易GD32交互,实现常用功能(附例程)

STC系列:T5UIC1串口彩屏与STC交互,实现常用功能(附例程)

发表于 2019-01-21 16:58 ? 1074次阅读
STC系列:T5UIC1串口彩屏与STC交互,实现常用功能(附例程)

该如何对8位以及32位的MCU进行选择

8位和32位MCU在功能上仍是互为辅助、各有千秋,这其中的诀窍就在于,需先了解什么样的应用适合什么样...

发表于 2019-01-21 15:10 ? 246次阅读
该如何对8位以及32位的MCU进行选择

如何利用Kinect控制51单片机

新建 Visual C# --》 WPF工程,记得右键点击“引用”,添加相应驱动版本的Microso...

发表于 2019-01-21 14:32 ? 74次阅读
如何利用Kinect控制51单片机

用51蜂鸣器做音乐播放器

发表于 2019-01-21 14:03 ? 84次阅读
用51蜂鸣器做音乐播放器

使用51单片机设计电子钟制作的介绍电路图和程序等...

在原程序基础上进行升级,添加按键多功能操作 新增功能:1. K1模式转换,可自由切换:主界面显示,...

发表于 2019-01-21 09:44 ? 228次阅读
使用51单片机设计电子钟制作的介绍电路图和程序等...

如何使用51单片机制作LED旋转显示器

下面分享一下我的制作过程。这里有关于本制作的更详细的图片展示:首先是制作效果图:电路图:电路采用的是...

发表于 2019-01-21 09:15 ? 248次阅读
如何使用51单片机制作LED旋转显示器

51单片机串口通讯与串口中断常见问题解决方案

上面的一个是一个测试字符个数的实例,用仿真就可以看到结果。结果是1。也就是说字符’’是不会被计入的。...

发表于 2019-01-21 16:32 ? 107次阅读
51单片机串口通讯与串口中断常见问题解决方案

PIC32MX450F128H PMP和外部RAM

发表于 2019-01-21 16:15 ? 39次阅读
PIC32MX450F128H PMP和外部RAM

51单片机对矩阵键盘实现16个按键操作的设计

矩阵键盘电路所示,4*4矩阵键盘有4行4列按键,单片机4个I/O口接矩阵键盘的行线,另外4个I/O口...

发表于 2019-01-21 15:49 ? 185次阅读
51单片机对矩阵键盘实现16个按键操作的设计

SPC5604B和飞思卡尔MCP5604D的两个部分是否相同?

发表于 2019-01-21 16:38 ? 21次阅读
SPC5604B和飞思卡尔MCP5604D的两个部分是否相同?

自检控制单元RAM测试类型无法找到

发表于 2019-01-21 16:36 ? 16次阅读
自检控制单元RAM测试类型无法找到

51单片机对STC15W408AS无刷电机的驱动...

主控单片机使用STC15W408AS,单片机自带硬件PWM模块、ADC模块和比较器模块,所以非常适合...

发表于 2019-01-21 15:52 ? 160次阅读
51单片机对STC15W408AS无刷电机的驱动...

51单片机对计数器的数值显示设计

我们的硬件中是这样连线的:324组成的振荡器连到定时/计数器1的外部管脚T1上面,我们就利用这个来做...

发表于 2019-01-21 15:30 ? 95次阅读
51单片机对计数器的数值显示设计

51单片机对LCD1602显示的四线驱动

//LCD1602读写头文件 //四线驱动方式 ////////////////////...

发表于 2019-01-21 15:24 ? 88次阅读
51单片机对LCD1602显示的四线驱动

新手求助:数字音乐盒程序不能实现功能

发表于 2019-01-21 14:42 ? 144次阅读
新手求助:数字音乐盒程序不能实现功能

按键闪烁

发表于 2019-01-21 15:51 ? 78次阅读
按键闪烁

如何设置51单片机的中断优先级

PS:串行口中断优先级控制位。PS=1设定串行口为高优先级中断;PS=0为低优先级中断。 PT...

发表于 2019-01-21 16:28 ? 107次阅读
如何设置51单片机的中断优先级

51单片机音乐播放程序设计

曲谱存贮格式 unsigned char code MusicName{音高,音长,音高,音长。.....

发表于 2019-01-21 16:21 ? 105次阅读
51单片机音乐播放程序设计

51单片机串行口对发光二极管的驱动设计

定时中断程序,串行口P3.0、P3.1输出,用74LS164移位寄存器驱动发光二极管 定时器0...

发表于 2019-01-21 16:13 ? 97次阅读
51单片机串行口对发光二极管的驱动设计

51单片机加1指令的应用方法解析

INC A;(A)+1→(A) 累加器A中的内容加1,结果存在A中 INC data;(dat...

发表于 2019-01-21 16:06 ? 83次阅读
51单片机加1指令的应用方法解析

Xilinx FPGA的三种片上存储资源

Xilinx FPGA有三种可以用来做片上存储(RAM,ROM等等)的资源,第一个就是Flip Fl...

发表于 2019-01-21 11:31 ? 121次阅读
Xilinx FPGA的三种片上存储资源

51单片机P0口的特性及使用方法解析

P0口为三态双向I/O口。对于内部有程序存贮器的单片机基本系统(如定制的8051),P0口可以作为输...

发表于 2019-01-21 15:21 ? 126次阅读
51单片机P0口的特性及使用方法解析

51单片机串口通信的原理与应用流程解析

51 单片机内部有一个全双工串行接口。什么叫全双工串口呢?一般来说,只能接受或只能发送的称为单工串行...

发表于 2019-01-21 14:45 ? 113次阅读
51单片机串口通信的原理与应用流程解析

51单片机中断用法实例解析

51单片机的外部中断0引脚接一只按键,该按键通过上拉电阻接到电源,即没有按键发生时单片机检测到的是高...

发表于 2019-01-21 15:31 ? 120次阅读
51单片机中断用法实例解析

51单片机NVIC中断控制设计

对于NVIC的任务,可以概括为三个: 1.配置中断向量表--如果不配置,则不能进入中断 SCB...

发表于 2019-01-21 15:09 ? 55次阅读
51单片机NVIC中断控制设计

如何利用51单片机实现加减法计算

头文件:inc_all.h 1 #ifndef INC_ALL_H_ 2 #define...

发表于 2019-01-21 15:07 ? 215次阅读
如何利用51单片机实现加减法计算

51单片机利用IAP技术对EEPROM的实现方法...

ISP:In System Programable 是指在系统编程,通俗的讲,就是片子已经焊板子上,...

发表于 2019-01-21 15:07 ? 82次阅读
51单片机利用IAP技术对EEPROM的实现方法...

如何正确的划分51单片机中的RAM

51 单片机的 RAM 分为两个部分,一块是片内 RAM,一块是片外 RAM。标准 51 的片内 R...

发表于 2019-01-21 16:16 ? 88次阅读
如何正确的划分51单片机中的RAM

51单片机对智能温控器的设计

这是一款51单片机智能温控器C语言源程序,程序功能:速成有时钟显示,使用DS18B20进行温度检测,...

发表于 2019-01-21 16:07 ? 134次阅读
51单片机对智能温控器的设计

51单片机对红外发射和红外接收模块电路的设计

红外发射模块:电源3.3V或5V,通过发射管发射38KHz的红外信号,高电平驱动 红外接收模块...

发表于 2019-01-21 15:49 ? 157次阅读
51单片机对红外发射和红外接收模块电路的设计

PLC如何模拟输入滤波十种方法详细资料介绍

1、限幅滤波法(又称程序判断滤波法)A、方法:根据经验判断,确定两次采样允许的最大偏差值(设为A)每...

发表于 2019-01-21 09:37 ? 379次阅读
PLC如何模拟输入滤波十种方法详细资料介绍

51单片机的CAN通讯设计

//-----------------------设置接收报文类型(标示符)------------...

发表于 2019-01-21 15:05 ? 109次阅读
51单片机的CAN通讯设计

51单片机对八位数字秒表的设计

#define DIG_NONE 0xff; #define DIG_1 0x7f #d...

发表于 2019-01-21 16:04 ? 190次阅读
51单片机对八位数字秒表的设计

51单片机对LCD液晶显示器的控制

这里用到的液晶为LCD1602,能够同时显示16x02即32个字符(16列2行)。1602液晶模块内...

发表于 2019-01-21 16:04 ? 264次阅读
51单片机对LCD液晶显示器的控制

51单片机PPM波的测试设计

先说说PPM波,从图上可以看出周期为20ms,冠丽控实际是6通控,但预留两通没有使用。通道的高电平区...

发表于 2019-01-21 15:40 ? 102次阅读
51单片机PPM波的测试设计

一文弄懂CPU卡是什么

CPU卡:也称智能卡,卡内的集成电路中带有微处理器CPU、存储单元(包括随机存储器RAM、程序存储器...

发表于 2019-01-21 16:48 ? 567次阅读
一文弄懂CPU卡是什么

六款常用单片机的比较

EM78系列单片机采用高速CMOS工艺制造,低功耗设计为低功耗产品,价格较低。具有三个中断源、R-O...

发表于 2019-01-21 15:25 ? 309次阅读
六款常用单片机的比较

51单片机的外部中断实验设计

实验结果:当杜邦线另一端接电源时,led灭;当接地时,led就亮 结论:无论配置与否,51单片...

发表于 2019-01-21 15:16 ? 341次阅读
51单片机的外部中断实验设计

如何使用Block RAM及利用其功能和性能优势

了解新的Block RAM级联功能,如何使用它,以及如何利用其功能和性能优势。

发表于 2019-01-21 06:56 ? 186次阅读
如何使用Block RAM及利用其功能和性能优势

超声波模块HC-SR04电路测量原理讲解

发表于 2019-01-21 16:31 ? 500次阅读
超声波模块HC-SR04电路测量原理讲解

51单片机的SCON寄存器与C程序解析

SCON寄存器是51单片机一个可寻址的专用寄存器,用于串行数据通信的控制,其字节地址为:98H,位地...

发表于 2019-01-21 16:15 ? 196次阅读
51单片机的SCON寄存器与C程序解析

51单片机寄存器寻址的方法

1、4个工作寄存器组共有32个通用寄存器,但在指令中只能使用当前寄存器组(工作寄存器组的选择在前面专...

发表于 2019-01-21 15:46 ? 121次阅读
51单片机寄存器寻址的方法

如何在UltraScale+设计中使用Ultra...

了解如何在UltraScale +设计中包含新的UltraRAM模块。 该视频演示了如何在Ultr...

发表于 2019-01-21 05:50 ? 408次阅读
如何在UltraScale+设计中使用Ultra...

如何使用51单片机实现串口通信

51单片机的串口引脚为P3.0引脚与P3.1引脚,分别是RXD和TXD引脚。串口通信可以用于单片机和...

发表于 2019-01-21 15:47 ? 282次阅读
如何使用51单片机实现串口通信

如何用51单片机实现IIC通信

在之前的MCS-51系列单片机中内部没有IIC通信资源,所如果要想用51单片机实现IIC通信,就只能...

发表于 2019-01-21 15:52 ? 278次阅读
如何用51单片机实现IIC通信

51单片机的学习经验总结

单片机就是一款自动控制的芯片。注意,是芯片,你做的工作就是如何编程来是这款芯片工作,是这款芯片在规定...

发表于 2019-01-21 15:37 ? 206次阅读
51单片机的学习经验总结

51单片机定时器模式2与波特率的应用

一般来说,我们都是采用定时器1的模式2(自动重装模式)来作为波特率发生器的,同理,定时器1的中断也就...

发表于 2019-01-21 16:12 ? 189次阅读
51单片机定时器模式2与波特率的应用

RAM是什么

RAM是随机存取存储器的缩写,又称作“随机存储器”,是与CPU直接交换数据的内部存储器,也叫主存(内...

发表于 2019-01-21 10:31 ? 1448次阅读
RAM是什么

51单片机实现通讯协议的串口通讯编程

51中一般针对串口通讯编程,通常采取中断接受查询发送的方式。中断函数在接受数据到达时被重复调用,其实...

发表于 2019-01-21 15:54 ? 218次阅读
51单片机实现通讯协议的串口通讯编程

51单片机对LED点阵屏的设计

微控制器的IO口均不能流过过大的电流,LED点亮时有约10ms的电流,因此LED点阵引脚不要直接接单...

发表于 2019-01-21 16:52 ? 256次阅读
51单片机对LED点阵屏的设计

基于51单片机对两路DS18B20温度传感器的设...

目前,温度控制器存在的问题是如何缩减成本,减少功耗,温度测量的准确性和多路温度的同时显示。本方案设计...

发表于 2019-01-21 16:35 ? 341次阅读
基于51单片机对两路DS18B20温度传感器的设...

基于STM32单片机启动文件的作用和启动过程解析

bootloader 分为boot 和loader,更多的时候是针对于linux系统,windows...

发表于 2019-01-21 16:15 ? 303次阅读
基于STM32单片机启动文件的作用和启动过程解析

如何利用51单片机同时扩展RAM和ROM

下面这个系统中,8051同时扩展片外程序存储器和数据存储器,两片存储器的片选信号都接地, 即同时有效...

发表于 2019-01-21 16:00 ? 329次阅读
如何利用51单片机同时扩展RAM和ROM

基于51单片机对电子储物柜系统的设计

LCD的数据引脚连接到P1口和RS,R / W,E引脚连接到P0.2,P0.3,P0.4。 L293...

发表于 2019-01-21 15:45 ? 253次阅读
基于51单片机对电子储物柜系统的设计

基于51单片机查表指令的应用

与ROM之间的数据传送 MOVCA,@A + DPTR MOVCA,@A + PC ...

发表于 2019-01-21 16:29 ? 160次阅读
基于51单片机查表指令的应用

如何对51单片机进行外部扩展

最近在项目中用到51单片机,因为某些条件限制,51单片机片上程序不是很大,需要进行外部扩展。

发表于 2019-01-21 17:16 ? 807次阅读
如何对51单片机进行外部扩展

基于8502单片机计数器对LED灯的设计

函数功能:51单片机制作的频率计(当然这个频率计的频率范围是有限制的理论值为2Hz-1MHz) 编...

发表于 2019-01-21 16:50 ? 186次阅读
基于8502单片机计数器对LED灯的设计

51单片机的内部组成及应用原理解析

STC89C52:8KFLASH、512字节RAM、32个IO口、3个定时器、1个UART、8个中断...

发表于 2019-01-21 15:22 ? 182次阅读
51单片机的内部组成及应用原理解析

51单片机知识概述

1)h文件作用1 方便开发:包含一些文件需要的共同的常量,结构,类型定义,函数,变量申明2 提供接口...

发表于 2019-01-21 10:32 ? 593次阅读
51单片机知识概述

C51单片机中定义一个全局变量会有怎样的影响

全局变量被定义在内存中的专门地址上,存储位置固定。对于频繁存取的重要变量但可以采用全局变量以减少代码...

发表于 2019-01-21 16:38 ? 305次阅读
C51单片机中定义一个全局变量会有怎样的影响

基于51单片机对自动打铃系统的设计

#include “reg51.h” #include “intrins.h” #define...

发表于 2019-01-21 15:48 ? 329次阅读
基于51单片机对自动打铃系统的设计

51单片机的工作流程及原理解析

1.ROM:只读存储器,单片机的只读存储区大多用于存储程序固又称程序存储器。 51单片机是EP...

发表于 2019-01-21 16:14 ? 494次阅读
51单片机的工作流程及原理解析

介绍SLICEM里的LUT如何形成RAM资源

一个SLICEM里面有4个LUT,他们可以组合得到多种大小的RAM。首先就是四端口的32x2bit...

发表于 2019-01-21 10:28 ? 483次阅读
介绍SLICEM里的LUT如何形成RAM资源

基于51单片机漩涡流水点阵的设计

#include typedefunsignedcharuchar; typedefun...

发表于 2019-01-21 16:13 ? 183次阅读
基于51单片机漩涡流水点阵的设计

51单片机中的定时计数器的主体结构及功能解析

TFi-定时/计数器溢出标志位;计数溢出时,硬件自动置1,在中断允许条件下,是向CPU请求中断的信号...

发表于 2019-01-21 15:19 ? 150次阅读
51单片机中的定时计数器的主体结构及功能解析
长陵乡 东溪 埔仔村 北太平桥西 南涧彝族自治县
八达岭镇社区 煤气管网所 中国移动通信石狮分公司 良教乡 新时代农场
澳门威尼斯人网址 澳门威尼斯人网址 电子游戏平台 现金网排行 澳门真人网站游戏
澳门真人官网网站 足球比分 拉斯维加斯网址 永利网站 新濠天地博彩
真钱游戏下载 澳门大富豪网上 澳门地下网上赌场 哪个网站能试玩mg游戏 澳门威尼斯人官网
澳门二十一点娱乐 澳门威尼斯人注册官网 番摊游戏娱乐 澳门拉斯维加斯网上赌博 大嘴棋牌
老虎机定位器 澳门大富豪网址 现金三公注册网址 牛牛游戏下载 现金骰宝 年度十大电子游戏 大小点游戏 玩什么游戏可以挣钱 电子游戏厅 方法奇葩赌博网 巴黎人网站 pt电子游戏哪个最会爆 澳门巴黎人游戏 澳门龙虎斗注册 澳门大富豪网站 押大小排行 真钱打牌 明升网站 十三水技巧 电子游戏下载 二十一点平台 现金网游戏开户平台 澳门百老汇游戏官网 皇博压大小 真钱捕鱼 跑马机游戏 赌博技巧 巴比伦赌场官网 现金三公 地下网址 捕鱼游戏技巧 英皇网站 手机玩游戏赚钱平台 现金网排行 pt电子游戏注册 赌博技巧 电脑玩游戏赚钱平台 海立方游戏 ag电子游戏排行 希尔顿官网 太阳网上压大小 现金赌钱游戏 现金棋牌游戏 真人网站网址 地下开户 九五至尊娱乐网址 澳门梭哈游戏官网 奇葩袖赌博网 鸿胜国际压大小 博狗扑克游戏 德州扑克游戏规则 庄闲代理 奔驰宝马老虎机下载 现金三公开户注册 免费试玩电子游戏 GT压大小 新濠天地注册 现金老虎机网站 纸牌赌博种类 乐天堂开户 澳门永利平台 电脑版捕鱼达人 玩电子游戏入门 斗牛游戏 bbin压大小 网上电子游戏网址 澳门网络下注平台 明升国际网址 明升娱乐 捕鱼达人电子游戏 mg电子游戏试玩 二十一点游戏赌场 澳门万利赌场官网 大小对比网站 现金电子游戏 电子游戏实用技术 老虎机破解器 澳门梭哈官网 澳门百老汇赌场注册 千炮捕鱼兑换现金 网上合法赌场 PT电子游戏 波克棋牌官方下载 天天棋牌 凤凰棋牌 美少女战士电子游戏 什么游戏可以赚人民币 银河国际娱乐 澳门番摊官网 澳门梭哈官网 胜博发电子游戏 电子游戏打鱼机 澳门现金网 大三巴网站 PT电子游戏 澳门银河国际娱乐