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

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

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

用ARM7-LPC2148連接7段顯示器的教程

科技觀察員 ? 來(lái)源:circuitdigest ? 作者:普拉莫斯·坦加維 ? 2022-10-28 15:34 ? 次閱讀

顯示是任何嵌入式系統(tǒng)應(yīng)用程序中非常重要的一部分,因?yàn)樗梢詭椭脩袅私庀到y(tǒng)的狀態(tài),并顯示系統(tǒng)生成的輸出或任何警告消息。電子產(chǎn)品中使用的顯示器類型很多,如7段顯示器,LCD顯示器,TFT觸摸屏顯示器,LED顯示器等。

今天在本教程中,我們將用ARM7-LPC2148連接7段顯示器。在詳細(xì)介紹之前,我們將了解如何控制7段模塊以顯示任意數(shù)量的字符。

7段顯示器

poYBAGNbhfqAeokFAABu9N5jRpY922.jpg

7段顯示是顯示數(shù)字和字符的最簡(jiǎn)單的顯示單元之一。它通常用于顯示數(shù)字,并且比點(diǎn)陣顯示具有更亮的照明和更簡(jiǎn)單的結(jié)構(gòu)。由于照明更亮,因此可以從比LCD更大的距離觀看輸出。如上圖所示的7段顯示器,它由8個(gè)LED組成,每個(gè)LED用于照亮單元的一個(gè)段,第8個(gè)LED用于照亮7段顯示器中的DOT。當(dāng)使用兩個(gè)或多個(gè) 7 段模塊時(shí),例如用于顯示 (0.1),則使用 8thLED。單個(gè)模塊用于顯示單個(gè)數(shù)字或字符。要顯示多個(gè)數(shù)字或字符,請(qǐng)使用多個(gè) 7 段。

7段顯示器的引腳

有10個(gè)引腳,其中8個(gè)引腳用于表示a,b,c,d,e,f,g和h / dp,中間兩個(gè)引腳是所有LED的公共陽(yáng)極/陰極。這些公共陽(yáng)極/陰極在內(nèi)部短路,因此我們只需要連接一個(gè)COM引腳

poYBAGNbhfuAe2sOAAAWC9KsOAg446.gif

根據(jù)連接,我們將 7 段分為兩種類型:

共陰極

其中,所有8個(gè)LED的所有負(fù)端子(陰極)都連接在一起(見(jiàn)下圖),命名為COM。所有正極均單獨(dú)放置或連接到微控制器引腳。如果我們使用微控制器,我們將邏輯設(shè)置為高電平以照亮特定內(nèi)容,并將低電平設(shè)置為關(guān)閉LED。

普通陽(yáng)極

其中,所有8個(gè)LED的所有正極(陽(yáng)極)都連接在一起,稱為COM。所有負(fù)熱量都單獨(dú)放置或連接到微控制器引腳。如果我們使用微控制器,我們將邏輯設(shè)置為低電平以照亮特定,并將邏輯設(shè)置為高以關(guān)閉LED。

pYYBAGNbhfyAHHYdAAAaF8HOazY857.png

因此,根據(jù)引腳值,可以打開(kāi)或關(guān)閉特定的段或7段的行以顯示所需的數(shù)字或字母。例如,要顯示 0 位數(shù)字,我們必須將引腳ABCDEF 設(shè)置為高電平,僅將 G 設(shè)置為低電平。由于ABCDEF 指示燈亮起,G 指示燈熄滅,因此在 7 段模塊中形成 0 位數(shù)字。(這是針對(duì)共陰極的,對(duì)于公共陽(yáng)極,它是相反的)。

下表顯示了根據(jù)LPC2148引腳的HEX值和相應(yīng)數(shù)字,用于共陰極配置。

pYYBAGNbhZaAcNlFAAB5yzM0jmk121.png

重要提示:在上表中,我根據(jù)LPC2148中使用的引腳給出了十六進(jìn)制值,請(qǐng)查看下面的電路圖。您可以使用所需的任何引腳,但會(huì)根據(jù)該引腳更改十六進(jìn)制值。

所需材料

硬件

斷續(xù)器2148

七段顯示模塊(個(gè)位數(shù))

試驗(yàn)板

連接線

軟件

凱爾烏維森5

閃光魔術(shù)

電路圖

為了將7段與LPC2148連接,無(wú)需外部元件,如下圖所示:

pYYBAGNbhf6Ab3gQAACL5F7w1R0409.png

下表顯示了7段模塊和LPC2148之間的電路連接

pYYBAGNbhauAaCHRAAAzS-mIls4137.png

poYBAGNbhgCAaTy9AACi2SUWpuQ825.jpg

對(duì) ARM7 LPC2148 進(jìn)行編程

在上一教程中,我們已經(jīng)學(xué)會(huì)了如何使用 Keil 對(duì) ARM7-LPC2148 進(jìn)行編程。我們?cè)谶@里使用相同的Keil uVision 5來(lái)編寫(xiě)代碼并創(chuàng)建十六進(jìn)制文件,然后使用閃存魔術(shù)工具將十六進(jìn)制文件上傳到LPC2148。我們使用USB電纜供電并將代碼上傳到LPC2148

本教程末尾給出了帶有視頻說(shuō)明的完整代碼。在這里,我們解釋代碼的幾個(gè)重要部分。

首先,我們需要包含LPC214x系列微控制器的頭文件

#include

接下來(lái)將引腳設(shè)置為輸出

IO0DIR=IO0DIR|0xffffffff

這會(huì)將引腳 P0.0 設(shè)置為 P0.31 作為輸出,但我們將僅使用引腳(P0.0、P0.1、P0.4、P0.5、P0.6、P0.7 和 P0.8)。

然后根據(jù)要顯示的數(shù)字將某些引腳設(shè)置為邏輯高電平或低電平。在這里,我們將顯示從(0到9)的值。我們將使用一個(gè)數(shù)組,該數(shù)組由值 0 到 9 的 HEX 值組成。

unsigned int a[]={0xf3,0x12,0x163,0x133,0x192,0x1b1,0x1f1,0x13,0x1f3,0x1b3};

值將在代碼放入 while 循環(huán)時(shí)連續(xù)顯示

while(1)

{

for(i=0;i<=9;i++)

{

IO0SET=IO0SET|a[i]; //sets corresponding pins HIGH

delay(9000); //Calls delay function

IO0CLR=IO0CLR|a[i]; //Sets corresponding pins LOW

}

}

在這里,IOSET和IOCRR分別用于設(shè)置引腳高電平和低電平。由于我們使用了端口0引腳,因此我們有IO0SET和IO0CLR。

For loop用于在每次迭代中增加i,每次當(dāng)i增加時(shí),7段也會(huì)增加其上顯示的數(shù)字。

延遲函數(shù)用于在 SET 和 CLR 之間生成延遲時(shí)間

void delay(int k) //Function for making delay

{

int i,j;

for(i=0;i

for(j=0;j<=1000;j++);

}
完整代碼

//INTERFACING SINGLE SEVEN SEGMENT MODULE WITH LPC2148

//CIRCUIT DIGEST

//By Pramoth.T


#include //Header file for LPC214x Series microcontrollers

void delay(int ); //Function declaration for delay

int i; //Variable declared as integer

unsigned int a[]={0xf3,0x12,0x163,0x133,0x192,0x1b1,0x1f1,0x13,0x1f3,0x1b3}; //integer array with numbers for display

int main()

{

IO0DIR=IO0DIR|0xffffffff; //Sets direction as output for PORT 0 pins

while(1)

{

for(i=0;i<=9;i++)

{

IO0SET=IO0SET|a[i]; //sets corresponding pins HIGH

delay(9000); //Calls delay function

IO0CLR=IO0CLR|a[i]; //Sets corresponding pins LOW

}

}

return 0;

}


void delay(int k) //Function for making delay

{

int i,j;

for(i=0;i
for(j=0;j<=1000;j++);

}

聲明:本文內(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)投訴
  • 顯示器
    +關(guān)注

    關(guān)注

    21

    文章

    4999

    瀏覽量

    140187
  • ARM
    ARM
    +關(guān)注

    關(guān)注

    134

    文章

    9137

    瀏覽量

    368285
  • LPC2148
    +關(guān)注

    關(guān)注

    0

    文章

    25

    瀏覽量

    14940
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    使用ESP8266和LPC2148遠(yuǎn)程控制設(shè)備的方式

    在本教程中,我們將ESP8266 Wi-Fi 模塊與 ARM7-LPC2148 微控制連接,并創(chuàng)建一個(gè)網(wǎng)絡(luò)服務(wù)來(lái)控制連接
    的頭像 發(fā)表于 09-20 16:21 ?3436次閱讀
    使用ESP8266和<b class='flag-5'>LPC2148</b>遠(yuǎn)程控制設(shè)備的方式

    使用ARM7-LPC2148控制伺服電機(jī)的教程

    在本教程中,我們將使用 ARM7-LPC2148 控制伺服電機(jī)。伺服電機(jī)比步進(jìn)電機(jī)具有低功耗的優(yōu)勢(shì)。當(dāng)?shù)竭_(dá)所需位置時(shí),伺服電機(jī)停止其功耗,但步進(jìn)電機(jī)繼續(xù)消耗功率以將軸鎖定在所需位置。伺服電機(jī)主要用于 機(jī)器人項(xiàng)目 ,因?yàn)樗鼈兊臏?zhǔn)確性和易于操作性。
    發(fā)表于 09-22 16:40 ?1492次閱讀
    使用<b class='flag-5'>ARM7-LPC2148</b>控制伺服電機(jī)的教程

    將16x2 LCD與ARM7-LPC2148連接顯示文字

    在本教程中,我們將了解如何將 16x2 LCD 與 ARM7-LPC2148 微控制連接,并顯示簡(jiǎn)單的歡迎消息。如果您是 ARM7 的新手
    的頭像 發(fā)表于 10-28 17:12 ?1983次閱讀
    將16x2 LCD與<b class='flag-5'>ARM7-LPC2148</b><b class='flag-5'>連接</b>并<b class='flag-5'>顯示</b>文字

    如何使用CD4511驅(qū)動(dòng)7顯示器

    在本教程中,我們將使用 IC 4511 驅(qū)動(dòng) 7 顯示器。該CD4511 IC基本上是一個(gè)BCD轉(zhuǎn)7解碼
    的頭像 發(fā)表于 01-02 10:15 ?1w次閱讀
    如何使用CD4511驅(qū)動(dòng)<b class='flag-5'>7</b><b class='flag-5'>段</b><b class='flag-5'>顯示器</b>

    ARM7-LPC2148開(kāi)發(fā)板

    LPC2148;3. CPU的所有I/O口,除了可以通過(guò)跳線與外圍器件相連之外,還可以通過(guò)跳線斷開(kāi)與外圍器件的連接關(guān)系,全部提供給用戶作為產(chǎn)品開(kāi)發(fā)之用;4.全面支持10種型號(hào)的64
    發(fā)表于 04-18 17:21

    使用MAX6954驅(qū)動(dòng)7LED顯示器

    使用MAX6954驅(qū)動(dòng)7LED顯示器:本文旨在幫助工程師快速掌握 MAX6954 驅(qū)動(dòng)7 單色LED 驅(qū)動(dòng)
    發(fā)表于 10-02 13:46 ?46次下載

    7LED顯示器的驅(qū)動(dòng)電路圖

    7LED顯示器的驅(qū)動(dòng)電路圖
    發(fā)表于 07-18 11:33 ?1422次閱讀
    <b class='flag-5'>7</b><b class='flag-5'>段</b>LED<b class='flag-5'>顯示器</b>的驅(qū)動(dòng)電路圖

    基于鉆井深度顯示器和帶有Arduino支持的7顯示器設(shè)計(jì)

    在這個(gè)Arduino項(xiàng)目中,通過(guò)陀螺傳感的鉆井深度顯示器和帶有Arduino支持的7顯示器,來(lái)讀取所需位置的深度。
    的頭像 發(fā)表于 05-20 17:14 ?2668次閱讀
    基于鉆井深度<b class='flag-5'>顯示器</b>和帶有Arduino支持的<b class='flag-5'>7</b><b class='flag-5'>段</b><b class='flag-5'>顯示器</b>設(shè)計(jì)

    使用ARM7 LPC2148微控制構(gòu)建一個(gè)簡(jiǎn)單的機(jī)械臂

    在本教程中,讓我們使用 ARM7-LPC2148 微控制構(gòu)建一個(gè)簡(jiǎn)單的機(jī)械臂,通過(guò)手動(dòng)控制幾個(gè)電位來(lái)拾取和放置物體。
    發(fā)表于 08-24 16:08 ?1276次閱讀
    使用<b class='flag-5'>ARM7</b> <b class='flag-5'>LPC2148</b>微控制<b class='flag-5'>器</b>構(gòu)建一個(gè)簡(jiǎn)單的機(jī)械臂

    如何使用ARM7-LPC2148微控制中的PWM控制LED的亮度

    在本教程中,我們將使用 ARM7-LPC2148 微控制中的 PWM 控制 LED 的亮度。
    的頭像 發(fā)表于 09-23 15:14 ?3410次閱讀
    如何使用<b class='flag-5'>ARM7-LPC2148</b>微控制<b class='flag-5'>器</b>中的PWM控制LED的亮度

    將步進(jìn)電機(jī)與ARM7-LPC2148連接起來(lái)的方法

    在本教程中,我們將了解如何將步進(jìn)電機(jī)與 ARM7-LPC2148 連接以及如何控制它的速度。
    的頭像 發(fā)表于 09-23 16:50 ?1744次閱讀
    將步進(jìn)電機(jī)與<b class='flag-5'>ARM7-LPC2148</b><b class='flag-5'>連接</b>起來(lái)的方法

    如何在ARM7-LPC2148中使用ADC

    在本教程中,我們將了解如何在 ARM7-LPC2148 中使用 ADC,方法是向模擬引腳提供不同的電壓,并在模數(shù)轉(zhuǎn)換后將其顯示在16x2 LCD 屏幕上。
    的頭像 發(fā)表于 09-23 17:02 ?3279次閱讀
    如何在<b class='flag-5'>ARM7-LPC2148</b>中使用ADC

    創(chuàng)建一個(gè)7顯示器

    電子發(fā)燒友網(wǎng)站提供《創(chuàng)建一個(gè)7顯示器.zip》資料免費(fèi)下載
    發(fā)表于 10-26 10:51 ?0次下載
    創(chuàng)建一個(gè)<b class='flag-5'>7</b><b class='flag-5'>段</b><b class='flag-5'>顯示器</b>

    使用Arduino測(cè)試7顯示器

    電子發(fā)燒友網(wǎng)站提供《使用Arduino測(cè)試7顯示器.zip》資料免費(fèi)下載
    發(fā)表于 11-15 10:56 ?0次下載
    使用Arduino測(cè)試<b class='flag-5'>7</b><b class='flag-5'>段</b><b class='flag-5'>顯示器</b>

    使用7顯示器的交通燈

    電子發(fā)燒友網(wǎng)站提供《使用7顯示器的交通燈.zip》資料免費(fèi)下載
    發(fā)表于 06-25 14:40 ?0次下載
    使用<b class='flag-5'>7</b><b class='flag-5'>段</b><b class='flag-5'>顯示器</b>的交通燈