08第六集:LED閃爍第六集:LED閃爍和花式點燈上和花式點燈上.mp4
09第六集:LED閃爍和花式點燈下.mp4
【大文哥學(xué)習(xí)32位8051】20230704【沖哥視頻】第六集的晶振時鐘的學(xué)習(xí)困惑
2023/7/5 17:36
delay_ms(3000);
刷機的時候如果使用11.0592M的Fosc,3秒鐘的延遲大概7秒鐘。
刷機的時候如果使用24M的Fosc,3秒鐘的延遲大概3.5秒鐘。
0、
https://www.stcai.com/syx
實驗箱
STC32G實驗箱9.6
主控芯片使用STC32G12K128,可以做示波器、波形發(fā)生器、TFT彩屏顯示、OLED 12864、LCD 12864
代碼下載
使用說明 STC32G12K128實驗箱-V9.6使用說明書.pdf
原理圖
STC32G12K128實驗箱-V9.6使用說明書.pdf
例程01:
#include "COMM/stc.h"?? ??? ?//調(diào)用頭文件
#include "COMM/usb.h"
#define MAIN_Fosc 24000000L ?// 定義一個IRC系統(tǒng)時鐘
char *USER_DEVICEDESC = NULL;
char *USER_PRODUCTDESC = NULL;
char *USER_STCISPCMD = "@STCISP#";
?? ?
//sbit P40 = P4^0;?? ?//三極管控制引腳
//sbit P60 = P6^0;?? ?//LED控制引腳
//sbit P61 = P6^1;?? ?//LED控制引腳
void sys_init();?? ?//函數(shù)聲明
void delay_ms(u16 ms) ?// unsigned int
{
?? ?u16 i;
?? ?
?? ?do
?? ?{
?? ??? ?i = MAIN_Fosc/6000;
?? ??? ?while(--i);
?? ?}while(--ms);
}
void main()?? ??? ??? ??? ??? ?//程序開始運行的入口
{
?? ?sys_init();?? ??? ??? ??? ?//USB功能+IO口初始化
?? ?usb_init();?? ??? ??? ??? ?//usb庫初始化
?? ?EA = 1;?? ??? ??? ??? ??? ?//CPU開放中斷,打開總中斷。
?? ?
?? ?while(1)?? ??? ?//死循環(huán)
?? ?{
?? ??? ?if( DeviceState != DEVSTATE_CONFIGURED ) ?? ?//
?? ??? ??? ?continue;
?? ??? ?if( bUsbOutReady )?? ??? ??? ??? ??? ??? ??? ??? ?
?? ??? ?{
?? ??? ??? ?usb_OUT_done();
?? ??? ??? ?printf("%03.3f\r\n",1.12);
?? ??? ??? ?printf("%u \r\n",1<<3);
?? ??? ?}
?? ??? ?P40 = 0;?? ?//三極管引腳輸出低電平
?? ??? ?
?? ??? ?P60 = 0;?? ?//led0引腳輸出低電平
?? ??? ?delay_ms(500);
?? ??? ?
?? ??? ?P60 = 1;
?? ??? ?delay_ms(500);
?? ??? ?
?? ??? ?//SOS_Led();
?? ?}
}
void sys_init()?? ??? ?//函數(shù)定義
{
? ? WTST = 0; ?//設(shè)置程序指令延時參數(shù),賦值為0可將CPU執(zhí)行指令的速度設(shè)置為最快
? ? EAXFR = 1; //擴展寄存器(XFR)訪問使能
? ? CKCON = 0; //提高訪問XRAM速度
?? ?P0M1 = 0x00; ? P0M0 = 0x00; ? //設(shè)置為準雙向口
? ? P1M1 = 0x00; ? P1M0 = 0x00; ? //設(shè)置為準雙向口
? ? P2M1 = 0x00; ? P2M0 = 0x00; ? //設(shè)置為準雙向口
? ? P3M1 = 0x00; ? P3M0 = 0x00; ? //設(shè)置為準雙向口
? ? P4M1 = 0x00; ? P4M0 = 0x00; ? //設(shè)置為準雙向口
? ? P5M1 = 0x00; ? P5M0 = 0x00; ? //設(shè)置為準雙向口
? ? P6M1 = 0x00; ? P6M0 = 0x00; ? //設(shè)置為準雙向口
? ? P7M1 = 0x00; ? P7M0 = 0x00; ? //設(shè)置為準雙向口
?? ?
? ? P3M0 = 0x00;
? ? P3M1 = 0x00;
? ??
? ? P3M0 &= ~0x03;
? ? P3M1 |= 0x03;
? ? //設(shè)置USB使用的時鐘源
? ? IRC48MCR = 0x80; ? ?//使能內(nèi)部48M高速IRC
? ? while (!(IRC48MCR & 0x01)); ?//等待時鐘穩(wěn)定
? ? USBCLK = 0x00;?? ?//使用CDC功能需要使用這兩行,HID功能禁用這兩行。
? ? USBCON = 0x90;
}
?晚上拍照效果圖:
例程02:
#include "COMM/stc.h"?? ??? ?//調(diào)用頭文件
#include "COMM/usb.h"
#define MAIN_Fosc 24000000L ?// 定義一個IRC系統(tǒng)時鐘
char *USER_DEVICEDESC = NULL;
char *USER_PRODUCTDESC = NULL;
char *USER_STCISPCMD = "@STCISP#";
?? ?
//sbit P40 = P4^0;?? ?//三極管控制引腳
//sbit P60 = P6^0;?? ?//LED控制引腳
//sbit P61 = P6^1;?? ?//LED控制引腳
void sys_init();?? ?//函數(shù)聲明
void delay_ms(u16 ms) ?// unsigned int
{
?? ?u16 i;
?? ?
?? ?do
?? ?{
?? ??? ?i = MAIN_Fosc/6000;
?? ??? ?while(--i);
?? ?}while(--ms);
}
void main()?? ??? ??? ??? ??? ?//程序開始運行的入口
{
?? ?sys_init();?? ??? ??? ??? ?//USB功能+IO口初始化
?? ?usb_init();?? ??? ??? ??? ?//usb庫初始化
?? ?EA = 1;?? ??? ??? ??? ??? ?//CPU開放中斷,打開總中斷。
?? ?
?? ?while(1)?? ??? ?//死循環(huán)
?? ?{
?? ??? ?if( DeviceState != DEVSTATE_CONFIGURED ) ?? ?//
?? ??? ??? ?continue;
?? ??? ?if( bUsbOutReady )?? ??? ??? ??? ??? ??? ??? ??? ?
?? ??? ?{
?? ??? ??? ?usb_OUT_done();
?? ??? ??? ?printf("%03.3f\r\n",1.12);
?? ??? ??? ?printf("%u \r\n",1<<3);
?? ??? ?}
?? ??? ?P40 = 0;?? ?//三極管引腳輸出低電平
?? ??? ?
?? ??? ?P67 = 0;?? ?//led7引腳輸出低電平
?? ??? ?
?? ??? ?P60 = 0;?? ?//led0引腳輸出低電平
?? ??? ?delay_ms(500);
?? ??? ?
?? ??? ?P60 = 1;
?? ??? ?delay_ms(500);
?? ??? ?
?? ??? ?//SOS_Led();
?? ?}
}
void sys_init()?? ??? ?//函數(shù)定義
{
? ? WTST = 0; ?//設(shè)置程序指令延時參數(shù),賦值為0可將CPU執(zhí)行指令的速度設(shè)置為最快
? ? EAXFR = 1; //擴展寄存器(XFR)訪問使能
? ? CKCON = 0; //提高訪問XRAM速度
?? ?P0M1 = 0x00; ? P0M0 = 0x00; ? //設(shè)置為準雙向口
? ? P1M1 = 0x00; ? P1M0 = 0x00; ? //設(shè)置為準雙向口
? ? P2M1 = 0x00; ? P2M0 = 0x00; ? //設(shè)置為準雙向口
? ? P3M1 = 0x00; ? P3M0 = 0x00; ? //設(shè)置為準雙向口
? ? P4M1 = 0x00; ? P4M0 = 0x00; ? //設(shè)置為準雙向口
? ? P5M1 = 0x00; ? P5M0 = 0x00; ? //設(shè)置為準雙向口
? ? P6M1 = 0x00; ? P6M0 = 0x00; ? //設(shè)置為準雙向口
? ? P7M1 = 0x00; ? P7M0 = 0x00; ? //設(shè)置為準雙向口
?? ?
? ? P3M0 = 0x00;
? ? P3M1 = 0x00;
? ??
? ? P3M0 &= ~0x03;
? ? P3M1 |= 0x03;
? ? //設(shè)置USB使用的時鐘源
? ? IRC48MCR = 0x80; ? ?//使能內(nèi)部48M高速IRC
? ? while (!(IRC48MCR & 0x01)); ?//等待時鐘穩(wěn)定
? ? USBCLK = 0x00;?? ?//使用CDC功能需要使用這兩行,HID功能禁用這兩行。
? ? USBCON = 0x90;
}
晚上拍照效果圖:
例程03:
#include "COMM/stc.h"?? ??? ?//調(diào)用頭文件
#include "COMM/usb.h"
#define MAIN_Fosc 24000000L ?// 定義一個IRC系統(tǒng)時鐘
char *USER_DEVICEDESC = NULL;
char *USER_PRODUCTDESC = NULL;
char *USER_STCISPCMD = "@STCISP#";
?? ?
//sbit P40 = P4^0;?? ?//三極管控制引腳
//sbit P60 = P6^0;?? ?//LED控制引腳
//sbit P61 = P6^1;?? ?//LED控制引腳
void sys_init();?? ?//函數(shù)聲明
void delay_ms(u16 ms) ?// unsigned int
{
?? ?u16 i;
?? ?
?? ?do
?? ?{
?? ??? ?i = MAIN_Fosc/6000;
?? ??? ?while(--i);
?? ?}while(--ms);
}
void main()?? ??? ??? ??? ??? ?//程序開始運行的入口
{
?? ?sys_init();?? ??? ??? ??? ?//USB功能+IO口初始化
?? ?usb_init();?? ??? ??? ??? ?//usb庫初始化
?? ?EA = 1;?? ??? ??? ??? ??? ?//CPU開放中斷,打開總中斷。
?? ?
?? ?while(1)?? ??? ?//死循環(huán)
?? ?{
?? ??? ?if( DeviceState != DEVSTATE_CONFIGURED ) ?? ?//
?? ??? ??? ?continue;
?? ??? ?if( bUsbOutReady )?? ??? ??? ??? ??? ??? ??? ??? ?
?? ??? ?{
?? ??? ??? ?usb_OUT_done();
?? ??? ??? ?printf("%03.3f\r\n",1.12);
?? ??? ??? ?printf("%u \r\n",1<<3);
?? ??? ?}
?? ??? ?P40 = 0;?? ?//三極管引腳輸出低電平
?? ??? ?
?? ??? ?P67 = 0;?? ?//led7引腳輸出低電平
?? ??? ?
?? ??? ?P60 = 0;?? ?//led0引腳輸出低電平
?? ??? ?delay_ms(500);
?? ??? ?
?? ??? ?P67 = 1;
?? ??? ?P60 = 1;
?? ??? ?delay_ms(500);
?? ??? ?
?? ??? ?//SOS_Led();
?? ?}
}
void sys_init()?? ??? ?//函數(shù)定義
{
? ? WTST = 0; ?//設(shè)置程序指令延時參數(shù),賦值為0可將CPU執(zhí)行指令的速度設(shè)置為最快
? ? EAXFR = 1; //擴展寄存器(XFR)訪問使能
? ? CKCON = 0; //提高訪問XRAM速度
?? ?P0M1 = 0x00; ? P0M0 = 0x00; ? //設(shè)置為準雙向口
? ? P1M1 = 0x00; ? P1M0 = 0x00; ? //設(shè)置為準雙向口
? ? P2M1 = 0x00; ? P2M0 = 0x00; ? //設(shè)置為準雙向口
? ? P3M1 = 0x00; ? P3M0 = 0x00; ? //設(shè)置為準雙向口
? ? P4M1 = 0x00; ? P4M0 = 0x00; ? //設(shè)置為準雙向口
? ? P5M1 = 0x00; ? P5M0 = 0x00; ? //設(shè)置為準雙向口
? ? P6M1 = 0x00; ? P6M0 = 0x00; ? //設(shè)置為準雙向口
? ? P7M1 = 0x00; ? P7M0 = 0x00; ? //設(shè)置為準雙向口
?? ?
? ? P3M0 = 0x00;
? ? P3M1 = 0x00;
? ??
? ? P3M0 &= ~0x03;
? ? P3M1 |= 0x03;
? ? //設(shè)置USB使用的時鐘源
? ? IRC48MCR = 0x80; ? ?//使能內(nèi)部48M高速IRC
? ? while (!(IRC48MCR & 0x01)); ?//等待時鐘穩(wěn)定
? ? USBCLK = 0x00;?? ?//使用CDC功能需要使用這兩行,HID功能禁用這兩行。
? ? USBCON = 0x90;
}
晚上拍照效果圖:
例程11:累加
#include "COMM/stc.h"?? ??? ?//調(diào)用頭文件
#include "COMM/usb.h"
#define MAIN_Fosc 24000000L ?// 定義一個IRC系統(tǒng)時鐘
char *USER_DEVICEDESC = NULL;
char *USER_PRODUCTDESC = NULL;
char *USER_STCISPCMD = "@STCISP#";
?? ?
//sbit P40 = P4^0;?? ?//三極管控制引腳
//sbit P60 = P6^0;?? ?//LED控制引腳
//sbit P61 = P6^1;?? ?//LED控制引腳
void sys_init();?? ?//函數(shù)聲明
void delay_ms(u16 ms) ?// unsigned int
{
?? ?u16 i;
?? ?
?? ?do
?? ?{
?? ??? ?i = MAIN_Fosc/6000;
?? ??? ?while(--i);
?? ?}while(--ms);
}
void main()?? ??? ??? ??? ??? ?//程序開始運行的入口
{
?? ?int a = 0;
?? ?
?? ?sys_init();?? ??? ??? ??? ?//USB功能+IO口初始化
?? ?usb_init();?? ??? ??? ??? ?//usb庫初始化
?? ?EA = 1;?? ??? ??? ??? ??? ?//CPU開放中斷,打開總中斷。
?? ?
?? ?while(1)?? ??? ?//死循環(huán)
?? ?{
?? ??? ?if( DeviceState != DEVSTATE_CONFIGURED ) ?? ?//
?? ??? ??? ?continue;
?? ??? ?if( bUsbOutReady )?? ??? ??? ??? ??? ??? ??? ??? ?
?? ??? ?{
?? ??? ??? ?usb_OUT_done();
?? ??? ??? ?//printf("%03.3f\r\n",1.12);
?? ??? ??? ?//printf("%u \r\n",1<<3);
?? ??? ??? ?
?? ??? ??? ?do
?? ??? ??? ?{
?? ??? ??? ??? ?printf("a的值為:%d\r\n", a);
?? ??? ??? ??? ?a = a+1;
?? ??? ??? ?}while(a<20);
?? ??? ?}
?? ??? ?//P40 = 0;?? ?//三極管引腳輸出低電平
?? ??? ?//
?? ??? ?//P67 = 0;?? ?//led7引腳輸出低電平
?? ??? ?//
?? ??? ?//P60 = 0;?? ?//led0引腳輸出低電平
?? ??? ?//delay_ms(500);
?? ??? ?//
?? ??? ?//P67 = 1;
?? ??? ?//P60 = 1;
?? ??? ?//delay_ms(500);
?? ??? ?
?? ??? ?//SOS_Led();
?? ?}
}
void sys_init()?? ??? ?//函數(shù)定義
{
? ? WTST = 0; ?//設(shè)置程序指令延時參數(shù),賦值為0可將CPU執(zhí)行指令的速度設(shè)置為最快
? ? EAXFR = 1; //擴展寄存器(XFR)訪問使能
? ? CKCON = 0; //提高訪問XRAM速度
?? ?P0M1 = 0x00; ? P0M0 = 0x00; ? //設(shè)置為準雙向口
? ? P1M1 = 0x00; ? P1M0 = 0x00; ? //設(shè)置為準雙向口
? ? P2M1 = 0x00; ? P2M0 = 0x00; ? //設(shè)置為準雙向口
? ? P3M1 = 0x00; ? P3M0 = 0x00; ? //設(shè)置為準雙向口
? ? P4M1 = 0x00; ? P4M0 = 0x00; ? //設(shè)置為準雙向口
? ? P5M1 = 0x00; ? P5M0 = 0x00; ? //設(shè)置為準雙向口
? ? P6M1 = 0x00; ? P6M0 = 0x00; ? //設(shè)置為準雙向口
? ? P7M1 = 0x00; ? P7M0 = 0x00; ? //設(shè)置為準雙向口
?? ?
? ? P3M0 = 0x00;
? ? P3M1 = 0x00;
? ??
? ? P3M0 &= ~0x03;
? ? P3M1 |= 0x03;
? ? //設(shè)置USB使用的時鐘源
? ? IRC48MCR = 0x80; ? ?//使能內(nèi)部48M高速IRC
? ? while (!(IRC48MCR & 0x01)); ?//等待時鐘穩(wěn)定
? ? USBCLK = 0x00;?? ?//使用CDC功能需要使用這兩行,HID功能禁用這兩行。
? ? USBCON = 0x90;
}
串口打印:
[21:17:36.854]發(fā)送→1
[21:17:36.867]接收←a的值為:0
? ? ? ? ? ? ? ? ? ? a的值為:1
? ? ? ? ? ? ? ? ? ? a的值為:2
? ? ? ? ? ? ? ? ? ? a的值為:3
? ? ? ? ? ? ? ? ? ? a的值為:4
? ? ? ? ? ? ? ? ? ? a的值為:5
? ? ? ? ? ? ? ? ? ? a的值為:6
? ? ? ? ? ? ? ? ? ? a的值為:7
? ? ? ? ? ? ? ? ? ? a的值為:8
? ? ? ? ? ? ? ? ? ? a的值為:9
? ? ? ? ? ? ? ? ? ? a的值為:10
? ? ? ? ? ? ? ? ? ? a的值為:11
? ? ? ? ? ? ? ? ? ? a的值為:12
? ? ? ? ? ? ? ? ? ? a的值為:13
? ? ? ? ? ? ? ? ? ? a的值為:14
? ? ? ? ? ? ? ? ? ? a的值為:15
? ? ? ? ? ? ? ? ? ? a的值為:16
? ? ? ? ? ? ? ? ? ? a的值為:17
? ? ? ? ? ? ? ? ? ? a的值為:18
? ? ? ? ? ? ? ? ? ? a的值為:19
[21:17:36.854]發(fā)送→31?
[21:17:36.867]接收←61 B5 C4 D6 B5 CE AA A3 BA 30 0D 0A 61 B5 C4 D6?
? ? ? ? ? ? ? ? ? ? B5 CE AA A3 BA 31 0D 0A 61 B5 C4 D6 B5 CE AA A3?
? ? ? ? ? ? ? ? ? ? BA 32 0D 0A 61 B5 C4 D6 B5 CE AA A3 BA 33 0D 0A?
? ? ? ? ? ? ? ? ? ? 61 B5 C4 D6 B5 CE AA A3 BA 34 0D 0A 61 B5 C4 D6?
? ? ? ? ? ? ? ? ? ? B5 CE AA A3 BA 35 0D 0A 61 B5 C4 D6 B5 CE AA A3?
? ? ? ? ? ? ? ? ? ? BA 36 0D 0A 61 B5 C4 D6 B5 CE AA A3 BA 37 0D 0A?
? ? ? ? ? ? ? ? ? ? 61 B5 C4 D6 B5 CE AA A3 BA 38 0D 0A 61 B5 C4 D6?
? ? ? ? ? ? ? ? ? ? B5 CE AA A3 BA 39 0D 0A 61 B5 C4 D6 B5 CE AA A3?
? ? ? ? ? ? ? ? ? ? BA 31 30 0D 0A 61 B5 C4 D6 B5 CE AA A3 BA 31 31?
? ? ? ? ? ? ? ? ? ? 0D 0A 61 B5 C4 D6 B5 CE AA A3 BA 31 32 0D 0A 61?
? ? ? ? ? ? ? ? ? ? B5 C4 D6 B5 CE AA A3 BA 31 33 0D 0A 61 B5 C4 D6?
? ? ? ? ? ? ? ? ? ? B5 CE AA A3 BA 31 34 0D 0A 61 B5 C4 D6 B5 CE AA?
? ? ? ? ? ? ? ? ? ? A3 BA 31 35 0D 0A 61 B5 C4 D6 B5 CE AA A3 BA 31?
? ? ? ? ? ? ? ? ? ? 36 0D 0A 61 B5 C4 D6 B5 CE AA A3 BA 31 37 0D 0A?
? ? ? ? ? ? ? ? ? ? 61 B5 C4 D6 B5 CE AA A3 BA 31 38 0D 0A 61 B5 C4?
? ? ? ? ? ? ? ? ? ? D6 B5 CE AA A3 BA 31 39 0D 0A?
例程12:自加
#include "COMM/stc.h"?? ??? ?//調(diào)用頭文件
#include "COMM/usb.h"
#define MAIN_Fosc 24000000L ?// 定義一個IRC系統(tǒng)時鐘
char *USER_DEVICEDESC = NULL;
char *USER_PRODUCTDESC = NULL;
char *USER_STCISPCMD = "@STCISP#";
?? ?
//sbit P40 = P4^0;?? ?//三極管控制引腳
//sbit P60 = P6^0;?? ?//LED控制引腳
//sbit P61 = P6^1;?? ?//LED控制引腳
void sys_init();?? ?//函數(shù)聲明
void delay_ms(u16 ms) ?// unsigned int
{
?? ?u16 i;
?? ?
?? ?do
?? ?{
?? ??? ?i = MAIN_Fosc/6000;
?? ??? ?while(--i);
?? ?}while(--ms);
}
void main()?? ??? ??? ??? ??? ?//程序開始運行的入口
{
?? ?//int a = 0;
?? ?int a = 10;
?? ?
?? ?sys_init();?? ??? ??? ??? ?//USB功能+IO口初始化
?? ?usb_init();?? ??? ??? ??? ?//usb庫初始化
?? ?EA = 1;?? ??? ??? ??? ??? ?//CPU開放中斷,打開總中斷。
?? ?
?? ?while(1)?? ??? ?//死循環(huán)
?? ?{
?? ??? ?if( DeviceState != DEVSTATE_CONFIGURED ) ?? ?//
?? ??? ??? ?continue;
?? ??? ?if( bUsbOutReady )?? ??? ??? ??? ??? ??? ??? ??? ?
?? ??? ?{
?? ??? ??? ?usb_OUT_done();
?? ??? ??? ?//printf("%03.3f\r\n",1.12);
?? ??? ??? ?//printf("%u \r\n",1<<3);
?? ??? ??? ?
?? ??? ??? ?do
?? ??? ??? ?{
?? ??? ??? ??? ?printf("a的值為:%d\r\n", a);
?? ??? ??? ??? ?//a = a+1;
?? ??? ??? ??? ?a++;
?? ??? ??? ?}while(a<20);
?? ??? ?}
?? ??? ?//P40 = 0;?? ?//三極管引腳輸出低電平
?? ??? ?//
?? ??? ?//P67 = 0;?? ?//led7引腳輸出低電平
?? ??? ?//
?? ??? ?//P60 = 0;?? ?//led0引腳輸出低電平
?? ??? ?//delay_ms(500);
?? ??? ?//
?? ??? ?//P67 = 1;
?? ??? ?//P60 = 1;
?? ??? ?//delay_ms(500);
?? ??? ?
?? ??? ?//SOS_Led();
?? ?}
}
void sys_init()?? ??? ?//函數(shù)定義
{
? ? WTST = 0; ?//設(shè)置程序指令延時參數(shù),賦值為0可將CPU執(zhí)行指令的速度設(shè)置為最快
? ? EAXFR = 1; //擴展寄存器(XFR)訪問使能
? ? CKCON = 0; //提高訪問XRAM速度
?? ?P0M1 = 0x00; ? P0M0 = 0x00; ? //設(shè)置為準雙向口
? ? P1M1 = 0x00; ? P1M0 = 0x00; ? //設(shè)置為準雙向口
? ? P2M1 = 0x00; ? P2M0 = 0x00; ? //設(shè)置為準雙向口
? ? P3M1 = 0x00; ? P3M0 = 0x00; ? //設(shè)置為準雙向口
? ? P4M1 = 0x00; ? P4M0 = 0x00; ? //設(shè)置為準雙向口
? ? P5M1 = 0x00; ? P5M0 = 0x00; ? //設(shè)置為準雙向口
? ? P6M1 = 0x00; ? P6M0 = 0x00; ? //設(shè)置為準雙向口
? ? P7M1 = 0x00; ? P7M0 = 0x00; ? //設(shè)置為準雙向口
?? ?
? ? P3M0 = 0x00;
? ? P3M1 = 0x00;
? ??
? ? P3M0 &= ~0x03;
? ? P3M1 |= 0x03;
? ? //設(shè)置USB使用的時鐘源
? ? IRC48MCR = 0x80; ? ?//使能內(nèi)部48M高速IRC
? ? while (!(IRC48MCR & 0x01)); ?//等待時鐘穩(wěn)定
? ? USBCLK = 0x00;?? ?//使用CDC功能需要使用這兩行,HID功能禁用這兩行。
? ? USBCON = 0x90;
}
串口打?。?br> [21:19:57.629]發(fā)送→1
[21:19:57.635]接收←a的值為:10
? ? ? ? ? ? ? ? ? ? a的值為:11
? ? ? ? ? ? ? ? ? ? a的值為:12
? ? ? ? ? ? ? ? ? ? a的值為:13
? ? ? ? ? ? ? ? ? ? a的值為:14
? ? ? ? ? ? ? ? ? ? a的值為:15
? ? ? ? ? ? ? ? ? ? a的值為:16
? ? ? ? ? ? ? ? ? ? a的值為:17
? ? ? ? ? ? ? ? ? ? a的值為:18
? ? ? ? ? ? ? ? ? ? a的值為:19
[21:19:57.629]發(fā)送→31?
[21:19:57.635]接收←61 B5 C4 D6 B5 CE AA A3 BA 31 30 0D 0A 61 B5 C4?
? ? ? ? ? ? ? ? ? ? D6 B5 CE AA A3 BA 31 31 0D 0A 61 B5 C4 D6 B5 CE?
? ? ? ? ? ? ? ? ? ? AA A3 BA 31 32 0D 0A 61 B5 C4 D6 B5 CE AA A3 BA?
? ? ? ? ? ? ? ? ? ? 31 33 0D 0A 61 B5 C4 D6 B5 CE AA A3 BA 31 34 0D?
? ? ? ? ? ? ? ? ? ? 0A 61 B5 C4 D6 B5 CE AA A3 BA 31 35 0D 0A 61 B5?
? ? ? ? ? ? ? ? ? ? C4 D6 B5 CE AA A3 BA 31 36 0D 0A 61 B5 C4 D6 B5?
? ? ? ? ? ? ? ? ? ? CE AA A3 BA 31 37 0D 0A 61 B5 C4 D6 B5 CE AA A3?
? ? ? ? ? ? ? ? ? ? BA 31 38 0D 0A 61 B5 C4 D6 B5 CE AA A3 BA 31 39?
? ? ? ? ? ? ? ? ? ? 0D 0A?
例程13:自加-自減
#include "COMM/stc.h"?? ??? ?//調(diào)用頭文件
#include "COMM/usb.h"
#define MAIN_Fosc 24000000L ?// 定義一個IRC系統(tǒng)時鐘
char *USER_DEVICEDESC = NULL;
char *USER_PRODUCTDESC = NULL;
char *USER_STCISPCMD = "@STCISP#";
?? ?
//sbit P40 = P4^0;?? ?//三極管控制引腳
//sbit P60 = P6^0;?? ?//LED控制引腳
//sbit P61 = P6^1;?? ?//LED控制引腳
void sys_init();?? ?//函數(shù)聲明
void delay_ms(u16 ms) ?// unsigned int
{
?? ?u16 i;
?? ?
?? ?do
?? ?{
?? ??? ?i = MAIN_Fosc/6000;
?? ??? ?while(--i);
?? ?}while(--ms);
}
void main()?? ??? ??? ??? ??? ?//程序開始運行的入口
{
?? ?//int a = 0;
?? ?int a = 10;
?? ?
?? ?sys_init();?? ??? ??? ??? ?//USB功能+IO口初始化
?? ?usb_init();?? ??? ??? ??? ?//usb庫初始化
?? ?EA = 1;?? ??? ??? ??? ??? ?//CPU開放中斷,打開總中斷。
?? ?
?? ?while(1)?? ??? ?//死循環(huán)
?? ?{
?? ??? ?if( DeviceState != DEVSTATE_CONFIGURED ) ?? ?//
?? ??? ??? ?continue;
?? ??? ?if( bUsbOutReady )?? ??? ??? ??? ??? ??? ??? ??? ?
?? ??? ?{
?? ??? ??? ?usb_OUT_done();
?? ??? ??? ?//printf("%03.3f\r\n",1.12);
?? ??? ??? ?//printf("%u \r\n",1<<3);
?? ??? ??? ?
?? ??? ??? ?//do
?? ??? ??? ?//{
?? ??? ??? ?//?? ?printf("a的值為:%d\r\n", a);
?? ??? ??? ?//?? ?//a = a+1;
?? ??? ??? ?//?? ?a++;
?? ??? ??? ?//}while(a<20);
?? ??? ??? ?
?? ??? ??? ?a = 10;
?? ??? ??? ?printf("a的值為:%d\r\n", a);
?? ??? ??? ?printf("a的值為:%d\r\n", --a);
?? ??? ??? ?printf("a的值為:%d\r\n", a);
?? ??? ??? ?
?? ??? ??? ?printf("\r\n");
?? ??? ??? ?
?? ??? ??? ?a = 10;
?? ??? ??? ?printf("a的值為:%d\r\n", a);
?? ??? ??? ?printf("a的值為:%d\r\n", a--);
?? ??? ??? ?printf("a的值為:%d\r\n", a);
?? ??? ??? ?
?? ??? ??? ?printf("\r\n");
?? ??? ??? ?
?? ??? ??? ?
?? ??? ??? ?a = 20;
?? ??? ??? ?printf("a的值為:%d\r\n", a);
?? ??? ??? ?printf("a的值為:%d\r\n", ++a);
?? ??? ??? ?printf("a的值為:%d\r\n", a);
?? ??? ??? ?
?? ??? ??? ?printf("\r\n");
?? ??? ??? ?
?? ??? ??? ?a = 20;
?? ??? ??? ?printf("a的值為:%d\r\n", a);
?? ??? ??? ?printf("a的值為:%d\r\n", a++);
?? ??? ??? ?printf("a的值為:%d\r\n", a);
?? ??? ?}
?? ??? ?//P40 = 0;?? ?//三極管引腳輸出低電平
?? ??? ?//
?? ??? ?//P67 = 0;?? ?//led7引腳輸出低電平
?? ??? ?//
?? ??? ?//P60 = 0;?? ?//led0引腳輸出低電平
?? ??? ?//delay_ms(500);
?? ??? ?//
?? ??? ?//P67 = 1;
?? ??? ?//P60 = 1;
?? ??? ?//delay_ms(500);
?? ??? ?
?? ??? ?//SOS_Led();
?? ?}
}
void sys_init()?? ??? ?//函數(shù)定義
{
? ? WTST = 0; ?//設(shè)置程序指令延時參數(shù),賦值為0可將CPU執(zhí)行指令的速度設(shè)置為最快
? ? EAXFR = 1; //擴展寄存器(XFR)訪問使能
? ? CKCON = 0; //提高訪問XRAM速度
?? ?P0M1 = 0x00; ? P0M0 = 0x00; ? //設(shè)置為準雙向口
? ? P1M1 = 0x00; ? P1M0 = 0x00; ? //設(shè)置為準雙向口
? ? P2M1 = 0x00; ? P2M0 = 0x00; ? //設(shè)置為準雙向口
? ? P3M1 = 0x00; ? P3M0 = 0x00; ? //設(shè)置為準雙向口
? ? P4M1 = 0x00; ? P4M0 = 0x00; ? //設(shè)置為準雙向口
? ? P5M1 = 0x00; ? P5M0 = 0x00; ? //設(shè)置為準雙向口
? ? P6M1 = 0x00; ? P6M0 = 0x00; ? //設(shè)置為準雙向口
? ? P7M1 = 0x00; ? P7M0 = 0x00; ? //設(shè)置為準雙向口
?? ?
? ? P3M0 = 0x00;
? ? P3M1 = 0x00;
? ??
? ? P3M0 &= ~0x03;
? ? P3M1 |= 0x03;
? ? //設(shè)置USB使用的時鐘源
? ? IRC48MCR = 0x80; ? ?//使能內(nèi)部48M高速IRC
? ? while (!(IRC48MCR & 0x01)); ?//等待時鐘穩(wěn)定
? ? USBCLK = 0x00;?? ?//使用CDC功能需要使用這兩行,HID功能禁用這兩行。
? ? USBCON = 0x90;
}
串口打?。?br> [21:22:50.414]發(fā)送→1
[21:22:50.424]接收←a的值為:10
? ? ? ? ? ? ? ? ? ? a的值為:9
? ? ? ? ? ? ? ? ? ? a的值為:9
? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? a的值為:10
? ? ? ? ? ? ? ? ? ? a的值為:10
? ? ? ? ? ? ? ? ? ? a的值為:9
? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? a的值為:20
? ? ? ? ? ? ? ? ? ? a的值為:21
? ? ? ? ? ? ? ? ? ? a的值為:21
? ? ? ? ? ? ? ? ? ??
? ? ? ? ? ? ? ? ? ? a的值為:20
? ? ? ? ? ? ? ? ? ? a的值為:20
? ? ? ? ? ? ? ? ? ? a的值為:21
[21:22:50.414]發(fā)送→31?
[21:22:50.424]接收←61 B5 C4 D6 B5 CE AA A3 BA 31 30 0D 0A 61 B5 C4?
? ? ? ? ? ? ? ? ? ? D6 B5 CE AA A3 BA 39 0D 0A 61 B5 C4 D6 B5 CE AA?
? ? ? ? ? ? ? ? ? ? A3 BA 39 0D 0A 0D 0A 61 B5 C4 D6 B5 CE AA A3 BA?
? ? ? ? ? ? ? ? ? ? 31 30 0D 0A 61 B5 C4 D6 B5 CE AA A3 BA 31 30 0D?
? ? ? ? ? ? ? ? ? ? 0A 61 B5 C4 D6 B5 CE AA A3 BA 39 0D 0A 0D 0A 61?
? ? ? ? ? ? ? ? ? ? B5 C4 D6 B5 CE AA A3 BA 32 30 0D 0A 61 B5 C4 D6?
? ? ? ? ? ? ? ? ? ? B5 CE AA A3 BA 32 31 0D 0A 61 B5 C4 D6 B5 CE AA?
? ? ? ? ? ? ? ? ? ? A3 BA 32 31 0D 0A 0D 0A 61 B5 C4 D6 B5 CE AA A3?
? ? ? ? ? ? ? ? ? ? BA 32 30 0D 0A 61 B5 C4 D6 B5 CE AA A3 BA 32 30?
? ? ? ? ? ? ? ? ? ? 0D 0A 61 B5 C4 D6 B5 CE AA A3 BA 32 31 0D 0A?
例程21:【簡單四則運算的】函數(shù)調(diào)用
#include "COMM/stc.h"?? ??? ?//調(diào)用頭文件
#include "COMM/usb.h"
#define MAIN_Fosc 24000000L ?// 定義一個IRC系統(tǒng)時鐘
char *USER_DEVICEDESC = NULL;
char *USER_PRODUCTDESC = NULL;
char *USER_STCISPCMD = "@STCISP#";
?? ?
//sbit P40 = P4^0;?? ?//三極管控制引腳
//sbit P60 = P6^0;?? ?//LED控制引腳
//sbit P61 = P6^1;?? ?//LED控制引腳
void sys_init();?? ?//函數(shù)聲明
void delay_ms(u16 ms) ?// unsigned int
{
?? ?u16 i;
?? ?
?? ?do
?? ?{
?? ??? ?i = MAIN_Fosc/6000;
?? ??? ?while(--i);
?? ?}while(--ms);
}
int Add(int parm1, parm2)
{
?? ?return parm1 + parm2;
}
int Sub(int parm1, parm2)
{
?? ?return parm1 - parm2;
}
int Mul(int parm1, parm2)
{
?? ?return parm1 * parm2;
}
void main()?? ??? ??? ??? ??? ?//程序開始運行的入口
{
?? ?//int a = 0;
?? ?int a = 10;
?? ?
?? ?sys_init();?? ??? ??? ??? ?//USB功能+IO口初始化
?? ?usb_init();?? ??? ??? ??? ?//usb庫初始化
?? ?EA = 1;?? ??? ??? ??? ??? ?//CPU開放中斷,打開總中斷。
?? ?
?? ?while(1)?? ??? ?//死循環(huán)
?? ?{
?? ??? ?if( DeviceState != DEVSTATE_CONFIGURED ) ?? ?//
?? ??? ??? ?continue;
?? ??? ?if( bUsbOutReady )?? ??? ??? ??? ??? ??? ??? ??? ?
?? ??? ?{
?? ??? ??? ?usb_OUT_done();
?? ??? ??? ?//printf("%03.3f\r\n",1.12);
?? ??? ??? ?//printf("%u \r\n",1<<3);
?? ??? ??? ?
?? ??? ??? ?printf("計算Add(1, 2)結(jié)果為:%d\r\n", Add(1, 2));
?? ??? ??? ?printf("計算Sub(5, 2)結(jié)果為:%d\r\n", Sub(5, 2));
?? ??? ??? ?printf("計算Mul(5, 3)結(jié)果為:%d\r\n", Mul(5, 3));
?? ??? ?}
?? ??? ?//P40 = 0;?? ?//三極管引腳輸出低電平
?? ??? ?//
?? ??? ?//P67 = 0;?? ?//led7引腳輸出低電平
?? ??? ?//
?? ??? ?//P60 = 0;?? ?//led0引腳輸出低電平
?? ??? ?//delay_ms(500);
?? ??? ?//
?? ??? ?//P67 = 1;
?? ??? ?//P60 = 1;
?? ??? ?//delay_ms(500);
?? ??? ?
?? ??? ?//SOS_Led();
?? ?}
}
void sys_init()?? ??? ?//函數(shù)定義
{
? ? WTST = 0; ?//設(shè)置程序指令延時參數(shù),賦值為0可將CPU執(zhí)行指令的速度設(shè)置為最快
? ? EAXFR = 1; //擴展寄存器(XFR)訪問使能
? ? CKCON = 0; //提高訪問XRAM速度
?? ?P0M1 = 0x00; ? P0M0 = 0x00; ? //設(shè)置為準雙向口
? ? P1M1 = 0x00; ? P1M0 = 0x00; ? //設(shè)置為準雙向口
? ? P2M1 = 0x00; ? P2M0 = 0x00; ? //設(shè)置為準雙向口
? ? P3M1 = 0x00; ? P3M0 = 0x00; ? //設(shè)置為準雙向口
? ? P4M1 = 0x00; ? P4M0 = 0x00; ? //設(shè)置為準雙向口
? ? P5M1 = 0x00; ? P5M0 = 0x00; ? //設(shè)置為準雙向口
? ? P6M1 = 0x00; ? P6M0 = 0x00; ? //設(shè)置為準雙向口
? ? P7M1 = 0x00; ? P7M0 = 0x00; ? //設(shè)置為準雙向口
?? ?
? ? P3M0 = 0x00;
? ? P3M1 = 0x00;
? ??
? ? P3M0 &= ~0x03;
? ? P3M1 |= 0x03;
? ? //設(shè)置USB使用的時鐘源
? ? IRC48MCR = 0x80; ? ?//使能內(nèi)部48M高速IRC
? ? while (!(IRC48MCR & 0x01)); ?//等待時鐘穩(wěn)定
? ? USBCLK = 0x00;?? ?//使用CDC功能需要使用這兩行,HID功能禁用這兩行。
? ? USBCON = 0x90;
}
警告信息:
Rebuild target 'Target 1'
compiling Demo.c...
Demo.c(28): warning C35: 'Add': uses old-style declarator
Demo.c(33): warning C35: 'Sub': uses old-style declarator
Demo.c(38): warning C35: 'Mul': uses old-style declarator
linking...
Program Size: data=8.3 edata+hdata=420 xdata=192 const=122 code=7113
creating hex file from ".\Objects\Demo"...
".\Objects\Demo" - 0 Error(s), 3 Warning(s).
Build Time Elapsed: ?00:00:01
?
串口打?。?br> [19:59:34.243]發(fā)送→1
[19:59:34.256]接收←計算Add(1, 2)結(jié)果為:3
? ? ? ? ? ? ? ? ? ? 計算Sub(5, 2)結(jié)果為:3
? ? ? ? ? ? ? ? ? ? 計算Mul(5, 3)結(jié)果為:15
[19:59:34.243]發(fā)送→31?
[19:59:34.256]接收←BC C6 CB E3 41 64 64 28 31 2C 20 32 29 BD E1 B9?
? ? ? ? ? ? ? ? ? ? FB CE AA A3 BA 33 0D 0A BC C6 CB E3 53 75 62 28?
? ? ? ? ? ? ? ? ? ? 35 2C 20 32 29 BD E1 B9 FB CE AA A3 BA 33 0D 0A?
? ? ? ? ? ? ? ? ? ? BC C6 CB E3 4D 75 6C 28 35 2C 20 33 29 BD E1 B9?
? ? ? ? ? ? ? ? ? ? FB CE AA A3 BA 31 35 0D 0A?
例程31:SOS信號的LED表達
【請注意,請配置開發(fā)板的晶振為24MHz。如果使用默認的11.0592MHz,間隔時間大概加倍!^_】
sos?
國際摩爾斯電碼救難信號
發(fā)信號的方法編輯 播報
有幾種不同的發(fā)信號方法,不過采用何種方式取決于你的情形和你可用的材料。
通用遠程表達方式:
求救方式一:發(fā)出聲響,三短三長三短(. . . _ _ _ . . .)莫爾斯電碼。
求救方式二:燈光,如手電,三短三長三短(開關(guān)燈)。
亮200、滅200、亮200、滅200、亮200、滅500、亮400、滅200、亮400、滅200、亮400、滅500、亮200、滅200、亮200、滅200、亮200、滅1300(MS)循環(huán)低電平LED亮。
#include "COMM/stc.h"?? ??? ?//調(diào)用頭文件
#include "COMM/usb.h"
#define MAIN_Fosc 24000000L ?// 定義一個IRC系統(tǒng)時鐘
char *USER_DEVICEDESC = NULL;
char *USER_PRODUCTDESC = NULL;
char *USER_STCISPCMD = "@STCISP#";
?? ?
//sbit P40 = P4^0;?? ?//三極管控制引腳
//sbit P60 = P6^0;?? ?//LED控制引腳
//sbit P61 = P6^1;?? ?//LED控制引腳
void sys_init();?? ?//函數(shù)聲明
void delay_ms(u16 ms) ?// unsigned int
{
?? ?u16 i;
?? ?
?? ?do
?? ?{
?? ??? ?i = MAIN_Fosc/6000;
?? ??? ?while(--i);
?? ?}while(--ms);
}
void SOS_Led(void)
{
?? ?P60 = 0;?? ??? ??? ?//點亮
?? ?delay_ms(200);
?? ?P60 = 1;?? ??? ??? ?//熄滅
?? ?delay_ms(200);
?? ?
?? ?P60 = 0;?? ??? ??? ?//點亮
?? ?delay_ms(200);
?? ?P60 = 1;?? ??? ??? ?//熄滅
?? ?delay_ms(200);
?? ?
?? ?P60 = 0;?? ??? ??? ?//點亮
?? ?delay_ms(200);
?? ?P60 = 1;?? ??? ??? ?//熄滅
?? ?//delay_ms(200);
?? ?delay_ms(500);
?? ?
?? ?P60 = 0;?? ??? ??? ?//點亮
?? ?delay_ms(400);
?? ?P60 = 1;?? ??? ??? ?//熄滅
?? ?delay_ms(200);
?? ?
?? ?P60 = 0;?? ??? ??? ?//點亮
?? ?delay_ms(400);
?? ?P60 = 1;?? ??? ??? ?//熄滅
?? ?delay_ms(200);
?? ?
?? ?P60 = 0;?? ??? ??? ?//點亮
?? ?delay_ms(400);
?? ?P60 = 1;?? ??? ??? ?//熄滅
?? ?delay_ms(500);
?? ?
?? ?
?? ?P60 = 0;?? ??? ??? ?//點亮
?? ?delay_ms(200);
?? ?P60 = 1;?? ??? ??? ?//熄滅
?? ?delay_ms(200);
?? ?
?? ?P60 = 0;?? ??? ??? ?//點亮
?? ?delay_ms(200);
?? ?P60 = 1;?? ??? ??? ?//熄滅
?? ?delay_ms(200);
?? ?
?? ?P60 = 0;?? ??? ??? ?//點亮
?? ?delay_ms(200);
?? ?P60 = 1;?? ??? ??? ?//熄滅
?? ?delay_ms(1300);
?? ?//delay_ms(200);?? ?
?? ?
?? ?//delay_ms(3000);?? ?
?? ?
}
void main()?? ??? ??? ??? ??? ?//程序開始運行的入口
{
?? ?//int a = 0;
?? ?int a = 10;
?? ?
?? ?sys_init();?? ??? ??? ??? ?//USB功能+IO口初始化
?? ?usb_init();?? ??? ??? ??? ?//usb庫初始化
?? ?EA = 1;?? ??? ??? ??? ??? ?//CPU開放中斷,打開總中斷。
?? ?
?? ?while(1)?? ??? ?//死循環(huán)
?? ?{
?? ??? ?if( DeviceState != DEVSTATE_CONFIGURED ) ?? ?//
?? ??? ??? ?continue;
?? ??? ?if( bUsbOutReady )?? ??? ??? ??? ??? ??? ??? ??? ?
?? ??? ?{
?? ??? ??? ?usb_OUT_done();
?? ??? ??? ?//printf("%03.3f\r\n",1.12);
?? ??? ??? ?//printf("%u \r\n",1<<3);
?? ??? ??? ?
?? ??? ??? ?//printf("計算Add(1, 2)結(jié)果為:%d\r\n", Add(1, 2));
?? ??? ??? ?//printf("計算Sub(5, 2)結(jié)果為:%d\r\n", Sub(5, 2));
?? ??? ??? ?//printf("計算Mul(5, 3)結(jié)果為:%d\r\n", Mul(5, 3));
?? ??? ?}
?? ??? ?P40 = 0;?? ?//三極管引腳輸出低電平
?? ??? ?
?? ??? ?SOS_Led();
?? ??? ?//
?? ??? ?//P67 = 0;?? ?//led7引腳輸出低電平
?? ??? ?//
?? ??? ?//P60 = 0;?? ?//led0引腳輸出低電平
?? ??? ?//delay_ms(500);
?? ??? ?//
?? ??? ?//P67 = 1;
?? ??? ?//P60 = 1;
?? ??? ?//delay_ms(500);
?? ?}
}
void sys_init()?? ??? ?//函數(shù)定義
{
? ? WTST = 0; ?//設(shè)置程序指令延時參數(shù),賦值為0可將CPU執(zhí)行指令的速度設(shè)置為最快
? ? EAXFR = 1; //擴展寄存器(XFR)訪問使能
? ? CKCON = 0; //提高訪問XRAM速度
?? ?P0M1 = 0x00; ? P0M0 = 0x00; ? //設(shè)置為準雙向口
? ? P1M1 = 0x00; ? P1M0 = 0x00; ? //設(shè)置為準雙向口
? ? P2M1 = 0x00; ? P2M0 = 0x00; ? //設(shè)置為準雙向口
? ? P3M1 = 0x00; ? P3M0 = 0x00; ? //設(shè)置為準雙向口
? ? P4M1 = 0x00; ? P4M0 = 0x00; ? //設(shè)置為準雙向口
? ? P5M1 = 0x00; ? P5M0 = 0x00; ? //設(shè)置為準雙向口
? ? P6M1 = 0x00; ? P6M0 = 0x00; ? //設(shè)置為準雙向口
? ? P7M1 = 0x00; ? P7M0 = 0x00; ? //設(shè)置為準雙向口
?? ?
? ? P3M0 = 0x00;
? ? P3M1 = 0x00;
? ??
? ? P3M0 &= ~0x03;
? ? P3M1 |= 0x03;
? ? //設(shè)置USB使用的時鐘源
? ? IRC48MCR = 0x80; ? ?//使能內(nèi)部48M高速IRC
? ? while (!(IRC48MCR & 0x01)); ?//等待時鐘穩(wěn)定
? ? USBCLK = 0x00;?? ?//使用CDC功能需要使用這兩行,HID功能禁用這兩行。
? ? USBCON = 0x90;
}
參考資料:
http://stcmcudata.com/
https://www.stcai.com/jxsp
演示視頻
實驗箱-STC32G12K128 教學(xué)視頻
屠龍刀-STC32G12K128 教學(xué)視頻文章來源:http://www.zghlxwxcb.cn/news/detail-525632.html
?文章來源地址http://www.zghlxwxcb.cn/news/detail-525632.html
到了這里,關(guān)于20230705點亮STC32G實驗箱9.6(STC32G12K128)開發(fā)板的跑馬燈LED(深入了解)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!