用AT89S51单片机的P0.0/AD0-P0.7/AD7端口接数码管的a-h端,8位数码管的S1-S8通过74LS138译码器的Y0-Y7来控制选通每个数码管的位选端。AT89S51单片机的P1.0-P1.2控制74LS138的A,B,C端子。在8位数码管上从右向左循环显示“12345678”。能够比较平滑地看到拉幕的效果。
上传时间: 2016-06-17
上传用户:wanghui2438
A方向和B方向各设红(R)、黄(Y)、绿(G)和左拐(L)4盏灯,4种灯按合理的顺序亮灭,并将时间以倒计时的形式显示出来。同时要设置两个方向的紧急通道模式,当某一方向有紧急事件发生时,交警按下紧急通道按钮,该方向绿灯亮,另外一个方向红灯亮,等紧急事件解除后(假定计时10s),交通恢复原来的状态 要求在数码管上显示两个方向的灯种和计时,实现紧急情况按钮输入功能 根据交通灯控制要实现的功能,可考虑用两个并行执行的always模块(两个进程)来分别控制A和B两个方向的4盏灯。这两个always模块使用同一个时钟信号,以进行同步,也就是说,两个进程的敏感信号时同一个 每个always模块控制一个方向的4种灯按如下顺序点亮,并往复循环:绿灯-黄灯-左拐灯-黄灯-红灯,灯亮的时间由自己设定 由于板上资源有限,如觉得实现困难,可去掉左拐灯,即顺序为绿灯-黄灯-红灯。
标签: 方向
上传时间: 2016-10-07
上传用户:CHINA526
LED数码管显示接口大全
上传时间: 2013-05-30
上传用户:eeworm
读一篇文章,作一个单片机电路(八):基于AT89C2051串口的LED数码管显示电路[1]
上传时间: 2013-04-15
上传用户:eeworm
单片机系统的数码管显示驱动和键盘扫描以单片机为核心的很多仪器都需要数码管显示驱动和键盘扫描,三种具体方案如下供参考:一、经典方案:使用8279 芯片
上传时间: 2013-07-28
上传用户:tianjinfan
1. 数码管显示原理 数码的显示方式一般有三种: 第一种是字型重叠式; 第二种是分段式; 第三种是点阵式。 目前以分段式应用最为普遍,主要器件是七段发光二极管(LED)显示器。它可分为两种, 一是共阳极显示器(发光二极管的阳极都接在一个公共点上) ,另一是共阴极显示器(发光 二极管的阳极都接在一个公共点上,使用时公共点接地) 。 EXCD-1 开发板使用的数码管为四位共阴极数码管, 每一位的共阴极 7 段数码管由 7个 发光 LED 组成,呈“ ”字状,7 个发光 LED 的阴极连接在一起,阳极分别连接至 FPGA 相应引脚。SEG_SEL1、SEG_SEL2、SEG_SEL3 和 SEG_SEL4 为四位 7 段数码管的位选择 端。当其值为“1”时,相应的 7 段数码管被选通。当输入到 7 段数码管 SEG_A~ SEG_G和 EG_DP 管脚的数据为高电平时,该管脚对应的段变亮,当输入到 7 段数码管 SEG_A~ EG_G和 SEG_DP 管脚的数据为低电平时,该管脚对应的段变灭。
上传时间: 2013-05-23
上传用户:66666
运用PTOTEUS仿真74595对6个LED数码管的驱动显示,了解串口的数据传送模式。
上传时间: 2013-09-21
上传用户:epson850
电路连接 由于数码管品种多样,还有共阴共阳的,下面我们使用一个数码管段码生成器(在文章结尾) 去解决不同数码管的问题: 本例作者利用手头现有的一位不知品牌的共阳数码管:型号D5611 A/B,在Eagle 找了一个 类似的型号SA56-11,引脚功能一样可以直接代换。所以下面电路图使用SA56-11 做引脚说明。 注意: 1. 将数码管的a~g 段,分别接到Arduino 的D0~D6 上面。如果你手上的数码管未知的话,可以通过通电测量它哪个引脚对应哪个字段,然后找出a~g 即可。 2. 分清共阴还是共阳。共阴的话,接220Ω电阻到电源负极;共阳的话,接220Ω电阻到电源+5v。 3. 220Ω电阻视数码管实际工作亮度与手头现有原件而定,不一定需要准确。 4. 按下按钮即停。 源代码 由于我是按照段码生成器默认接法接的,所以不用修改段码生成器了,直接在段码生成器选择共阳极,再按“自动”生成数组就搞定。 下面是源代码,由于偷懒不用写循环,使用了部分AVR 语句。 PORTD 这个是AVR 的端口输出控制语句,8 位对应D7~D0,PORTD=00001001 就是D3 和D0 是高电平。 PORTD = a;就是找出相应的段码输出到D7~D0。 DDRD 这个是AVR 语句中控制引脚作为输出/输入的语句。DDRD = 0xFF;就是D0~D7 全部 作为输出脚了。 ARDUINO CODECOPY /* Arduino 单数码管骰子 Ansifa 2011-12-28 */ //定义段码表,表中十个元素由LED 段码生成器生成,选择了共阳极。 inta[10] = {0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90}; voidsetup() { DDRD = 0xFF; //AVR 定义PortD 的低七位全部用作输出使用。即0xFF=B11111111对 应D7~D0 pinMode(12, INPUT); //D12用来做骰子暂停的开关 } voidloop() { for(int i = 0; i < 10; i++) { //将段码输出PortD 的低7位,即Arduino 的引脚D0~D6,这样需要取出PORTD 最高位,即 D7的状态,与段码相加,之后再输出。 PORTD = a[i]; delay(50); //延时50ms while(digitalRead(12)) {} //如果D12引脚高电平,则在此死循环,暂停LED 跑 动 } }
上传时间: 2013-10-15
上传用户:baitouyu
AT89c52控制数码管带温度显示的万年历
上传时间: 2013-10-30
上传用户:王者A
51单片机数码管显示万年历。
上传时间: 2013-11-08
上传用户:花开无音