历史上的今天
返回首页

历史上的今天

今天是:2025年03月12日(星期三)

正在发生

2018年03月12日 | 如何以10进位显示8位数的七段显示器?

2018-03-12 来源:eefocus

七段显示器在DE2可当成Verilog的控制台,做为16进位的输出结果。

介绍
使用环境:QUARTus II 7.2 SP3 + DE2 (旋风II EP2C35F627C6)

简单的使用开关当成2进位输入,并用8位数的七段显示器显示10进位的结果。

switch_seg10.v/Verilog


1/*
2 (c) OOMusou 2008年
3
4文件名    : switch_seg10.v
5编译器    : Quartus II 7.2 SP3
6描述: 演示如何使用8位7段显示小数
7发行    : 07/20/2008 1.0
8 *
9模块switch_seg10 (
输入的10 [17 :0] SW,
输出的11 [6 :0] HEX0,
输出的12 [6 :0] HEX1,
输出的13 [6 :0] HEX2,
输出的14 [6 :0] HEX3,
输出的15 [6 :0] HEX4,
输出的16 [6 :0] HEX5,
输出的17 [6 :0] HEX6,
输出的18 [6 :0] HEX7
19);
20
21 seg7_lut_8 u0 (
22 .i_dig (SW),
23 .o_seg0 (HEX0),
24 .o_seg1 (HEX1),
25 .o_seg2 (HEX2),
26 .o_seg3 (HEX3),
27 .o_seg4 (HEX4),
28 .o_seg5 (HEX5),
29 .o_seg6 (HEX6),
30 .o_seg7 (HEX7)
31);
32
33 endmodule

这是顶面模块,负责建立例化seg7_lut8。

switch_lut.v/Verilog
1/*
2 (c) OOMusou 2008年
3
4文件名    : switch_lut.v
5编译器    : QUARTus II 7.2 SP3
6描述: 演示如何使用8位7段显示小数
7发行     : 07/20/2008 1.0
8 *
9模块seg7_lut (
输入的10      [3 :0] i_dig,
11输出的reg [6 :0] o_seg
12);
13
14 always@ (i_dig)开始
15案件(i_dig)
16     4 ' h1 : o_seg = 7 ' b111_1001;  // ---t----
17     4 ' h2 : o_seg = 7 ' b010_0100;  // |      |
18     4 ' h3 : o_seg = 7 ' b011_0000;  // Lt    rt
19     4 ' h4 : o_seg = 7 ' b001_1001;  // |      |
20     4 ' h5 : o_seg = 7 ' b001_0010;  // ---m----
21     4 ' h6 : o_seg = 7 ' b000_0010;  // |      |
22     4 ' h7 : o_seg = 7 ' b111_1000;  // lb    铷
23     4 ' h8 : o_seg = 7 ' b000_0000;  // |      |
24     4 ' h9 : o_seg = 7 ' b001_1000;  // ---b----
25     4 ' ha : o_seg = 7 ' b000_1000;
26     4 ' hb : o_seg = 7 ' b000_0011;
27     4 ' hc : o_seg = 7 ' b100_0110;
28     4 ' hd : o_seg = 7 ' b010_0001;
29     4 '他: o_seg = 7 ' b000_0110;
30     4 ' hf : o_seg = 7 ' b000_1110;
31     4 ' h0 : o_seg = 7 ' b100_0000;
32 endcase
33末端
34
35 endmodule
36
 

这是一个七段显示器的查寻表。

switch_lut_8.v

1/*
2 (c) OOMusou 2008年
3
4文件名    : switch_lut_8.v
5编译器    : Quartus II 7.2 SP3
6描述: 演示如何使用8位7段显示小数
7发行     : 07/20/2008 1.0
8 *
9模块seg7_lut_8 (
输出的10 [6 :0] o_seg0,
输出的11 [6 :0] o_seg1,
输出的12 [6 :0] o_seg2,
输出的13 [6 :0] o_seg3,
输出的14 [6 :0] o_seg4,
输出的15 [6 :0] o_seg5,
输出的16 [6 :0] o_seg6,
输出的17 [6 :0] o_seg7,
输入的18 [31 :0] i_dig
19);
20
21 seg7_lut u0 (
22 .i_dig (i_dig%10),
23 .o_seg (o_seg0),
24);
25
26 seg7_lut u1 (
27 .i_dig ((i_dig或10)%10),
28 .o_seg (o_seg1)
29);
30
31 seg7_lut u2 (
32 .i_dig ((i_dig/100) %10),
33 .o_seg (o_seg2)
34);
35
36 seg7_lut u3 (
37 .i_dig ((i_dig/1000) %10),
38 .o_seg (o_seg3)
39);
40
41 seg7_lut u4 (
42 .i_dig ((i_dig/10000) %10),
43 .o_seg (o_seg4)
44);
45
46 seg7_lut u5 (
47 .i_dig ((i_dig/100000) %10),
48 .o_seg (o_seg5)
49);
50
51 seg7_lut u6 (
52 .i_dig ((i_dig/1000000) %10),
53 .o_seg (o_seg6)
54);
55
56 seg7_lut u7 (
57 .i_dig ((i_dig/10000000) %10),
58 .o_seg (o_seg7)
59);
60
61 endmodule

与(原创)如何以2进位显示8位数的七段显示器? (SOC) (Verilog) (DE2)与(原创)如何以16进位显示8位数的七段显示器? (SOC) (Verilog) (DE2)
相比较,关键的差异就在switch_lut_8.v。由于开关输入的是2进位,显示2进位就是将每个位送进一个七段显示器,显示16进位就是每4bit送进一个
七段显示器,但10进位怎么办呢?

如开关输入的是10进位的378,若要取的十位的7,将378/10 = 37,再将37% 10 = 7,这样就能取出10位的7了,其它位数同理。


推荐阅读

史海拾趣

ABI Electronics公司的发展小趣事

随着电子行业的快速发展,集成电路测试成为了ABI Electronics公司新的增长点。ABI团队针对集成电路的复杂性和多样性,开发出了先进的集成电路测试仪。该测试仪具备高精度、高可靠性、高自动化等特点,能够快速准确地检测集成电路的性能和故障,为集成电路的生产和研发提供了有力的支持。

达方(DARFON)公司的发展小趣事

达方电子股份有限公司于1997年在台北市创立,初始阶段主要致力于IT周边组件的研发与生产。创始人凭借对市场趋势的敏锐洞察,决定专注于笔记本键盘的生产,并逐步在行业中崭露头角。通过不断的技术创新和产品优化,达方电子的笔记本键盘逐渐获得了市场的认可,为公司的发展奠定了坚实的基础。

Automatic Connector公司的发展小趣事

面对日益严重的环境问题,Automatic Connector公司积极响应绿色制造的号召。公司投入大量资金研发环保型电子连接器,采用环保材料和节能工艺,减少生产过程中的污染排放。同时,公司还倡导循环经济的理念,推动废弃电子产品的回收和再利用。这一举措不仅提升了公司的社会形象,也为公司的可持续发展奠定了坚实的基础。

Force Technologies Ltd公司的发展小趣事

背景:随着全球对环境保护意识的增强,Force Technologies Ltd积极响应号召,将绿色环保理念融入企业发展中。

发展:公司投入巨资研发环保型电子产品和制造工艺,致力于减少生产过程中的废弃物排放和能源消耗。同时,公司还积极推动供应链的绿色化转型,与供应商共同制定环保标准和措施。这些努力不仅提升了公司的社会形象,还为其赢得了更多消费者的信赖和支持。

B&B Electronics Manufacturing Company公司的发展小趣事

在国内市场取得一定成绩后,B&B公司开始将目光投向国际市场。通过参加国际电子展会、建立海外销售网络等方式,公司逐渐打开了国际市场的大门。其产品以高品质和可靠性赢得了海外客户的信赖,为公司的进一步发展奠定了坚实的基础。

ECM [ECM Electronics Limited.]公司的发展小趣事

随着公司规模的扩大和产品线的丰富,ECM Electronics Limited.开始积极拓展市场。公司不仅在国内市场取得了良好的销售业绩,还积极开拓国际市场,将产品出口到多个国家和地区。为了更好地服务全球客户,公司还设立了海外办事处和研发中心,加强与国际市场的联系和合作。通过国际化战略的实施,ECM进一步提升了品牌知名度和市场竞争力。

问答坊 | AI 解惑

我对3G的理解(转)

经过与各方的沟通,我的理解: (1) 中国在选择3G技术的原则:实用,不贵,等待; (2) 中国不是在刻意等待TD-SCDMA的成熟:已经有了CDMA2000技术,导致在选择WCDMA时非常犹豫,因为要和欧洲搞好关系。 (3) 我们国家差的不仅是3G,还有别的很多方 ...…

查看全部问答>

一本开关电源经典书籍

这本书籍详细地讲解设计正激式和反激式开关电源设计的各个细节,包含了电感量计算和磁心选择等各方面,非常适合刚入门开关电源的工程师。…

查看全部问答>

请教这两个二极管的作用,型号如何选?

请教这两个二极管的作用,如何选择型号…

查看全部问答>

有个关于计算机组成原理的问题哦~~请指教!~

用16k*8位的DRAM芯片组成64k*32位存储器,画出该存储器的组成逻辑框图。 可以帮我解释一下吗??谢谢~~还有请问什么是位并联与地址串联呢??…

查看全部问答>

UltraEdit里unicode编码格式的代码用arm-elf-gcc编译的问题,求镞

问题比较复杂,只好从头说起。     我们希望在LCD上能显示日文,韩文字符,所以要用unicode编码,我们现用的开发工具是MDK(Keil3)+arm-elf-gcc,但MDK不支持unicode编码,还好我们找到好几款能编辑unicode编码的编辑器,我们打算选用 ...…

查看全部问答>

52单片机中断优先级的问题

单片机型号是AT89LS52 串口中断优先级最高,即IP寄存器中的串口位置为1,其他位置为0. 请问当计时器0的中断服务函数运行时(中断优先级低于串口),来了一个串口中断请求,这时候高优先级的串口中断是否可以打断正在执行的计时器0的中断服务函数 ...…

查看全部问答>

PPPoE和VOIP功能

我的系统要有PPPoE和VOIP的功能,用的是wince5.0的系统,我现在只是在定制的时候把这两个控件放进来,具体还有怎么设置?要怎样才能证明我定制的系统该功能可以用?谢谢!…

查看全部问答>

有关LED亮度的计量方式

[hide 与传统光源一样,LED光源的光学度量单位都是统一的。为了使各位读者了解和方便使用,下面将有关知识进行简要介绍: 一、 光通量 光通量是指光源在单位时间内发出的光量,即辐射功率能够被人眼所感受到的那部分辐射能量。它等于单位时间内某一 ...…

查看全部问答>

STM32F的DMA能否实现从内存到GPIO口的传输?

                                  …

查看全部问答>

stm家园接受香水城和广大stm使用者的监督

                                 现在论坛已经设置成 自由下载了  因为技术问题 以前给大家带来了很多不便和误解   ...…

查看全部问答>