实验2:动态扫描显示电路设计

合集下载

单片机实验报告动态数码显示设计

单片机实验报告动态数码显示设计

微机原理与接口技术实验报告实验题目:动态数码显示设计指导老师:朱铭琳班级:计算机科学与技术系1201班姓名:王丹(2012100141)2014年 12月3日实验十三动态数码显示设计一、实验目的1.掌握动态数码显示技术的设计方法。

2.掌握扫描在程序设计中的应用。

二、设计原理如图13.1所示,在单片机的P1端口接动态数码管的字形码笔段,在单片机的P2端口接动态数码管的数位选择端。

在单片机P3.0管脚处接一个开关,当开关连接高电平时,态数码管上显示“12345”字样;当开关连接低电平时,态数码管上显示“HELLO”字样。

三、参考电路图13.1 动态数码显示电路原理图四、电路硬件说明(1)在“单片机系统”区域中,把单片机的P1.0-P1.7端口连接到“动态数码显示”区域中的a-h端口上。

(2)在“单片机系统”区域中,把单片机的P2.0-P2.7端口通过8联拨动拨码开关JP1连接到“动态数码显示”区域中的S1-S8端口上。

(3)在“单片机系统”区域中,把单片机的P3.0端口通过8联拨动拨码开关JP2连接到拨动开关区域中的SW1端口上。

五、程序设计内容(1)动态扫描方法:动态接口采用各数码管循环轮流显示的方法,当循环显示频率较高时,利用人眼的暂留特性,看不出显示的闪烁现象,这种显示需要一个接口完成字形码的输出(字形选择),另一接口完成各数码管的轮流点亮(数位选择)。

(2)在进行数码显示的时候,要对显示单元开辟8个显示缓冲区,在每个显示缓冲区装有显示的不同数据即可。

(3)对于显示不同字形码的数据采用查表方法来完成。

六、程序流程图 (如图13.2所示)图13.2 动态数码显示程序流程图七、汇编源程序;;;;;;;;;;入口地址;;;;;;;;;;ORG 0000HLJMP STARTORG 0003HRETIORG 000BHRETIORG 0013HRETIORG 001BHRETIORG 0023HRETIORG 002BHRETI;;;;;;;;;;主程序入口;;;;;;;;;;ORG 0100H START: LCALL PANDUANLCALL XIANSHILJMP START;;;;;;;;;;判断开关的状态;;;;;;;;;;PANDUAN: JB P3.0,SWLCALL DELAY10MSJB P3.0,SWMOV DPTR,#TABLE2SJMP Q1SW: JNB P3.0,PANDUANMOV DPTR,#TABLE1 Q1: RET;;;;;;;;;;显示程序;;;;;;;;;;XIANSHI: MOV R0,#00HMOV R1,#7FH NEXT: MOV A,R0MOVC A,@A+DPTRMOV P0,AMOV A,R1MOV P2,ALCALL DELAYINC R0RR AMOV R1,ACJNE R1,#0FBH,NEXTRET;;;;;;;;;;10ms延时程序;;;;;;;;;;DELAY10MS: MOV R6,#20D1: MOV R7,#248DJNZ R7,$DJNZ R6,D1RET;;;;;;;;;;200ms延时程序;;;;;;;;;;DELAY: MOV R5,#20LOOP: LCALL DELAY10MSDJNZ R5,LOOPRET;;;;;;;;;;共阴字母码表;;;;;;;;;;TABLE1: DB 76H,79H,38H,38H,3FH;;;;;;;;;;共阴数码表;;;;;;;;;;;TABLE2: DB 06H,5BH,4FH,66H,6DH;;;;;;;;;;结束标志;;;;;;;;;;;;;END八、C语言源程序#include<AT89X51.H>unsigned char code table1[]={0x06,0x5b,0x4f,0x66,0x6d};unsigned char code table2[]={0x76,0x79,0x38,0x38,0x3f};void main(void){ unsigned char i,j,k,m;while(1){ j=0x7f;for(i=0;i<5;i++) //运行5次取出表中的5个数//{ if(P3_0==0) //如果开关为0,则显示12345// { P0=table1[i]; } //送P1口显示//else //如果开关为1,显示HELLO//{ P0=table2[i]; } //送P1口显示//P2=j; //显示码送入P2口//j=0x7f; //重赋初值//k=j>>(i+1); //右移i+1位//m=j<<(7-i); //左移7-i位//j=k|m;for(k=4;k>0;k--) //每隔一段时间显示一次//for(m=248;m>0;m--);}}}九、注意事项(1)程序中要注意共阴极数码管显示和共阳极数码管显示的区别,本程序在共阴极数码管显示时,要把单排针接插件J4中的跳线帽加到OE和VCC上。

数码管动态显示实训报告

数码管动态显示实训报告

一、实训目的本次实训旨在通过实际操作,让学生掌握数码管动态显示的原理,了解数码管动态扫描显示电路的设计方法,提高学生使用Verilog HDL进行层次化设计电路的能力。

通过实训,学生能够理解并应用动态扫描显示数码管、数据选择器及其信号分配方法,同时熟悉使用可编程芯片(如FPGA/CPLD)控制多位动态扫描数码管的显示。

二、实训环境1. 实训设备:FPGA开发板、数码管、信号源、示波器等。

2. 软件工具:Quartus II、ModelSim等。

3. 实训教材:相关电子设计教材、Verilog HDL编程指南。

三、实训原理数码管动态显示技术是利用人眼的视觉暂留效应,通过快速切换显示不同的数码管,使观察者感觉多个数码管同时显示。

具体原理如下:1. 数码管结构:数码管由若干个LED段组成,通过点亮不同的段来显示数字或字符。

2. 共阳/共阴数码管:数码管分为共阳和共阴两种类型。

共阳数码管的阳极连接在一起,共阴数码管的阴极连接在一起。

3. 动态扫描:通过控制每个数码管的点亮和熄灭,实现多位数码管的动态显示。

4. 数据选择器:用于选择要显示的数字或字符对应的段编码。

四、实训过程1. 设计3位数码管动态扫描显示电路:- 使用Verilog HDL设计数码管显示模块,包括段编码生成、位选控制、时钟分频等。

- 设计数据选择器,用于选择要显示的数字或字符对应的段编码。

- 设计主控制器,用于控制动态扫描的时序。

2. 实现显示功能:- 将学号的后3位数字输入到数码管显示电路中。

- 使用可编程芯片(如FPGA/CPLD)实现电路的编译和下载。

3. 提高性实验:- 增加一个功能切换控制开关,实现数码管显示数字的自动循环移位。

- 设计其他显示功能,如显示不同的字符或图案。

4. 实验测试:- 使用示波器观察数码管显示电路的时序信号,确保电路正常工作。

- 使用Quartus II进行仿真测试,验证电路的功能。

五、实验结果与分析1. 3位数码管动态扫描显示电路:- 成功实现了学号后3位数字的动态显示。

数码管动态显示实验报告

数码管动态显示实验报告

一、实验目的1. 掌握数码管动态扫描显示的原理和编程实现方法;2. 熟悉单片机与数码管之间的接口连接;3. 学会使用定时器中断控制数码管的动态显示;4. 培养动手能力和问题解决能力。

二、实验原理数码管动态显示是通过单片机控制多个数码管同时显示不同的数字或字符,利用人眼的视觉暂留效应,实现快速切换显示内容,从而在有限的引脚数下显示更多的信息。

实验中,我们采用动态扫描的方式,依次点亮数码管,通过定时器中断控制扫描速度。

三、实验器材1. 单片机开发板(如51单片机、AVR单片机等);2. 数码管(共阳/共阴自选);3. 连接线;4. 电阻;5. 实验台;6. 编译器(如Keil、IAR等)。

四、实验步骤1. 设计电路图:根据实验要求,设计单片机与数码管的连接电路图,包括数码管的段码、位选信号、电源等。

2. 编写程序:使用C语言或汇编语言编写程序,实现数码管的动态显示功能。

(1)初始化:设置单片机的工作模式、定时器模式、端口方向等。

(2)显示函数:编写显示函数,实现数码管的点亮和熄灭。

(3)定时器中断服务程序:设置定时器中断,实现数码管的动态扫描。

3. 编译程序:将编写的程序编译成机器码。

4. 烧录程序:将编译后的程序烧录到单片机中。

5. 连接电路:将单片机与数码管连接好,包括数码管的段码、位选信号、电源等。

6. 运行实验:打开电源,观察数码管的显示效果。

五、实验结果与分析1. 实验结果:数码管按照预期实现了动态显示功能,依次点亮每位数码管,并显示出不同的数字或字符。

2. 分析:(1)通过调整定时器中断的周期,可以改变数码管的扫描速度,从而控制显示效果。

(2)在编写显示函数时,要考虑到数码管的共阳/共阴特性,选择合适的点亮和熄灭方式。

(3)在实际应用中,可以根据需要添加其他功能,如显示时间、温度等。

六、实验总结1. 通过本次实验,掌握了数码管动态显示的原理和编程实现方法。

2. 熟悉了单片机与数码管之间的接口连接,提高了动手能力。

动态扫描电路课程设计

动态扫描电路课程设计

动态扫描电路课程设计一、教学目标本课程旨在让学生了解和掌握动态扫描电路的基本原理、组成和应用。

通过本课程的学习,学生应能理解动态扫描电路的工作原理,掌握其设计和应用的基本方法,培养动手实践能力和创新意识。

1.掌握动态扫描电路的基本原理和组成。

2.了解动态扫描电路的应用领域。

3.学会动态扫描电路的设计方法。

4.能够分析动态扫描电路的工作过程。

5.能够独立设计简单的动态扫描电路。

6.能够使用实验仪器进行动态扫描电路的实验操作。

情感态度价值观目标:1.培养学生对电子技术的兴趣和好奇心。

2.培养学生团队合作精神和实践能力。

3.培养学生创新意识和解决实际问题的能力。

二、教学内容本课程的教学内容主要包括动态扫描电路的基本原理、组成、设计和应用。

1.动态扫描电路的基本原理:介绍动态扫描电路的工作原理,包括时序逻辑、扫描原理等。

2.动态扫描电路的组成:介绍动态扫描电路的基本组成部分,包括触发器、移位寄存器、计数器等。

3.动态扫描电路的设计:讲解动态扫描电路的设计方法,包括电路图的绘制、参数的计算等。

4.动态扫描电路的应用:介绍动态扫描电路在实际应用中的例子,如数字时钟、数字信号处理器等。

三、教学方法本课程采用多种教学方法,包括讲授法、讨论法、案例分析法和实验法等。

1.讲授法:通过教师的讲解,让学生掌握动态扫描电路的基本原理和设计方法。

2.讨论法:通过小组讨论,培养学生的思考能力和团队合作精神。

3.案例分析法:通过分析实际案例,让学生了解动态扫描电路的应用领域。

4.实验法:通过动手实验,让学生加深对动态扫描电路的理解和掌握。

四、教学资源本课程的教学资源包括教材、参考书、多媒体资料和实验设备。

1.教材:选用权威、实用的教材,如《数字电路与逻辑设计》、《动态扫描电路》等。

2.参考书:提供相关的参考书籍,如《数字电路设计手册》、《电子技术基础》等。

3.多媒体资料:制作课件、视频等多媒体资料,帮助学生更好地理解动态扫描电路。

数码管动态扫描实验报告

数码管动态扫描实验报告

数码管动态扫描实验一、实验目的学习计数器的设计、分析合测试方法。

学习硬件扫描显示电路的设计方法。

二、实验仪器1、PC机2、SW-51PROC单片机综合实验平台三、实验内容编写一段程序,用单片机P0口和P2口的I/O输出去控制8位的数码管显示,实现如下功能:使数码管上显示1、2、3、4、5、6、7、8。

四、实验步骤:1、用Protues设计数码管动态扫描显示电路;2、在KeilC51中编写识别程序,通过后与Protues联合调试;3、启动仿真,观察数码管显示是否正确;4、用Protues设计脉冲计数电路,仿真调试、运行程序并查看效果。

五、电路设计及调试:1、实验电路:2、程序设计与调试:①实验程序:【12345678】#include<reg52.h>#define uintunsigned int#define ucharunsigned charuchar codeDisplsy[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80}; uchar codeTemble[]={0,1,2,3,4,5,6,7};void delay(uint z){uchar t;while(z--) for(t=120;t>0;t--);}void main(){uchar i;P0=0xff;P1=0;while(1){if(i==8)i=0;P1=Temble[i];P0=~Displsy[i+1];i++;delay(2);}}【脉冲计时】#include<reg52.h>#define uintunsigned int#define ucharunsigned charucharcodeDisplay[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; uchar codeTemble[]={0,1,2,3,4,5,6,7};uchar Flag;uint Num;void delay(uint z){uchar t;while(z--) for(t=120;t>0;t--);}voidTest2(void){TR1 = 1;while(1){Num = TH1;Num = Num << 8;Num |= TL1;P1 = 7;P0 = ~Display[Num%10];delay(3);P1 = 6;P0 = ~Display[Num%100/10];delay(3);P1 = 5;P0 = ~Display[Num%1000/100];delay(3);P1 = 4;P0 = ~Display[Num%10000/1000];delay(3);P1 = 3;P0 = ~Display[Num%100000/10000];delay(3);P1 = 2;P0 = ~Display[Num%1000000/100000];delay(3);P1 = 1;P0 = ~Display[Num%10000000/1000000];delay(3);P1 = 0;P0 = ~Display[Num%100000000/1000000];delay(3);}}void main(){TMOD = 0x50;TH1 = 0x00;TL1 = 0x00;EA = 1;ET1 = 1;TR1 = 0;while(1){Test2();}}②调试:③实验结果:1、数字1~8分别显示在8个数码管上,显示无闪烁。

多位LED-显示器动态扫描驱动电路设计完整版

多位LED-显示器动态扫描驱动电路设计完整版

《多位LED 显示器动态扫描驱动电路》报告(一)目的:1、了解多位LED 显示器动态扫描驱动电路的基本工作原理;2、完成多位LED 显示器动态扫描驱动电路设计并分析计算单元电路;3、绘制多位LED 显示器动态扫描驱动电路图,针对工作原理进行参数估算;4、电路功能的检测和调试;5、设计答辩,完成设计报告。

(二)结构图(三)电路总体功能概述该电路的功能是通过控制数据选择器输入端的高低电平来使四个LED显示器可以显示0-9任意一个数字,实现动态扫描功能。

由振荡电路,控制电路,四位四选一数据选择器,一位LED译码驱动电路和四位LED显示电路组成。

首先用555定时器构成频率为1000赫兹多谐振荡器产生脉冲信号,再将信号传输到74构成的二位二进制触发器,使该触发器输出00,01,10,11。

将触发器的两输出端分别接到数据选择器153的S1,S0,将四个输入D0或D1D2D3信号传输到LED显示电路,使LED显示不同数字,将触发器的两输出端接到138的A1,A0(A2接0),再将138的输出Y0,Y1,Y2,Y3接到四个LED的共阴极,控制LED的显示状态,把74ls153的输出端与cc4511的四个输入端相连,把LED显示器的a,b,c,d,e,f,g与cc4511的输出端相连,这样便可以通过555定时器产生的脉冲控制四个LED的显示顺序,同时调整153的输入端的高低电位,这样便实现了对四个LED的显示控制,可随意现实0至9的数字。

振荡电路由555定时器构成的多谐振荡电路组成,有振荡电路提供脉冲,振荡周期T=Tpl+Tph=R1*C*ln2+(R1+R2)*C*ln2=0.001s,则其振荡频率为1000Hz,多谐振荡器在接通电源后无需外接触发信号就可以产生矩形脉冲或方波。

控制电路是一片74LS74构成的两位二进制触发器,它接收到控制电路的振荡脉冲,产生00,01,10,11的输出信号。

数据选择器由两片74LS153构成,其功能为四选一数据选择器,接收控制电路的输出信号,分别选择四个输入D0或D1或D2或D3信号传输到LED显示电路,使LED显示不同数字译码驱动电路由一片八选一的数据选择器74LS138组成,它接受控制电路输出的信号同时将自身的输出信号分别连接到4片LED的共阴极控制LED显示器的工作状态.显示电路由一片4511构成,其接收74LS153输出的信号分别使四个LED显示器显示8421BCD码所代表的十进制数。

动态扫描显示电路实验的设计与实现

动态扫描显示电路实验的设计与实现
Ke r s D n mi a n n ip a ;r g c u tr 7 L 4 d o e y wo d : y a c s n i g d s ly i o ne ; 4 S 7 e d r c n c
1 引 言
在多位 L D显示 时 。为 了简化硬件 电路 。通 E
文章编号 :17 4 5 {0 8 0 — 05— 2 62— 5 0 20 ) 1 0 8 0
De in a d Re lz to fDy a i c n i g Dip a r u tEx e i e t sg n aia in o n m c S a n n s ly Cic i p rm n
( 下转第 9 5页)
维普资讯
第 6卷
第1 期
Epr et c ne eho g xe m n Si c &Tcnl y i e o
・ 5・ 9
( 上接第 8 5页 )
YU Ja g in
( hs sadEet n fr ai cec e atet eh ec esC lg ,Lsa 6 40 ,C ia P yi n lc oi I om t nSineD pr n,Ls a T ahr ol e ehn 10 4 hn ) c r cn o m n e
Ab t a t Dy a c s a n n i ly t c n l g a e n w d l p  ̄ d F ra n—d p h u d r tn i g o s w r i g p n i l sr c : n mi c n i g d s a e h oo y h s b e i ey a p e . o n i p e t n esa d n f i o k n r c pe, t i h u rd sg sa s t mp ea d e e i i i a i e e c t f p cf e in a t e a t o e in e f i l n f t e cr u t d sr sa d s rp in o e s e i c d sg d i l me tt n mo a i e .Th h os c v c n i o h t i n mp e n a o d l is i t e d sg f ii li tg ae i u t , a d t e d sg ft e e p r n r u c sf lat mp e i o g t n e r td cr i n d a c s n e i o x e me t e a s c e su t h n h i a e t.

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

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

实验名称八位七段数码管动态显示电路的设计一、实验目的1、了解数码管的工作原理。

2、学习七段数码管显示译码器的设计。

3、学习Verilog的CASE语句及多层次设计方法。

二、实验原理七段数码管是电子开发过程中常用的输出显示设备。

在实验系统中使用的是两个四位一体、共阴极型七段数码管。

其单个静态数码管如下图4-1所示。

图4-1 静态七段数码管由于七段数码管公共端连接到GND(共阴极型),当数码管的中的那一个段被输入高电平,则相应的这一段被点亮。

反之则不亮。

共阳极性的数码管与之相么。

四位一体的七段数码管在单个静态数码管的基础上加入了用于选择哪一位数码管的位选信号端口。

八个数码管的a、b、c、d、e、f、g、h、dp都连在了一起,8个数码管分别由各自的位选信号来控制,被选通的数码管显示数据,其余关闭。

三、实验内容本实验要求完成的任务是在时钟信号的作用下,通过输入的键值在数码管上显示相应的键值。

在实验中时,数字时钟选择1KHZ作为扫描时钟,用四个开关做为输入,当四个开关置为一个二进制数时,在数码管上显示其十六进制的值。

实验箱中的拨动开关与FPGA的接口电路,以及开关FPGA的管脚连接在实验一中都做了详细说明,这里不在赘述。

数码管显示模块的电路原理如图4-2所示,表4-1是其数码管的输入与FPGA的管脚连接表。

图4-2 数字时钟信号模块电路原理信号名称对应FPGA管脚名说明7SEG-A G6 七段码管A段输入信号7SEG-B G7 七段码管B段输入信号7SEG-C H3 七段码管C段输入信号7SEG-D H4 七段码管D段输入信号7SEG-E H5 七段码管E段输入信号7SEG-F H6 七段码管F段输入信号7SEG-G J4 七段码管G段输入信号7SEG-DP L8 七段码管dp段输入信号7SEG-SEL0 G5 七段码管位选输入信号7SEG-SEL1 G3 七段码管位选输入信号7SEG-SEL2 F4 七段码管位选输入信号表4-1 数码管与FPGA的管脚连接表四、实验步骤1、打开QUARTUSII软件,新建一个工程。

四位LED显示器动态扫描电路

四位LED显示器动态扫描电路

《数字电路》课程设计四位LED动态扫描设计目录1前言(引言)随着计算机技术和电子技术的飞速发展和广泛应用,电器设备的输出显示技术也变得复杂多样,诸如CRT显示、LCD显示、多位LED显示及发光二极管显示等应运而生。

在这些显示当中,LED及发光二极管显示电路较为简单,成本也较低,在功能单一的仪器仪表与机电设备中应用较广。

但当设备显示的点或位较多时,就需要采用一定的驱动电路与相应的驱动方式。

通过我们所学的数字电路,模拟电路,设计一个电路,实现一些功能。

此次设计锻炼我们的动手能力,解决问题的能力!2设计任务及方案论证用四位编码开关编码,将编出来的数字(0~9)以动态扫描的形式显示在LED数码管上,并且能够调节扫描频率。

1.通过编码开关,编出0000~9999的数字。

2.通过两个四选一的选择开关(74LS153),选择输出位数。

3.将选择输出的四位进行排序,接入数码管译码器(C4511)。

4.将对应的编码通过译码器显示在数码管上。

5.由于要求动态扫描:接入一个时钟脉冲。

产生时钟脉冲需要接入555多些振荡器。

产生的CP脉冲,通过计数器产生00~11的二进制数。

两位二进制数与四选一选择开关和2—4的计数器同步,产生1110,1101,1011,0111的四位二进制数作为数码管的驱动电压。

将设计的电路,经过理论计算,做出电路板,进行调试,从而来验证试验设计的真确性。

3电路设计原理与实验电路3.1设计任务及要求利用数字集成电路(如:74LS353、48、139、393,NE555等)和分立元件设计一个四位LED显示器动态扫描驱动电路。

(1)基本要求①显示范围:0000~9999;②显示方式:LED显示;③扫描频率:1Hz~1000Hz连续可调;④可预置数:0000~9999。

(2)发挥部分①扫描频率:1Hz~1000Hz连续可调;②自制符合要求电源。

3.2 设计方案通过编码开关对0到9的数字进行编码,送入四选一的选择器(74LS153),通过由低位到高位的排序,将选择的数字传入到译码器(74HC4511)中,并通过输出中间级使其数据传送到LED七段数码显示管。

多位LED显示器动态扫描驱动电路设计

多位LED显示器动态扫描驱动电路设计

《多位LED显示器动态扫描驱动电路》报告(一)目的:1、了解多位LED显示器动态扫描驱动电路的基本工作原理;2、完成多位LED显示器动态扫描驱动电路设计并分析计算单元电路;3、绘制多位LED显示器动态扫描驱动电路图,针对工作原理进行参数估算;4、电路功能的检测和调试;5、设计答辩,完成设计报告。

(二)结构图ID 2D JD ID紀LED就tl懈醴帆髓用(三)电路总体功能概述该电路的功能是通过控制数据选择器输入端的高低电平来使四个LED显示器可以显示0-9任意一个数字,实现动态扫描功能。

由振荡电路,控制电路,四位四选一数据选择器,一位LED译码驱动电路和四位LED显示电路组成。

首先用555定时器构成频率为1000赫兹多谐振荡器产生脉冲信号,再将信号传输到74构成的二位二进制触发器,使该触发器输出00,01,10, 11。

将触发器的两输出端分别接到数据选择器153的S1,S0,将四个输入D0或D1D2D3信号传输到LED显示电路,使LED显示不同数字,将触发器的两输出端接到138的A1,A0 (A2接0),再将138 的输出Y0,Y1,Y2,Y3接到四个LED的共阴极,控制LED的显示状态,把74IS153的输出端与CC4511的四个输入端相连,把LED显示器的a,b,c,d,e,f,g与CC4511的输出端相连,这样便可以通过555定时器产生的脉冲控制四个LED的显示顺序,同时调整153的输入端的高低电位,这样便实现了对四个LED的显示控制,可随意现实0至9的数字。

振荡电路由555定时器构成的多谐振荡电路组成,有振荡电路提供脉冲,振荡周期T=Tpl+Tph=R1*C*ln2+ (R1+R2)*C*ln2=0・001s,则其振荡频率为1000Hz,多谐振荡器在接通电源后无需外接触发信号就可以产生矩形脉冲或方波。

控制电路是一片74LS74构成的两位二进制触发器,它接收到控制电路的振荡脉冲,产生00,01,10,11的输出信号。

实验二

实验二

[实验二] 基本I/O输出应用[实验目的]:1.掌握Mega16的I/O输出功能2.掌握动态扫描的原理和用途,了解数码管及LED点阵模块。

3.掌握单片机I/O输出口的扩充方法。

[基本实验内容]:根据需要给出电原理图和程序清单。

一、阅读芯片数据手册,掌握GPIO口有几种模式,如何控制IO口的输出。

二、写出一函数void Display(unsigned char n) 参数n为0-9 ,要求通过该函数能使得数码管显示相应数字。

三、使用4个LED数码管,设计一个5分钟的计时显示器。

(接通电源后,显示为00.00,然后每隔1秒加一显示,计到04.59后清零,重复计时)。

四、参考教材P188,利用8X8点阵LED,显示一个不断向下运动的 符号。

五、利用74HC164,仅使用Mega16的两个I/O口,完成实验二的内容。

[选作实验内容]一、设计一个8X8点阵LED广告,能够水平移动显示基本实验内容四的箭头符号。

二、参考教材P190,在字符LCD上显示“Are you OK?”。

[实验总结与思考]1.了解IO口上拉作用,A VR如何实现上拉?上拉有什么作用?2.给出软件延时的优缺点。

3.在动态扫描显示中,若要调整显示的亮度。

请给出若干种硬件何软件的设计改动方法,并说明理由?4. 要以比较少的I/O口去实现一个8位的LED数码管动态扫描显示,该如何设计其硬件电路和相应的软件显示控制程序?给出电路原理图和程序流程图。

提示:考虑使用74HC164和74HC138。

[参考资料]1.A VR-51多功能实验板电原理图,实物图2.教材第六章参考文献(P197)。

实验二动态扫描显示电路设计

实验二动态扫描显示电路设计

实验二动态扫描显示电路设计一、设计要求1、设计要求设计一个四位LED数码显示动态扫描控制电路,显示4位十进制数或4字母的单词,要求显示内容可以通过按键切换。

2、硬件环境LP-2900开发装置的LED数码管为共阴显示器,六个显示器的七个段控制a~g及小数点dp分别对应相连,各显示器的共阴极分别由一个3线-8线译码器74138的输出Y0~Y5控制。

译码器的3位输入码分别由FPGA的I/O端口DE3、DE2、DE1控制,如图1所示。

图1 LP-2900开发装置FPGA与LED数码显示器的电路连接3线-8线译码器的3位输入码DE3、DE2、DE1为“000”~“101”时,输出Y0~Y5中有一个为0,FPGA的a~g端口将控制共阴极为0的数码管显示。

比如,当DE3、DE2、DE1为“011”时,Y3=0,数码管C4显示。

二、设计原理分析多位七段显示器的控制分为静态和动态扫描两种方法。

静态驱动方法是将所有显示器的公共端都接有效电平,各位显示器的段控制信号互不相干,分别控制。

这样,n位显示器需要7×n个控制信号(不包括小数点),即需要FPGA的56个I/O口对其进行控制。

动态扫描方法是将所有显示器的各个段控制端(a、b…、g、dp)一一对应连接,而各显示器的公共端COM由位扫描信号分别控制。

这样,n位显示器只需要8+n个控制信号(包括小数点)。

比如,LP-2900开发装置上B区的6个共阴显示器采用了动态扫描驱动方式,6个共阴端C1~C6由通过一个3线-8线译码器分时控制,电路原理如图1所示。

这样FPGA 只需要11个I/O口,其中8个控制段信号、3个输出二进制码(“000”~“101”)控制C1~C6。

1.动态显示扫描控制动态扫描驱动电路中所有的显示器由相同的段信号控制,公共端有效的显示器将显示相同的字符。

所以,要使各显示器显示不同的内容,必须控制它们的公共端分时轮流有效。

每个显示器只在其公共端为有效电平时根据段码信号显示相应的字符,公共端无效时灭显。

中断动态扫描实验报告

中断动态扫描实验报告

一、实验目的1. 掌握中断技术在动态扫描显示中的应用。

2. 理解中断动态扫描的原理和实现方法。

3. 学会使用定时器中断实现动态扫描显示。

二、实验原理动态扫描显示是通过控制数码管的各个段,使数码管显示不同的数字或字符。

在动态扫描显示中,每个数码管只在极短的时间内点亮,人眼由于视觉暂留效应,会感觉到多个数码管同时显示。

本实验使用中断技术实现动态扫描显示,利用定时器中断来控制显示时间。

三、实验环境1. 硬件环境:51单片机实验板、数码管、74HC595驱动器、连接线等。

2. 软件环境:Keil uVision 5、IAR EWARM等C语言开发环境。

四、实验步骤1. 设计电路:连接数码管、74HC595驱动器与51单片机实验板,确保电路连接正确。

2. 编写程序:a. 初始化定时器T0,设置中断频率。

b. 编写中断服务程序,实现动态扫描显示。

c. 在主函数中调用显示函数,使数码管显示数字。

3. 调试程序:将程序烧录到单片机中,观察数码管显示效果。

五、实验结果与分析1. 实验结果:数码管动态显示数字0123456789,每隔一段时间切换显示数字。

2. 实验分析:a. 定时器T0中断实现动态扫描显示,通过设置定时器初值控制中断频率。

b. 中断服务程序负责切换数码管的显示内容,实现动态效果。

c. 通过调整定时器初值,可以改变动态扫描的速度。

六、实验总结1. 通过本次实验,掌握了中断技术在动态扫描显示中的应用。

2. 理解了中断动态扫描的原理和实现方法。

3. 学会了使用定时器中断实现动态扫描显示。

七、实验改进与展望1. 实验改进:在原有基础上,可以尝试使用其他中断源实现动态扫描显示,如外部中断、串口中断等。

2. 实验展望:可以将动态扫描显示应用于实际项目中,如电子钟、计数器等。

同时,可以尝试使用其他微控制器实现动态扫描显示,如ARM、AVR等。

LED显示器动态扫描驱动电路的设计

LED显示器动态扫描驱动电路的设计

辽宁工业大学数字电子技术基础课程设计(论文)题目:LED显示器动态扫描驱动电路的设计院(系):电子与信息工程学院专业班级:学号:100405024学生姓名:指导教师:教师职称:副教授起止时间:2012.12.29—2013.1.11课程设计(论文)任务及评语院(系):电子与信息工程学院教研室:电子信息工程摘要随着计算机技术和电子技术的飞速发展和广泛应用,电器设备的输出显示技术也变得复杂多样。

在这些显示当中,LED数码管的显示电路较为简单,成本也较低,在功能单一的仪器仪表与机电设备中应用较广。

本文着重说明LED显示器动态扫描驱动电路的设计。

对于本设计首先用555定时器产生固定频率的信号作为节拍发生器的时钟,将此时钟连到由74LS160接成的四进制加法计数器上,由具有八个译码输出端的74LS138作为数码管的译码器。

其次,当7447引脚接到高电平时驱动共阴极七段LED数码管轮流显示对应数据。

最后利用仿真软件验证设计的正确性,当各引脚输出的高电平频率达到一定程度时,数码管呈现闪烁现象。

关键词:555定时器;计数器;译码器;七段LED数码管目录第1章绪论 (1)1.1LED显示器动态扫描驱动电路的设计意义 (1)1.2设计参数及要求 (1)1.3方案论证 (2)1.4设计总体框图 (3)第2章各单元电路的设计 (4)2.1多谐振荡器的设计 (4)2.2计数器的设计 (4)2.3译码器的设计 (5)2.4共阴极LED动态驱动电路设计 (6)2.5七段数码管的设计 (7)第3章整体电路设计 (9)3.1整体电路图及工作原理 (9)3.2电路参数计算 (10)3.3整体电路的仿真及分析 (10)第4章设计总结 (12)参考文献 (13)附录: (14)第1章绪论1.1LED显示器动态扫描驱动电路的设计意义随着计算机技术和电子技术的飞速发展和广泛应用,电器设备的输出显示技术也变得复杂多样,诸如CRT显示、LCD显示、多位LED显示及发光二极管显示等应运而生。

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

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

EDA实验二八位七段数码管动态显示电路的设计八位七段数码管动态显示电路是一种常用的显示电路,用于将数字信号转换成七段数码管的显示形式。

本文将详细介绍八位七段数码管动态显示电路的设计原理和实现方法。

首先,我们先介绍一下七段数码管的基本原理和工作方式。

一、七段数码管的基本原理和工作方式七段数码管通常由七个独立的LED组成,分别代表数字0到9和字母A到F。

这七个LED分别为a,b,c,d,e,f,g,用于显示不同的数字。

通过控制每个LED的亮灭状态,可以显示出不同的数字。

七段数码管通常采用共阳极或共阴极的方式控制。

在共阳极的情况下,数码管的共阳极引脚接Vcc,每个LED的阴极引脚分别通过控制芯片上的开关来控制灯的亮灭;在共阴极的情况下,数码管的共阴极引脚接GND,每个LED的阳极引脚通过控制芯片上的开关来控制灯的亮灭。

根据实际需要选择共阳极或共阴极的七段数码管。

在七段数码管中,每个LED代表一个计算机的位数。

例如,数码管中的aLED表示计算机数据的最低位,而gLED表示计算机数据的最高位。

二、八位七段数码管动态显示电路的设计原理八位七段数码管动态显示电路的设计原理是将八个七段数码管连接在一起,通过改变每个数码管的亮灭状态,实现数字的动态显示。

具体的设计原理是通过一个计数器生成7个时序信号,然后再通过逻辑控制器将这些时序信号分配给各个数码管。

可以用三个个位计数器来实现生成的7个时序信号。

其中,一个计数器用于控制7个段的扫描,即a,b,c,d,e,f,g;另外两个计数器用于控制8位数码管中的8个数位,即1,2,3,4,5,6,7,8具体实现时,可以通过一个时钟信号来驱动计数器,每个计数器都有一个计数使能信号和一个计数复位信号。

通过适当的设计时钟信号的频率和计数使能/复位信号的控制,可以实现不同的动态显示效果。

三、八位七段数码管动态显示电路的实现方法八位七段数码管动态显示电路的实现方法可以分为三个步骤:计数器设计、逻辑控制器设计和电路布线。

七段数码管的动态扫描显示实验

七段数码管的动态扫描显示实验

七段数码管的动态扫描显示实验一、实验名称:七段数码管的动态扫描显示实验二、实验目的:(1)进一步熟悉QuartusII软件进行FPGA设计的流程(2)掌握利用宏功能模块进行常用的计数器,译码器的设计(3)学习和了解动态扫描数码管的工作原理的程序设计方法三、实验原理:实验板上常用4位联体的共阳极7段数码管,其接口电路是把所有数码管的8个笔划段a-h同名端连在一起,而每一个数码管由一个独立的公共极COM端控制。

当向数码管发送字形码时,所有数码管都接收到相同的字形码时,但究竟是那个数码管亮,取决于COM端,这一端是由I/O控制的,所以就可以自行决定何时显示哪一位。

动态扫描即采用分时方法,轮流控制各个LED轮流点亮。

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

四、实验要求:实现显示0000-9999的十进制计数器。

五、实验步骤1.建立工程建立名为leddisplay的工程,并建立顶层图。

2.设计技术时钟设计一分频器,对50MHz分频输出到计数器,让计数器以较慢速度递增。

打开File..New,新建一个.v文件。

输入以下程序:module int_div(clk, div_out);input clk;output reg div_out;reg [31:0] clk_div;parameter CLK_FREQ = 'D50_000_000; //系统时钟50MHz parameter DCLK_FREQ = 'D10; //输出频率10/2Hz always @(posedge clk)beginif(clk_div < (CLK_FREQ/DCLK_FREQ))clk_div <= clk_div+1;elsebeginclk_div <= 0;div_out <= ~div_out;endendendmodule输入完成后,将该文件设为顶层实体,该命令在Project->Set as top-level Entity。

数码管动态扫描实验实验报告及程序

数码管动态扫描实验实验报告及程序

实验七数码管动态扫描实验姓名专业学号 2010412381 成绩一、实验目的1.掌握Keil C51软件与protues软件联合仿真调试的方法;2.掌握单片机对数码管的动态显示控制方式;3.掌握定时器的基本使用及编程方法。

二、实验仪器与设备1.微机1台2.Keil C51集成开发环境3.Proteus仿真软件三、实验内容1.用Proteus设计一8位数码管动态扫描显示电路。

要求利用P0口做数码管的段选线,P1.0~P1.2与74LS138译码器的3个输入端相连,其译码输出Y0~Y7作为数码管的位选线。

参考电路见后面实验报告。

2.编写程序,将数字1~8分别显示在8个数码管上,要求显示无闪烁。

3.延长每个数码管选通的时间(如500ms),观察动态扫描过程。

4.编写程序,利用Proteus中的“激励源/DCLOCK/数字类型/时钟”产生频率为1HZ的方波输出,并利用定时/计数器T1统计脉冲的个数,将统计结果动态实时的显示在数码管上。

5.提高时钟频率(如100KHZ),观察显示情况。

四、实验原理1.动态扫描法:1)动态扫描法是对各数码管循环扫描、轮流显示的方法。

由于一次只能让一个数码管显示,因此,要显示8位的数据,必须让数码管一个一个轮流显示才可以,同时每个数码管显示的时间大约在1ms到4ms之间,所以为了保证正确显示,每隔1ms,就得刷新一个数码管。

当扫描显示频率较高时,利用人眼的视觉暂留特性,看不出闪烁现象,这种显示需要一个接口完成字型码的输出(段选),另一接口完成各数码管的轮流点亮(位选)。

2)在进行数码显示的时候,要对显示单元开辟8个显示缓冲区,每个显示缓冲区装有显示的不同数据即可。

3)对于显示的字型码数据采用查表方法来完成。

2.P0口P0口作为地址/数据总线使用时是一个真正的双向端口;而作通用I/O口时,只是一个准双向口,由于其内部漏极开路,应外接10KΩ的上拉电阻,否则无法输出高电平。

3.74LS138:3线—8线译码器引脚排列:真值表:五、实验步骤1.用Proteus设计数码管动态扫描显示电路;2.在Keil C51中编写键盘识别程序,编译通过后,与Proteus联合调试;3.启动仿真,观察数码管显示是否正确;4.用Proteus设计脉冲计数电路,仿真调试、运行程序并查看结果。

动态扫描实验报告总结(3篇)

动态扫描实验报告总结(3篇)

第1篇一、实验背景随着科技的不断发展,数码管在电子设备中的应用越来越广泛。

动态扫描数码管作为一种高效、实用的显示方式,在电子设备中扮演着重要角色。

本实验旨在通过设计并实现动态扫描数码管电路,深入了解动态扫描原理,掌握动态扫描数码管的设计与实现方法。

二、实验目的1. 理解动态扫描数码管的工作原理。

2. 掌握动态扫描数码管电路的设计方法。

3. 学会使用Verilog HDL进行层次化设计电路。

4. 通过仿真验证动态扫描数码管电路的正确性。

三、实验内容1. 动态扫描数码管原理介绍动态扫描数码管由多个七段数码管组成,通过位选线和段选线分别控制数码管的位和段。

动态扫描数码管显示时,先选中某个数码管,然后显示该数码管的段码,随后快速切换到下一个数码管,重复此过程,使多个数码管轮流显示,从而实现多位数码管的显示。

2. 动态扫描数码管电路设计本实验采用Verilog HDL进行动态扫描数码管电路的设计。

主要设计内容包括:(1)位选信号生成模块:生成动态扫描数码管的位选信号,控制数码管的显示顺序。

(2)段选信号生成模块:生成动态扫描数码管的段选信号,控制数码管的显示内容。

(3)七段数码管驱动模块:将段选信号和位选信号转换为数码管的段码,驱动数码管显示。

3. 动态扫描数码管电路仿真使用Verilog HDL进行动态扫描数码管电路的仿真,验证电路的正确性。

主要仿真内容包括:(1)位选信号和段选信号的波形分析。

(2)数码管显示内容的波形分析。

(3)动态扫描数码管电路的整体性能分析。

四、实验结果与分析1. 仿真结果分析通过仿真实验,验证了动态扫描数码管电路的正确性。

位选信号和段选信号波形正常,数码管显示内容正确,动态扫描数码管电路整体性能良好。

2. 实验结果分析(1)动态扫描数码管电路设计过程中,位选信号和段选信号生成模块是关键部分。

位选信号需要满足轮流显示的要求,段选信号需要满足数码管显示内容的要求。

(2)动态扫描数码管电路在实现多位数码管显示时,可以有效减少引脚数量,降低硬件成本。

动态扫描显示电路实验的设计与实现

动态扫描显示电路实验的设计与实现

从无到有:动态扫描显示电路实验的设计与实现动态扫描显示电路是一种常见的电子数字显示技术,其原理是通过快速切换LED单元,从而在观察者眼中呈现出一组数字、字母或符号。

对于初学者而言,常常难以理解其设计和实现过程。

下面将介绍如何从无到有,完成一款具有生动效果的动态扫描显示电路。

一、材料准备1. 数字电路芯片:CD4017B、CD4060B或CD4059B2. LED单元,数量视设计而定。

建议使用3mm或5mm大小的LED。

3. 电源电容:10uF、100uF或470uF电容器。

建议使用50V及以上的规格。

4. 电阻器:220R、1k或10k电阻器,数量视设计而定。

5. 面包板或印制电路板。

6. 其他辅助器件:按钮、开关、电源头等组件。

二、电路设计1. 先了解CD4017B芯片的工作原理。

该芯片是一种低功耗CMOS数码集成电路,具有10位二进制计数器和十个输出端口。

2. 将LED单元连接到芯片对应的输出端口上。

根据需要,可在输出端口前串联电阻器进行电流调节,提高LED的寿命。

3. 通过连接按钮或开关控制器,将CD4017B芯片与CD4060B或CD4059B锁相环组合起来。

锁相环负责调节输出频率,使得LED单元在显示时呈现出连续、动态的效果。

4. 完成电路板的设计和布局。

对于初学者而言,建议使用面包板进行调试,待电路稳定后再将其焊接至印刷电路板上。

三、实验过程1. 将准备好的材料按照电路设计图进行连接。

2. 将电路接入电源头。

确定连接正确、正常工作。

3. 通过按下按钮或开关,观察电路中各个LED单元的状态变化。

调整输出频率使LED单元显示更加流畅。

4. 对电路进行优化,并记录其中的问题、瓶颈及解决方案。

5. 可以在此基础上继续扩展,如添加蜂鸣器、数字显示屏等元件,并将其整合到一起,构建出完整的数字电路系统。

本实验旨在帮助初学者掌握基本的数字电路原理,并能够熟练地设计、调试出具有生动、实用的动态扫描显示电路。

(完整word版)EDA实验报告-实验2-数码管扫描显示电路

(完整word版)EDA实验报告-实验2-数码管扫描显示电路

暨南大学本科实验报告专用纸课程名称 EDA 实验 成绩评定 实验项目名称 数码管扫描显示电路 指导教师 郭江陵 实验项目编号 02 实验项目类型 验证 实验地点 B305 学院 电气信息学院 系 专业 物联网工程 组号: A6一、实验前准备本实验例子使用独立扩展下载板EP1K10_30_50_100QC208(芯片为EP1K100QC208)。

EDAPRO/240H 实验仪主板的VCCINT 跳线器右跳设定为3。

3V ; EDAPRO/240H 实验仪主板的VCCIO 跳线器组中“VCCIO3.3V"应短接,其余VCCIO 均断开;独立扩展下载板“EP1K10_30_50_100QC208”的VCCINT 跳线器组设定为2。

5V ;独立扩展下载板“EP1K10_30_50_100QC208”的VCCIO 跳线器组设定为3。

3V 。

请参考前面第二章中关于“电源模块"的说明。

二、实验目的1、了解时序电路设计。

2、制作一个数码管显示的7段译码电路,以备以后调用.三、实验原理在电子电路显示部分里,发光二极管(LED)、七段显示数码管、液晶显示(LCD)均是十分常见的人机接口电路.通常点亮一个LED 所需的电流在5~20mA 之间,电流愈大,LED 的亮度也高,相对的使用寿命也愈短。

若以10mA 导通电流来估算一个接5V 的串接电阻值计算应为:(5-1.6)/10mA ≈0.34K Ω。

七段显示数码管分为共阳、共阴二种极性。

它们等效成八个LED 相连电路。

共阴极七段显示器的LED位置定义和等效电路共阴极七段显示码十六进制转换表四、实验内容用拨码开关产生8421BCD码,CPLD器件产生译码及扫描电路,把BCD码显示在LED数码管上,通过改变扫描频率观察数码管刷新效果。

五、实验要求学习在MAX+PLUS II中使用VHDL设计功能模块,并将所生成的功能模块转换成MAX+PLUS II原理图的符号库,以便在使用原理图时调用该库。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验2:动态扫描显示电路设计
一、实验目的及要求
设计一个能对4个数码管进行动态扫描显示的控制电路。

二、实验仪器设备及软件平台
台式电脑、QuartusII 8.0软件、康芯公司EDA/SOPC实验箱。

三、实验设计及调试
1、实验内容
设计一个能对4个数码管进行动态扫描显示的控制电路,在前端挂上计数器以后,观察计数结果是否正确。

2、实验设计
先设计动态扫描显示控制电路,然后挂上计数器,观察是否工作正常。

(1)动态扫描电路控制程序
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_unsigned.all;
entity dtsm_ymq is
port(clk:in std_logic;
four,three,two,one:in std_logic_vector(3 downto 0);
x:out std_logic_vector(6 downto 0);
led_select: out std_logic_vector(3 downto 0));
end;
architecture behave of dtsm_ymq is
signal bcd_in:std_logic_vector(3 downto 0);
signal cnt2: std_logic_vector(2 downto 0):="000";
begin
p1:process(clk)
if clk'event and clk='1' then
if cnt2>="100" then cnt2<="001";
else cnt2<=cnt2+'1';
end if;
end if;
end process;
p2:process(cnt2)
begin
case cnt2 is
when "000"=>led_select<="1111";
when "001"=>led_select<="1110";
when "010"=>led_select<="1101";
when "011"=>led_select<="1011";
when "100"=>led_select<="0111";
when others=>led_select<="1111";
end case;
end process;
p3:process(cnt2,four,three,two,one)
begin
case cnt2 is
when "000"=>bcd_in<="0000";
when "001"=>bcd_in<=one;
when "010"=>bcd_in<=two;
when "011"=>bcd_in<=three;
when "100"=>bcd_in<=four;
when others=>bcd_in<="0000";
end case;
end process;
p4:process(bcd_in)
case bcd_in is
when "0000"=>x<="0111111";
when "0001"=>x<="0000110";
when "0010"=>x<="1011011";
when "0011"=>x<="1001111";
when "0100"=>x<="1100110";
when "0101"=>x<="1101101";
when "0110"=>x<="1111101";
when "0111"=>x<="0000111";
when "1000"=>x<="1111111";
when "1001"=>x<="1101111";
when others=>x<="0000000";
end case;
end process;
end behave;
其生成的模块符号如图1所示。

(2)在四个输入端挂上计数器或者给定数值,观察数码管显示是否正常。

3、实验步骤
①设计扫描电路控制程序;
②建立项目并编译项目;
③功能仿真;
⑥锁定引脚及二次编译:根据电路板的要求锁定引脚,再次进行全局编译;
⑦程序下载:用USB接口的JTAG下载器将程序下载到FPGA片内RAM中。

4、调试查错
程序下载完成后,测试能否正常实现显示功能。

四、实验总结
动态扫描电路最大限度节省口线资源,具有很高应用价值。

相关文档
最新文档