0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

用ARM7-LPC2148连接7段显示器的教程

科技观察员 来源:circuitdigest 作者:普拉莫斯·坦加维 2022-10-28 15:34 次阅读

显示是任何嵌入式系统应用程序中非常重要的一部分,因为它可以帮助用户了解系统的状态,并显示系统生成的输出或任何警告消息。电子产品中使用的显示器类型很多,如7段显示器,LCD显示器,TFT触摸屏显示器,LED显示器等。

今天在本教程中,我们将用ARM7-LPC2148连接7段显示器。在详细介绍之前,我们将了解如何控制7段模块以显示任意数量的字符。

7段显示器

poYBAGNbhfqAeokFAABu9N5jRpY922.jpg

7段显示是显示数字和字符的最简单的显示单元之一。它通常用于显示数字,并且比点阵显示具有更亮的照明和更简单的结构。由于照明更亮,因此可以从比LCD更大的距离观看输出。如上图所示的7段显示器,它由8个LED组成,每个LED用于照亮单元的一个段,第8个LED用于照亮7段显示器中的DOT。当使用两个或多个 7 段模块时,例如用于显示 (0.1),则使用 8thLED。单个模块用于显示单个数字或字符。要显示多个数字或字符,请使用多个 7 段。

7段显示器的引脚

有10个引脚,其中8个引脚用于表示a,b,c,d,e,f,g和h / dp,中间两个引脚是所有LED的公共阳极/阴极。这些公共阳极/阴极在内部短路,因此我们只需要连接一个COM引脚

poYBAGNbhfuAe2sOAAAWC9KsOAg446.gif

根据连接,我们将 7 段分为两种类型:

共阴极

其中,所有8个LED的所有负端子(阴极)都连接在一起(见下图),命名为COM。所有正极均单独放置或连接到微控制器引脚。如果我们使用微控制器,我们将逻辑设置为高电平以照亮特定内容,并将低电平设置为关闭LED。

普通阳极

其中,所有8个LED的所有正极(阳极)都连接在一起,称为COM。所有负热量都单独放置或连接到微控制器引脚。如果我们使用微控制器,我们将逻辑设置为低电平以照亮特定,并将逻辑设置为高以关闭LED。

pYYBAGNbhfyAHHYdAAAaF8HOazY857.png

因此,根据引脚值,可以打开或关闭特定的段或7段的行以显示所需的数字或字母。例如,要显示 0 位数字,我们必须将引脚ABCDEF 设置为高电平,仅将 G 设置为低电平。由于ABCDEF 指示灯亮起,G 指示灯熄灭,因此在 7 段模块中形成 0 位数字。(这是针对共阴极的,对于公共阳极,它是相反的)。

下表显示了根据LPC2148引脚的HEX值和相应数字,用于共阴极配置。

pYYBAGNbhZaAcNlFAAB5yzM0jmk121.png

重要提示:在上表中,我根据LPC2148中使用的引脚给出了十六进制值,请查看下面的电路图。您可以使用所需的任何引脚,但会根据该引脚更改十六进制值。

所需材料

硬件

断续器2148

七段显示模块(个位数)

试验板

连接线

软件

凯尔乌维森5

闪光魔术

电路图

为了将7段与LPC2148连接,无需外部元件,如下图所示:

pYYBAGNbhf6Ab3gQAACL5F7w1R0409.png

下表显示了7段模块和LPC2148之间的电路连接

pYYBAGNbhauAaCHRAAAzS-mIls4137.png

poYBAGNbhgCAaTy9AACi2SUWpuQ825.jpg

对 ARM7 LPC2148 进行编程

在上一教程中,我们已经学会了如何使用 Keil 对 ARM7-LPC2148 进行编程。我们在这里使用相同的Keil uVision 5来编写代码并创建十六进制文件,然后使用闪存魔术工具将十六进制文件上传到LPC2148。我们使用USB电缆供电并将代码上传到LPC2148

本教程末尾给出了带有视频说明的完整代码。在这里,我们解释代码的几个重要部分。

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

#include

接下来将引脚设置为输出

IO0DIR=IO0DIR|0xffffffff

这会将引脚 P0.0 设置为 P0.31 作为输出,但我们将仅使用引脚(P0.0、P0.1、P0.4、P0.5、P0.6、P0.7 和 P0.8)。

然后根据要显示的数字将某些引脚设置为逻辑高电平或低电平。在这里,我们将显示从(0到9)的值。我们将使用一个数组,该数组由值 0 到 9 的 HEX 值组成。

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

值将在代码放入 while 循环时连续显示

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分别用于设置引脚高电平和低电平。由于我们使用了端口0引脚,因此我们有IO0SET和IO0CLR。

For loop用于在每次迭代中增加i,每次当i增加时,7段也会增加其上显示的数字。

延迟函数用于在 SET 和 CLR 之间生成延迟时间

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++);

}

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 显示器
    +关注

    关注

    21

    文章

    4980

    浏览量

    140045
  • ARM
    ARM
    +关注

    关注

    134

    文章

    9098

    浏览量

    367710
  • LPC2148
    +关注

    关注

    0

    文章

    25

    浏览量

    14938
收藏 人收藏

    评论

    相关推荐

    使用ESP8266和LPC2148远程控制设备的方式

    在本教程中,我们将ESP8266 Wi-Fi 模块与 ARM7-LPC2148 微控制连接,并创建一个网络服务来控制连接
    的头像 发表于 09-20 16:21 3396次阅读
    使用ESP8266和<b class='flag-5'>LPC2148</b>远程控制设备的方式

    使用ARM7-LPC2148控制伺服电机的教程

    在本教程中,我们将使用 ARM7-LPC2148 控制伺服电机。伺服电机比步进电机具有低功耗的优势。当到达所需位置时,伺服电机停止其功耗,但步进电机继续消耗功率以将轴锁定在所需位置。伺服电机主要用于 机器人项目 ,因为它们的准确性和易于操作性。
    发表于 09-22 16:40 1464次阅读
    使用<b class='flag-5'>ARM7-LPC2148</b>控制伺服电机的教程

    将16x2 LCD与ARM7-LPC2148连接显示文字

    在本教程中,我们将了解如何将 16x2 LCD 与 ARM7-LPC2148 微控制连接,并显示简单的欢迎消息。如果您是 ARM7 的新手
    的头像 发表于 10-28 17:12 1965次阅读
    将16x2 LCD与<b class='flag-5'>ARM7-LPC2148</b><b class='flag-5'>连接</b>并<b class='flag-5'>显示</b>文字

    如何使用CD4511驱动7显示器

    在本教程中,我们将使用 IC 4511 驱动 7 显示器。该CD4511 IC基本上是一个BCD转7解码
    的头像 发表于 01-02 10:15 1w次阅读
    如何使用CD4511驱动<b class='flag-5'>7</b><b class='flag-5'>段</b><b class='flag-5'>显示器</b>

    ARM7-LPC2148开发板

    LPC2148;3. CPU的所有I/O口,除了可以通过跳线与外围器件相连之外,还可以通过跳线断开与外围器件的连接关系,全部提供给用户作为产品开发之用;4.全面支持10种型号的64
    发表于 04-18 17:21

    使用MAX6954驱动7LED显示器

    使用MAX6954驱动7LED显示器:本文旨在帮助工程师快速掌握 MAX6954 驱动7 单色LED 驱动
    发表于 10-02 13:46 46次下载

    7LED显示器的驱动电路图

    7LED显示器的驱动电路图
    发表于 07-18 11:33 1417次阅读
    <b class='flag-5'>7</b><b class='flag-5'>段</b>LED<b class='flag-5'>显示器</b>的驱动电路图

    基于钻井深度显示器和带有Arduino支持的7显示器设计

    在这个Arduino项目中,通过陀螺传感的钻井深度显示器和带有Arduino支持的7显示器,来读取所需位置的深度。
    的头像 发表于 05-20 17:14 2650次阅读
    基于钻井深度<b class='flag-5'>显示器</b>和带有Arduino支持的<b class='flag-5'>7</b><b class='flag-5'>段</b><b class='flag-5'>显示器</b>设计

    使用ARM7 LPC2148微控制构建一个简单的机械臂

    在本教程中,让我们使用 ARM7-LPC2148 微控制构建一个简单的机械臂,通过手动控制几个电位来拾取和放置物体。
    发表于 08-24 16:08 1260次阅读
    使用<b class='flag-5'>ARM7</b> <b class='flag-5'>LPC2148</b>微控制<b class='flag-5'>器</b>构建一个简单的机械臂

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

    在本教程中,我们将使用 ARM7-LPC2148 微控制中的 PWM 控制 LED 的亮度。
    的头像 发表于 09-23 15:14 3385次阅读
    如何使用<b class='flag-5'>ARM7-LPC2148</b>微控制<b class='flag-5'>器</b>中的PWM控制LED的亮度

    将步进电机与ARM7-LPC2148连接起来的方法

    在本教程中,我们将了解如何将步进电机与 ARM7-LPC2148 连接以及如何控制它的速度。
    的头像 发表于 09-23 16:50 1723次阅读
    将步进电机与<b class='flag-5'>ARM7-LPC2148</b><b class='flag-5'>连接</b>起来的方法

    如何在ARM7-LPC2148中使用ADC

    在本教程中,我们将了解如何在 ARM7-LPC2148 中使用 ADC,方法是向模拟引脚提供不同的电压,并在模数转换后将其显示在16x2 LCD 屏幕上。
    的头像 发表于 09-23 17:02 3240次阅读
    如何在<b class='flag-5'>ARM7-LPC2148</b>中使用ADC

    创建一个7显示器

    电子发烧友网站提供《创建一个7显示器.zip》资料免费下载
    发表于 10-26 10:51 0次下载
    创建一个<b class='flag-5'>7</b><b class='flag-5'>段</b><b class='flag-5'>显示器</b>

    使用Arduino测试7显示器

    电子发烧友网站提供《使用Arduino测试7显示器.zip》资料免费下载
    发表于 11-15 10:56 0次下载
    使用Arduino测试<b class='flag-5'>7</b><b class='flag-5'>段</b><b class='flag-5'>显示器</b>

    使用7显示器的交通灯

    电子发烧友网站提供《使用7显示器的交通灯.zip》资料免费下载
    发表于 06-25 14:40 0次下载
    使用<b class='flag-5'>7</b><b class='flag-5'>段</b><b class='flag-5'>显示器</b>的交通灯