📄 stc.c
字号:
/*#include <intrins.h>
#include "REG52STC.H"
sbit MCU_led0=P1^0;
sbit MCU_led1=P1^1;
#define Self_Define_ISP_Download_Command 0x22
#define RELOAD_COUNT 0xfd
void serial_port_initial();
void UART_send(unsigned char);
void soft_reset_to_ISP_Monitor(void);
void delay(unsigned int);
void MCU_led_Display(void);
void main(void)
{
unsigned char i=0;
serial_port_initial();
while(1)
{
MCU_led_Display();
}
UART_send(0x34);
UART_send(0xa7);
EA = 1; //may be in initial
while(1);
}*/
void serial_port_initial()
{
SCON= 0x50;
TMOD= 0x21;
TH1 = RELOAD_COUNT;
TL1 = RELOAD_COUNT;
TR1 = 1;
ES = 1; //switch on the serial interrupt
// EA = 1;
}
void UART_send(unsigned char i)
{
ES = 0;
TI = 0; //clear serial port sending finished interrupt require flag
SBUF= i;
while(TI==0);
TI = 0;
ES = 0;
}
void UART_receive_Interrrupt(void) interrupt 4
{
unsigned char k=0;
if(RI==1)
{
RI = 0;
k = SBUF;
MCU_led0=0;
delay(3);
MCU_led0=1;
if(k==Self_Define_ISP_Download_Command)
{
delay(1);
delay(1);
soft_reset_to_ISP_Monitor();
}
UART_send(k);
}
else
{
TI=0;
}
}
void soft_reset_to_ISP_Monitor(void)
{
ISP_CONTR = 0x60;
}
void delay(unsigned int i) //delay 1s
{
unsigned int k=0;
unsigned int g=0;
for(k=0;k<5*i;k++)
{
for(g=0;g<60000;g++)
{
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
}
}
}
void MCU_led_Display(void)
{
unsigned char i=0;
MCU_led0=0;
for(i=0;i<3;i++)
{
MCU_led0=~MCU_led0;
delay(1);
MCU_led0=~MCU_led0;
delay(1);
}
MCU_led0=0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -