单片机复位后为什么要对sp重新赋值_51单片机系列之2点亮第一个led小灯
點(diǎn)亮led燈簡(jiǎn)單的理解就是要求陽(yáng)極高電平陰極低電平。接下來(lái)我們?nèi)タ纯磫纹瑱C(jī)的原理圖,找到led 模塊。
如圖可以看到led的陽(yáng)極是連接的VCC(電源高電平)陰極連接的接口是單片機(jī)的I/O口P20到P27.要想led點(diǎn)亮只需控制單片機(jī)I/O口輸出低電平即可(單片機(jī)I/O口默認(rèn)高電平)。
接下來(lái)就是如何編寫程序并燒錄到單片機(jī)中了。
第一次編寫單片機(jī)程序我們首先要有一個(gè)框架
第一句#include"reg52.h"是必不可少的這句可以把單片機(jī)的接口等信息導(dǎo)入
第二句位定義 sbit D1=P2^0; 將單片機(jī)I/O口定義一個(gè)名字讓我們可以操作。從原理圖可以看出LED1陰極連接的是P2.0這里注意,使用c語(yǔ)言編程的時(shí)候要用P2^0表示
接下來(lái)編寫主程序框架應(yīng)該是
上面我們提到需要控制單片機(jī)I/O口輸出0即可點(diǎn)亮這個(gè)LED燈。
所以這里的命令應(yīng)該是D1=0;
因?yàn)閱纹瑱C(jī)運(yùn)行完程序以后會(huì)復(fù)位然后重新執(zhí)行主程序。為了避免這種情況的出現(xiàn)我們?cè)谥鞒绦蜃詈蠹右粋€(gè)死循環(huán)while(1);
有時(shí)沒(méi)有這個(gè)死循環(huán)并沒(méi)有錯(cuò)誤可是很多時(shí)候找不到錯(cuò)誤的時(shí)候發(fā)現(xiàn)加一個(gè)while(1)程序就正常了。為了保持嚴(yán)謹(jǐn)避免這種錯(cuò)誤,以后請(qǐng)務(wù)必在主程序末尾加上一個(gè)死循環(huán)。
最后寫出的程序如下
然后編譯,無(wú)錯(cuò)誤無(wú)警告
因?yàn)閱纹瑱C(jī)燒錄需要hex文件所以我們接下來(lái)去輸出hex文件
再次編譯就能在存放工程文件的文件夾中找到hex文件。
接下來(lái)將程序燒錄到單片機(jī)中。我是買的普中的單片機(jī)學(xué)習(xí)板附贈(zèng)有普中自己寫的燒錄軟件,購(gòu)買學(xué)習(xí)板都會(huì)附贈(zèng)有燒錄軟件的也會(huì)附帶后視頻教程,我這里寫文案的目的是記錄自己的學(xué)習(xí)過(guò)程,方便自己以后遺忘時(shí)快速?gòu)?fù)習(xí)。也可以分享給嫌棄看視頻教程太慢的同學(xué)用這種圖文快速學(xué)習(xí)。
輸入單片機(jī)后呈現(xiàn)的效果如下
總結(jié)
以上是生活随笔為你收集整理的单片机复位后为什么要对sp重新赋值_51单片机系列之2点亮第一个led小灯的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 互联网+监管是什么意思
- 下一篇: 快准牌电脑发软件_做自媒体必备技能,视频