摘要:
一, 基本硬件需求要实现IAP功能,需要51单片机可以在程序里修改代码空间的Flash,或者至少可以修改用户程序区的Flash,新出的51大部分都能满足这个要求二, 空间划分一般bootloader位于单片机代码空间的起始地址,用户程序在后面。这个需要根据实际的需求来决定,bootloader功能简 阅读全文
posted @ 2019-12-15 20:45
TotallyNewUser
阅读(1276)
评论(0)
推荐(0)
摘要:
Keil C是非常优秀的C51编译器,可能是最好的C51编译器,提供各种优化模式,对变量的优化和地址安排做得非常好。这是用C语言写代码的好处之一,如果用汇编写,得费一大番功夫给各个变量安排内存物理地址,还得时刻记住哪些地址的内存单元是已经分配了,新增加的变量就不能占用那些已经分配了的单元,以免产生内 阅读全文
posted @ 2019-12-15 20:37
TotallyNewUser
阅读(1747)
评论(0)
推荐(0)
摘要:
首先要明白这几个知识点:关键字volatile的使用,原子操作,临界区的使用。明白的直接跳到文中的4.全局变量的使用及保护处查看。 1.关键字volatile 关键字volatile用于告诉编译器,说明被修身的变量可能会被意想不到地改变,防止编译器对代码进行优化。 比如如下程序: 上述4条语句,如果 阅读全文
posted @ 2019-12-15 13:55
TotallyNewUser
阅读(4649)
评论(0)
推荐(1)
摘要:
80C51在物理结构上有四个存储空间:片内程序存储器、片外程序存储器、片内数据存储器和片外数据存储器。但在逻辑上,即从用户使用的角度上,80C51有三个存储空间:片内外统一编址的64KB的程序存储器地址空间(用16位地址)、256B的片内数据存储器的地址空间(用8位地址,其中128B的专用寄存器地址 阅读全文
posted @ 2019-12-15 13:49
TotallyNewUser
阅读(1273)
评论(0)
推荐(0)
摘要:
C51里用4字节存储一个浮点数,格式遵循IEEE-754标准(详见c51.pdf第179页说明)。一 个浮点数用两个部分表示,尾数和2的幂,尾数代表浮点上的实际二进制数,2的幂代表指 数,指数的保存形式是一个0到255的8位值,指数的实际值是保存值(0到255)减去127,一个 范围在-127到+1 阅读全文
posted @ 2019-12-15 13:43
TotallyNewUser
阅读(2142)
评论(0)
推荐(0)
浙公网安备 33010602011771号