STC8G1K08A-36I-SOP8 实验版 A1

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

schematic

PCB 100mm x 50mm
TOP Side
TOP


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
#实验版
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值