STC8G1K08A-36I-SOP8 实验版A1 2023/09/06
- 嘉立创 EDA 设计https://pro.lceda.cn/
- 嘉立创 投片生产.https://www.jlc.com/
• JP2 , JP16
1-2 5V
2-3 3.3V
*JP2 : MCU + CH340K VCC
JP16: CH340K V3 *
- 不可热插入
- JP2 & JP16 必须成对使用!
• SW4 为常闭开关(NC), 刻录时用
• 焊接时 U4 优先 (1117-3.3V)
• J9/J10 OPEN -> USART TTL-2-USB, 外用 (VCC=5V)
• R10 光敏电阻 = 10K
PCB 100mm x 50mm
TOP Side
Bottom Side
Example Code
#include <STC8G.H>
#include <INTRINS.H>
unsigned int ucTimerTick=0;
unsigned char xTimer0Timeout=0;
unsigned int xGetTimerTick(void);
void Timer0_Init(void); // 1ms @ 11.0592MHz
void UartInit(void); // 57600bps@11.0592MHz
extern void hx595Number2HX595(unsigned int uiNumber, unsigned char ucLength);
extern void vhx595Init(void);
/**************************************************************************
* DelayXms (unsigned int dly) ref: Timer0_Init(void) 1ms @11.0592MHz
*/
void DelayXms(unsigned int dly)
{
if( 0 == dly ) return;
Timer0_Init();
TR0 = 1;
while( dly-- > 0 ){
xTimer0Timeout = 0;
while( 0 == xTimer0Timeout );
};
TR0 = 0;
}
/**************************************************************************
* Timer0_Init(void) // 1000us @11.0592MHz
*/
void Timer0_Isr(void) interrupt 1
{
xTimer0Timeout++;
}
/**************************************************************************
* Timer0_Init(void) // 1000us @11.0592MHz
*/
void Timer0_Init(void) // 1000us @11.0592MHz
{
AUXR |= 0x80; //Timer clock is 1T mode
TMOD &= 0xF0; //Set timer work mode
TL0 = 0xCD; //Initial timer value
TH0 = 0xD4; //Initial timer value
TF0 = 0; //Clear TF0 flag
TR0 = 0; //Timer0 stop run
ET0 = 1; //Enable timer0 IRQ
}
#if 0
/**************************************************************************
* UartInit(void)
* 57600bps@11.0592MHz
*/
void UartInit(void) // 57600bps@11.0592MHz
{
SCON = 0x50; //8 bits and variable baudrate
AUXR |= 0x40; //Timer clock is 1T mode
AUXR &= 0xFE; //UART 1 use Timer1 as baudrate generator
TMOD &= 0x0F; //Set timer work mode
TL1 = 0xD0; //Initial timer value
TH1 = 0xFF; //Initial timer value
ET1 = 0; //Disable Timer1 IRQ
TR1 = 1; //Timer1 start run
}
#endif
/**************************************************************************
* main(void)
*/
void main(void)
{
unsigned int uiCount=0;
// STC8G1K08A Hardware Init.
//P3M0 |= 0x0c; P3M1 |= 0x0c; // OC
//P5M0 |= 0x30; P5M1 |= 0x30; // OC
P3M0 |= 0x0c; P3M1 &= ~0x0c; // Push-Pull
P5M0 |= 0x30; P5M1 &= ~0x30; // Push-Pull
Timer0_Init();
//UartInit();
vhx595Init( );
EA=1;
while(1)
{
P55=0;
P54=0;
P32=1;
P33=1;
DelayXms(500);
P55=1;
P54=1;
P32=0;
P33=0;
DelayXms(500);
hx595Number2HX595(uiCount++, 3);
}
}
STC配套刻录软件, 可以设定硬件, 生成代码, 挺方便的!
最近不搞测试了, 不然加上 MAX485, 做成节点, 4个 DIO/ Relay Board, 还可以.
搞了 20多个, 没想出能用来做甚么? 暂时先打包, 冰起来.
<笔记>天才脑袋比不上烂笔头, 写给自己看, 自用资料。
档案取自互联网!如有侵权或不适用情形, 请联系移除!
#STC8G1K08A
#实验版