20230703点亮STC32G实验箱9.6(STC32G12K128)开发板的跑马灯LED

20230703点亮STC32G实验箱9.6(STC32G12K128)开发板的跑马灯LED
2023/7/3 20:41


0、
https://www.stcai.com/syx
实验箱

STC32G实验箱9.6
主控芯片使用STC32G12K128,可以做示波器、波形发生器、TFT彩屏显示、OLED 12864、LCD 12864

代码下载
使用说明 STC32G12K128实验箱-V9.6使用说明书.pdf
原理图


STC32G12K128实验箱-V9.6使用说明书.pdf

8个跑马灯附近的原理图:
【原理图的LED灯的器件号码LED0-7顺序编号是一个好习惯,不知道STC宏晶的硬件layout工程师有什么特别的理由?!】
也许乱序编号可能有特别的理由!所有的现代高速CPU都是指令乱序执行的!比如:x86/x64/arm64等架构的CPU。
(并且匹配:抢占式的操作系统,比如:win7/win10/Ubuntu22.04等)

V9.4版本

V9.6版本


2、点单灯:


sfr P0 = 0X80;
sfr P0M1 = 0X93;
sfr P0M0 = 0X94;


sfr P4 = 0XC0;  //初始化P4组GPIO引脚为GPIO功能
sfr P4M1 = 0XB3;
sfr P4M0 = 0XB4;

sfr P6 = 0XE8;  //初始化P6组GPIO引脚为GPIO功能
//sfr P6M1 = 0XC8;
sfr P6M1 = 0XCB;
sfr P6M0 = 0XCC;

sbit P40 = P4^0;  //三极管控制引脚
sbit P60 = P6^0;  //LED控制引脚

void main()
{
    //P0M0 = 0X00;    
    //P0M1 = 0X00;
    
    P4M1 = 0X00;
    P4M0 = 0X00;
    
    P6M1 = 0X00;
    P6M0 = 0X00;
    
    while(1)
    {
        //P0++;
        P40 = 0;  //三极管引脚输出低电平
        P60 = 0;  //led0引脚输出低电平
    }
}


3、间隔点灯:


sfr P4 = 0XC0;
//sfr P5 = 0XC0;
sfr P6 = 0XE8;

sfr P4M1 = 0XB3;
sfr P4M0 = 0XB4;

//sfr P6M1 = 0XC8;
sfr P6M1 = 0XCB;
sfr P6M0 = 0XCC;

sbit P40 = P4^0;    //三极管控制引脚
sbit P60 = P6^0;    //LED控制引脚
sbit P61 = P6^1;    //LED控制引脚
sbit P62 = P6^2;
sbit P63 = P6^3;
sbit P64 = P6^4;
sbit P65 = P6^5;
sbit P66 = P6^6;
sbit P67 = P6^7;
void sys_init();    //函数声明

void main()                    //程序开始运行的入口
{
    sys_init();                //USB功能+IO口初始化
    //usb_init();                //usb库初始化
    //EA = 1;                    //CPU开放中断,打开总中断。
    
        P40 = 0;    //三极管引脚输出低电平
        P60 = 0;    //led4引脚输出低电平
        //P61 = 0;    //led5引脚输出低电平
        P62 = 0;
        //P63 = 0;
        P64 = 0;
        //P65 = 0;
        P66 = 0;
        //P67 = 0;
        
    while(1)        //死循环
    {
        ;
    }
}


void sys_init()        //函数定义
{
    P4M1 = 0x00;   P4M0 = 0x00;   //设置为准双向口
    //P5M1 = 0x00;   P5M0 = 0x00;   //设置为准双向口
    P6M1 = 0x00;   P6M0 = 0x00;   //设置为准双向口
}


4、全部点亮LED:


//sfr P0 = 0X80;
//sfr P0M1 = 0X93;
//sfr P0M0 = 0X94;


sfr P4 = 0XC0;
sfr P4M1 = 0XB3;
sfr P4M0 = 0XB4;

sfr P6 = 0XE8;
//sfr P6M1 = 0XC8;
sfr P6M1 = 0XCB;
sfr P6M0 = 0XCC;

sbit P40 = P4^0;
sbit P60 = P6^0;

void main()
{
    //P0M0 = 0X00;    
    //P0M1 = 0X00;
    
    P4M1 = 0X00;
    P4M0 = 0X00;
    P6M1 = 0X00;
    P6M0 = 0X00;
    
        P40 = 0;
        P60 = 0;
    
    while(1)
    {
        //P0++;
        //P40 = 0;
        //P60 = 0;
        
        P6++;
        ;
    }
}


5、【经验】【冲哥】的视频中出错的部分可以直接剪辑掉的。
毕竟大家没有这么多时间来仔细查看调试记录的!


6、Keil V5.6的安装步骤:
先使用stc-isp-v6.91V.exe下载STC32G的DATASHEET:
资料下载←用户手册→STC32G系列用户手册

stc32g.pdf【加密了,不能复制!神奇呀!】


5 编译、仿真开发环境的建立与 ISP 下载 
5.1 安装 Keil 
5.1.1 安装 C251 编译环境 
首先登录 Keil 官网,下载最新版的 C251 安装包,下载链接如下: 
Keil Product Downloads 
https://www.keil.com/download/product/
信息随便填写,点确定后进入下载页面进行下载。 
双击下载的安装包开始安装, 点击“Next”: 


C251
Version 5.60 (May 2018)
Development tools for all 80251 devices.


https://www.keil.com/fid/bdasrowb9c9j1wyawhw190xtewlvr1a9sd2wd1/files/eval/c251v560.exe
C251V560.EXE (46,528K)
Wednesday, May 9, 2018


参考资料:
http://stcmcudata.com/
https://www.stcai.com/jxsp
演示视频
实验箱-STC32G12K128 教学视频
屠龙刀-STC32G12K128 教学视频

猜你喜欢

转载自blog.csdn.net/wb4916/article/details/131523932
今日推荐