交通灯的数码管显示

交通灯的数码管显示
交通灯的数码管显示

LIBRARY ieee;

use IEEE.STD_LOGIC_1164.ALL;

use IEEE.STD_LOGIC_ARITH.ALL;

use IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY display IS

PORT(

clk_1k : IN STD_LOGIC;--时钟输入

ch,cl : IN std_logic_vector(3 downto 0);

chip_sel : OUT STD_LOGIC_VECTOR(2 downto 0);

segout : OUT STD_LOGIC_VECTOR(6 downto 0)

);

END display;

ARCHITECTURE one OF display IS

begin

process(clk_1k)

variable kk : std_logic;--位选信号

FUNCTION b_to_s7(bcd8421:std_logic_vector(3 downto 0)) RETURN STD_LOGIC_VECTOR IS

V ARIABLE smg7: STD_LOGIC_VECTOR(6 DOWNTO 0);

BEGIN

CASE bcd8421 IS --计算输出值

WHEN "0000" => smg7:="1111110"; --abcdefg

WHEN "0001" => smg7:="0110000"; --共阴数码管

WHEN "0010" => smg7:="1101101";

WHEN "0011" => smg7:="1111001";

WHEN "0100" => smg7:="0110011";

WHEN "0101" => smg7:="1011011";

WHEN "0110" => smg7:="1011111";

WHEN "0111" => smg7:="1110000";

WHEN "1000" => smg7:="1111111";

WHEN "1001" => smg7:="1111011";

WHEN OTHERS=>

END CASE;

RETURN smg7;

END b_to_s7;

begin

if rising_edge(clk_1k) then

kk:= not kk;

chip_sel<=(0=>kk,others=>'0');--选用后两个数码管

end if;

if kk='1' then

segout<=b_to_s7(ch);

else segout<=b_to_s7(cl);

end if;

end process;

end one;

七段数码管及其驱动七段数码管及其驱动原理,

[转]7段数码管管脚顺序及译码驱动集成电路74LS47,48 7段数码管管脚顺序及译码驱动集成电路74LS47,48 这里介绍一下7段数码管见下图7段数码管又分共阴和共阳两种显示方式。如果把7段数码管的每一段都等效成发光二极管的正负两个极,那共阴就是把abcdefg 这7个发光二极管的负极连接在一起并接地;它们的7个正极接到7段译码驱动电路74LS48的相对应的驱动端上(也是abcdefg)!此时若显示数字1,那么译码驱动电路输出段bc为高电平,其他段扫描输出端为低电平,以此类推。如果7段数码管是共阳显示电路,那就需要选用74LS47译码驱动集成电路。共阳就是把abcdefg的7个发光二极管的正极连接在一起并接到5V电源上,其余的7个负极接到74LS47相应的abcdefg输出端上。无论共阴共阳7段显示电路,都需要加限流电阻,否则通电后就把7段译码管烧坏了!限流电阻的选取是:5V电源电压减去发光二极管的工作电压除上10ma到15ma得数即为限流电阻的值。发光二极管的工作电压一般在1.8V--2.2V,为计算方便,通常选2V即可!发光二极管的工作电流选取在10-20ma,电流选小了,7段数码管不太亮,选大了工作时间长了发光管易烧坏!对于大功率7段数码管可根据实际情况来选取限流电阻及电阻的瓦数!74ls48引脚图管脚功能表 74LS48芯片是一种常用的七段数码管译码器驱动器,常用在各种数字电路和单片机系统的显示系统中,下面我就给大家介绍一下这个元件的一些参数与应用技术等资料。74ls48引脚功能表—七段译码驱动器功能表http://www.51hei. com/chip/312.html74LS47引脚图管脚功能表:

基于单片机C语言交通灯数码管显示的设计完整版

基于单片机C语言交通灯数码管显示的设计完整版 /* P2口位控口,P0口段控口, P1口按键,P3口发光二极管*/ #include #define uchar unsigned char #define uint unsigned int /*共阳数码管字型码数组*/ /*0,1,2,3,4,5,6,7,8,9,P.,灭*/ char code dis_code[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0x21,0xff}; /*共阳数码管位控码数组(从右往左点亮,反向驱动)*/ char code weikong_code[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; char find_code[8]; sbit S2=P1^0; //S1键启动交通灯控制器 sbit S3=P1^1; //S2键回归“P.”状态 sbit S4=P1^2; //S3键处理紧急状况 uchar time; void DelayX1ms(uint count) //1ms延时函数 { uint j; while(count--!=0) { for(j=0;j<80;j++); } } /*********************显示函数*****************************/ void disp() { char i; char k; for(i=0;i<8;i++) { P2=weikong_code[i]; k=find_code[i]; P0=dis_code[k]; DelayX1ms(1); } } /********************1s延时********************************/ void delay1s() { TMOD=0X01; EA=1; ET0=1; TH0=0x3C; //定时器定时50Ms

八位七段数码管动态显示电路设计

八位七段数码管动态显示电路的设计 一七段显示器介绍 七段显示器,在许多产品或场合上经常可见。其内部结构是由八个发光二极管所组成,为七个笔画与一个小数点,依顺时针方向为A、B、C、D、E、F、G与DP等八组发光二极管之排列,可用以显示0~9数字及英文数A、b、C、d、E、F。目前常用的七段显示器通常附有小数点,如此使其得以显示阿拉伯数之小数点部份。七段显示器的脚位和线路图如下图4.1所示( 其第一支接脚位于俯视图之左上角)。 图4.1、七段显示器俯视图 由于发光二极管只有在顺向偏压的时候才会发光。因此,七段显示器依其结构不同的应用需求,区分为低电位动作与高电位动作的两种型态的组件,另一种常见的说法则是共阳极( 低电位动作)与共阴极( 高电位动作)七段显示器,如下图4.2所示。 ( 共阳极) ( 共阴极) 图4.2、共阳极(低电位动作)与共阴极(高电位动作)

要如何使七段显示器发光呢?对于共阴极规格的七段显示器来说,必须使用“ Sink Current ”方式,亦即是共同接脚COM为VCC,并由Cyclone II FPGA使接脚成为高电位,进而使外部电源将流经七段显示器,再流入Cyclone II FPGA的一种方式本实验平台之七段显示器模块接线图如下图4.5所示。此平台配置了八组共阳极之七段显示器,亦即是每一组七段显示器之COM接脚,均接连至VCC电源。而每一段发光二极管,其脚位亦均与Cyclone II FPGA接连。四位一体的七段数码管在单个静态数码管的基础上加入了用于选择哪一位数码管的位选信号端口。八个数码管的a、b、c、d、e、f、g、h、dp都连在了一起,8个数码管分别由各自的位选信号来控制,被选通的数码管显示数据,其余关闭。 图4.5、七段显示器模块接线图 七段显示器之常见应用如下 ?可作为与数值显示相关之设计。 ?电子时钟应用显示 ?倒数定时器 ?秒表 ?计数器、定时器 ?算数运算之数值显示器

数码管显示原理

数码管显示原理 我们最常用的是七段式和八段式LED 数码管,八段比七段多了一个小数点,其他的基本相同。所谓的八段就是指数码管里有八个小LED 发光二极管,通过控制不同的LED 的亮灭来显示出不同的字形。数码管又分为共阴极和共阳极两种类型,其实共阴极就是将八个LED 的阴极连在一起,让其接地,这样给任何一个LED 的另一端高电平,它便能点亮。而共阳极就是将八个LED 的阳极连在一起。其原理图如下。

其中引脚图的两个COM 端连在一起,是公共端,共阴数码管 要 将其接地,共阳数码管将其接正5伏电源。一个八段数码管称为一 位,多个数码管并列在一起可构成多位数码管,它们的段选线(即 a,b,c,d,e,f,g,dp )连在一起,而各自的公共端称为位选线。显示时, 都从段选线送入字符编码,而选中哪个位选线,那个数码管便会被点 亮。数码管的8段,对应一个字节的8位,a 对应最低位,dp 对应最 高位。所以如果想让数码管显示数字 0,那么共阴数码管的字符编码 为00111111,即0x3f ;共阳数码管的字符编码为11000000,即0xc0。 可以看出两个编码的各位正好相反。如下图。 MW 引脚图 共阴极 *5V 共阳取 g f vpM a ti e d COM c

共阴扱共阳极 共阳极的数码管0~f的段编码是这样的: unsigned char code table[]={ // 共阳极0~f 数码管编码0xc0,0xf9,0xa4,0xb0,//0~3 0x99,0x92,0x82,0xf8,//4~7 0x80,0x90,0x88,0x83,//8~b 0xc6,0xa1,0x86,0x8e //c~f }; 共阴极的数码管0~f的段编码是这样的: un sig ned char code table[]={// 0x3f,0x06,0x5b,0x4f, 0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c, 0x39,0x5e,0x79,0x71 }; 共阴极0~f数码管编码 //0~3 //4~7 //8~b //c~f Qa

微机原理课设带数码管显示的交通灯模拟控制系统设计

南京工程学院Array课程设计说明书(论文) 题目带数码管显示的交通灯模拟控制系统设计 课程名称微机原理及应用 院系 专业 班级 学生姓名 学号 设计地点 指导教师 设计起止时间:2013年12月23日至2017年12月27日 目录 一、方案说明 (2) 1、硬件设计 (2) 1.1、硬件接线图 (2)

1.2、主机接线说明 (3) 2、软件设计 (3) 2.1、程序流程图 (4) 二.源程序清单 (5) 三、调试现象 (10) 四、心得体会 (12)

一、设计说明 硬件方面:8253产生1HZ的方波,脉冲到8259的IR1端,产生中断,调中断服务子程序。在加入紧急车道后,单脉冲()连到8259的IRO端,产生一个高级的中断请求信号。 软件方面:主程序先对各个硬件初始化,在开CPU中断,然后空操作,等待中断。执行低级中断(IR1)时,8255的PA口负责选数码管,PB口负责显示数字,用查表法可查到0~9的数码管编码。 采用循环扫描方法,人眼即可看到连续的二位数。当倒计时减到零时,对红绿灯取反。若

手动上下拨动单脉冲()一次,则产生一个高级中断(IR0),程序转而执行此中断处理程序,处理完后返回继续执行低级中断(IR1)。 1、硬件设计 1.1、硬件接线图 1.2连线说明: C5区:CS、A0、A1————A3区:CS3、A0、A1

C5区:OUT0————C5区:CLK1 C5区:GATE0、GATE1————C1区:VCC C5区:CLK0————B2区:2M C5区:OUT1————B3区:IR1 B3区:CS、A0————A3区:CS2、A0 B3区:INT、INTA————ES8688:INTR、INTA B3区:IR0————B2区:单脉冲() B4区:CS、A0、A1————A3区:CS1、A0、A1 B4区:PA口、PB口————G5区:C口、B口B4区:PC口———— G6区:JP65(LED灯) 1.3实物连线图 2、软件设计

7段8位数码管电路图

转自: https://www.360docs.net/doc/bc4740176.html,/yuphone/archive/2011/04/24/2026318.html 小時不識月 Stupid & Hungry 时常记记,以防忘记!本博客已迁移,新网址 为:https://www.360docs.net/doc/bc4740176.html, [原创].七段数码管驱动,Verilog版本 我以前在艾米电子写的驱动。贴在博客之目的:一、时常记记,以防忘记;二、分享给大家。也许是工作比较忙之缘故吧,新近的博文啰嗦的话语少了许多,直接贴上代码,大家有什么不明白的,留言即可。 顶层例化文件 module seg7x8( input CLOCK_50, // 板载50MHz时钟 input Q_KEY, // 板载按键RST output [7:0] SEG7_SEG, // 七段数码管段脚 output [2:0] SEG7_SEL // 七段数码管待译位脚 ); // 显示效果: // ------------------------- // |1 |2.|3 |4 | |B |C |D | // ------------------------- seg7x8_drive u0( .i_clk (CLOCK_50), .i_rst_n (Q_KEY),

.i_turn_off (8'b0000_1000), // 熄灭位[2进制][此处取第3位 .i_dp (8'b0100_0000), // 小数点位[2进制][此处取第6位 .i_data (32'h1234_ABCD), // 欲显数据[16进制] .o_seg(SEG7_SEG), .o_sel(SEG7_SEL) ); endmodule 驱动文件 module seg7x8_drive( input i_clk, input i_rst_n, input [7:0] i_turn_off, // 熄灭位[2进制 input [7:0] i_dp, // 小数点位[2进制 input [31:0] i_data, // 欲显数据[16进制 output [7:0] o_seg, // 段脚 output [2:0] o_sel // 使用74HC138译出位脚 ); //++++++++++++++++++++++++++++++++++++++ // 分频部分开始 //++++++++++++++++++++++++++++++++++++++ reg [16:0] cnt; // 计数子 always @ (posedge i_clk, negedge i_rst_n) if (!i_rst_n) cnt <= 0; else cnt <= cnt + 1'b1; wire seg7_clk = cnt[16]; // (2^17/50M = 2.6114)ms //-------------------------------------- // 分频部分结束 //-------------------------------------- //++++++++++++++++++++++++++++++++++++++ // 动态扫描, 生成seg7_addr 开始 //++++++++++++++++++++++++++++++++++++++ reg [2:0] seg7_addr; // 第几个seg7

6位7段LED数码管显示

目录 1. 设计目的与要求..................................................... - 1 - 1.1 设计目的...................................................... - 1 - 1.2 设计环境...................................................... - 1 - 1.3 设计要求...................................................... - 1 - 2. 设计的方案与基本原理............................................... - 2 - 2.1 6 位 8 段数码管工作原理....................................... - 2 - 2.2 实验箱上 SPCE061A控制 6 位 8 段数码管的显示................... - 3 - 2.3 动态显示原理.................................................. - 4 - 2.4 unSP IDE2.0.0 简介............................................ - 6 - 2.5 系统硬件连接.................................................. - 7 - 3. 程序设计........................................................... - 8 - 3.1主程序......................................................... - 8 - 3.2 中断服务程序.................................................. - 9 - 4.调试............................................................... - 12 - 4.1 实验步骤..................................................... - 12 - 4.2 调试结果..................................................... - 12 - 5.总结............................................................... - 14 - 6.参考资料........................................................... - 15 - 附录设计程序汇总.................................................... - 16 -

数码管显示倒计时时间的交通灯控制设计

第1章总体设计方案 1.1.设计思路 课程设计的目的 (1).进一步熟悉和掌握单片机的结构及工作原理。 (2).掌握单片机的接口技术及相关外围芯片的外特性,控制方法。 (3).通过课程设计,掌握以单片机核心的电路设计的基本方法和技术。 (4).通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。 (5).通过完成一个包括电路设计和程序开发的完整过程,了解开发一单片机应用系统的全过程,为今后从事相应开发打下基础。 设计任务和内容 1设计任务 单片机采用用AT89C51芯片,使用LED(红,黄,绿)代表各个路口的交通灯,用8段数码管对转换时间进行倒时(东西路口,南北路口各10秒,黄灯时间3秒)。 2设计内容 (1)设计并绘制硬件电路图。 (2)编写程序并将调试好的程序在proteus软件中仿真 。 3方案设计与论证 显示界面方案 该系统要求完成倒计时、状态灯等功能。按照任务要求采用数码管和MAX7219驱动芯片 设计方框图 整个设计以AT89C51单片机为核心,由数码管显示,LED数码管显示,MAX驱动芯片。 硬件模块入图2-1。

4交通管理的方案论证 东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为东西、南北两干道的公共停车时间。指示灯燃亮的方案如表2。 表2说明: (1)当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;南北道为绿灯, 此道车辆通过,行人禁止通行。时间为5秒。 (2)黄灯5秒,警示车辆和行人红、绿灯的状态即将切换。 (3)当东西方向为绿灯,此道车辆通行;南北方向为红灯,南北道车辆禁止通过, 行人通行。时间为5秒。 (4)这样如上表的时间和红、绿、黄出现的顺序依次出现这样行人和车辆就能安全 畅通的通行。 5芯片简介 1)AT89C51单片机简介 AT89C51单片机 LED 数码管显示 LED 红绿灯 MAX 驱动芯片

实验一 七段数码显示译码器

实验一七段数码显示译码器 一、实验目的 1.学会的破解quartusII方法并破解机房电脑。 2.掌握七段数码管显示的工作原理并能够用verilog语言编程。 3.初步了解quartusII建立程序编译、仿真及下载的操作流程并学会七段数码显示译码器的 Verilog硬件设计。 二、实验原理 7段数码管是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能做十进制BCD译码,然而数字系统中的处理和运算都是二进制,所以输出表达都是十六进制的,为了满足十六进制数的译码显示,最方便的方法就是利用译码程序在FPGA/CPLD中来实现。本实验中的7段译码管输出信号LED7S的7位分别接数码管的7个段,高位在左,低位在右 三、实验内容 1、实现BCD/七段显示译码器的“ Verilog ”语言设计。 说明:7段显示译码器的输入为:IN0…IN3共4根, 7段译码器的逻辑表,同学自行设计,要求实现功能为:输入“ 0…15 ”(二进制)输出“ 0…9…F ”(显示数码),输出结果应在数码管(共阴)上显示出来。 2、使用工具为译码器建立一个元件符号 3、设计仿真文件,进行验证。 4、编程下载并在实验箱上进行验证。 四、实验步骤 第一步破解quartusII 1.在安装目录找到本机中关于quartusII的证书文件 2.运行未破解的quartusII,在【tools】>【license setup】路径下的倒数第三行中找到本机 网卡号并复制; 3.以记事本方式打开证书文件,在编辑替换中将证书文件中host id后面的号码替换为上一 步复制的内容,保存退出; 4.在quartusII中打开【tools】>【license setup】中找到证书所在路径并打开单击ok即完成 破解。 证书所在目录license setup选项

4位七段数码管循环显示

课程报告 课程新型单片机实践题目 4位7段数码管二级学院 班级 姓名 学号 指导教师 设计时间

常州工学院《新型单片机》设计任务书学院:专业:班级:

绪论 当今世界,电子技术迅猛发展,点阵式显示器件作为现代信息显示的重要媒体,在金融证券、体育、机场、交通、商业、广告宣传、邮电电信、指挥调度、国防军事等许多领域中得到了广泛应用。因此点阵式显示器件的研制、生产也的到了迅速的发展,并逐步形成产业,成为光电子行业的新兴产业领域。目前,点阵式显示器件具体包括LED显示模块和LCD显示模块等。现在发展的LCD比较先进,LCD的优点较为明显,他体积小,容易控制,功能强,价格适宜,能够适应显示器的发展方向,因而在通信、家电、大屏幕投影等领域得到了越来越广泛的应用;随着社会经济的迅猛发展,工业生产逐渐实现了自动化,其中,设备的工作状态和生产过程状态的显示与监控起到了非常重要的作用,对于那些需要显示的信息量不是很大,分辨率不是很高,又需要制造成本相对比较低的场合,使用大、小屏幕LED点阵显示器是比较经济适用的,他可以显示字符、数字、汉字和简单图形,可以根据需要使用不同字号、字型,显示亮度较高,并且对环境条件要求比较低。LED显示又可以分为单色显示和双色显示,可以按照需要的大小、形状和颜色进行组合,并用单片机控制实现各种文字或图形的变化,达到宣传和提示的目的。据不完全统计,1991年,全国LED显示屏的产值还不到亿元人民币,而在1993年,仅蓝通公司一家企业的显示屏产值即达1亿多人民币。 由于LED电子显示屏具有所显内容信息量大,外形美观大方,操作使用方便灵活.适用于火车,汽车站,码头,金融证券市场,文化中心,信息中心体育设施等公共场所.该项目广泛涉及了计算机及电子技术中的电源技术,单片机技术,数据通讯技术,显示技术,存储技术,系统软件技术,接口及驱动等技术.我国经济发展迅猛,对信息传播有越来越高的要求.可以相信,LED电子显示屏以其色彩鲜亮夺目,大的显示信息量,寿命长,耗电量小,重量轻,空间尺寸小,稳定性高,易于操作,安装和维护等特点,将在社会经济发展中扮演越来越重要的角色。

七段数码管显示

七段数码管显示设计报告 目录 一、设计任务 二、题目分析与整体构思 三、硬件电路设计 四、程序设计 五、心得体会

一.设计任务 数码的显示方式一般有三种:第一种是字型重叠式;第二种是分段式;第三种是点阵式。目前以分段式应用最为普遍,主要器件是七段发光二极管(LED)显示器。它可分为两种,一是共阳极显示器(发光二极管的阳极都接在一个公共点上),另一是共阴极显示器(发光二极管的阳极都接在一个公共点上,使用时公共点接地)。 数码管动态扫描显示,是将所用数码管的相同段(a~g 和p)并联在一起,通过选位通 信号分时控制各个数码管的公共端,循环依次点亮各个数码管。当切换速度足够快时,由于人眼的“视觉暂留”现象,视觉效果将是数码管同时显示。 根据七段数码管的显示原理,设计一个带复位的七段数码管循环扫描程序,本程序需要着重实现两部分: 1. 显示数据的设置:程序设定4 位数码管从左至右分别显示1、2、3、4; 2. 动态扫描:实现动态扫描时序。 利用EXCD-1 开发板实现七段数码管的显示设计,使用EXCD-1 开发板的数码管为四位共阴极数码管,每一位的共阴极7 段数码管由7 个发光LED 组成,7 个发光LED 的阴极连接在一起,阳极分别连接至FPGA相应引脚。四位数码管与FPGA 之间通过8 位拨码开关(JP1)进行连接。 二.题目分析与整体构思 使用EXCD-1 开发板的数码管为四位共阴极数码管,每一位的共阴极7 段数码管由7 个发光LED 组成,呈“”字状,7 个发光LED 的阴极连接在一起,阳极分别连接至FPGA 相应引脚。SEG_SEL1、SEG_SEL2、SEG_SEL3 和SEG_SEL4 为四位7 段数码管的位选择端。当其值为“1”时,相应的7 段数码管被选通。当输入到7 段数码管SEG_A~ SEG_G 和SEG_DP 管脚的数据为高电平时,该管脚对应的段变亮,当输入到7 段数码管 SEG_A~SEG_G 和SEG_DP 管脚的数据为低电平时,该管脚对应的段变灭。该四位数码管与FPGA 之间通过8 位拨码开关(JP1)进行连接,当DIP 开关全部拨到上方时(板上标示为:7SEGLED),FPGA 的相应IO 引脚和四位7 段数码管连接,7 段数码管可以正常工作;当DIP 开关全部拨到下方时(板上标示为:EXPORT5),FPGA 的相应IO引脚与7 段数码管断开,相应的FPGA 引脚用于外部IO 扩展。 注意:无论拨码开关断开与否,FPGA 的相应IO 引脚都是与外部扩展接口连接的,所 以当正常使用数码管时,不允许在该外部扩展接口上安装任何功能模块板。 数码管选通控制信号分别对应4 个数码管的公共端,当某一位选通控制信号为高电平时,其对应的数码管被点亮,因此通过控制选通信号就可以控制数码管循环依次点亮。一个数码管稳定显示要求的切换频率要大于50Hz,那么4 个数码管则需要50×4=200Hz 以上的切换频率才能看到不闪烁并且持续稳定显示的字符。 三.硬件电路设计 设计结构图如下:

七段译码器显示电路

数字显示译码器 在数字系统中,常需要将数字、文字或符号等直观地显示出来。能够显示数字、文字或符号的器件称为显示器。数字电路中的数字量都是以一定的代码形式出现的,所以这些数字量要先经过译码,才能送到显示器去显示。这种能把数字量翻译成数字显示器所能识别的信号的译码器为数字显示译码器。 数字显示器有多种类型。按显示方式分,有字型重叠式、点阵式、分段式等。按发光物质分,有半导体显示器,又称发光二极管(LED)显示器、荧光显示器、液晶显示器、气体放电管显示器等。目前应用较广泛的是由发光二极管构成的七段数字显示器。 ①七段数字显示器 图6-53为发光二极管构成的七段数字显示器。它是将七个发光二极管(小数点也是一个发光二极管,共八个)按一定的方式排列起来,七段a、b、c、d、e、f、g(小数点DP)各对应一个发光二极管,利用不同发光段的组合,显示不同的阿拉伯数字。 (a)(b) 图6-53 七段数字显示器 (a)数字显示器(b)显示的数字 根据七个发光二极管的连接形式不同,七段数字显示器分为共阴极和共阳极接法两种。 (a)(b) 图6-54 七段数字显示器的内部接法 (a)共阳极(b)共阴极 图6-54(a)是共阳极接法,它是将七个发光二极管的阳极连在一起作公共端,使用时要接高电平。发光二极管的阴极经过限流电阻接到输出低电平有效的七段译码器相应的输出端。 图6-54(b)所示是共阴极接法,它是将七个发光二极管的阴极连在一起作公共端,使用时要接低电平。发光二极管的阳极经过限流电阻接到输出高电平有效的七段译码器相应的输出端。 改变限流电阻的阻值,可改变发光二极管电流的大小,从而控制显示器的发

LS47连接七段数码管设计

数字逻辑与数字系统 课程设计报告书 课题:数码管译码控制器 指导老师: 姓名: 学号: 班级: 完成日期: 2012年4月24日

目录 一、课程设计目的:········错误!未定义书签。 二、课程设计要求·········错误!未定义书签。 三、方案设计与论证········错误!未定义书签。 四、所用元器件属性功能介绍····错误!未定义书签。 五、设计方案总图·········错误!未定义书签。 六、所用元器件的编号列表·····错误!未定义书签。 七、设计结果以及体会·······错误!未定义书签。 八、参考文献···········错误!未定义书签。

一、课程设计目的: 1、了解与课程有关的电子电路以及元器件工程技术规范,能按照课程设计书的技术要求,编写设计说明,能正确反映设计和实验成果,能正确绘制电路图。 2、掌握74LS47译码器的逻辑功能,掌握用74LS47驱动5161BS的连接方法。 二、课程设计要求 任务: 本课程设计主要利用一个共阳极的七段数码管与74LS47芯片构 成一个完整的数码管显示电路 要求: 要求能在数码管上一次显示0~9十个数字。 三、方案设计与论证 1、74ls47七段译码显示电路设计 七段译码器是用74LS47驱动5161BS,用译码器将BCD代码译成数码管所需要的驱动信号,以便使数码管用十进制数显示出BCD代码所表示的值。

四、所用元器件属性功能介绍 1、74LS47译码器功能 74LS47是BCD-7段数码管译码器/驱动器,74LS47的功能用于将BCD码转化成数码块中的数字,通过它来进行解码,可以直接把数字转换为数码管的数字,从而简化了程序,节约了单片机的IO开销。因此是一个非常好的芯片!但是由于目前从节约成本的角度考虑,此类芯片已经少用,大部分情况下都是用动态扫描数码管的形式来实现数码管显示。

单片机的交通灯显示系统

单片机课程设计 基于单片机的交通灯显示系统 交通灯是日常生活中常见的自动控制产品,人们的日常出行及人身安全等都与交通灯有着密切的联系。本文提出一种基于单片机的交通灯设计,系统包含三个功能模块: (1)交通灯LED显示模块,实时显示东西、南北两个路口红、黄、绿三种灯的状态; (2)定时器模块,中断计算绿灯剩余时间; (3)独立按键模块,分为紧急制动按钮和夜间模式按钮两个按钮; (4)LCD液晶显示模块,显示绿灯亮的剩余时间 系统结构如下图所示: 关键词:定时器;液晶显示;独立按键

山东经济学院课程设计 目录 摘要...................................................................................................... 错误!未定义书签。引言. (1) 1.交通灯的概述 (2) 1.1交通灯的结构 (2) 1.2 工作原理 (3) 1.3功能应用 (3) 1.4工作流程 (4) 2 交通灯显示系统组成 (5) 2.1 定时器TR1模块的选择与设计 (5) 2.2 LCD液晶显示模块的选择与设计 (5) 2.3独立按键模块的选择与设计 (7) 2.4LED模块的选择与设计 (8) 3 实验结果演示 (9) 结论 (10) 参考文献.................................................................................................. 错误!未定义书签。附录.. (11) 1.原件明细表 (11) 2.源程序清单 (11) 致谢 (17)

十六进制七段数码显示译码器

十六进制七段数码显示译码器 一、实验目的:学习7段数码显示器的Verilog硬件设计。 二、实验原理:7段数码显示器是纯组合电路。通常的小规模专用IC,如74 或4000系列的器件只能做十进制BCD码译码器(其真值表如图(1)所示),然而数字系统中的数据处理和运算都是二进制的,所以输出表达式都是十六进制的,为了满足十六进制的译码显示,最方便的方法就是利用Verilog译码程序在FPGA/CPLD中来实现。所以首先要设计一段程序。设输入的4位码为A[3:0],输出控制7段共阴数码管(如图(2)所示)的7位数据为LED7S[6:0]。输出信号LED7S的7位接共阴数码管的7个段,高位在左,低位在右。例如当LED7S输出为“1101101”时,数码管7个段g、f、e、d、c、b、a分别接1、1、0、1、1、0、1;接有高电平的段发亮,于是数码管显示“5”。这里没有考虑表示小数点的发光管,如果要考虑,需要增加段h,然后将LED7S改为8位输出。 图(2)7段共阴数码管 三、实验任务:将设计好的Verilog译码器程序在Quartus II上进行编辑、 编译、综合、适配、仿真,给出其所有信号的时序仿真波形图(注意仿真波形输入激励信号的设置)。提示:设定仿真激励信号是用输入总线的方式给出输入信

号的仿真数据。 四、实验步骤: (一)、建立工作库文件和编辑设计文文件 任何一项设计都是一项Project(工程),而把一个工程下的所有文件放在一个文件夹内是一个非常好的习惯,以便于我们整理,利用和提取不同工程下的文件,而此文件夹将被EDA软件默认为Work Library(工作库),所以第一步先根据自己的习惯,建立个新的文件夹。 (1)新建文件夹:我的习惯在D盘建立并保存工程,我将文件夹取名Test, (2)输入源程序:打开Quartus II,选择菜单File-->New-->Design Files-->VerilogHDL File-->OK(如图1所示) 代码如下: module DECL7S(A,LED7S); input[3:0] A; output[6:0] LED7S; reg[6:0] LED7S; always@(A ) case(A) 4'b0000 :LED7S<=7'b0111111; 4'b0001 :LED7S<=7'b0000110; 4'b0010 :LED7S<=7'b1011011; 4'b0011 :LED7S<=7'b1001111; 4'b0100 :LED7S<=7'b1100110; 4'b0101 :LED7S<=7'b1101101; 4'b0110 :LED7S<=7'b1111101; 4'b0111 :LED7S<=7'b0000111; 4'b1000 :LED7S<=7'b1111111; 4'b1001 :LED7S<=7'b1101111; 4'b1010 :LED7S<=7'b1110111;

LED数码管结构及工作原理

L E D数码管结构及工作原理-标准化文件发布号:(9556-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

LED数码管的结构及工作原理 沈红卫 LED数码管(LED Segment Displays)是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。LED数码管常用段数一般为7段有的另加一个小数点,还有一种是类似于3位“+1”型。位数有半位,1,2,3,4,5,6,8,10位等等....,LED数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。图2是共阴和共阳极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。颜色有红,绿,蓝,黄等几种。LED数码管广泛用于仪表,时钟,车站,家电等场合。选用时要注意产品尺寸颜色,功耗,亮度,波长等。下面将介绍常用LED数码管内部引脚图。 图1 这是一个7段两位带小数点 10引脚的LED数码管 图2 引脚定义 每一笔划都是对应一个字母表示 DP是小数点. 数码管分为共阳极的LED数码管、共阴极的LED数码管两种。下图例举的是共阳极的LED数码管,共阳就是7段的显示字码共用一个电源的正。led 数码管原理图示意:

图3 引脚示意图 从上图可以看出,要是数码管显示数字,有两个条件:1、是要在VT端(3/8脚)加正电源;2、要使(a,b,c,d,e,f,g,dp)端接低电平或“0”电平。这样才能显示的。 共阳极LED数码管的内部结构原理图图4: 图4 共阳极LED数码管的内部结构原理图共阴极LED数码管的内部结构原理图: 图5 共阴极LED数码管的内部结构原理图

带数码管显示交通灯

带数码管显示的交通灯 大 型 作 业 实 习 报 告 系别:电子工程系 班级:应用电子0901 学号:0503090136 姓名:邵景荣 指导老师:刘彦华

前言 当前,在世界范围内,一个以微电子技术,计算机和通信技术为先导的,以信息技术和信息产业为中心的信息革命方兴未艾。而计算机技术怎样与实际应用更有效地结合并有效地发挥其作用是科学界最热门的话题,也是当今计算机应用中空前活跃的领域。交通信号灯的出现,是交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。随着中国加入WTO,我们不但要在经济、文化、科技等各方面与国际接轨,在交通控制方面也应与国际接轨。俗话说“要想富,先修路”,但路修好了如果在交通控制方面做不好道路还是无法保障畅通安全。作为交通控制的重要组成部分的交通信号灯也应国际化,随着社会经济的发展,城市交通问题越来越引起人们的关注。人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。 交通控制系统是用于城市交通数据监测、交通信号灯控制与交通疏导的计算机综合管理系统,它是现在城市交通监控指挥系统中最重要的组成部分。 随着城市机动车量的不断增加,许多大城市如北京、上海、南京等出现了交通超负荷运行的情况,因此,自80年代后期,这些城市纷纷修建城市高速道路,在高速道路建设完成的初期,它们也曾有效的改善了交通情况。然而,随着交通量的快速增长和缺乏对高速道路的系统研究和控制,高速道路的交通状况必然受高速道路与普通道路耦合处交通情况的制约。 所以,如何采用合适的控制方法,最大限度利用好耗费巨资修建的城市高速道路,缓解主干道与匝道、城区同周边地区的交通拥堵状况,越来越成为交通运输管理和城市规划部门亟待解决的主要问题。 本文主要从单片机的应用上来实现十字路口交通灯智能化的管理,用以控制过往车辆的正常运作。这次设计的主要任务是设计一个单片机控制的交通灯控制系统的设计。首先设计出各个功能模块、在搭建出完整的硬件系统,选好合适的单片机型号并依照硬件链接图设计出相应的软件系统,通过编译软件编译出可执行的目标文件,最后做出原理图并在仿真软件上仿真出设计结果。

七段数码显示译码器设计

七段数码显示译码器设计 实验目的: 学习7段数码显示译码器设计,学习VHD啲多层次设计方法。 二、实验原理: 七段数码管由8个(a,b,c,d,e,f,g,dp )按照一定位置排列的发光二极管构成, 通常采取共阴极或者共阳极的设计,将8个二极管的同一极接在一起,通过分别控制另外的8个电极的电平,使二极管导通(发光)或截止(不发光)。 七段数码显示译码器的功能就是根据需要显示的字符,输出能够控制七段数 码管显示出该字符的编码。 三、实验内容: 1)用VHDL设计7段数码管显示译码电路,并在VHDL苗述的测试平台下对译码器进行功能仿真,给出仿真的波形。 CNT46 DECL7S A[.iu . 0] LED??[4B . ay rstG ObiitCl 程序: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY SMG IS PORT(A:IN STD_LOGIC_VECTOR(3 DOWNTO 0); LED7S:OUT STD_LOGIC_VECTOR(6 DOWNTO 0)); END; ARCHITECTURE ONE OF SMG IS BEGIN PROCESS(A) BEGIN

CASE A IS WHEN"0000"=>LED7S<="0111111"; WHEN"0001"=>LED7S<="0000110"; WHEN"0010"=>LED7S<="1011011"; WHEN"0011"=>LED7S<="1001111"; WHEN"0100"=>LED7S<="1100110"; WHEN"0101"=>LED7S<="1101101"; WHEN"0110"=>LED7S<="1111101"; WHEN"0111"=>LED7S<="0000111"; WHEN"1000"=>LED7S<="1111111"; WHEN"1001"=>LED7S<="1101111"; WHEN"1010"=>LED7S<="1110111"; WHEN"1011"=>LED7S<="1111100"; WHEN"1100"=>LED7S<="0111001"; WHEN"1101"=>LED7S<="1011110"; WHEN"1110"=>LED7S<="1111001"; WHEN"1111"=>LED7S<="1110001"; WHEN OTHERS=>NULL; END CASE; 仿真波形:

实验四八位七段数码管动态显示电路的设计

八位七段数码管动态显示电路的设计 一、实验目的 1、了解数码管的工作原理。 2、学习七段数码管显示译码器的设计。 3、学习VHDL的CASE语句及多层次设计方法。 二、实验原理 七段数码管是电子开发过程中常用的输出显示设备。在实验系统中使用的是两个四位一体、共阴极型七段数码管。其单个静态数码管如下图4-4-1所示。 图4-1 静态七段数码管 由于七段数码管公共端连接到GND(共阴极型),当数码管的中的那一个段被输入高电平,则相应的这一段被点亮。反之则不亮。共阳极性的数码管与之相么。四位一体的七段数码管在单个静态数码管的基础上加入了用于选择哪一位数码管的位选信号端口。八个数码管的a、b、c、d、e、f、g、h、dp都连在了一起,8个数码管分别由各自的位选信号来控制,被选通的数码管显示数据,其余关闭。 三、实验内容 本实验要求完成的任务是在时钟信号的作用下,通过输入的键值在数码管上显示相应的键值。在实验中时,数字时钟选择1024HZ作为扫描时钟,用四个拨动开关做为输入,当四个拨动开关置为一个二进制数时,在数码管上显示其十六进制的值。 四、实验步骤 1、打开QUARTUSII软件,新建一个工程。 2、建完工程之后,再新建一个VHDL File,打开VHDL编辑器对话框。 3、按照实验原理和自己的想法,在VHDL编辑窗口编写VHDL程序,用户可参照光 盘中提供的示例程序。 4、编写完VHDL程序后,保存起来。方法同实验一。

5、对自己编写的VHDL程序进行编译并仿真,对程序的错误进行修改。 6、编译仿真无误后,根据用户自己的要求进行管脚分配。分配完成后,再进行全编译 一次,以使管脚分配生效。 7、根据实验内容用实验导线将上面管脚分配的FPGA管脚与对应的模块连接起来。 如果是调用的本书提供的VHDL代码,则实验连线如下: CLK:FPGA时钟信号,接数字时钟CLOCK3,并将这组时钟设为1024HZ。 KEY[3..0]:数码管显示输入信号,分别接拨动开关的S4,S3,S2,S1。 LEDAG[6..0]:数码管显示信号,接数码管的G、F、E、D、C、B、A。 SEL[2..0]:数码管的位选信号,接数码管的SEL2、SEL1、SEL0。 8、用下载电缆通过JTAG口将对应的sof文件加载到FPGA中。观察实验结果是否与 自己的编程思想一致。 五、实验现象与结果 以设计的参考示例为例,当设计文件加载到目标器件后,将数字信号源模块的时钟选择为1464HZ,拨动四位拨动开关,使其为一个数值,则八个数码管均显示拨动开关所表示的十六进制的值。

相关文档
最新文档