📄 c_block1.c
字号:
/***********************************************************************************************************
* C_BLOCK1.c - 如何在C51中实现绝对地址定位的一个文件例子
* 弘微科技(SPAC) 田伯运
* WEB: www.spacltd.com.cn TEL:0755-26010579 E-MAIL:andy.tian@spacltd.com.cn
*
* 功能介绍:
* 如何使用地址定位指令,将C_BLOCK1.C文件中的所有程序定位到0XF800的地址空间内
* 使SST的单片机第2个存储块也可作为统一的程序存储区
* 将原本8K的程序存储区的SST89E/V52RD2变为16K的程序存储区
*
* 解决方法:在连接选项"KEIL C51/PROJECT/OPTIONS FOR TARGET/BL51 LOCATE/CODE"中
* 加入模块定位命令:"*C_BLOCK1(0XF800)"
* *C_BLOCK1(0XF800)---使C_BLOCK1.C文件中所有的函数都连续定位到0XF800后面的区域
* ?PR?_DELAYMS?C_BLOCK1(0XF800)---表示只将C_BLOCK1.C文件中的DELAYMS函数定位到0XF800后面的区域
***********************************************************************************************************/
/***********************************************************************************************************
* 本文件中用到的函数声明列表
***********************************************************************************************************/
void DelayUs(unsigned char n);
void DelayMs(unsigned char n);
void delay_100ms(unsigned char n);
//***********************************************************
// 本文件中函数定义
//***********************************************************
void DelayUs(unsigned char n)
{
while(n--);
}
//Using 12M
void DelayMs(unsigned char n)
{
unsigned char i;
for(;n>0;n--)
{
for(i=0;i<160;i++);
for(i=0;i<165;i++);
}
}
//******************************************************
// delay_100ms:延时100毫秒的函数;按照晶振为12MHZ计算
//******************************************************
void delay_100ms(unsigned char n)
{
unsigned int i;
for(;n>0;n--)
{
for(i=0;i<2000;i++);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -