標題: 入坑又搞了一個STC32G12K128單片機想把所有的I/O口用起來搞一個花式彩燈 [打印本頁]

作者: 白水大蝦2016    時間: 2024-5-7 12:14
標題: 入坑又搞了一個STC32G12K128單片機想把所有的I/O口用起來搞一個花式彩燈
各位大俠好!入坑又搞了一個STC32G12K128單片機想把所有的O/I口用起來搞一個花式彩燈,先試著將51例程中流水燈程序導入STC32中,顯示操作成功但沒有一個O/I 口有輸出信號,毛病出在哪里呢?內部頻率選的是11.0592。后來又將程序導入原有STC11F08XE芯片結果8燈全部閃爍狀可能是速度變快了,為什么呢?求解!
作者: cocolala    時間: 2024-5-7 15:22
    1、STC32硬件最好買個開發(fā)板,就是保證這個硬件是好的,然后寫程序調試才有意義。
    2、STC32是32位8051單片機,和之前的8位單片機差別還是很大的,建議不要再使用寄存器寫程序了,使用STC官方的庫函數(shù)來寫。
    3、至于流水燈的例子就是對STC32的IO口的簡單應用。手頭正好有塊艾克姆的STC32開發(fā)板,流水燈源碼也一起分享給你,看看自己問題點在哪啊。




led_blinky.rar

132.05 KB, 下載次數(shù): 6


作者: cy009    時間: 2024-5-7 15:36
需要對IO端口進行模式設置。(兩個寄存器PxM0和PxM1)
作者: xjtong    時間: 2024-5-7 23:39
cy009 發(fā)表于 2024-5-7 15:36
需要對IO端口進行模式設置。(兩個寄存器PxM0和PxM1)

應該問題,所有I0默認高阻態(tài),你要把二個寄存器都改成0x00。
作者: aking991    時間: 2024-5-8 08:27
官方手冊與下載軟件的例程去參考考就知道為什么了,你要導入首先延時程序要修改,IO口也要定義,默認是高阻態(tài),老51是沒有這個功能的
作者: 白水大蝦2016    時間: 2024-5-8 16:06
#include<STC32G.H>
#include "intrins.h"

#include "stdio.h"
#include "intrins.h"

#define MAIN_Fosc        24000000UL

void  delay_ms(unsigned char ms);

void main(void)
{
          WTST = 0;
    P_SW2 |= 0x80;
    CLKDIV = 0;                                //24MHz
    P_SW2 &= 0x7F;
        
          P0M0 = 0x00;    P0M1 = 0x00;
    P1M0 = 0x00;    P1M1 = 0x00;
    P2M0 = 0x00;    P2M1 = 0x00;
    P3M0 = 0x00;    P3M1 = 0x00;
    P4M0 = 0x00;    P4M1 = 0x00;
    P5M0 = 0x00;    P5M1 = 0x00;
    P6M0 = 0x00;    P6M1 = 0x00;
    P7M0 = 0x00;    P7M1 = 0x00;
        while(1)

是這樣嗎?不知道哪里有錯
作者: 白水大蝦2016    時間: 2024-5-9 11:56
cocolala 發(fā)表于 2024-5-7 15:22
1、STC32硬件最好買個開發(fā)板,就是保證這個硬件是好的,然后寫程序調試才有意義。
    2、STC32是32位 ...

謝謝哈!




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1