之前一篇文章介紹了LED發光的原理,只需要將發光二極管對應的STC89C52引腳電平設置為低電平就可以了,好,我們把D1 D3 D5點亮。
怎么知道哪個引腳控制哪個發光二極管呢? 這個我想配套的電路原理資料會有解釋的,我這里也是看視頻知道的。
具體步驟是 先編寫代碼,編譯,然后用開發板對應的燒錄程序把最后生成的HEX文件寫進去。
先看下代碼:
#include 'reg52.h'
sbit ledD1=P2^0; //P20
sbit ledD3=P2^2; //P22
sbit ledD5=P2^4; //P24
void main()
{
while(1)
{
ledD1=0;
ledD3=0;
ledD5=0;
}
}
代碼解釋:
sbit ledD1=P2^0; //P20
要控制哪個引腳,就給這個引腳起一個名字,然后用這個名字設置引腳的數據。值得注意的是,P20引腳在程序中要寫成P2^0,其他引腳也是類似的做法。
我給P20這個引腳起了一個名字,叫ledD1,因為它控制D1這個發光二極管是否發光。
ledD1=0;
這是把P20這個引腳設置為低電平,這樣D1就亮了。
while(1)
{
ledD1=0;
ledD3=0;
ledD5=0;
}
為什么要有一個循環,因為我們想讓D1 D3 D5一直亮,所以就必須一直給P20 P22 P24低電平,重復做一件事情,那不就是用循環嗎?事實上我試過,直接把代碼寫成
ledD1=0;
ledD3=0;
ledD5=0;
D1 D3 D5也會一直亮,我猜測是編譯器給我們自動加上了循環的代碼。
燒錄
電腦用USB線連接開發板之后安裝驅動,打開燒錄程序,依次點擊 選擇心片類型 串口號 打開文件 程序下載

最后看下效果圖:

關鍵字:點亮LED STC89C52 引腳電平
引用地址:
點亮LED
推薦閱讀最新更新時間:2025-04-17 08:13
STM8S庫文件判斷指定IO輸入引腳電平GPIO_ReadInputPin有問題
/** * @brief Reads the specified GPIO input data pin. * @param GPIOx : Select the GPIO peripheral number (x = A to I). * @param GPIO_Pin : Specifies the pin number. * @retval BitStatus : GPIO input pin status. */ BitStatus GPIO_ReadInputPin(GPIO_TypeDef* GPIOx, GPIO_Pin_TypeDef GPIO_Pin) { return ((BitStatus)(G
[單片機]
C51編程2-輸出電平(點亮LED2)
上一講中,直接通過變量sbit來控制P2口中一個LED的亮滅。除了可以通過sbit位控制來設置LED,我們還可以通過P2口,直接控制P2口的LED。 下面的代碼可以實現上一講一樣的功能,控制led0亮。 #include reg52.h void main(){ P2 = 0xfe; } 從上面的代碼中,將0xfe直接賦值給P2為什么實現的功能跟位操作的一樣?而我們學習的C語言中,貌似沒有都見過sbit,P2這兩個東西。 在《標準C與C51》的文章中,提到為發揮C51單片機的特性,編譯器會增加對MCS51單片特性的支持,而sbit與P2就是為了發揮MCS51單片機增加的特性支持。有興趣的,可以通過下面的連接看
[單片機]
STM32——GPIO設置:快速點亮第一個LED燈
簡介 不同的開發板的原理圖結構也不盡相同,筆者在這里使用野火的MINI-V3(F103VET6)簡易開發板對GPIO口的設置做一個簡單的介紹,并實現按鍵控制LED燈的亮滅。方便讀者可以快速熟悉并靈活應用。 原理圖分析 首先我們來看一下發光二極管部分和按鍵部分的原理圖。 下面是按鍵的原理圖部分: 在這里,我們將使用KEY1(PA0)來控制紅燈PB5的亮滅。由原理圖可知,其控制LED燈的PB5引腳為低電平時,燈亮。當KEY1按下時,PA0引腳由之前的低電平轉為高電平(3V3)。明確了目的之后我們就可以分析GPIO口并進行設置了。 GPIO設置 經過上述的功能明確之后,我們將其分為兩大類,分別是輸入類(如按鍵)和
[單片機]
STM32的GPIO輸出編程實例之點亮三色LED
一、概述: 1、發光二極管簡介 發光二極管是半導體二極管的一種,可以把電能轉化為光能,常簡寫為LED。常用的是發紅光、綠光或黃光的二極管。發光二極管的反向擊穿電壓約為5V。它的正向伏安特性曲線很陡,使用時必須串聯限流電阻以控制通過管子的電流。限流電阻R可用下式計算: R = (E - UF)/IF 式中E為電源電壓,UF為LED的正向壓降,IF為LED的一般工作電流。LED廣泛應用于各種電子電路、家電、儀表等設備中,做電源或電平指示。 2、STM32 GPIO簡介 GPIO可以配置成以下8種工作模式: 浮空輸入:此端口在默認情況下什么都不接,呈高阻態,這種設置在數據傳輸時用的比較多。 上拉輸入:上拉輸入模式與浮空輸入模式相
[單片機]
PIC單片機之第一個工程分析,點亮LED
電路圖如下: 新建一個工程: 然后用工程向導設置工程 Project-》project wizard: 選擇芯片: 設置編譯器: 選擇文件位置: 這里設置工程就完成了 添加C文件,這里只是添加一個文件罷了 內容如下: 到這里文件編輯完成了 下面是下載設置,這里要選擇上PICkit3,因為我們的仿真器是這個: 最后就是比較關鍵的配置字了,這里我們使用默認的配置字,configure-》configuration bits...如下: 整個工程可以說配置完畢了,最后下載: 這樣就能夠把代碼數據下載成功進去了 實驗現象如下所示: 到這里就結束了整個的工程 但是有幾個地方要說的
[單片機]
Linglong之AVR程例1 點亮一個LED
原理圖用我上一次發的最小系統圖。 PA口接8個LED.LED陰極接地。 這里我用的WINAVR。。。。也就是GCC。。。很有名的一個軟件。 看程序: #include avr/io.h //io端口寄存器配置文件,必須包含 //#include util/delay.h int main(void) //GCC中main文件必須為返回整形值的函數,沒有參數 { DDRA = 0xff; //設制PA口都為輸出 while(1) { PORTA = 0x01; //點亮第一個LED } }
[單片機]
STC89C52+AT24C02實現設備開機次數記錄
一、項目介紹 在一些設備的使用過程中,需要對設備的使用次數進行統計和記錄。這可以用于評估設備的實際使用壽命、確定維護周期、預測故障風險等方面,對于提高設備的穩定性和可靠性具有重要意義。 當前項目采用STC89C52作為主控芯片,AT24C02作為存儲芯片,實現了設備的開機次數記錄功能。每次設備上電啟動時,程序會從AT24C02中讀取之前的記錄值并加1,然后再將新的記錄值寫入AT24C02中,從而完成一次開機次數的記錄。通過這種方式,可以實時、準確地記錄設備的使用次數,并且不受斷電影響,數據可靠性高 二、AT24C02介紹 AT24C02是一款由Atmel公司生產的串行EEPROM存儲器芯片,可以存儲2K(2048bit)
[單片機]
以STC8H8K64U單片機兼容STC89C52開發板的設計
本文以STC8H8K64U單片機兼容STC89C52傳統開發板及發揮引腳最大化資源配置設計核心板,結合與Keil C兼容的圖形化編程語言,以項目開發和教學應用為基礎講解對51單片機的軟硬件開發應用,以更好地推進單片機教學和項目開發實踐應用。 0 引言 單片機教學在很多高職院校的很多專業都有涉及,不同層次專業水平的學生,在學習單片機與實踐開發應用中難以過渡,特別是單片機硬件結構和軟件編程基礎較差時更是難以入門。本文基于眾多單片機教學與應用研究及學徒制教學改革與探索,從單片機應用與教學現狀分析、STC8H8K64U 單片機簡介、STC8H8K64U 兼容STC89C52 開發板的核心系統設計及圖形化編程與仿真等五個方面進行講述,供
[單片機]