新系列 51微控制器

2021-08-19 17:50:33 字數 989 閱讀 7202

考慮到部落格內容的太單調,我就新開了乙個系列:51微控制器系列

微控制器的控制方法還是使用c語言來控制所以在c語言這裡新開乙個系列;和c語言的程式相比,51微控制器的執行更加趨向於過程而非結果,也就是說微控制器輸出結果的方法使用執行程式的過程,也就是說一次一次的執行這個程式,來體現所需要的結果;和只需要執行一次程式就得到結果的c語言程式不同,微控制器需要一次一次的迴圈執行程式,故微控制器的程式結構大體是這樣的:

#include "reg51.h"

main()

}微控制器需要一次一次的執行程式,然後一次一次的顯示結果,所以微控制器的主要結構是迴圈。

除此之外,微控制器驅動每個元件的方法是輸出電平不同的電訊號,所以在主函式的迴圈之前,還需要對微控制器的輸出口進行定義,用於給你在程式裡使用:例如我點亮乙個led就要寫出這樣的程式:

#include"reg51.h"

sbit led=p0^0

main()

}這個程式在執行過編譯之後生成的.hex 檔案寫入微控制器之後就可以讓微控制器的第乙個led一直亮著(你還得把p0^0所對應的輸出管腳和第乙個led的輸出管腳相連線),如果你想讓那個led閃爍就讓微控制器對那個led週期性的輸出高低電平,這樣就可以看到led在閃爍,但是程式的執行是一瞬間的,換句話說,執行的速度遠快於人眼可以捕捉的速度,所以我們還需要讓他延長執行的時間,你可以把「led =1;」這個語句寫一萬遍,這樣就可以進行延時,但是更好的方法是編寫乙個延時函式,讓函式執行相應的時間來達到演示的目的:

int delay(int a)

在微控制器的基本編寫的程式中加入上述的一些模組就可以實現一些基本的功能:

#include "reg51.h"

sbit ***/*管腳名*/=px^x;//管腳位置

int *** (int x)//自定義函式

int delay (int a)

}//延時函式

main()

}這樣乙個最基本的微控制器程式體就完成了,剩下的只是需要自己編寫一些程式或者模組加入到程式中就完成了。

51微控制器 51系列微控制器的開發模板

這個是微控制器開發的模板,下面給些注釋和思路,開發的時候其實是經常使用的,之前也不懂,參加藍橋杯之後學習到的,如果有時間和機會,會結合前輩的這些思路,再寫個stm32和嵌入式下的開發模板,這個很有利於專案的設計開發。說明 適用於stc15f2k60s2微控制器,其他的類似,只需要改動相關的定時器設定...

51微控制器系列 基礎指令

這學期開始學習51微控制器,感覺比彙編簡單,關鍵是51的彙編有乙個好的ide,練習起來也比較方便,這個系列主要記錄51的學習經驗。下面是基礎指令的練習 org 0000h ljmp main org 0030h main clr c cy 0 setb c cy 1 mov a,1111 0000b...

51微控制器

數碼管顯示幾乎是每次藍橋杯微控制器設計與開發組競賽的必考部分,相對於使用lcd1602作為顯示裝置,使用數碼管來顯示能夠更好的考察參賽選手的微控制器基本功,因為ct107d開發平台的設計使得數碼管的顯示不僅牽扯到數碼管顯示的 基本內容,還涉及到74hc573鎖存器,74hc02異或門,74hc138...