您现在的位置: 主页 > MCU > 单片机技术应用 > stc单片机读片外扩展RAM,内部R/C时钟及ID号C语言程序 -
本文所属标签:
为本文创立个标签吧:

stc单片机读片外扩展RAM,内部R/C时钟及ID号C语言程序 -

来源: 网络用户发布,如有版权联系网管删除 2018-09-07 

[导读]
#include#includesfrIAP_CONTR=0xC7;sbitMCU_Start_LED=P1^7;//unsignedcharself_command_array[4]={0x22,0x33,0x44,0x55};#defineSelf_Define_ISP_Download_Command0x22//#defineRELOAD_COUNT0xfb//18

#include
#include
sfrIAP_CONTR=0xC7;

sbitMCU_Start_LED=P1^7;
//unsignedcharself_command_array[4]={0x22,0x33,0x44,0x55};

本文引用地址: http://www.21ic.com/app/mcu/201806/761573.htm


#defineSelf_Define_ISP_Download_Command0x22
//#defineRELOAD_COUNT0xfb//18.432MHz,12T,SMOD=0,9600bps
#defineRELOAD_COUNT0xfd//11.0592MHz,12T,SMOD=0,9600bps


voidserial_port_initial();
voidsend_UART(unsignedchar);
voidUART_Interrupt_Receive(void);
voidSOFt_reset_to_ISP_Monitor(void);
voiddelay(void);
voiddisplay_MCU_Start_Led(void);

voidmain(void)
{
unsignedchari=0;
unsignedcharj=0;

unsignedchardata=0;
unsignedintk=0;

unsignedcharxdata*xdata_point;

//unsignedcharidata*idata_point;

serial_port_initial();//串口初始化
//display_MCU_Start_Led();//点亮发光二极管表示单片机开始工作
//send_UART(0x34);//串口发送数据表示 单片机 串口正常工作
//send_UART(0xa7);//串口发送数据表示 单片机 串口正常工作

//xdata_point=0x400;
xdata_point=0x0000;
//data=0;
data=0xff;
for(k=0;k<32768;k++)
{
*xdata_point=data;
xdata_point++;
}


xdata_point=0x0000;
for(k=0;k<32768;k++)
{
i=0;
//P0=0xFF;
i=*xdata_point;
send_UART(i);
xdata_point++;
}

/*
for(j=0;j<255;j++)
{
*xdata_point=data;
data++;
xdata_point++;
}

//xdata_point=0x400;
xdata_point=0x7800;
for(j=0;j<255;j++)
{
i=0;
//P0=0xFF;

i=*xdata_point;

send_UART(i);

xdata_point++;
}


idata_point=0xF1;
for(j=0;j<15;j++)
{
i=*idata_point;
send_UART(i);
idata_point++;
}
*/
while(1);
}

voidserial_port_initial()
{
SCON=0x50;//0101,00008位可变波特率,无奇偶校验位
TMOD=0x21;//0011,0001设置顶时器1为8位自动重装计数器
TH1=RELOAD_COUNT;//设置定时器1自动重装数
TL1=RELOAD_COUNT;
TR1=1;//开定时器1
ES=1;//允许串口中断
EA=1;//开总中断
}

voidsend_UART(unsignedchari)
{
ES=0;//关串口中断
TI=0;//清零串口发送完成中断请求标志
SBUF=i;
while(TI==0);//等待发送完成
TI=0;//清零串口发送完成中断请求标志
ES=1;//允许串口中断
}

voidUART_Interrupt_Receive(void)interrupt4
{
unsignedchark=0;
if(RI==1)
{
RI=0;
k=SBUF;
if(k==Self_Define_ISP_Download_Command)//是自定义下载命令
{
delay();//延时1秒就足够了
delay();//延时1秒就足够了
soft_reset_to_ISP_Monitor();//软复位到系统ISP监控区
}
send_UART(k);
}
else
{
TI=0;
}
}

voidsoft_reset_to_ISP_Monitor(void)
{
IAP_CONTR=0x60;//0110,0000软复位到系统ISP监控区
}

voiddelay(void)
{
unsignedintj=0;
unsignedintg=0;
for(j=0;j<5;j++)
{
for(g=0;g<60000;g++)
{
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
}
}
}

voiddisplay_MCU_Start_Led(void)
{
unsignedchari=0;
for(i=0;i<3;i++)
{
MCU_Start_Led=0;//顶亮MCU开始工作指示灯
delay();
MCU_Start_Led=1;//熄灭MCU开始工作指示灯
delay();
MCU_Start_Led=0;//顶亮MCU开始工作指示灯
}
}




              查看评论 回复



嵌入式交流网主页 > MCU > 单片机技术应用 > stc单片机读片外扩展RAM,内部R/C时钟及ID号C语言程序 -
 

"stc单片机读片外扩展RAM,内部R/C时钟及ID号C语言程序 -"的相关文章

网站地图

围观()