新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > STM32微處理器簡介

        STM32微處理器簡介

        作者: 時間:2016-12-01 來源:網絡 收藏

        外觀上的差異是最容易理解的,STM32F107VCT6采用的是LQFP-100Pin 封裝,AT89C51采用DIP-40Pin封裝(Pin是指引腳數,DIP也就是電子元件

        里面的直插元件,貼片元件也有很多種,其中LQFP封裝就是一個例子)


        LQFP-100Pin,封裝引腳圖

        STM32F107VCT6 實物圖片


        AT89C51和三種同類型DIP封裝單片機[C52內部ROM為8K,S51可以ISP直接調試代碼]

        從代碼儲存來比較,STM32F107VCT6有512K字節的內部ROM,而AT89C51卻只有4K,89C52只有8K,但是可以通過外部PROM/EEPROM來讀取

        代碼,AT89C51可以尋址0x0000-0xFFFF,也就是16K拓展ROM.STM32F107VCT6也可以實現外部拓展代碼儲存,用NAND FLASH

        從隨機儲存器比較,STM32F107VCT6有64K RAM,AT89C51有512B RAM

        從指令集來比較,89Cxx類使用MCU-51指令集,STM32使用ARM指令集,ARM7系列和ARM9系列也各使用不同的指令集

        控制STM32的通用IO端口的代碼和AT89C51大有不同,對于STM32的各個端口還需要先配置,后使用,AT89C51就只需要一句

        sbit CtrlPort=Px^x;或者Px=0x??;[Px^x代表Px端口的第x位IO引腳,0x??代表一個兩位的十六進制的數]

        就可以使用這個IO引腳,對一個IO引腳輸出高電平和輸出低電平只需簡單的

        CtrlPort=1輸出高電平 CtrlPort=0輸出低電平

        STM32對于一個將要輸出高電平再低電平的端口需要先對它進行初始化,以STM32的PA3引腳為例

        void PA3_config(void)

        {

        GPIO_InitTypeDef GPIO_InitStructure; //這個是控制GPIO引腳的結構

        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO , ENABLE); //對PA的端口進行AFIO的時鐘處理

        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3; //第3個引腳

        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //輸出50MHz

        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD; //開漏輸出

        GPIO_Init(GPIOA, &GPIO_InitStructure); //對PA端口的Pin3引腳進行初始化

        }

        這個就是初始化,后面讓IO端口進行高低電平輸出

        void PA3_Turn_Low(void)

        {

        GPIO_ResetBits(GPIOA, GPIO_Pin_3); //設置PA3為低電平

        }

        void PA3_Turn_Hige(void)

        {

        GPIO_SetBits(GPIOA, GPIO_Pin_3); //設置PA3為高電平

        }

        用一個STM32的引腳挺麻煩的,不過處理器主頻也彌補函數過多帶來的增多額外時鐘處理的一些缺陷


        上一頁 1 2 下一頁

        關鍵詞: STM32微處理

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 福海县| 宝坻区| 喀喇| 新巴尔虎左旗| 化隆| 琼中| 江津市| 常德市| 长顺县| 资溪县| 黔西县| 宜春市| 博乐市| 呼玛县| 巴东县| 东方市| 托里县| 吉隆县| 高阳县| 孟村| 盱眙县| 肥西县| 南通市| 阳信县| 宜兴市| 堆龙德庆县| 达孜县| 丁青县| 临清市| 友谊县| 类乌齐县| 合山市| 房山区| 广安市| 房产| 龙川县| 阳高县| 长汀县| 潮安县| 志丹县| 宜君县|