国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

20230705點亮STC32G實驗箱9.6(STC32G12K128)開發(fā)板的跑馬燈LED(深入了解)

這篇具有很好參考價值的文章主要介紹了20230705點亮STC32G實驗箱9.6(STC32G12K128)開發(fā)板的跑馬燈LED(深入了解)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。


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秒鐘。

20230705點亮STC32G實驗箱9.6(STC32G12K128)開發(fā)板的跑馬燈LED(深入了解),雜質(zhì),單片機,stm32,嵌入式硬件

20230705點亮STC32G實驗箱9.6(STC32G12K128)開發(fā)板的跑馬燈LED(深入了解),雜質(zhì),單片機,stm32,嵌入式硬件


刷機的時候如果使用24M的Fosc,3秒鐘的延遲大概3.5秒鐘。

20230705點亮STC32G實驗箱9.6(STC32G12K128)開發(fā)板的跑馬燈LED(深入了解),雜質(zhì),單片機,stm32,嵌入式硬件

20230705點亮STC32G實驗箱9.6(STC32G12K128)開發(fā)板的跑馬燈LED(深入了解),雜質(zhì),單片機,stm32,嵌入式硬件


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:

20230705點亮STC32G實驗箱9.6(STC32G12K128)開發(fā)板的跑馬燈LED(深入了解),雜質(zhì),單片機,stm32,嵌入式硬件


#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;
}

20230705點亮STC32G實驗箱9.6(STC32G12K128)開發(fā)板的跑馬燈LED(深入了解),雜質(zhì),單片機,stm32,嵌入式硬件

20230705點亮STC32G實驗箱9.6(STC32G12K128)開發(fā)板的跑馬燈LED(深入了解),雜質(zhì),單片機,stm32,嵌入式硬件

?晚上拍照效果圖:

20230705點亮STC32G實驗箱9.6(STC32G12K128)開發(fā)板的跑馬燈LED(深入了解),雜質(zhì),單片機,stm32,嵌入式硬件

20230705點亮STC32G實驗箱9.6(STC32G12K128)開發(fā)板的跑馬燈LED(深入了解),雜質(zhì),單片機,stm32,嵌入式硬件


例程02:

20230705點亮STC32G實驗箱9.6(STC32G12K128)開發(fā)板的跑馬燈LED(深入了解),雜質(zhì),單片機,stm32,嵌入式硬件


#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;
}

20230705點亮STC32G實驗箱9.6(STC32G12K128)開發(fā)板的跑馬燈LED(深入了解),雜質(zhì),單片機,stm32,嵌入式硬件

20230705點亮STC32G實驗箱9.6(STC32G12K128)開發(fā)板的跑馬燈LED(深入了解),雜質(zhì),單片機,stm32,嵌入式硬件

晚上拍照效果圖:

20230705點亮STC32G實驗箱9.6(STC32G12K128)開發(fā)板的跑馬燈LED(深入了解),雜質(zhì),單片機,stm32,嵌入式硬件

20230705點亮STC32G實驗箱9.6(STC32G12K128)開發(fā)板的跑馬燈LED(深入了解),雜質(zhì),單片機,stm32,嵌入式硬件

例程03:

20230705點亮STC32G實驗箱9.6(STC32G12K128)開發(fā)板的跑馬燈LED(深入了解),雜質(zhì),單片機,stm32,嵌入式硬件


#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;
}

20230705點亮STC32G實驗箱9.6(STC32G12K128)開發(fā)板的跑馬燈LED(深入了解),雜質(zhì),單片機,stm32,嵌入式硬件

20230705點亮STC32G實驗箱9.6(STC32G12K128)開發(fā)板的跑馬燈LED(深入了解),雜質(zhì),單片機,stm32,嵌入式硬件

晚上拍照效果圖:

20230705點亮STC32G實驗箱9.6(STC32G12K128)開發(fā)板的跑馬燈LED(深入了解),雜質(zhì),單片機,stm32,嵌入式硬件

20230705點亮STC32G實驗箱9.6(STC32G12K128)開發(fā)板的跑馬燈LED(深入了解),雜質(zhì),單片機,stm32,嵌入式硬件

例程11:累加

20230705點亮STC32G實驗箱9.6(STC32G12K128)開發(fā)板的跑馬燈LED(深入了解),雜質(zhì),單片機,stm32,嵌入式硬件


#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;
}

20230705點亮STC32G實驗箱9.6(STC32G12K128)開發(fā)板的跑馬燈LED(深入了解),雜質(zhì),單片機,stm32,嵌入式硬件

串口打印:
[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:自加

20230705點亮STC32G實驗箱9.6(STC32G12K128)開發(fā)板的跑馬燈LED(深入了解),雜質(zhì),單片機,stm32,嵌入式硬件

#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;
}

20230705點亮STC32G實驗箱9.6(STC32G12K128)開發(fā)板的跑馬燈LED(深入了解),雜質(zhì),單片機,stm32,嵌入式硬件

串口打?。?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:自加-自減

20230705點亮STC32G實驗箱9.6(STC32G12K128)開發(fā)板的跑馬燈LED(深入了解),雜質(zhì),單片機,stm32,嵌入式硬件

#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;
}

20230705點亮STC32G實驗箱9.6(STC32G12K128)開發(fā)板的跑馬燈LED(深入了解),雜質(zhì),單片機,stm32,嵌入式硬件

串口打?。?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)用

20230705點亮STC32G實驗箱9.6(STC32G12K128)開發(fā)板的跑馬燈LED(深入了解),雜質(zhì),單片機,stm32,嵌入式硬件

20230705點亮STC32G實驗箱9.6(STC32G12K128)開發(fā)板的跑馬燈LED(深入了解),雜質(zhì),單片機,stm32,嵌入式硬件

#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

20230705點亮STC32G實驗箱9.6(STC32G12K128)開發(fā)板的跑馬燈LED(深入了解),雜質(zhì),單片機,stm32,嵌入式硬件

?

串口打?。?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亮。

20230705點亮STC32G實驗箱9.6(STC32G12K128)開發(fā)板的跑馬燈LED(深入了解),雜質(zhì),單片機,stm32,嵌入式硬件

20230705點亮STC32G實驗箱9.6(STC32G12K128)開發(fā)板的跑馬燈LED(深入了解),雜質(zhì),單片機,stm32,嵌入式硬件

20230705點亮STC32G實驗箱9.6(STC32G12K128)開發(fā)板的跑馬燈LED(深入了解),雜質(zhì),單片機,stm32,嵌入式硬件

#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

到了這里,關(guān)于20230705點亮STC32G實驗箱9.6(STC32G12K128)開發(fā)板的跑馬燈LED(深入了解)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 用唐都實驗箱通過微指令實現(xiàn)冒泡排序,原碼一位乘和棧的相關(guān)操作

    用唐都實驗箱通過微指令實現(xiàn)冒泡排序,原碼一位乘和棧的相關(guān)操作

    摘要 1 前言 2 實驗原理 2.1 數(shù)據(jù)格式 2.2 指令格式 2.3 數(shù)據(jù)通路框圖 3 總體****設(shè)計 3.1 微指令流程圖 3.2 指令系統(tǒng) 3.3 線路連接圖 4 詳細設(shè)****計 4.1 冒泡排序 4.2 原碼一位乘 4.3 堆棧 5 實驗結(jié)果 5.1 冒泡排序 5.2 原碼一位乘 5.3堆棧 6 參考文獻 摘要 本次課程設(shè)計首先對復(fù)雜模型機進

    2024年02月03日
    瀏覽(90)
  • 深度相機、實驗箱、掃描儀、機器狗…… 奧比中光超強性能3D視覺應(yīng)用亮相VALSE 2023

    深度相機、實驗箱、掃描儀、機器狗…… 奧比中光超強性能3D視覺應(yīng)用亮相VALSE 2023

    6月10日-12日,VALSE 2023視覺與學(xué)習(xí)青年學(xué)者研討會在江蘇無錫舉辦,奧比中光作為金牌贊助商,攜Femto Mega與Gemini 2系列3D相機以及3D視覺實驗箱開發(fā)套件、手持3D掃描儀、四足機器狗等創(chuàng)新解決方案參展,為3D視覺開發(fā)者提供多樣化的開發(fā)選擇。 VALSE是計算機視覺、圖像處理、模

    2024年02月09日
    瀏覽(371)
  • ARM920T實驗箱s3c2410 矩陣按鍵控制步進電機正反轉(zhuǎn)和停止

    ARM920T實驗箱s3c2410 矩陣按鍵控制步進電機正反轉(zhuǎn)和停止

    問題描述 按下第一個按鍵使步進電機可以正轉(zhuǎn)、第二個反轉(zhuǎn)反轉(zhuǎn)、第三個按鍵停止 矩陣按鍵控制 畫了張矩陣按鍵的內(nèi)部電路圖: 矩陣按鍵實物圖: ABC 按鍵右邊的就是步進電機。 按鍵第一行連接的是寄存器 GPFDAT0 的端口 第二行連接的是寄存器 GPFDAT2 的端口 第三行連接的是

    2024年02月09日
    瀏覽(93)
  • STC32G資料及入門介紹

    STC32G資料及入門介紹

    提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 提示:這里可以添加本文要記錄的大概內(nèi)容: STC32G是STC新推出的32位單片機,也就是廣義的32位的8051單片機。實際上使用的是Intel的C251架構(gòu),因此在編譯器上KeilC51是編譯不了STC32G的工程的,要使用KEIL

    2023年04月08日
    瀏覽(24)
  • STC32G單片機內(nèi)置ADC及應(yīng)用編程

    STC32G單片機內(nèi)置ADC及應(yīng)用編程

    ? ? ? STC32G單片機內(nèi)部集成了一個12位高速ADC轉(zhuǎn)換器,ADC的最高時鐘頻率為系統(tǒng)頻率的1/2。其輸入通道多達15個(第15通道為專門測量內(nèi)部1.19V參考信號源的通道),可分時切換使用。 ? ? ? STC15系列單片機內(nèi)置ADC模塊以電源電源作為ADC參考電壓,STC32G的ADC模塊則與之不同,它

    2024年02月09日
    瀏覽(105)
  • STM32G0x0系列-點亮一盞燈(寄存器)

    STM32G0x0系列-點亮一盞燈(寄存器)

    目錄 輸入功能 浮空輸入:通俗講就是讓管腳什么都不接,懸空著。 上拉輸入 下拉輸入 模擬輸入 輸出功能 開漏輸出 推挽輸出 相關(guān)寄存器 GPIOx_MODER 端口模式寄存器 GPIOx_OTYPER 端口輸出類型寄存器 GPIOx_ OSPEEDR 端口輸出速度寄存器 GPIOx_PUPDR 上拉/下拉寄存器 GPIOx_IDR 端口輸入數(shù)據(jù)

    2024年02月06日
    瀏覽(23)
  • 學(xué)習(xí)筆記|LED點亮原理|STC32G單片機視頻開發(fā)教程(沖哥)|第四集-下:點亮LED

    學(xué)習(xí)筆記|LED點亮原理|STC32G單片機視頻開發(fā)教程(沖哥)|第四集-下:點亮LED

    新建工程時待選擇的Device:如 STC32G12K128 Seies,需要先在下拉菜單中選擇“STC MCU Database”,然后可以選擇STC32G12K128 Seies了。 當(dāng)前以上節(jié)課的代碼為基礎(chǔ),經(jīng)過精簡后的代碼(裸板未添加任何頭文件): 需手工下載至開發(fā)板(屠龍刀三.1版)。 當(dāng)前已實現(xiàn)功能:點亮P2^1端口的板

    2024年02月13日
    瀏覽(22)
  • 學(xué)習(xí)筆記|LED點亮原理|三極管在數(shù)字電路中的應(yīng)用|Keil中的Tab設(shè)置|C51中對準雙向口|STC32G單片機視頻開發(fā)教程(沖哥)|第四集-上:點亮LED

    學(xué)習(xí)筆記|LED點亮原理|三極管在數(shù)字電路中的應(yīng)用|Keil中的Tab設(shè)置|C51中對準雙向口|STC32G單片機視頻開發(fā)教程(沖哥)|第四集-上:點亮LED

    為什么LED能點亮? 概念引入:輸出電壓=VCC就是高電平,輸出電壓 =GND(一般是OV)就是低電平,分別用1和0來表示,這個是理想值。 現(xiàn)在STC 的帶硬件USB的MCU支持用硬件USB下載,因為用的是USB-HID通信協(xié)議,不需要安裝任何驅(qū)動。STC打狗棒、降龍棍、開天斧、屠龍刀核心板以及STC開

    2024年02月14日
    瀏覽(22)
  • STM32G030F6P6 芯片實驗 (一)

    STM32G030F6P6 芯片實驗 (一)

    淘寶搞了幾片, 沒試過 G系列, 試試感覺. 先搞片小系統(tǒng)版: 套 STM32F103C8T6小系統(tǒng)板格式. (1) Ref 有點跳, 從 STM32F103C8T6 系統(tǒng)板改的, 沒重編號. (2) Type-C 純給電, 砍了 16pin的, 直接換 6pin的。 (3) 測試LED放 B2。 (4) 測試底板用原來 STM32F103C8T6的。 直接用嘉立創(chuàng)EDA畫了板, EDA用起來還可以

    2024年02月08日
    瀏覽(23)
  • 【Stm32】【Lin通信協(xié)議】Lin通信點亮燈實驗

    【Stm32】【Lin通信協(xié)議】Lin通信點亮燈實驗

    通過STM32的串口發(fā)送數(shù)據(jù),然后通過串口轉(zhuǎn)換模塊將數(shù)據(jù)轉(zhuǎn)換成LIN(Local Interconnect Network)協(xié)議,最終控制點亮燈。 需要工程和入門資料的可以私信我,看到了馬上回。 入門書本推薦: 這個結(jié)構(gòu)寫成代碼如下: 同步間隔段(Break Field) 是至少(注1)持續(xù) 13 位(以主機節(jié)點的位速率

    2024年02月05日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包