keil怎么設(shè)置led燈間隔 單片機(jī)代碼編程時(shí)如何嵌入?yún)R編語(yǔ)言?
單片機(jī)代碼編程時(shí)如何嵌入?yún)R編語(yǔ)言?Keil軟件設(shè)置Keil項(xiàng)目建立后,會(huì)混合設(shè)置項(xiàng)目的匯編語(yǔ)言。軟件編寫(xiě)51單片機(jī)12MHZ晶振延時(shí)1 s為例匯編程序編寫(xiě)#雜注匯編//編寫(xiě)一條匯編語(yǔ)句#實(shí)用主義在..
單片機(jī)代碼編程時(shí)如何嵌入?yún)R編語(yǔ)言?
Keil軟件設(shè)置Keil項(xiàng)目建立后,會(huì)混合設(shè)置項(xiàng)目的匯編語(yǔ)言。
軟件編寫(xiě)51單片機(jī)12MHZ晶振延時(shí)1 s為例匯編程序編寫(xiě)
#雜注匯編
//編寫(xiě)一條匯編語(yǔ)句
#實(shí)用主義
在...之間
程序效果:P1港8位流水燈,時(shí)間間隔1S。
#includeltreg51.hgt
#includeltintrins.hgtt
void main()
{
無(wú)符號(hào)字符i0xfe
while(1)
{
P1i
i_crol_(i,1)
#雜注匯編
D:MOV R7,#10
D:MOV R6,#200
D:MOV R5,#248
DJNZ R5,美元
DJNZ R6,D
控制51流水燈的間隔時(shí)間,比如每隔一秒或者間隔200ms,delay函數(shù)里的for循環(huán)具體數(shù)字是怎樣取的?
這個(gè)時(shí)間可以簡(jiǎn)單,也可以復(fù)雜。
簡(jiǎn)單,不太準(zhǔn)確。
你可以給10000,然后用手機(jī)或者電腦上的計(jì)時(shí)軟件看看是多少秒,然后就可以大致確定每秒或者每200 ms的循環(huán)次數(shù)。
它既復(fù)雜又準(zhǔn)確。
你需要使用KeilC51軟件,在建立的項(xiàng)目中設(shè)置使用的51芯片和51的時(shí)鐘頻率,輸入代碼,編譯通過(guò)調(diào)試。
您可以在左側(cè)的框中看到延遲功能的詳細(xì)執(zhí)行時(shí)間。從進(jìn)入函數(shù)前的值中減去退出函數(shù)后的值,就是函數(shù)的確切執(zhí)行時(shí)間。注意51的正確型號(hào)和時(shí)鐘頻率。
怎樣用STM32點(diǎn)亮LED燈?怎樣用STM32讓LED閃爍?
對(duì)于單片機(jī)編程,點(diǎn)亮LED是單片機(jī)編程的入門(mén)操作。
對(duì)于STM32,我習(xí)慣寄存器操作,所以本文將以KEIL4.12為開(kāi)發(fā)環(huán)境,寄存器操作測(cè)試為編程思路。
首先,創(chuàng)建一個(gè)名為L(zhǎng)ED_Project的項(xiàng)目。在keil右側(cè)的項(xiàng)目窗口中,選擇項(xiàng)目,用鼠標(biāo)右鍵點(diǎn)擊,如下圖所示。
選擇設(shè)備項(xiàng)目,選擇相應(yīng)的型號(hào),
在項(xiàng)目中添加相應(yīng)寄存器版本的支持文件,因?yàn)橹恍枰狶ED相關(guān)的寄存器操作,只需要RCC和GPIO的固件庫(kù)文件。
創(chuàng)建main.c文件并包含# includ:
# define LED _ ON GPIOA-GTO dr |(1 ltlt 4)
# define LED _ OFF GPIOA-gtODRamp ~(1 ltlt 4)
定義LED的GPIO初始化函數(shù),
如上圖所示,
RCC-gtAPB2:功能如下。
設(shè)置LED燈的關(guān)燈時(shí)間梯度,功能如下圖所示。
如上圖所示,函數(shù)中使用for循環(huán),從最快10ms的間隔開(kāi)始完成一個(gè)led的閃爍頻率,逐漸增加時(shí)間,最后1S閃爍一次,然后逐漸減少間隔時(shí)間,加快閃爍頻率。
LED閃爍的實(shí)現(xiàn)效果也可以設(shè)計(jì),每個(gè)人都可以自由發(fā)揮代碼的魅力和能力。
以上是對(duì)問(wèn)題的粗略回答,難免會(huì)有疏漏。
希望大家可以留言,喜歡,轉(zhuǎn)發(fā),關(guān)注。