天堂草原最受欢迎的角色,天堂动漫,天堂在线,色天堂下载,天堂中文在线资源,亚洲男人天堂

技術(shù)熱線: 4007-888-234

專注差異化嵌入式產(chǎn)品解決方案 給智能產(chǎn)品定制注入靈魂給予生命

提供開發(fā)工具、應(yīng)用測試 完善的開發(fā)代碼案例庫分享

從全面的產(chǎn)品導(dǎo)入到強大技術(shù)支援服務(wù) 全程貼心伴隨服務(wù),創(chuàng)造無限潛能!

技術(shù)支持

如何使用8051單片機制作圣誕燈方案?-英銳恩科技-單片機開發(fā)公司

更新時間: 2020-07-20

單片機開發(fā)者來說,使用8051單片機制作圣誕燈并不陌生。英銳恩單片機開發(fā)工程師分享一個學(xué)習(xí)8051單片機入門案例:圣誕燈方案。與開始使用8051單片機類似,LED接口是單片機接口編程中的基本內(nèi)容。每個單片機的體系結(jié)構(gòu)都不相同,但是接口概念對于所有單片機幾乎都是相同的,本文將為介紹與8051單片機連接的LED。

接口是一種在單片機和接口設(shè)備之間提供通信的方法。接口可以是輸入設(shè)備或輸出設(shè)備,也可以是存儲設(shè)備或處理設(shè)備。

MicroController-Interfacing-Model.jpg

輸入接口設(shè)備:按鈕開關(guān)、鍵盤、紅外傳感器、溫度傳感器、氣體傳感器等。這些設(shè)備向單片機提供一些信息,這稱為輸入數(shù)據(jù)。
輸出接口設(shè)備: LED、LCD、蜂鳴器、繼電器驅(qū)動器、直流電動機驅(qū)動器、7段顯示器等。
存儲接口設(shè)備:  用于存儲/保留數(shù)據(jù),例如SD卡、EEPROM、DataFlash、實時時鐘等。

一、LED與8051的接口

接口包括硬件(接口設(shè)備)和軟件(進(jìn)行通信的源代碼,也稱為驅(qū)動程序)。簡單來說,要將LED用作輸出設(shè)備,應(yīng)將LED連接到單片機端口,并且必須在內(nèi)部對MC進(jìn)行編程,以使LED亮或滅或閃爍或變暗。該程序稱為驅(qū)動程序,可以使用任何程序語言(例如匯編語言、C語言等)開發(fā)驅(qū)動程序軟件。

二、8051單片機

8051單片機由英特爾于1980年代發(fā)明,基于哈佛架構(gòu)的40引腳PDIP(塑料雙列直插式封裝)單片機。8051單片機有一個片上振蕩器,但是它需要一個外部時鐘來運行。比如MC的XTAL引腳之間連接了一個晶振,該晶振需要兩個相同值的電容器(33pF)來生成所需頻率的時鐘信號。

Microcontroller-Crystal-COnnections.jpg

三、LED(發(fā)光二極管)

LED是用于許多電子設(shè)備中的半導(dǎo)體設(shè)備,主要用于信號傳輸/功率指示目的。它非常便宜且容易獲得,具有各種形狀、顏色和大小。LED還用于設(shè)計LED招牌和交通控制信號燈等。

如圖下圖所示,它有兩個正極和負(fù)極端子。

LED-Polarity.jpg

知道極性的方法是用萬用表進(jìn)行測試或仔細(xì)觀察LED內(nèi)部。led內(nèi)較大的一端是-ve(陰極),而較短的一端是+ve(陽極。識別極性的另一種方法是,連接導(dǎo)線時,LED長的針腳是正極,短的針腳是負(fù)極。

三、LED與8051的接口

我們可以通過兩種方式將LED連接到8051單片機。但是連接和編程技術(shù)會有所不同,本文中,與圣誕燈方案有關(guān)的8051單片機包括:AT89C52/AT89C51單片機,以及LED閃爍代碼的信息。

Interfacing-LED-to-8051-Methods.jpg

仔細(xì)觀察接口LED2處于正向偏置狀態(tài),因為5v的輸入電壓已連接到LED的正極,因此此處的單片機引腳應(yīng)處于LOW電平。反之亦然,與接口1連接。

該電阻在LED接口中很重要,它可以限制流動電流并避免損壞LED和MCU。

(1)僅當(dāng)電流流向地面時,MC的PIN值為HIGH時,接口1才會發(fā)光。
(2)僅當(dāng)MC的PIN值低時,接口2才會發(fā)光,因為電流由于其較低的電位而流向PIN。

電路圖如下所示,一個LED連接到端口1的引腳0。

Proteus-Simulation-Circuit.jpg

本文的圣誕燈方案,連接了11.0592 MHz的晶振以生成時鐘。我們知道8051單片機在12個CPU周期內(nèi)執(zhí)行一條指令,因此,該11.0592Mhz晶振使該8051以0.92 MIPS(每秒百萬條指令)的速度運行。

在下面的代碼中,LED定義為端口1的引腳0。在主要功能中,LED每半秒切換一次。每次執(zhí)行時,“延遲”函數(shù)都會執(zhí)行空語句。

當(dāng)使用11.0592 MHz晶振時,值60000(使用Keil軟件編譯)將生成約1秒(延遲時間)的空語句執(zhí)行時間。這樣,使用下面給出的圣誕燈方案代碼可使連接到P1.0引腳的LED閃爍。

#include<reg51.h>
sbit LED= P1^0; // 端口1,pin0被命名為LED
//函數(shù)聲明
void cct_init(void);
void delay(int a);
int main(void)
{cct_init();
while(1)
{LED=0;
delay(60000);
LED=1;
delay(60000);
}}
void cct_init(void)
{P0= 0x00;
P1= 0x00;
P2= 0x00;
P3= 0x00;
}
void delay (int a)
{int i;
for( i=0; i<a; i++) //用來延遲時間
}

以上就是英銳恩單片機開發(fā)工程師分享的如何使用8051單片機制作圣誕燈方案的案例知識。英銳恩專注單片機應(yīng)用方案設(shè)計與開發(fā),提供8位單片機、16位單片機、32位單片機、運放芯片和模擬開關(guān)。

404
返回首頁 |  返回上一頁
联系我们: 舟曲县| 祥云县| 罗定市| 华亭县| 宜君县| 分宜县| 太康县| 全州县| 烟台市| 大化| 樟树市| 峨眉山市| 汝阳县| 昌乐县| 瑞安市| 渝北区| 新源县| 城固县| 布拖县| 梅河口市| 和硕县| 阳东县| 临潭县| 五河县| 马山县| 临沭县| 景德镇市| 阜城县| 延川县| 巫山县| 报价| 云浮市| 涞水县| 宜兴市| 绥江县| 禄丰县| 通化市| 武强县| 大宁县| 沈丘县| 偏关县|