成人做爰黄A片免费视频网站野外,成人免费看片APP下载,成人做爰A片免费看黄冈白狐影院,成人做爰黄级A片免费看土方,成人做爰A片AAA毛真人,成人做爰A片免费看网站性晶

技術熱線: 4007-888-234

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

更新時間: 2020-07-20
閱讀量:3633

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

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

MicroController-Interfacing-Model.jpg

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

一、LED與8051的接口

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

二、8051單片機

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

Microcontroller-Crystal-COnnections.jpg

三、LED(發光二極管)

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

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

LED-Polarity.jpg

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

三、LED與8051的接口

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

Interfacing-LED-to-8051-Methods.jpg

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

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

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

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

Proteus-Simulation-Circuit.jpg

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

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

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

#include<reg51.h>
sbit LED= P1^0; // 端口1,pin0被命名為LED
//函數聲明
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++) //用來延遲時間
}

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

欢迎光临: 成安县| 清水河县| 泽库县| 西盟| 湖州市| 黄冈市| 凤凰县| 确山县| 恩平市| 大余县| 顺义区| 长阳| 涞源县| 台湾省| 易门县| 蒲江县| 巨野县| 临安市| 平顺县| 定州市| 呼图壁县| 永清县| 麻江县| 胶南市| 南陵县| 石河子市| 临澧县| 萝北县| 庆城县| 河源市| 清徐县| 格尔木市| 乐山市| 巩义市| 乌鲁木齐市| 安龙县| 营口市| 盐池县| 桃源县| 河西区| 镇雄县|