数码管倒计时电路的设计

数码管倒计时电路的设计
数码管倒计时电路的设计

数码管倒计时电路的设计

LED数码管倒计时电路采用24H计时方式,时分秒用6位数码管显示,分、秒之间为闪烁位,每0.5秒闪烁一次。该电路采用AT89C51单片机,可按需求设计计时数。

数码管时钟电路如图1所示,其采用AT89C51单片机,LED先是采用动态扫描方式实现,P1口输出段码数据,P3.3~P3.5口接三八译码器作扫描输出,P0.0~P0.6口接按钮开关,为了提高秒计时的精确性,采用12MHz晶振。

1.主程序

本设计中的计时采用定时器T0中断完成,其余状态循环调用显示子程序,当P0.6端口开关按下时,转入调时功能程序。

2.显示子程序

数码管显示的数据存放在内存单元40H~45H中,其中40H~41H存放秒数据,42H~43H 存放分数据,44H~45H存放时数据,每一地址单元内均为十进制BCD码。由于采用软件动态扫描实现数据显示功能,显示用十进制BCD码数据的对应段码存放在ROM表中。显示时,先取出40H~45H某一地址中的数据,然后查得对应的显示用段码从P1口输出。P3.3~P3.5口将对应的数码管选中,就能显示该地址单元的数据值。

3.定时器T0中断服务程序

定时器T0用于时间计时。定时溢出中断周期设为50ms,中断累计20次(即1秒)时对秒计数单元进行加1操作。时间计数单元地址分别在40H~41H(s),46H~77H(min),78H~79H(h),20H单元内存放“熄灭符”数据。在计数单元中采用十进制BCD码计数,满60进位。

4.设置计时数程序

设置计时数程序的设计方法是,P0.0~P0.5分别对应秒个位秒十位,分个位分十位,时个位时十位,P0.6设置位,当P0.6为0时,进入设置状态,各位清0,设置结束,按P0.6开始计时。

5.汇编程序清单

ORG 0000H

LJMP START

ORG 000BH

LJMP ZM0

;*****************************

; 主程序

;*****************************

START: MOV TMOD,#11H ;设置定时器为0工作方试1

MOV TL0,#0B0H

MOV TH0,#3CH ;设置定时器0为50ms

SETB EA ;开总中断

SETB ET0 ;开定时器0中断

MOV DPTR,#TAB ;表格地址

MOV 20H,#0FFH ;设置闪烁位

MOV 40H,#00H ;秒个位

MOV 41H,#00H ;秒十位

MOV 42H,#00H ;分个位

MOV 43H,#00H ;分十位

MOV 44H,#00H ;时个位

MOV 45H,#00H ;时十位

MOV 50H,#0C0H ;秒个位显示码

MOV 51H,#0C0H ;秒十位显示码

MOV 52H,#0C0H ;分个位显示码

MOV 53H,#0C0H ;分十位显示码

MOV 54H,#0C0H ;时个位显示码

MOV 55H,#0C0H ;时十位显示码

MOV R2,#20 ;计数用,20*50ms为一秒

SETB TR0 ;定时器0开始计时

MAIN: ACALL DISPLAY ;显示

JB P0.6,MAIN ;调整键按下

ACALL DISP ;除抖

JB P0.6,MAIN

ACALL SETTIME ;进入调时

SJMP MAIN

;****************************

; 计时中断0

;****************************

ZM0: PUSH ACC ;保护现场

PUSH PSW

CLR ET0 ;关闭总中断

CLR TR0 ;关计时器0中断

MOV A,#0B7H ;中断响应时间同步修正

ADD A,TL0

MOV TL0,A

MOV TH0,#3DH

SETB TR0 ;开计时器0

DEC R2 ;闪烁位每0.5秒闪烁一次

MOV A,R2

MOV b,#10

DIV AB

MOV A,B

CJNE A,#0,NEXT ;到0.5秒了吗

CPL 06h ;闪烁位取反

NEXT: CJNE R2,#0,OUT ;到一秒钟对40H至45H各位进行调整MOV R2,#20

MOV R0,#40H ;秒数减一

ACALL DEC1

MOV R3,41H

CJNE R3,#255,OUT

ACALL CLS

MOV R0,#42H

ACALL DEC1 ;秒数数到0时,分数减一

MOV R3,43H

CJNE R3,#255,OUT

ACALL CLS

MOV R0,#44H ;分数减到0时,小时数减一

ACALL DEC1

MOV R3,45H

CJNE R3,#255,OUT

MOV 40H,#00H ;秒个位归0

MOV 41H,#00H ;秒十位归0

MOV 42H,#00H ;分个位归0

MOV 43H,#00H ;分十位归0

MOV 44H,#00H ;时个位归0

MOV 45H,#00H ;时十位归0

MOV 20H,#0BFH

ACALL OUT1 ;BCD码化为显示码CLR TR0

CLR TR0 ;关闭计时器0

SJMP MAIN ;都减为0时,程序结果,等待下一次设置时间

OUT: MOV R5,#6

;将40H至45H的BCD码译为相应的显示码存放在50H至55H中MOV R0,#45H

MOV R1,#55H

BIAN: MOV A,@R0

MOVC A,@A+DPTR

MOV @R1,A

DEC R0

DEC R1

DJNZ R5,BIAN

POP ACC

POP PSW

SETB ET0

RETI

;**************************

; 减一程序

;**************************

DEC1: CJNE @R0,#0,OUTT ;对相应的十位与个位进行减一处理

MOV @R0,#9

INC R0

DEC @R0

DEC R0

RET

OUTT: DEC @R0

RET

;**************************

; 归位程序

;**************************

CLS: MOV @R0,#9

INC R0

MOV @R0,#5

RET

;***************************

; BCD码化为显示码程序

;***************************

OUT1: MOV R5,#6 ;将40H至45H的BCD码译为相应的显示码存放在50H至55H中

MOV R0,#45H

MOV R1,#55H

BIAN1: MOV A,@R0

MOVC A,@A+DPTR

MOV @R1,A

DEC R0

DEC R1

DJNZ R5,BIAN1

RET

;**********************************

; 设置计时数程序

;**********************************

SETTIME:

CLR TR0 ;关闭计时器

ACALL DISPLAY

MOV 40H,#00H ;秒个位归0

MOV 41H,#00H ;秒十位归0

MOV 42H,#00H ;分个位归0

MOV 43H,#00H ;分十位归0

MOV 44H,#00H ;时个位归0

MOV 45H,#00H ;时十位归0

MOV 20H,#0BFH

ACALL OUT1 ;BCD码化为显示码

ACALL DISP ;除抖

JB P0.6,REI1

SELF: JNB P0.6,SELF ;等待键释放

PUSH ACC ;保护现场

PUSH PSW

MOV TL0,#0B0H ;重置计数器

MOV TH0,#3CH

WAIT: ACALL DISPLAY ;等待设置健按下

MOV A,P0

CPL A

JZ WAIT

ACALL DISP ;除抖

MOV A,P0

CPL A

JZ WAIT

MOV B,A ;保存数据

SELF1: MOV A,P0 ;等待健释放

CJNE A,#0FFH,SELF1

MOV A,B ;计算是哪个键按下,对相应的内存加一

MOV R1,#3FH

CLR C

AGAIN: RRC A

INC R1

JNC AGAIN

INC @R1

MOV B,R1

ACALL SETTIME0 ;对时间数据作相应的调整

ACALL OUT1 ;BCD码化为显示码

MOV R1,B

CJNE R1,#46H,W AIT ;p0.6再次为0时,开始计时

REI1: POP ACC

POP PSW

SETB TR0

RET ;返回

;*********************************

; 调整程序

;**********************************

SETTIME0:

MOV A,40H ;秒个位满10归0

CJNE A,#10,SET1

MOV 40H,#0

SET1: MOV A,41H ;秒十位满6归0

CJNE A,#6,SET2

MOV 41H,#0

SET2: MOV A,42H ;分个位满10归0

CJNE A,#10,SET3

MOV 42H,#0

SET3: MOV A,43H ;分十位满6归0

CJNE A,#6,SET4

MOV 43H,#0

SET4: MOV A,44H ;时个位满4归0

CJNE A,#4,SET5

MOV 44H,#0

SET5: MOV A,45H ;时十位满3归0 CJNE A,#3,SET6

MOV 45H,#0

SET6: RET

;**********************************

; 显示程序

;**********************************

DISPLAY:

MOV P1,50H ;显示秒个位

MOV P3,#0

ACALL DISP

MOV P1,#0FFH

MOV P1,51H ;显示秒十位

MOV P3,#8

ACALL DISP

MOV P1,#0FFH

MOV P1,20H ;显示闪烁位

MOV P3,#16

ACALL DISP

MOV P1,#0FFH

MOV P1,52H ;显示分个位

MOV P3,#24

ACALL DISP

MOV P1,#0FFH

MOV P1,53H ;显示分十位

MOV P3,#32

ACALL DISP

MOV P1,#0FFH

MOV P1,20H ;显示闪烁位

MOV P3,#40

ACALL DISP

MOV P1,#0FFH

MOV P1,54H ;显示时个位

MOV P3,#48

ACALL DISP

MOV P1,#0FFH

MOV P1,55H ;显示时十位

MOV P3,#56

ACALL DISP

MOV P1,#0FFH

RET

;*******************************

; 0.5ms延时程序

;*******************************

DISP: MOV 30H,#5

DD: MOV 31H,#50

DJNZ 31H,$

DJNZ 30H,DD

RET

;*************************************

; 表格

;*************************************

TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H ;0至9的共阳显示码END

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

八位七段数码管动态显示电路的设计 一七段显示器介绍 七段显示器,在许多产品或场合上经常可见。其内部结构是由八个发光二极管所组成,为七个笔画与一个小数点,依顺时针方向为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、七段显示器模块接线图 七段显示器之常见应用如下 ?可作为与数值显示相关之设计。 ?电子时钟应用显示 ?倒数定时器 ?秒表 ?计数器、定时器 ?算数运算之数值显示器

多位数码管动态扫描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 13D 12 01122334455667798109 11 U2 7445 A 02 B 018A 13B 117A 24B 216A 35B 315A 46B 414A 57B 513A 68B 612A 7 9 B 7 11 C E 19A B /B A 1 U3 74HC245 234567891 RP1 RESPACK-8 XTAL2 18 XTAL119 RST 9 P3.0/RXD 10P3.1/TXD 11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD 17 P3.6/WR 16P3.5/T115AD[0..7]A[8..15] ALE 30EA 31PSEN 29 P1.0/T21 P1.1/T2EX 2P1.23P1.34P1.45P1.56P1.67P1.78 U4 AT89C52 图1 原理图

数码管显示电路设计

东北石油大学 实习总结报告 实习类型生产实习 实习单位电子科学学院实习基地 实习起止时间 2011年7月4日至2010年7月23日 指导教师张勇 所在院(系)电子科学学院 班级电信08-4班 学生姓名白雪 学号 080901140402 2011年 7月23日

目录 第1章单片机系统硬件电路 (1) 1.1 实习目的 (1) 1.2 单片机型号及特性 (1) 1.3单片机开发板 (2) 第2章单片机应用系统软件 (5) 2.1 STC下载软件 (5) 2.2 Keil软件 (5) 2.3 外部电路驱动 (6) 第3章数码管显示电路设计 (7) 3.1 设计原理 (7) 3.2 实现方法 (8) 第4章实习总结 (9) 4.1 实习体会 (9) 4.2 设计硬件体会 (9) 参考文献 (10) 附录1 实物图 (11) 附录2 系统主要程序 (12)

第1章单片机系统硬件电路 1.1实习目的 1、了解单片机最小系统; 2、了解keilc软件操作,程序下载及调试方法; 3、掌握单片机外部电路使用; 4、掌握键盘和数码管显示编程方法; 5、应用单片机开发板进行实验开发; 1.2单片机型号及特性 1、AT89S51单片机功能及特点 AT89S51是一个低功耗,带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案,AT89S51在众多嵌入式控制应用系统中得到广泛应用。 性能特点: (1)一般为控制应用的8位单芯片 (2)工作电压范围:Vcc可为2.7V到6V,全静态工作:可从0Hz至16MHz (3)芯片内部具有时钟振荡器(传统最高工作频率可至12MHZ) (4)内部程序存储器ROM为4KB,内部数据存储器RAM为128B (5)外部程序存储器可扩充为64KB外部数据存储器可扩充至64KB (6)32条外部双向输入输出线 (7)5个中断优先级,2层中断嵌套中断,5个中断源 (8)2组独立的16位定时器 (9)1个全双工串行通信端口 (10)8751及8752芯片具有数据保密的功能 (11)单芯片提供位逻辑运算指令 (12)低功耗的闲置和掉电模式

8位数码管动态显示电路设计

电子课程设计 — 8位数码管动态显示电路设计 学院:电子信息工程学院 专业、班级: 姓名: 学号: 指导老师: 2014年12月

目录 一、设计任务与要求 (3) 二、总体框图 (3) 三、选择器件 (3) 四、功能模块 (9) 五、总体设计电路图 (10) 六、心得体会 (12)

8位数码管动态显示电路设计 一、设计任务与要求 1. 设计个8位数码管动态显示电路,动态显示1、2、3、4、5、6、7、8。 2. 要求在某一时刻,仅有一个LED 数码管发光。 3. 该数码管发光一段时间后,下一个LED 发光,这样8只数码管循环发光。 4. 当循环扫描速度足够快时,由于视觉暂留的原因,就会感觉8只数码管是在持续发光。 5、研究循环地址码发生器的时钟频率和显示闪烁的关系。 二、总体框图 设计的总体框图如图2-1所示。 图2-1总体框图 三、选择器件 1、数码管 数码管是一种由发光二极管组成的断码型显示器件,如图1所示。 U13 DCD_HEX 图1 数码管 数码管里有八个小LED 发光二极管,通过控制不同的LED 的亮灭来显示出 不同的字形。数码管又分为共阴极和共阳极两种类型,其实共阴极就是将八个 74LS161计数器 74LS138译码 器 数码管

LED的阴极连在一起,让其接地,这样给任何一个LED的另一端高电平,它便能点亮。而共阳极就是将八个LED的阳极连在一起。 2、非门 非门又称为反相器,是实现逻辑非运算的逻辑电路。非门有输入和输出两个端,电路符号如图2所示,其输出端的圆圈代表反相的意思,当其输入端为高电平时输出端为低电平,当其输入端为低电平时输出端为高电平。也就是说,输入端和输出端的电平状态总是反相的。其真值表如表1所示。 图2 非门 表1 真值表 输入输出 A Y 0 1 1 0 3、5V电源 5V VCC电源如图3所示。 图3 5V电源

LED数码管显示电子钟设计

《单片机原理及应用》 课程设计说明书 题目LED数码管显示电子钟设计系(部) 专业(班级) 姓名 学号 指导教师 起止日期 课程设计任务书

系(部): 专业:

目录 一、摘要 单片机全称为单片机微型计算机(Single Chip Microsoftcomputer).从应用领域来看,单片机主要用来控制,所以又称为微控制器(Microcontroller Unit)或嵌入式控制器。单片机是将计算机的基本部件微型化并集成在一块芯片上的微型计算机。 单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容

易。由于具有上述优点,在我国,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面,而51单片机是各单片机中最为典型和最有代表性的一种。 时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础.在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:一是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要求不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情况下,通常采用这种方法,典型的时钟芯片有:DS1302,DS12887,X1203等都可以满足高精度的要求。 二、设计内容 2.1、任务要求 本次设计时钟电路,使用了A TC89C51单片机芯片控制电路,单片机控制电路简单且省去了很多复杂的线路,使得电路简明易懂,使用键盘键上的按键来调整时钟的年、月、日、时、分、秒,还有设定闹钟,用一扬声器来进行定时提醒,同时使用汇编语言程序来控制整个时钟显示,使得编程变得更容易,这样通过四个模块:键盘、芯片、扬声器、LED显示即可满足设计要求. 2。2、设计程序方案 设计程序思路: 1.实现8位数码管动态扫描显示 void Display_1Code(unsigned char pos,unsigned char code1); void Display_2Num(unsigned char pos,unsigned char num,unsigned char point); 数码管动态扫描就是: 段显位选延时显示消影 因为我们用的是共阳数码管,而段码表用的共阴的,所以对code1取反 共阳数码管高电平点亮,所以P2移位后不用取反,从高位开始是第1个数码管 掩饰显示1ms,P2给全0全部熄灭,消影作用. 2。时间显示 采用实时时钟芯片DS1302,读芯片的datasheet,根据时序等说明编写驱动程序。 1)初始化 void DS1302_Init(void) 2)底层基本读写函数 void DS1302_WriteByte(unsigned char byte) unsigned char DS1302_ReadByte(void) 3)对芯片寄存器的读写函数 void DS1302_WriteData(unsigned char addr,unsigned char mdata) unsigned char DS1302_ReadData(unsigned char addr) 4)修改时间函数

数码管显示程序(汇编语言)

实验三数码显示 一、实验目的 了解LED数码管动态显示的工作原理及编程方法。 二、实验内容 编制程序,使数码管显示“DJ--88”字样。 三、实验程序框图 四、实验步骤 联机模式: (1)在PC机和实验系统联机状态下,运行该实验程序,可用鼠标左键单击菜单栏“文件”或工具栏“打开图标”,弹出“打开文件”的对话框,然后打开598K8ASM

文件夹,点击S6.ASM文件,单击“确定”即可装入源文件,再单击工具栏中编译装载,即可完成源文件自动编译、装载目标代码功能,再单击“调试”中“连续运行”或工具图标运行,即开始运行程序。 (2)数码管显示“DJ--88”字样。 脱机模式: 1、在P.态下,按SCAL键,输入2DF0,按EXEC键。 2、数码管显示“DJ--88”字样。 五、实验程序清单 CODE SEGMENT ;S6.ASM display "DJ--88" ASSUME CS:CODE ORG 2DF0H START: JMP START0 PA EQU 0FF20H ;字位口 PB EQU 0FF21H ;字形口 PC EQU 0FF22H ;键入口 BUF DB ?,?,?,?,?,? data1: db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0 c6h,0a1h db 86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FH,0F0H START0: CALL BUF1 CON1: CALL DISP JMP CON1 DISP: MOV AL,0FFH ;00H MOV DX,PA OUT DX,AL MOV CL,0DFH ;显示子程序 ,5ms MOV BX,OFFSET BUF DIS1: MOV AL,[BX] MOV AH,00H PUSH BX MOV BX,OFFSET DATA1 ADD BX,AX MOV AL,[BX] POP BX MOV DX,PB

单片机数码管显示系统课程设计

数码管显示与键盘扫描系统 摘要: 现如今已经跨越了三个“电”的时代,即电气时代、电子时代和现已进入的电脑时代。不过,这种电脑,通常是指个人计算机,简称PC机。它由主机、键盘、显示器等组成。还有一类计算机,这种计算机就是把智能赋予各种机械的单片机(亦称微控制器)。这种计算机的最小系统只用了一片集成电路,就可进行简单运算和控制。因为它体积小,通常都是放置在一个机械装置的内部。它在整个装置中,起着有如人类头脑的作用,它出了毛病,整个装置就瘫痪了。各种产品一旦用上了单片机,就能起到使产品升级换代的功效,常在产品名称前冠以形容词——“智能型”,如智能型洗衣机等。现在有些工厂的技术人员或其它业余电子开发者搞出来的某些产品,不是电路太复杂,就是功能太简单且极易被仿制。究其原因,可能就卡在产品未使用单片机或其它可编程逻辑器件上。数码管显示与键盘扫描系统是单片机系统中十分典型的应用,可将4×4键盘的按键对应显示在数码管上。 关键词:单片机数码管 一、绪论 1. 研究意义 用单片机驱动LED数码管有很多方法,按显示方式可分静态显示和动态(扫描)显示;按译码方式可分硬件译码和软件译码。静态显示数据稳定,占用很少的CPU 时间。动态显示需要CPU时刻对显示器件进行数据刷新,显示数据有闪烁感,占用的CPU时间多。LED数码管的外围电路一般需要一个限流电阻和加大驱动电流的晶体管。 LED数码管是由发光二级管显示字段组成的显示器,有“8”字段和“米”字段之分,这种显示器有共阳极和共阴极两种。实际上不用驱动电路即可达到正常亮度,为了可靠性设计可采用晶体管构成驱动电路。 2. 设计目的 在单片机的产品设计中,人机界面是非常重要的部分,而且随着系统的日益复杂,以及人们对产品的人机交互能力的要求不断提升,常握单片机系统中的人机界面基础设计能力成为了学习单片机的基础课程,而4X4键盘的操作和LED数码管的动态显示是人机界面设计的基础内容,掌握这些基础设计能力,加深对人机界面的认识,同时提高人机界面系统设计能力。

EDA课程设计八位数码管扫描显示电路的设计 2解读

EDA技术应用期末论文题目:八位数码管动态显示 姓名: 班级: 学号:

1.系统总体方案设计 (1) 2. LED的工作原理 (2) 2.1 LED工作原理 (3) 2.2 LED动态扫描显示原理 (3) 3.系统设计 (4) 3.1硬件电路设计 (9) 3.2 VHDL代码设计 (9) 4.运行调试......................................................,,7 4.1时序仿真. (7) 5 总结..............................................,,,,,,,,,,,,,,,9 6.参考文献 (10)

1.系统总体方案设计设计流程图如下:

首先,我们要对所要设计的八位数码管静态扫描显示电路充分理解,同时在了解了所给的硬件器材的基础上需进行“源程序的编辑和编译”——用一定的逻辑表达手段将设计表达出来;其次要进行“逻辑综合”——将用一定的逻辑表达手段表达出来的设计,经过一系列的操作,分解成一系列的基本逻辑电路及对应关系;然后要进行“目标器件的布线∕适配”——在选定的目标器件中建立这些基本逻辑电路及对应关系;最后,目标器件的编程下载——将前面的软件设计经过编程变成具体的设计系统,同时在设计过程中要进行有关“仿真”——模拟有关设计结果,看是否与设计构想相符。 系统结构框图如下: 2. LED的工作原理 2.1 LED工作原理 LED为分段式半导体显示器,通常称为七段发光二极管显示器。下图为七段发光二极管显示器共阴极和共阳极的电路图。对共阴极显示器的公共端应接地,给a-g输入相应高电平,对应字段的发光二极管显示十进制数;对共阳极的公共端应接+5V电源,给a-g输入端相应低电平,对应字段的发光二极管也显示十进制数。

LED_数码管显示设计(单片机)

键盘和LED 数码管显示设计 一、预备知识 有关 LED 数码管、滑动变阻器控制的具体编程原理见单片机课程教材。 二、设计目的 掌握 LED 数码管的使用,熟悉单片机人机接口设计,提高实际应用 的能力。 三、设计内容 1、设计LED 数码管显示电路原理图; 2、设计程序流程图; 3、编程调试; 四、参考接线 1、人机接口补丁板,可通过选择跳线,选择数码管段选输入是并行或串行输入; 2、不要忽略从实验箱主板上接+5V、GND 到人机接口补丁板; 3、具体接线参见人机接口补丁板原理图。 五、设计步骤 程序: LED_0 EQU 30H ;存放三个数码管的段码 LED_1 EQU 31H LED_2 EQU 32H ADC EQU 35H ;存放转换后的数据

ST BIT P3.2 OE BIT P3.0 EOC BIT P3.1 ORG 00H START: MOV LED_0,#00H MOV LED_1,#00H MOV LED_2,#00H MOV DPTR,#TABLE ;送段码表首地址 SETB P3.4 SETB P3.5 CLR P3.6 ;选择ADC0808的通道3 WAIT: CLR ST SETB ST CLR ST ;启动转换 JNB EOC,$ ;等待转换结束 SETB OE ;允许输出 MOV ADC,P1 ;暂存转换结果 CLR OE ;关闭输出 MOV A,ADC ;将AD转换结果转换成BCD码 MOV B,#100 DIV AB MOV LED_2,A MOV A,B MOV B,#10 DIV AB MOV LED_1,A MOV LED_0,B LCALL DISP ;显示AD转换结果 SJMP WAIT DISP: MOV A,LED_0 ;数码显示子程序 MOVC A,@A+DPTR CLR P2.3 MOV P0,A LCALL DELAY SETB P2.3 MOV A,LED_1 MOVC A,@A+DPTR CLR P2.2 MOV P0,A

数码管动态显示教案

电子综合设计实训 题目数码管动态显示 _ 姓名 专业 学号 指导教师 郑州科技学院电气工程学院

目录 摘要.................................................................................................. I 1背景. (1) 1.1介绍 (1) 1.2设计步骤 (2) 2 设计思路 (3) 2.1方案对比 (3) 3元件的选择 (6) 3.1单片机 (6) 3.2 显示元器件的选择 (6) 4 设计原理及功能说明 (8) 4.1 各部分功能说明 (8) 5 装配与调试 (14) 5.1装配 (14) 5.2调试 (14) 6 总结 (15) 附录 (17) 附录一:元件清单 (17) 附录二:电路源程序 (17)

数码管动态显示的设计 摘要 本文介绍了一种基于AT89C51单片机的8个数码管滚动显示单个数字的设计,让八位数码管滚动显示0、1、2、3、4、5、6、7,我们以液晶显示技术的发展为背景,选择了比较常用的液晶数码管显示模块,利用了单片机控制数码管模块的显示机理。研究学习AT89C51单片机其功能,对学习过的单片机,C语言课程进行巩固,设计一款在8只数码管上流动显示单个数字的程序,并用PROTEUS进行电路设计和实时仿真。该电路有两部分组成:AT89C51单片机和显示模块组成。AT89C51单片机具有超低功耗和CPU外围的高度整合性;显示模块数码管是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极,方便易用。实际应用中不需要外部任何元器件即可实现,具有接口电路简单、可靠,易于编程的特点,抗干扰性好等特点。 单片机技术使我们可以利用软硬件实现数码管准确显示各种数码。而且这种技术相对简单,性价比较高,在我们生活中应用很广泛,具有一定的发展前景。 关键词:AT89C51单片机;数码管;滚动显示

51单片机数码管时钟电路的设计_AT89C51

广东石油化工学院 《51单片机原理与实践》课程设计报告 学院计算机与电子信息学院 专业 班级 学号 姓名 指导教师 课程成绩 完成日期 2010年12月27日

数码管时钟电路的设计 一、设计目的: 通过这次课程设计掌握单片机系统的基本设计步骤及设计思路,掌握汇编语言的用法及各种指令的含义,比较熟练的运用指令进行单片机系统的设计的,熟悉用KEIL软件进行汇编语言的汇编,以及把代码写入实验板中,观测代码结合实际的运行结果后进行调整,体会到编程的分析问题、确定算法、画程序流程图、编写程序、程序功能模块化的优点的各各步骤。 二、设计要求: LED数码管时钟电路采用24h计时方式,时、分、秒用六位数码管显示。该电路采用AT89C2051单片机,使用3V电池供电,只使用一个按键开关即可进入调时、省电(不显示LED数码管)和正常显示三种状态。 三、设计实验内容: 1. 硬件的设计 其采用AT89C51单片机应用设计,LED显示采用动态扫描方式实现,P0口输出段码数据,P2口输出位码数据,P1.1、P1.2接按钮开关。为了提供LED数码管的驱动电流,采用6MHz晶振。 2. 系统总体分析 系统主要包含四大模块:显示模块、时间计时模块、模式切换模块和模式设置模块。 显示模块:主要由主循环负责。内存中开辟了一段8字节的内存空间,

用作数据显示的字符缓冲区。主循环不断将缓冲区中的字符呈现至数码管。 ● 时间计时模块:电子钟的核心模块,记录了时间的时、分、秒信息。 ● 模式切换模块(MODE ):切换电子钟的设置模式,包括时设置、分设置、秒设置、闹铃开关设置、闹铃时设置和闹铃分设置。相关数据被设置时将闪烁显示。 ● 模式设置模块(CONFIG ):通过判断设置模式(MODE ),执行相应的设置。如时、分、秒的增1以及闹铃开关的变换。 另外,主循环还负责扫描键盘,检测相应键是否被按下,若MODE 键被按下则在特定单元中登记该功能,并启动定时器1,然后返回继续执行显示功能。在定时器1中断时,被登记的功能正式执行。期间用时约10ms ,用以消除机械抖动。 主循环流程图大致如下: 图(一)主循环流程图 定时器1中断服务程序流程图如下: 开始 键被按下 登记相应功能 数码管显示 是 否

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

八位七段数码管动态显示电路的设计 一、实验目的 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,拨动四位拨动开关,使其为一个数值,则八个数码管均显示拨动开关所表示的十六进制的值。

PLC控制数码管显示程序设计

? PLC控制数码管显示程序设计》 学院名称:信息工程学院 专业名称:电气自动化技术 班级名称:电气1204 班 姓名:赵传锋 学号:1205130425 指导教师:汪清平 完成时间:2014年06 月01 日

摘要 数码管显示是一个典型的PIC教学项目。在交通灯、电梯、抢答器等系统的控制中都融入了数码管显示。 本设计就是利用PLC作为核心部件用对数码管显示进行设计,让学生在学习过程中更熟练地掌握PIC的编程技巧,提高编程能力。 利用PLC控制数码管的显示过程,并且给出了接线图、梯形图。 关键词:PLC编程设计;接线图:梯形图

、系统组成 1. 设计要求: 先按下“开”按钮,再按“循环显示”按钮,数码管就会从0~9循环显示。按下“置数”按钮,数码管实时显示8 4、2、1编码开关所置数值。用“循环显示”和“置数”按钮来切换数码管的循环显示和置数状态。 2. 系统组成及工作原理: 系统由pic硬件系统和梯形图程序组成。 PLC的控制方式是由继电器控制方式演化而来,由PLC内部的微电子电路构成的软元件线圈和触点取代了硬件继电器的线圈和触点,用PLC的程序指令取代继电器控制的连接导线,将各个元件按照一定的逻辑关系连接起来,PLC内部的中央控制器(CPU)根据输入条件和预定的程序,控制各个软元件的状态,并输出到外部执行部件,控制设备运行。 3. 硬件原理图: +24 v COM 数 管

4.程序流程图:

二、系统设计 设计可以分为循环模式与置数模式的切换控制部分、循环与置数控制部分和输出部分三大模块。 1. 输出部分: 定义: 编码部分中间继电器的常开触点接法: 将Mxx中低位数字相同的中间继电器的常开触点并联接到一起;输出的接法: Y000接a段、Y001接b段、Y002接c段、Y003接d段、 Y004 接e 段、Y005接f 段、Y006接g 段、Y007接dot 段。 工作过程:当编码部分中的某一组工作时,该组中的中间继电器相应的常开触点闭合,从而使相对应的Y00x有输出,这样与输出相连的段就发亮,并组合形成数字。

4位7段数码管驱动电路设计要求

4位7段数码管驱动电路 图1 开发板电路原理图 信号说明

1. iRST_N(异步复位) 当iRST_N信号为低时,Seg7_Driver模块中的所有寄存器异步复位为初值。 2. iCLK 模块的输入时钟40MHz。 3. iSeg_Val[15:0] 7段数码管输入二进制值,0x0~0xF iSeg_Val[15:12],左侧第一位7段数码管的值。 iSeg_Val[11: 8],左侧第两位7段数码管的值。 iSeg_Val[ 7: 4],左侧第三位7段数码管的值。 iSeg_Val[ 3: 0],左侧第四位7段数码管的值。 4. iDot_Val[3:0] 各位7段数码管小数点的显示,值为1表示显示小数点,0表示不显示小数点。 iDot_Val[3],左侧第一位7段数码管的小数点。 iDot_Val[2],左侧第两位7段数码管的小数点。 iDot_Val[1],左侧第三位7段数码管的小数点。 iDot_Val[0],左侧第四位7段数码管的小数点。 5. oDisplay[7:0] 7段数码管的数据信号。4位7段数码管共用数据信号。7段数码管为共阳极连接,各段数据线为0时,对应段发光。 6. oDis_En[3:0] 各位7段数码管的使能信号,低有效。

oDis_En[3],左侧第一位7段数码管的使能信号。 oDis_En[2],左侧第两位7段数码管的使能信号。 oDis_En[1],左侧第三位7段数码管的使能信号。 oDis_En[0],左侧第四位7段数码管的使能信号。 建议的分块: 将整个驱动电路分成Seg7_Ctrl模块与Seg7_Hex2seg模块 Seg7_Ctrl模块负责产生数码管动态显示的控制信号oDis_En的时序 Seg7_Hex2Seg模块负责将二进制值转换成数据码管显示的数据值,包括小数点的值。 注意点: 1. 动态显示过程是利用人眼的视觉残留现象来实现的,应选择适当的数码管扫描频率。可先 选择数码管的扫描显示的刷新率为125Hz(8ms),即每位数码管用2ms。 2. 完成基本功能后,可实验改变刷新率,观察数码管显示的效果,并思考原因。 3. 如果要使得数码管能够显示,A,b,C,n,o等其他字符,模块应该作怎样的修改?

PLC数码管显示课程设计

PLC课程设计论文 级专业班 题目:数码管显示 学号: 姓名: 指导老师: 二零年月日

加信号 一 任务要求实现的功能 数码管显示0~9十个数字,有三个控制按钮,一个是‘加’按钮SQ1,一个是'减'按钮SQ2,另一个是复位按钮SB 。按一下SQ1数码管显示数据加1,当加到9如果再按下SQ1就显示0;当按一下SQ2时数码管显示数字减1,当减到0如果再按下SQ2就显示9。当按下SB 时,数码管显示0. 二 1.描述功能框图 2.虚拟实物图: - 复位信号 判断是哪种类型的信号 数码管显示的数字加1 减信号 数码管显示的数据减1 数码管显示的数据清零 清零 +

三 流程图 N Y 小于9? 大于0? 启 动 加信号? 复位信号? 显示数字0 Y N D0减1 D0=9 D0复位 N D0加1 Y Y N

四 输入输出分配表 输 入 低压电器 PLC X 元件 输 出 低压电器 PLC Y 元件 清零按钮SQ X0 数码管显示 Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 加按钮SB1 X1 减按钮SB2 X2 五 梯形图 六 指令表

七总结体会 这次课程设计是用PLC编程语言设计实现数码管显示。在老师布置题目的时候觉得我们这个题目简单,但是当真的去写的时候因为忘记一条指令,而不知道要怎么实现数码管显示的功能,在同学的相互配合下,我们完成了梯形图的绘制。 在梯形图的绘制过程中,每一个步骤都要认真。通过这次的课程设计,熟悉了PLC系统设计的流程、PLC编程软件,加深了对PLC 工作原理的理解,更加熟悉相关指令的编写方法,在实践中加深了对PLC编程的喜爱。仿真的过程是检验编程是否正确的方法。从开始的一无所知,到后来的慢慢熟悉,我感到很兴奋,明白只有全面的考虑问题才能做出系统而严谨的设计。 按照指导老师的要求,我们两个同学一组,我们相互配合,交流对题目的理解,对程序的分析,动手实践能力和团结协作能力都得到了提高。

基于51单片机的LED数码管动态显示

基于51单片机的LED数码管动态显示 LED数码管动态显示就是一位一位地轮流点亮各位数码管,对于每一位LED数码管来说,每隔一段时间点亮一次,利用人眼的“视觉暂留"效应,采用循环扫描的方式,分时轮流选通各数码管的公共端,使数码管轮流导通显示。当扫描速度达到一定程度时,人眼就分辨不出来了。尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,认为各数码管是同时发光的。若数码管的位数不大于8位时,只需两个8位I/O口。 1 硬件设计 利用51单片机的P0口输出段码,P2口输出位码,其电路原理图如下所示。 在桌面上双击图标,打开ISIS 7 Professional窗口(本人使用的是v7.4 SP3中文版)。单击菜单命令“文件”→“新建设计”,选择DEFAULT模板,保存文件名为“DT.DSN”。在器件选择按钮中单击

“P”按钮,或执行菜单命令“库”→“拾取元件/符号”,添加如下表所示的元件。 51单片机AT89C51 一片 晶体CRYSTAL 12MHz 一只 瓷片电容CAP 22pF 二只 电解电容CAP-ELEC 10uF 一只 电阻RES 10K 一只 电阻RES 4.7K 四只 双列电阻网络Rx8 300R(Ω) 一只 四位七段数码管7SEG-MPX4-CA 一只 三极管PNP 四只 若用Proteus软件进行仿真,则上图中的晶振和复位电路以及U1的31脚,都可以不画,它们都是默认的。 在ISIS原理图编辑窗口中放置元件,再单击工具箱中元件终端图标,在对象选择器中单击POWER 和GROUND放置电源和地。放置好元件后,布好线。左键双击各元件,设置相应元件参数,完成电路图的设计。 2 软件设计 LED数码管动态显示是一位一位地轮流点亮各位数码管的,因此要考虑每一位点亮的保持时间和间隔时间。保持时间太短,则发光太弱而人眼无法看清;时间太长,则间隔时间也将太长(假设N位,则间隔时间=保持时间X(N-1)),使人眼看到的数字闪烁。在程序中要合理的选择合适的保持时间和间隔时间。而循环次数则正比于显示的变化速度。 LED数码管动态显示的流程如下所示。

单片机控制数码管显示设计

毕业设计与论文注意: 1.选题要求:选题内容应与所学专业相关 2.论文正文:字数3000字以上 3.字体:中文为宋体,西文和数字为New Roman,字符间距标准,正文行距为单倍行距(五号字) 4.页面A4,页边距上下2,左边2.5,右2 5.图和表、公式的编号方法:图1-1xxx,图1-2xxx….;表1-1xxx,表1-2xxx;…….(小五号字) 6.页码1、2、3…..居中从正文开始编排 7.开题报告内容包括毕业论文题目的确定、选题的意义、论文综述、论文大纲。字数要求在1000字以上。 8.应列入主要的文献可6篇及以上。 9.章节编号方法应采用分级阿拉伯数字编号方法,第一级为?、?、?等,第二级为??、?金、??等,第三级为?金?、?金金、?金?等,但分级阿拉伯数字的编号一般不超过三级,两级之间用下角圆点隔开,每一级的末尾不加标点。 各层标题均单独占行书写。正文中对总项包括的分项采用⑴、⑵、⑶…单独序号,对分项中的小项采用①、②、③…的序号或数字加半括号,括号后不再加其他标点。

绍兴职业技术学院 毕业论文 (2011届) 单片机控制数码管显示设计 学生姓名 学号 系别 专业指导教师 完成日期

2 / 25 绍兴职业技术学院 毕业设计综合实践任务书 岗位名称 岗位职责 岗位能力要求 课题任务名称 本课题完成的条件 1、按照自己所学的单片机进行设计和开发; 本课题任务要求 <一> 技术应用设计要求 1、从设计实际需要出发,选择设计方案; <二> 进程安排要求 1、熟悉毕业任务书要求。 2、开题,确定设计方案,并进行方案论证。 3、汇编语言,绘制电路路图 4、进行实验,是否能够实现显示控制。 5、撰写毕业论文。 6、指导教师的过程指导和初稿的审评,提出修改意见并反馈。 7、资料整理并上交论文(制作的演示实物或图样成果),参加答辩。 1 / 25 毕业设计(论文)工作进度计划表 计(文)90121234 12341234123412341234123412341234 熟悉毕业任务书要求,或根据岗位1展调研选题和查阅文献资 开题,确定设计方案,并进行方案2 证设计计算、绘图、编制工艺、编制3 工程序、生产制造、装配测试等产品或设计方案(图样)的优化与4 进撰写毕业论文5 指导教师的过程指导和初稿的审评6提出修改意见并反馈。资料整理并上交论文(制作的演示实 7 ,参加答辩。物或图样成果) 8

数码管动态扫描显示01234567

实验5 数码管动态扫描显示01234567 原理图:8个数码管它的数据线并联接到JP5, 位控制由8个PNP型三级管驱动后由JP8引出。 相关原理: 数码管是怎样来显示1,2,3,4呢?数码管实际上是由7个发光管组成8字形构成的,加上小数点就是8个。我们分别把他命名为 A,B,C,D,E,F,G,H。

搞懂了这个原理, 我们如果要显示一个数字2, 那么 A,B,G,E,D这5个段的发光管亮就可以了。也就是把B,E,H(小数点)不亮,其余全亮。根据硬件的接法我们编出以下程序。当然在此之前,还必须指定哪一个数码管亮,这里我们就指定最后一个P2.7。 LOOP: CLR P2.7 ;选中最后的数码管 SETB P0.7 ;B段不亮 SETB P0.5 ;小数点不亮 SETB P0.1 ;C段不亮 CLR P0.2 ;其他都亮 CLR P0.3 CLR P0.4 CLR P0.6 CLR P0.0 JMP LOOP ;跳转到开始重新进行

END 把这个程序编译后写入单片机,可以看到数码管的最后一位显示了一个数字2。 也许你会说:显示1个2字就要10多行程序,太麻烦了。 显示数字2则是C,F,H(小数点)不亮,同时由于接法为共阳接法,那么为0(低电平)是亮 为1(高电平)是灭。从高往低排列,(p0.7_p0.0)写成二进制为01111110, 把他转化为16进制则为A2H。我们可以根据硬件的接线把数码管显示数字编制成一个表格, 以后直接调用就行了。 有了这个表格上面显示一个2的程序则可简化为: LOOP: CLR P2.7 ;选中左边的数码管 MOV P0,#0A2H ;送数字2的代码到P0口 JMP LOOP ;跳转到开始重新进行 END

数码管显示设计

数码管显示设计 数码管是非常常见的东西,他能显示数字,以及字母,应用非常的广泛,本文我来和大家谈谈如何用单片机来驱动数码管 数码管的结构 数码管由7个发光二极管组成,行成一个日字形,它门可以共阴极,也可以共阳极.通过解码电路得到的数码接通相应的发光二极而形成相应的字,这就是它的工作原理. 基本的半导体数码管是由7个条状的发光二极管(LED)按图1所示排列而成的,可实现数字"0~9"及少量字符的显示。另外为了显示小数点,增加了1个点状的发光二极管,因此数码管就由8个LED组成,我们分别把这些发光二极管命名为"a,b,c,d,e,f,g,dp",排列顺序如下图1。 数码管引脚图及外形图 数码管按各发光二极管电极的连接方式分为共阳数码管和共阴数码管两种。 共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。共阴数码管内

部连接如图3所示。 共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阳数码管内部连接如图2所示 图2:共阳数码管内部连接图 数码管的显示方式 数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。 ①动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划"a,b,c,d,e,f,g,dp"的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。 ②静态显示驱动:静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5×8=40根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。 前面我们学习了数码管的基础知识,现在马上来看看S51增强型实验板的数码管吧(图4),S51实验板上有5位高亮度共阳数码管DG1~DG5,可以用来做计数器(最大计数值99999)、温度显示、电子钟等显示实验,掌握数码管的静态显示驱动和动态显示驱动。

相关文档
最新文档