当前位置:文档之家› 多位数码管动态扫描protues仿真

多位数码管动态扫描protues仿真

实验题目:多位数码管动态扫描电路设计与调试一、实验要求与目的1、设计要求8位数码管显示“8.8.8.8.8.8.8.8.”,即点亮显示器所有段,持续约500ms 之后,数码管持续约1s ;最后显示“HELLO —10”,保持。

2、实验目的1、掌握数码管动态扫描显示原理及实现方法。

2、掌握动态扫描显示电路驱动程序的编写方法。

二、设计思路1、在Proteus 中设计仿真电路原理图。

2、在Keil C51软件中编译并调试程序,程序后缀必须是.c 。

调试时生成hex 文件,确认 无误后将生成的hex 文件添加到原理图的单片机中进行仿真。

3、观察电路仿真结果对程序进行更改直至达到预期结果三、实验原理p2[0..3]p0[0..7]p 00p 00p 07p 06p 0605p 02p 05p 04p 04p 03p 03p 02p 02p 01p 01p 07p 23p 22p 21p 20A 15B 14C 13D120112233445566779810911U27445A 02B 018A 13B 117A 24B 216A 35B 315A 46B 414A 57B 513A 68B 612A 79B 711C E 19A B /B A1U374HC245234567891RP1RESPACK-8XTAL218XTAL119RST9P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR 16P3.5/T115AD[0..7]A[8..15]ALE 30EA 31PSEN29P1.0/T21P1.1/T2EX 2P1.23P1.34P1.45P1.56P1.67P1.78U4AT89C52图1 原理图LED数码管动态显示的基本做法在于从那时起轮流选通数码管的公共端,使得各数码管轮流导通,在选通相应数码管后,即在显示字段上得到显示字形码。

这种方式不但能提高数码管的发光效率,而且由于各个数码管的字段线是并联使用的,从而大大简化了硬件线路。

动态扫描显示接口是单片机系统中应用最为广泛的一种显示方式。

其接口电路是把所有显示器的8个笔画段A~DP同名端并联在一起,而每个显示器的公共极COM各自独立地受I/O线控制,CPU向字输出口送出字形码时,所有显示器由于同名端并连接收到相同的字形码,但究竟是哪个显示器亮,则取决于COM端,而这一端是由I/O控制的,所以就可以自行决定何时显示哪一位了。

而所谓动态扫描是指采用从分时的方法,轮流控制各个显示器的COM端,使各个显示器轮流点亮。

在轮流点亮扫描过程中,每位显示器的点亮时间是极为短暂的(约1ms),但由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位显示器并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感。

采用总路线驱动器74HC245提供LED数码管的段驱动,输出高电平时点亮相应段;采用集电极开路的BCD-十进制译码器/驱动器完成LED数码管位驱动,输出低电平时选通相应位。

P2口每个口线输出灌电流不足以驱动一个数码管显示器的位—公共极,所以通过集电极开路的BCD—十进制译码器/驱动器7445驱动,即节约P2口线,又增加驱动能力。

四、功能概述及方案设计系统主要组成单元组成单元项目电路图完成的功能AT89C52XTAL218XTAL119RST9P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115AD[0..7]A[8..15]ALE30EA31PSEN29P1.0/T21P1.1/T2EX2P1.23P1.34P1.45P1.56P1.67P1.78U1AT89C52通过预置的程序控制电路的输出,即控制数码管的选通并输出驱动信号7445A15B14C13D12112233445566779810911U57445完成LED数码管位驱动,输出低电平时选通相应位74HC245A02B018A13B117A24B216A35B315A46B414A57B513A68B612A79B711CE19AB/BA1U674HC245提供LED数码管的段驱动,输出高电平时点亮相应段RESSPACK8 234567891RP2RESPACK-8限流电阻保护电路以免电流过大烧坏电路7SEG-MPX8-CC-BLUE 译码显示五、实验运行程序#include<intrins.h>#include<REGX52.H>#define TRUE 1#define dataPort P0#define ledConPort P2unsigned char code ch[8]={0x76,0x79,0x38,0x38,0x3f,0x40,0x06,0x3f}; void time(unsigned int ucMs);void main(void){unsigned char i,counter;for(i=0;i<30;i++){for(counter=0;counter<8;counter++){ledConPort=counter;dataPort=0xff;time(5);}}ledConPort=0xff;time(2000);while(TRUE){for(counter=0;counter<8;counter++){ledConPort=counter;dataPort=ch[counter];time(5);}}}void delay_5us(void) {_nop_(); _nop_(); }void delay_50us(void) {unsigned char i; for(i=0;i<4;i++) {delay_5us(); } }void delay_100us(void) {delay_50us(); delay_50us(); }void time(unsigned int ucMs) {unsigned char j; while(ucMs>0) {for(j=0;j<10;j++) delay_100us(); ucMs--; } }六、仿真结果p2[0..3]p0[0..7]p 00p 00p 07p 07p 06p 06p 05p 04p 04p 03p 03p 02p 02p 01p 01p 23p 22p 21p 20p 05A 15B 14C 13D120112233445566779810911U27445A 02B 018A 13B 117A 24B 216A 35B 315A 46B 414A 57B 513A 68B 612A 79B 711C E 19A B /B A1U374HC245234567891RP1RESPACK-8XTAL218XTAL119RST9P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR 16P3.5/T115AD[0..7]A[8..15]ALE 30EA 31PSEN29P1.0/T21P1.1/T2EX 2P1.23P1.34P1.45P1.56P1.67P1.78U4AT89C52p2[0..3]p0[0..7]p 00p 00p 07p 07p 06p 06p 05p 04p 04p 03p 03p 02p 02p 01p 01p 23p 22p 21p 20p 05A 15B 14C 13D120112233445566779810911U27445A 02B 018A 13B 117A 24B 216A 35B 315A 46B 414A 57B 513A 68B 612A 79B 711C E 19A B /B A1U374HC245234567891RP1RESPACK-8XTAL218XTAL119RST9P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T 014P3.7/RD17P3.6/WR 16P3.5/T 115AD[0..7]A[8..15]ALE 30EA 31PSEN29P1.0/T 21P1.1/T2EX 2P1.23P1.34P1.45P1.56P1.67P1.78U4AT89C52七、实验心得指导教师评语和成绩评定:实验报告成绩:指导教师签字:年 月 日。

相关主题