|
單片機(jī)芯片:STC32G12K128
晶振頻率:24Mhz (STC-ISP)
STC-ISP版本:6.90D
收到STC32降龍棍后立即寫了一個(gè)閃燈程序試機(jī)
單片機(jī)程序如下:
- #include <STC32G.H>
- //STC32G12K128: Code:128k Ram:4k xdata:8k EEProm:128k Addr:0x0000 T0/1/2/3/4
- typedef unsigned char u8; //0 to 255
- typedef unsigned int u16; //0 to 65535
- typedef unsigned long u32; //0 to 4294967295
- void Delay500ms() //@24.000MHz(STC-Y6)
- {
- unsigned char i, j, k;
- _nop_();
- _nop_();
- i = 61;
- j = 225;
- k = 62;
- do
- {
- do
- {
- while (--k);
- }
- while (--j);
- }
- while (--i);
- }
- void main()
- {
- P1M0 = 0;
- P1M1 = 0;
- while(1)
- {
- P1=~P1;
- Delay500ms();
- }
- }
復(fù)制代碼
2022-07-25_112400.png (44.39 KB, 下載次數(shù): 58)
下載附件
2022-7-25 13:25 上傳
然而,下載完成后,led沒有反應(yīng)
等了很久(>5s),led才亮
又等了很久(>5s),led才滅
就懷疑是延時(shí)函數(shù)有問題
于是用以下函數(shù)替換
- void Delay500ms() //@24.000MHz(STC-Y1)
- {
- unsigned char i, j, k;
- _nop_();
- i = 8;
- j = 154;
- k = 122;
- do
- {
- do
- {
- while (--k);
- } while (--j);
- } while (--i);
- }
復(fù)制代碼
2022-07-25_112635.png (43.61 KB, 下載次數(shù): 58)
下載附件
2022-7-25 13:25 上傳
這樣,閃爍的速度才差不多,但是還是不準(zhǔn)
經(jīng)過查手冊(cè)和對(duì)比實(shí)驗(yàn)箱演示程序
才知道要設(shè)置以下寄存器才能全速運(yùn)行
- WTST = 0; //設(shè)置程序指令延時(shí)參數(shù),賦值為0可將CPU執(zhí)行指令的速度設(shè)置為最快
- EAXFR = 1; //擴(kuò)展寄存器(XFR)訪問使能
- CKCON = 0; //提高訪問XRAM速度
復(fù)制代碼
2022-07-25_132842.png (11.38 KB, 下載次數(shù): 73)
下載附件
2022-7-25 13:29 上傳
|
|