stm32點(diǎn)亮一個燈完整代碼 Proteus8.6 SP2建立點(diǎn)亮LED工程?
Proteus8.6 SP2建立點(diǎn)亮LED工程?Proteus是英國著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵開啟到PCB設(shè)計(jì),真正實(shí)現(xiàn)方法了從概念到產(chǎn)品的完
Proteus8.6 SP2建立點(diǎn)亮LED工程?
Proteus是英國著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機(jī)與外圍電路協(xié)同仿真,一鍵開啟到PCB設(shè)計(jì),真正實(shí)現(xiàn)方法了從概念到產(chǎn)品的完整設(shè)計(jì)。是目前世界上真正將電路仿真軟件、PCB設(shè)計(jì)軟件和虛擬模型仿真軟件三合一的設(shè)計(jì)平臺,其處理器模型意見8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又提高了Cortex和DSP系列處理器,并緩慢提高其他系列處理器模型。在編譯方面,它也接受IAR、Keil和MPLAB等多種編譯器。
1、先打開Proteus8.6軟件
怎樣用STM32點(diǎn)亮LED燈?怎樣用STM32讓LED閃爍?
用單片機(jī)來穿越火線圖標(biāo)一個LED燈,是非常基本的操作,是初學(xué)者第一個、不過是必奇遇的小項(xiàng)目。在用STM32單片機(jī)利用點(diǎn)燈的時候,不需要將端口系統(tǒng)設(shè)置為輸出來,而且要作為輸出高電平或是低電平。下面詳細(xì)講解。
下圖是單片機(jī)驅(qū)動LED的電路原理圖,采用灌電流的,當(dāng)單片機(jī)輸出來低電平時,LED被點(diǎn)亮;當(dāng)單片機(jī)輸出低高電平時,LED熄滅。
如果沒有要讓LED發(fā)光,單片機(jī)還要輸出低電平。STM32單片機(jī)寄存器的配置不只是51單片機(jī),必須可以打開端口的時鐘、不需要設(shè)置里端口的方向、輸出類型等。配置程序如下圖所示。
上圖中在用STM32的PA4來控制LED,簡單將GPIOA的時鐘打開,再將端口配置為推挽輸出,上圖中速度設(shè)置是為50MHz。這里按結(jié)構(gòu)的庫函數(shù)。
將端口配置后以后,就也可以控制端口的輸出低了,如果不是端口輸出1,即高電平則LED處在燃燒起來狀態(tài);如果不是端口輸出低電平,則LED處在穿越火線圖標(biāo)狀態(tài);不使用庫函數(shù)寫的程序萬分感謝。
#defineLED1_ONGPIO_ResetBits(GPIOA,GPIO_Pin_4)//PA40
#defineLED1_OFFGPIO_SetBits(GPIOA,GPIO_Pin_4)//PA41
是從宏定義將LED1_ON定義為不點(diǎn)燈;將LED1_OFF定義方法為關(guān)燈。在主函數(shù)中全局函數(shù)該宏定義即可實(shí)現(xiàn)方法LED的點(diǎn)亮圖標(biāo)和慢慢熄滅。
要是要實(shí)現(xiàn)程序光芒閃爍功能,也可以按照延時來實(shí)現(xiàn)程序,也也可以定時器來實(shí)現(xiàn)方法。
以上就是這個問題的回答,感謝留言、評論、點(diǎn)贊和評論。更多電子設(shè)計(jì)、硬件設(shè)計(jì)、單片機(jī)等內(nèi)容請參與本頭條號:最in嵌入式。感激大家。