chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用IO引腳作為輸入控制LED的教程

科技觀察員 ? 來(lái)源:circuitdigest ? 作者:Sourav Gupta ? 2022-08-10 16:26 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在本教程中,我們將學(xué)習(xí)如何使用另一個(gè)IO 引腳作為輸入并控制額外的 LED。在不浪費(fèi)太多時(shí)間的情況下,讓我們?cè)u(píng)估一下我們需要什么樣的硬件設(shè)置。

硬件設(shè)置和要求

由于需要將開(kāi)關(guān)用作輸入,我們首先需要的是一個(gè)按鈕。我們還需要一個(gè)額外的 LED 來(lái)由該按鈕控制。除了這兩個(gè)之外,我們還需要一個(gè)電阻器來(lái)限制 LED 電流,以及一個(gè)用于下拉按鈕的附加電阻器。這將在示意圖部分進(jìn)一步說(shuō)明。我們需要的組件 -

一個(gè)按鈕(任何種類(lèi)的瞬時(shí)開(kāi)關(guān),特別是觸覺(jué)開(kāi)關(guān))

LED的任何顏色

4.7k 下拉電阻

100R電阻

更不用說(shuō),除了上述組件,我們還需要基于N76E003 微控制器的開(kāi)發(fā)板以及Nu-Link 編程器。此外,還需要面包板和連接線來(lái)連接所有組件,如下所示。

poYBAGLzaxWAb0ZAAAgFYBZm4kU983.png

N76E003 LED和按鈕接口電路

正如我們?cè)谙旅娴氖疽鈭D中看到的,開(kāi)發(fā)板內(nèi)部的測(cè)試 LED 連接在端口 1.4上,另外一個(gè) LED 連接在端口 1.5上。電阻 R3 用于限制 LED 電流。

poYBAGLzaxGAdnqZAABdkXrjiFk951.png

在引腳 1.6 中,連接了一個(gè)名為 SW 的按鈕。每當(dāng)按下按鈕時(shí),引腳將變?yōu)楦唠娖?。否則會(huì)被 4.7K的下拉電阻R1 拉低。

該引腳也是編程器訪問(wèn)的與程序相關(guān)的引腳。它用于發(fā)送程序數(shù)據(jù)。但是,我們將看到選擇這些引腳的原因,并獲得有關(guān)N76E003 引腳映射的公平信息。

N76E003 引腳圖

N76E003的引腳圖如下圖所示——

poYBAGLzaw2AUJsyAAGf4FH534E652.png

正如我們所看到的,每個(gè)引腳都有多種功能,可以用于不同的目的。讓我們舉個(gè)例子。引腳 1.7 可用作中斷、模擬輸入或通用輸入輸出操作。因此,如果任何引腳用作 I/O 引腳,則相應(yīng)的功能將不可用。

因此,用作 LED 輸出引腳的引腳 1.5 將失去 PWM 和其他功能。但這不是問(wèn)題,因?yàn)樵擁?xiàng)目不需要其他功能。之所以選擇引腳 1.5 作為輸出,引腳 1.6 作為輸入,是因?yàn)?GND 和 VDD 引腳最近可用,便于連接。

但是,在這個(gè)微控制器的 20 個(gè)引腳中,有 18 個(gè)引腳可以用作 GPIO 引腳。引腳 2.0 專(zhuān)用于復(fù)位輸入,不能用作輸出。除此引腳外,所有引腳均可配置為下述模式。

pYYBAGLzawmAYLvzAACA3ltsVFc528.png

根據(jù)數(shù)據(jù)表,PxM1.n 和 PxM2.n 是兩個(gè)寄存器,用于確定 I/O 端口的控制操作?,F(xiàn)在,開(kāi)始寫(xiě)入和讀取 GPIO 端口是完全不同的事情。因?yàn)閷?xiě)入端口控制寄存器會(huì)改變端口的鎖存狀態(tài),而讀取端口會(huì)獲得邏輯狀態(tài)的狀態(tài)。但要讀取端口,必須將其設(shè)置為輸入模式。

N76E003 的簡(jiǎn)單 GPIO 控制程序

本教程使用的完整程序可以在本頁(yè)底部找到,代碼解釋如下。

將引腳設(shè)置為輸入

讓我們先從輸入開(kāi)始。如前所述,要讀取端口的狀態(tài),需要將其設(shè)置為輸入。因此,由于我們選擇了 P1.6 作為我們的輸入開(kāi)關(guān)引腳,我們通過(guò)下面的代碼片段行來(lái)表示它。

#define SW P16

需要將相同的引腳設(shè)置為輸入。因此,在設(shè)置功能上,使用下面的行將引腳設(shè)置為輸入。

無(wú)效設(shè)置(無(wú)效){

P14_準(zhǔn)模式;

P15_準(zhǔn)模式;

P16_輸入模式;

}

這一行P16_Input_Mode; 在“BSP include library”的Function_define.h頭文件中定義,將pin位設(shè)置為P1M1|=SET_BIT6; P1M2&=~SET_BIT6。SET_BIT6也在同一個(gè)頭文件中定義為 -

#define SET_BIT6 0x40

將引腳設(shè)置為輸出

與輸入引腳相同,板載測(cè)試 LED 和外部 LED1 使用的輸出引腳也在代碼的第一部分中定義了各自的引腳。

#define Test_LED P14

#define LED1 P15

這些引腳使用以下行在設(shè)置函數(shù)中設(shè)置為輸出。

無(wú)效設(shè)置(無(wú)效){

P14_Quasi_Mode; // 輸出

P15_準(zhǔn)模式;// 輸出

P16_輸入模式;

}

這些行也在Function_define.h頭文件中定義,它將引腳位設(shè)置為P1M1&=~SET_BIT4; P1M2&=~SET_BIT4。SET_BIT6也在同一個(gè)頭文件中定義為 -

#define SET_BIT4 0x10

無(wú)限循環(huán)

一個(gè)硬件,如果連接到電源并且工作正常,應(yīng)該連續(xù)輸出,應(yīng)用程序永遠(yuǎn)不會(huì)停止。它無(wú)限次地做同樣的事情。無(wú)限while循環(huán)的功能來(lái)了。while 循環(huán)內(nèi)的應(yīng)用程序無(wú)限運(yùn)行。

而(1){

Test_LED = 0;

sw_delay(150);

測(cè)試_LED = 1;

sw_delay(150);

如果(SW == 1){

LED1 = 0;

}

其他 {

LED1 = 1;

}

}

}

上面的 while 循環(huán)根據(jù)sw_delay值使 LED 閃爍,并檢查 SW 的狀態(tài)。如果開(kāi)關(guān)被按下,P1.6 為高電平,因此當(dāng)按下時(shí),讀取狀態(tài)為 1。在這種情況下,當(dāng)開(kāi)關(guān)被按下并且端口 P1.6 保持高電平時(shí), LED1 將發(fā)光。

對(duì) N76E003 進(jìn)行編程并驗(yàn)證輸出

在我們的 N76E003 入門(mén)教程中,我們已經(jīng)學(xué)習(xí)了如何對(duì) N76E003 進(jìn)行編程,因此我們將在這里重復(fù)相同的步驟來(lái)對(duì)我們的電路板進(jìn)行編程。代碼編譯成功,返回0個(gè)warning和0個(gè)Errors,使用Keil默認(rèn)的刷機(jī)方式刷機(jī)。

pYYBAGLzawOAeEq0AAU8QbGQxg0655.png

如上圖所示,當(dāng)我按下按鈕時(shí),我們的外部 LED 會(huì)亮起。

#include "N76E003.h"
#include "SFR_Macro.h"
#include "函數(shù)定義.h"
#include "Common.h"
#include "延遲.h"
#define Test_LED P14
#define LED1 P15
#define SW P16
無(wú)效設(shè)置(無(wú)效);
無(wú)效 sw_delay (int ms);

無(wú)效的主要(無(wú)效){
設(shè)置();
而(1){ Test_LED = 0;

sw_delay(150);
測(cè)試_LED = 1;
sw_delay(150);
如果(SW == 1){
LED1 = 0;
}
別的 {
LED1 = 1;
}

}
}

// 基于軟件的延遲。時(shí)間不準(zhǔn)確。
無(wú)效 sw_delay (int ms){
整數(shù)a,b;
對(duì)于(a=0;a<1296;a++){
對(duì)于 (b=0; b }

}

//這是應(yīng)用程序運(yùn)行前的設(shè)置文件
無(wú)效設(shè)置(無(wú)效){
P14_準(zhǔn)模式;
P15_準(zhǔn)模式;
P16_輸入模式;
}

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • led
    led
    +關(guān)注

    關(guān)注

    242

    文章

    23840

    瀏覽量

    673959
  • LED閃爍
    +關(guān)注

    關(guān)注

    0

    文章

    29

    瀏覽量

    10043
  • IO引腳
    +關(guān)注

    關(guān)注

    0

    文章

    10

    瀏覽量

    9635
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    STM32按鍵控制LED的亮滅

    使用一個(gè)按鍵控制LED的亮滅,按鍵按下時(shí)LED亮起,按鍵松開(kāi)時(shí)LED熄滅。通過(guò)按鍵控制實(shí)驗(yàn)來(lái)介紹下 IO
    的頭像 發(fā)表于 12-11 14:19 ?4868次閱讀
    STM32按鍵<b class='flag-5'>控制</b><b class='flag-5'>LED</b>的亮滅

    stm32g030j6m6串口如何燒錄程序,NRST引腳能否在作為輸入IO使用時(shí)不復(fù)位?

    ; 2.使用SWD下載,NRST引腳必須作為輸入,但外部輸入低電平時(shí),MCU會(huì)復(fù)位。 問(wèn):串口如何燒錄程序,NRST引腳能否在
    發(fā)表于 03-11 07:48

    stm32g030j6m6串口如何燒錄程序,NRST引腳能否在作為輸入IO使用時(shí)不復(fù)位?

    ; 2.使用SWD下載,NRST引腳必須作為輸入,但外部輸入低電平時(shí),MCU會(huì)復(fù)位。 問(wèn):串口如何燒錄程序,NRST引腳能否在
    發(fā)表于 03-10 07:35

    無(wú)線io輸入控制模塊

    工業(yè) 大為智通公司隆重推出交流220v無(wú)線io輸入控制模塊dw-j31系列設(shè)備,這款設(shè)備的特點(diǎn):(1)設(shè)備供電直接采用交流220v,(2)輸入采集端接交流220v信號(hào)的無(wú)線plc工業(yè)
    發(fā)表于 07-10 15:55

    FPGA Cyclone IV擴(kuò)展IO作為輸入時(shí)的電平判斷

    在設(shè)計(jì)系統(tǒng)的過(guò)程中,我需要將CycloneIV的擴(kuò)展IO作為普通的輸入引腳來(lái)檢測(cè)外部的輸入信號(hào),請(qǐng)問(wèn)對(duì)外部
    發(fā)表于 03-16 14:46

    FPGA的擴(kuò)展IO引腳作為輸入直接采集信號(hào)?

    想把FPGA(Altera Cyclone IV)的擴(kuò)展IO引腳作為輸入直接采集信號(hào),請(qǐng)問(wèn)除了電壓外,對(duì)輸入電流有要求嗎,最大能夠承受多大的
    發(fā)表于 03-26 09:31

    請(qǐng)問(wèn)在運(yùn)行時(shí)配置PIC 32中選擇的IO引腳作為輸入和輸出的最佳方式是什么?

    嗨,在運(yùn)行時(shí)配置PIC 32中選擇的IO引腳作為輸入和輸出的最佳方式是什么?在操作過(guò)程中,我需要配置一個(gè)引腳
    發(fā)表于 07-04 08:55

    DM642的GP0作為通用IO時(shí),是可以做為輸入和輸出,還是只能作為輸入?

    DM642的GP0[4]/EXT_INT4----GP0[7]/EXT_INT7作為通用IO時(shí),是可以做為輸入和輸出,還是只能作為輸入?我看
    發(fā)表于 07-27 09:37

    IO作為外部中斷輸入有幾個(gè)步驟

    I/O口作為外部中斷。generalpurpose input and outputSTM32 的每個(gè) IO口都可以作為中斷輸入,要把 IO
    發(fā)表于 08-06 07:02

    介紹下IO作為輸入的使用

    前幾章我們介紹的都是 IO 口輸出的使用,這一章我們通過(guò)按鍵控制實(shí)驗(yàn)來(lái)介紹下 IO作為輸入的使用。本章所要實(shí)現(xiàn)的功能是:通過(guò)開(kāi)發(fā)板上的
    發(fā)表于 08-12 07:03

    如何使用STM32F103的IO作為輸入使用

    按鍵輸入實(shí)驗(yàn)1. 實(shí)驗(yàn)介紹本實(shí)驗(yàn)介紹如何使用STM32F103的IO作為輸入使用。IO作為
    發(fā)表于 08-12 06:52

    stm32f1的io作為輸出的使用方法

    3個(gè)按鍵分別控制3個(gè)led燈的亮滅。先看看最終的效果:按鍵檢測(cè)本章分為以下幾個(gè)小節(jié):stm32 io口簡(jiǎn)介硬件設(shè)計(jì)軟件設(shè)計(jì)proteus仿真stm32 io口簡(jiǎn)介
    發(fā)表于 01-12 06:32

    STM32的引腳可以作為普通IO口使用嗎

    STM32 PB3 PB4 PA15引腳作為普通IO口使用指南stm32的PB3 PB4 PA15引腳可以在使用SWD仿真和燒錄的情況下釋放出來(lái),
    發(fā)表于 01-18 06:47

    使用Adafruit IO作為MQTT控制Raspberry Pi GPIO的AC設(shè)備

    在本教程中,我們將使用 Adafruit IO 作為 MQTT 代理來(lái)控制連接到 Raspberry Pi GPIO 的 AC 設(shè)備。
    的頭像 發(fā)表于 09-01 16:30 ?3065次閱讀
    使用Adafruit <b class='flag-5'>IO</b><b class='flag-5'>作為</b>MQTT<b class='flag-5'>控制</b>Raspberry Pi GPIO的AC設(shè)備

    使用STM32F10xxx SWJ引腳作為標(biāo)準(zhǔn)IO

    本文介紹了如何使用GPIO固件庫(kù)來(lái)釋放SWJ-DP引腳(串行JTAG調(diào)試端口),并且重用為標(biāo)準(zhǔn)IO。SWJ-DP IO能夠用作標(biāo)準(zhǔn)IOs,它的性能可以達(dá)到標(biāo)準(zhǔn)IO的80%。
    的頭像 發(fā)表于 12-23 11:47 ?4052次閱讀