八只数码管显示多个不同字符

合集下载

实验报告 - - 实验七 - 八段数码管显示实验

实验报告 -  - 实验七 - 八段数码管显示实验

实验报告 - - 实验七 - 八段数码管显示实验EDA实验报告之实验七八段数码管显示实验1、实验目的1)了解数码管动态显示的原理。

2)了解用总线方式控制数码管显示2、实验要求:利用实验仪提供的显示电路, 动态显示一行数据.提示:把显示缓冲区(例如可为60H~65H作为缓冲区)的内容显示出来,当修改显示缓冲区的内容时,可显示修改后的内容(为键盘扫描、显示实验做准备)。

3、实验说明本实验仪提供了6 位8段码LED显示电路,学生只要按地址输出相应数据,就可以实现对显示器的控制。

显示共有6位,用动态方式显示。

8位段码、6位位码是由两片74LS374输出。

位码经MC1413或ULN2021倒相驱动后,选择相应显示位。

本实验仪中 8位段码输出地址为0X004H,位码输出地址为0X002H。

此处X是由KEY/LED CS 决定,参见地址译码。

做键盘和LED实验时,需将KEY/LED CS 接到相应的地址译码上。

以便用相应的地址来访问。

例如,将KEY/LED CS接到CS0上,则段码地址为08004H,位码地址为08002H。

七段数码管的字型代码表如下表:a ----- f| |b | | ----- | g | e| |c -----d 。

h显示字形 g f e d c b a 段码 0 0 1 1 1 1 1 1 3fh 10 0 0 0 1 1 0 06h 2 1 0 1 1 0 1 1 5bh 3 1 0 01 1 1 1 4fh 4 1 1 0 0 1 1 0 66h 5 1 1 0 1 1 01 6dh 6 1 1 1 1 1 0 1 7dh 7 0 0 0 0 1 1 1 07h 8 1 1 1 1 1 1 1 7fh9 1 1 0 1 1 1 1 6fh A 1 1 1 0 1 1 1 77h b1 1 1 1 1 0 0 7ch C 0 1 1 1 0 0 1 39h d 1 0 11 1 1 0 5eh E 1 1 1 1 0 0 1 79h F 1 1 1 0 0 0 1 71h4、原理图及连线5、实验内容1) 使用仪器、仪表,开发平台型号本实验用到了WAVE 6000软件平台,电脑一台,LAB6000实验箱,示波器,若干连线,串行数据线。

数码管显示不同字符

数码管显示不同字符

沈阳工业大学基于单片机的TIMER0控制流水灯设计系别:*** _ ____年级:10级专业:**姓名: ****学号:********** 导师姓名:**职称:教授2017年7月3日1.前言............................................. 错误!未定义书签。

2.系统设计参数要求. (2)3.系统设计 (2)3.1 系统设计总体框图............................ 错误!未定义书签。

3.2 各模块原理说明.............................. 错误!未定义书签。

3.2.1、最小系统AT89C52模块.................. 错误!未定义书签。

3.2.2、74HC245芯片模块...................... 错误!未定义书签。

3.2.3、显示模块功能 (5)3.2.4、控制按钮模块.......................... 错误!未定义书签。

3.3 系统总原理图说明............................ 错误!未定义书签。

3.4 系统印刷版图................................ 错误!未定义书签。

3.5 系统的操作说明.............................. 错误!未定义书签。

3.6 系统操作注意事项............................ 错误!未定义书签。

参考文献.. (11)致谢语 (14)附录................................................ 错误!未定义书签。

附录一.电路总原理图............................. 错误!未定义书签。

附录二.系统印刷电路板图 (11)附录三.电路原件清单............................. 错误!未定义书签。

八位数码管扫描显示电路的设计

八位数码管扫描显示电路的设计

《EDA技术及应用》课程设计报告题目:八位数码管扫描显示电路的设计院(系):机电与自动化学院专业班级:电气自动化技术学生姓名:学号:指导教师:20 年6月10日至20 年6月23日华中科技大学武昌分校4、课程设计使用设备(1)EDA及SOPC综合实验平台;(2)导线若干;(3)PC机;(4)Quartus II开发工具软件。

目录摘要................................................................1.课程设计题目及要求 (1)1.1设计题目 (1)1.2L E D显示器的动态扫描驱动电路 (1)1.3设计方案论证 (1)2.L E D显示器动态扫描驱动电路各单元电路设计 (3)2.1计数器与译码器的设计 (3)2.2一位共阳极L E D动态驱动电路设计 (4)2.3七段数码管的设计 (5)3.L E D显示器动态扫描系统设计 (7)3.1整体电路图及工作原理 (7)3.2V H D L程序设计 (7)3.3电路参数计算 (10)4.Q u a r t u s运行调试 (12)4.1时序仿真 (12)4.2硬件逻辑验证 (13)4.3调试结果分析 (13)4.4调试中出现的问题及解决方法 (14)5.设计总结 (15)6.参考文献 (16)摘要本文通过一个3-8译码器电路,将输入的4位2进制数转换为与LED显示对应的8位段码,位码就是LED的显示使能端,对于共阳级的LED而言,高电平使能。

要使8个数码管动态扫描显示,就是把所有数码管的相同段并联在一起,通过选通信号分时控制各个数码管的公共端,循环点亮多个数码管,并利用人眼的视觉暂留现象,只要扫描的频率大于50Hz,将看不到闪烁现象。

使用Quartus II6.0软件设计一个VHDL程序并对设计方案进行仿真,再硬件调试经检测输出正确的设计要求结果。

关键词:动态扫描Quartus II6.0 VHDLAbstractIn this paper, through a 3-8 decoder circuit, the input of four hexadecimal number into 2 and eight LED display the corresponding section of code, a codeis the LED display can make side, for the LED with Yang level, high level canmake. To makeeight digital tube dynamic scans showed that is all the samesegment digital tube connected in parallel, through the gating signal time-sharing control public side, the digital tube loop light multiple digital tube, and use the eye of the phenomenon of persistence of vision, as long as the scanning frequency is more than 50 hz, will see the flicker phenomenon. Using Quartus II6.0 a VHDL program design and the software design simulation, and hardware debugging through testing output correct design requirementsKey words: dynamic scanning Quartus II6.0 VHDL1. 课程设计题目及要求1.1设计题目八位数码管扫描显示电路的设计设计主要内容:本课题要求掌握使用Quartus II设计数字系统的设计思路和设计方法。

实验二、8段数码管显示实验

实验二、8段数码管显示实验
10H90H来自静态显示方式及其典型应用电路
LED数码管显示分类:静态显示方式和动态显示方式。
⑴ 静态显示方式,每一位字段码分别从I/O控制口输 出,保持不变直至CPU刷新。
特点:编程较简单,但占用I/O口线多,一般适用 于显示位数较少的场合。
⑵ 动态显示方式,在某一瞬时显示一位,依次循环 扫描,轮流显示,由于人的视觉滞留效应,人们看 到的是多位同时稳定显示。
6. 多种封装形式:PDIP24,SOC24 两种。
DTLED_6芯片——串行输入时序
DTLED_6芯片一帧串行输入数据格式
dispbuf0-dispbuf1-dispbuf2-dispbuf3-dispbuf4-dispbuf5-dispbuf6-dispbuf7-dispbuf8 小数点 - 数码管1- 数码管2- 数码管3- 数码管4- 数码管5- 数码管6-ID识别码-BZ识别码 00000xxx-0000xxxx-0000xxxx-0000xxxx-0000xxxx-0000xxxx-0000xxxx-0000xxxx-
7406 OC门 X 3
+5V
上拉 电阻 ×14
AT89C51
共阴 数码管
位 P1.5 P1.4
选 P1.3 P1.2
线 P1.2 P1.0
数码管驱动
动态显示驱动(采用DTLED_6显示驱动芯片) 将所有数码管通过分时轮流控制各个数码管的的COM(公共
端)端(相当于直连的位选端),就使各个数码管轮流受控显示。
特点:占用I/O端线少,电路较简单,编程较复 杂,CPU要定时扫描刷新显示。一般适用于显示位数 较多的场合。
LED显示器的扩展(显示方式)
LED数码管的显示方式:③静态与动态

51单片机应用:8只数码管同时显示多个不同字符

51单片机应用:8只数码管同时显示多个不同字符

51单片机应用:8只数码管同时显示多个不同字符设计要求单片机控制8只数码管,同时显示8个字符。

例如,从左至右显示“”,接着显示“”,在接着显示“”,……“”,“”,分析及方案设计:本题可以采用扩展I/O口或直接用单片机自身的I/O口的方法实现。

为节省硬件设施并使电路连线尽量简单,采用直接使用单片机自身I/O口的方式,8个数码管同时显示数字则需采用动态显示方法,初步设定以P0口给出数码管显示字段,P1口选中某一时刻动态点亮的数码管。

软件设计可以有以下几种方案:a)将全部显示状态列出,放在主程序中不断循环b)将显示状态放入8个数组中,每个状态循环一次后主程序重新开始循环c)只设置两个数组,其中一个取值不变,为正序的从1到8的共阳极数码管段码,另一个数组中的数值不断被修改,即每次显示状态改变的时候都相应改变一次,如从的段码改为的段码。

从上述方案可以看出,若设置太多的数组或列出所有显示状态,程序虽然清晰易懂但占用程序存储空间明显较大,且用delay()函数延时的话会不断占用CPU;用两个数组和两个定时器虽然算法略复杂,但程序可以达到最简化。

详细的方案说明:1)采用数码管动态显示方法。

2)8个数码管由P3控制位选,即决定某一时刻哪一个数码管亮,由P0发出的总线控制显示的段码。

3)定时器T0和T1同时工作,定时时间均为0."5毫秒,采用方式1定时,每次溢出后由软件重装初值。

4)设置中间变量temp,用于不断左移并给P3赋值;数组display[]为code 即取之不变的数组,数组show[]中的取值变化。

5)每次T0计数溢出时,temp左移一次,相应的P3左移一次,数码管由第i 个点亮变为第i+1个点亮,与此同时赋给P0口的值由show[i]变为show[i+1],达到动态显示的效果。

6)定时器T1也是每0."5毫秒计数溢出一次,但只有到1秒时才执行定时器1中断中修改数组show[]取值的程序,用变量t记录T1溢出的次数,达到200次时数组show[]中的内容开始进行修改并且t清零。

PLC课程设计-LED灯数码显示控制

PLC课程设计-LED灯数码显示控制

成绩可编程逻辑控制器课程设计报告题目LED灯数码显示控制系别专业名称班级学号姓名指导教师目录一、引言 (4)二、系统总体方案设计 (4)2.1系统硬件配制及组成原理 (4)2.1.1 PLC各组成部件及作用 (4)2.1.2 PLC的分类 (5)2.1.3 LED数码管的结构及工作原理 (5)2.2系统变量定义及分配表 (6)2.3系统接线图设计 (7)三、控制系统设计 (7)3.1控制程序设计思想 (7)3.2控制程序时序图设计 (8)四、系统调试及结果分析 (8)4.1系统调试及解决的问题 (8)4.2结果分析 (8)五、结束语 (8)六、参考文献 (9)附录 (10)LED 数码显示控制一、实验目的了解并掌握LED 数码显示控制中的应用及其编程方法。

二、控制要求按下启动按钮后,由八组LED 发光二极管模拟的八段数码管开始显示:一一显示各段,之后一次显示0、1、2、3、4、5、6、7、8、9、A 、B 、C 、D 、E 、F 再返回初始显示,并循环不止。

三、LED 数码显示控制的实验面板图: 四、实验设备 1、安装了STEP7-Micro/WIN32编程软件的计算机一台2、PC/PPI 编程电缆一根3、锁紧导线苦干五、实验步骤1、根据上表进行输入输出接线;2、编写程序,并把程序输入STEP7中;3、检查输入程序无误以后,将程序下载到主机内,并且把PLC 的工作模式达到RUN 模式;4、拨动输入开关SD ,观察输出LED 的显示结果。

输入接线 SD I0.0 启动 输出 接线 A B CD E F G H Q0.0 Q0.1 Q0.2Q0.3 Q0.4 Q0.5 Q0.6 Q0.7 A B C D E F G H一、引言《可编程逻辑控制器》课程设计是该课程的一个重要教学环节,既有别于毕业设计,又不同于课堂教学。

它需要学生统筹运用所学基本理论、基本方法对现实生活中的实际系统进行设计和调试。

本课程设计是以LED数码管和PLC控制为基础,通过了解PLC的基本编程方法及LED数码管的原理,用顺序控制法实现:按下启动按钮,由八组LED发光二极管模拟的八段数码管开始显示,显示次序是0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F再返回初始显示,并循环不止的控制要求。

AVR单片机控制8段LED数码管同时显示

AVR单片机控制8段LED数码管同时显示

AVR单片机控制8段LED数码管同时显示这是一个简单的供单片机入门学习者练习用的8段LED数码管控制汇编程序,控制一个两位的数码管同时显示字符(动态刷新)。

用AVR- Studio-4 开发,在AVR单片机Atmega48上调试通过。

学习者可以举一反三应用到其他类型的单片机芯片。

本实验的详细说明和硬件搭建请参考>>;-------------------------------------------------------------------------------------------;---------单片机入门实验 8段LED数码管同时显示 AVR 汇编程序-------------;-------------------------------------------------------------------------------------------;作者: 超简单工作室;Email: fullmous@;软件版本: AVR Studio 4.13.571 Service Pack 2;创建日期: 2008.3;版本 V1.00;; Target : M48; Crystal: 8.0000Mhz.include "m48def.inc".org $0000rjmp _main.org $0020_port_init:; 端口初始化clr R2out 0x5,R2 ;PortB清零ldi R24,255out 0x4,R24 ;定义PortB为输出out 0x8,R2 ;PortC清零ldi R24,3out 0x7,R24 ;定义PortC.0,Portc.1为输出ret_tabs:;字形定义.dw 192 ;0xC0,"0".dw 249 ;0xF9,"1".dw 164 ;0xA4,"2".dw 176 ;0xB0,"3".dw 153 ;0x99,"4".dw 146 ;0x92,"5".dw 130 ;0x82,"6".dw 248 ;0xF8,"7".dw 128 ;0x80,"8".dw 152 ;0x98,"9".dw 136 ;0x88,"A".dw 131 ;0x83,"B".dw 198 ;0xC6,"C".dw 161 ;0xA1,"D".dw 134 ;0x86,"E".dw 142 ;0x8E,"F".dw 255 ;0xFF,"8."_delay_1ms: ;延时子程ldi R16,1ldi R17,0L3:subi R16,255 ; 加1操作sbci R17,255cpi R16,232 ;0xE8ldi R30,3 ;0x3E8 = 1000cpc R17,R30brlo L3 ;未达1000继续ret_delay:push r21push r20push r17 ;入口:r16,r17装的是延时参数push r16movw R10,R16 ;将r16,r17的内容装入r10,r11 clr R20clr R21L8:rcall _delay_1mssubi R20,255 ;加1操作sbci R21,255cp R20,R10 ;与指定延时参数比较cpc R21,R11brlo L8 ;未达指定延时参数继续pop r16pop r20pop r21ret_led_display:push R20 ;寄存器r20入栈,r20中带入字符表的索引ldi R24,2mul R24,R20 ;将r20中的值乘2,结果在r0中movw R30,R0 ;将r0的值赋给r30,作为偏移量ldi R24,low(_tabs<<1) ;获取字符表基地址ldi R25,high(_tabs<<1)add R30,R24 ;偏移量+基地址构成z指针adc R31,R25lpm R20,Z+0 ;取字型送入r20out 0x5,R20 ;字型送PortB,输出ldi R22,0 ;循环100次计数寄存器r22清零L10:ldi R20,1 ;r20用于8LED数码管输出位控制,初始为1 L12:out 0x8,R20 ;将8LED数码管位控制输出到端口PortC ldi R16,10 ;延时参数低位ldi R17,0 ;延时参数高位rcall _delay ;调延时子程inc R20 ;移位r20,准备显示另一位cpi R20,3 ;判两位是否显示完brlo L12 ;未显示完两位,继续inc R22 ;r22加1cpi R22,100 ;判是否已计满100brlo L10 ;未计满则继续pop R20 ;r20出栈ret_main:clr R20 ;初始化计数寄存器r20rcall _port_init ;初始化端口L17:cpi R20,16 ;比较循环计数brne L21 ;未显示完16个字符继续clr R20 ;从新开始rcall _led_display ;显示字符inc R20 ;计数值加1rjmp L17 ;返回ret。

硬件实验十--八段数码管显示

硬件实验十--八段数码管显示

硬件实验十 八段数码管显示一、实验要求利用实验仪提供的显示电路,动态显示一行数据.二、实验目的1. 了解数码管动态显示的原理。

2. 了解用总线方式控制数码管显示三、实验线路及连线四、实验说明1.本实验仪提供了6 位8段码LED 显示电路,只要按地址输出相应数据,就可以实现对显示器的控制。

显示共有6位,用动态方式显示。

8位段码、6位位码是由两片74LS374输出。

位码经MC1413或ULN2003倒相驱动后,选择相应显示位。

本实验仪中 8位段码输出地址为0X004H ,位码输出地址为 0X002H 。

此处X 是由KEY/LED CS 决定,参见地址译码。

做键盘和LED 实验时,需将KEY/LED CS 接到相应的地址译码上。

以便用相应的地址来访问。

例如,将KEY/LED CS 接到CS0上,则段码地址为08004H ,位码地址为08002H 。

位选通信号 (0x002H)段码输出 (0x004H)数据总线连线 连接孔1 连接孔2 1 KEY/LED_CS CS0七段数码管的字型代码表如下表:五、程序框图程序代码OUTBIT equ 08002h ; 位控制口OUTSEG equ 08004h ; 段控制口LEDBuf equ 60h ; 显示缓冲Num equ 70h ; 显示的数据DelayT equ 75h ;ljmp StartLEDMAP: ; 八段管显示码db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h db 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71hDelay: ;mov r7, #0DelayLoop:djnz r7, DelayLoopdjnz r6, DelayLoopretDisplayLED:mov r0, #LEDBufmov r1, #6 ;mov r2, #00100000b ;Loop:mov dptr, #OUTBITmov a, #0movx @dptr, a ;mov a, @r0mov dptr, #OUTSEGmovx @dptr,amov dptr, #OUTBITmov a, r2movx @dptr, a ;mov r6, #01call Delaymov a, r2 ;rr amov r2, ainc r0djnz r1, Loopmov dptr, #OUTBITmov a, #0movx @dptr, a ;retStart:mov sp, #40hmov Num, #0MLoop:inc Nummov a, Nummov b, amov r0, #LEDBufFillBuf:mov a, banl a, #0fhmov dptr, #LEDMapmovc a, @a+dptr ;mov @r0,a ;inc r0inc bcjne r0, #LEDBuf+6, FillBufmov DelayT,#0DispAgain:call DisplayLED ;djnz DelayT,DispAgain ljmp MLoopend硬件实验十一 键盘扫描显示实验一、实验要求在硬件实验十的基础上,利用实验仪提供的键盘扫描电路和显示电路,做一个扫描键盘和数码显示实验,把按键输入的键码在六位数码管上显示出来。

第六讲 八段数码管

第六讲 八段数码管

字符数组 Array of Char
• 定义
char str[20]; ;
char flash string[]=“SZPT”;
•初始化
//定义在 定义在FLASH中 定义在 中
逐个为数组中各元素指定初值字符。 逐个为数组中各元素指定初值字符。 char flash str[4] ={'w','e','l','l'}; , , , 对一个字符数组指定一个字符串初值。 对一个字符数组指定一个字符串初值。 char str[ ]={"good morning"}; ; char str[ ]="good morning"; ;
Slide 19
测试2 测试 Test
Slide 20
课后作业 HomeWork 完善程序, 完善程序,写出流程图 写出程序设计报告
Slide 21
Slide 16
测试1 测试 Test
任务: 任务: 设计一个24小时值时钟 时间采样软件延时。 小时值时钟, 设计一个 小时值时钟,时间采样软件延时。 1。通过液晶显示,液晶接在 口。 。通过液晶显示,液晶接在PB口 2。能通过 修改时间。 。能通过KEY0~KEY2修改时间。KEY0~KEY2接在 修改时间 ~ 接在 PA4~PA6端口。 端口。 端口 3。能设定闹钟,时间到,蜂鸣器响。蜂鸣器接在 。能设定闹钟,时间到,蜂鸣器响。蜂鸣器接在PD2口。 口
Slide 12
字符串 String of Char
• 定义
字符串是用一对双引号括起来的字符序列, 字符串是用一对双引号括起来的字符序列 , 这些字 符可以是一般的可显示字符, 符可以是一般的可显示字符,也可以是某些特殊的 控制字符; 控制字符; 字符串只能用字符数组来处理,没有字符串变量。 字符串只能用字符数组来处理 , 没有字符串变量 。 字符串在内存中存放时, 字符串在内存中存放时,系统将自动在字符串的末 字符) 尾添加一个字符串的结束标记'\0' (空字符),碰 就认为字符串处理结束 字符串处理结束。 到第一个'\0'就认为字符串处理结束。

数码管显示

数码管显示

第3讲数码管显示第3讲数码管显示一、数码管显示原理我们最常用的是七段式和八段式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。

可以看出两个编码的各位正好相反。

如下图。

二、点亮一个数码管下面以七段共阴数码管为例讲述如何点亮一个数码管。

l 51系列单片机的P0口没有上拉电阻(其他端口有),所以如果直接接数码管的段选线,那么不能将其点亮。

我们需要为其加上220欧姆的上拉电阻,注意,上拉电阻阻值不能过大。

实验原理图如下。

其中,7SEG-COM-CAT-GRN为七段共阴数码管,显示为绿色。

RES为电阻。

查找电阻时,需要选中下面的Resistors,如下图。

右击选中图中的电阻再左击,弹出的窗口中可改变它的阻值。

如下图。

那七个电阻看上去很乱,其实他们可以用一个排阻(RESPACK-7)代替。

如下图。

到这里原理图就画完了,我们开始写源程序。

让数码管显示字符“0”。

#includevoid main(){P0 = 0x3f; //P0口送字符…0‟的编码}显示效果如下。

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

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

八位七段数码管动态显示电路的设计一七段显示器介绍七段显示器,在许多产品或场合上经常可见。

其内部结构是由八个发光二极管所组成,为七个笔画与一个小数点,依顺时针方向为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、七段显示器模块接线图七段显示器之常见应用如下可作为与数值显示相关之设计。

⏹电子时钟应用显示⏹倒数定时器⏹秒表⏹计数器、定时器⏹算数运算之数值显示器二七段显示器显示原理七段显示器可用来显示单一的十进制或十六进制的数字,它是由八个发光二极管所构成的( 每一个二极管依位置不同而赋予不同的名称,请参见图4.1 ) 。

基于三八译码器控制八个数码管同时显示内容的问题

基于三八译码器控制八个数码管同时显示内容的问题

基于三八译码器控制八个数码管同时显示内容的问题在单片机开发板上,很多时候为了节省IO 口的资源,扩展和利用IO 口,我们很经常使用的一个方法是使用三八译码器,这将由三个IO 口变成了八个IO 口的控制,但三八译码器的三个口输入口只能同时控制一个输出口,那么,问题就来了,比如我们很经常用一个三八口去按一个八位或者四位的数码管,那么我们怎么样才能够让这八个数码管同时工作,让我们看上去八个IO 口显示不同的内容呢?下面我就把今天刚在杨老师指导下编写的程序以及原理作一个简单的分析吧。

我的开发板是P0 低三位(38 数码管的输入端口)口控制数码管的位选的,八个输出口分别控制八个数码管工作的。

程序:;作者:李俊轩;时间:2010 年10 月21 日;通过三八译码器让三个IO 口控制八个数码管的工作状态ORG 00HSTARY:MOV P0,#00000000B;根据三八译码器真值表的原理控制第一个数码管工作MOV P1,#00111111B;显示0CALL DELAY;短暂的延时MOV P0,#00000001B;根据三八译码器真值表的原理控制第二数码管工作MOV P1,#00000110B;显示1CALL DELAY;短暂的延时MOV P0,#00000010B;根据三八译码器真值表的原理控制第三数码管工作MOVP1,#01011011B;显示2CALL DELAY;短暂的延时MOV P0,#00000011B;根据三八译码器真值表的原理控制第四个数码管工作MOV P1,#01001111B;显示3CALL DELAY;短暂的延时MOV P0,#00000100B;根据三八译码器真值表的原理控制第五个数码管工作MOV P1,#01100110B;显示4CALL DELAY;短暂的延时MOV P0,#00000101B; 根据三八译码器真值表的原理控制第六个数码工作MOV P1,#01101101B;显示5CALL DELAY;短暂的延时。

八位数码管动态显示演示

八位数码管动态显示演示
因为人的视觉暂留现象,就不会发现数码管在闪烁了。
*创建人:东流,2012年2月7日
*版本号:1.0
***********************************************************************/
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
uchar code table[10] = {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
/********************************************************************
*名称: Delay_1ms()
*功能:延时子程序,延时时间为1ms * x
*输入: x (延时一毫秒的个数)
*输出:无
***********************************************************************/
void Delay(uint i)
{
uint x,j;
for(j=0;j<i;j++)
for(x=0;x<=148;x++);
}
/********************************************************************
*名称: Main()
*功能:数码管的显示
*输入:无
*输出:无
***********************************************************************/

利用2片74HC595驱动8个数码管显示

利用2片74HC595驱动8个数码管显示

/*---------------------------------------------*/ unsigned char code duan[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //0 1 2 3 4 5 6 7 8 9
} 注:74164和74595功能相仿,都是8位串行输入转并行输出移位寄存器。74164的驱动电流(25m A)比74595(35mA)的要小,14脚封装,体积也小一些。 74595的主要优点是具有数据存储寄存器,在移位的过程中,输出端的数据可以保持不变。这在 串行速度慢的场合很有用处,数码管没有闪烁感。 与164只有数据清零端相比,595还多有输出端时能/禁止控制端,可以使输出为高阻态。
unsigned char code wei[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};
void delay2ms(void) { unsigned char i,j; for(i=133;i>0;i--) for(j=6;j>0;j--);
} /*---------------串行数据输入-----------------------------*/ void 595_in(unsigned char Data) { unsigned char i; for(i = 0; i < 8; i++) { SCL1 = 0; //先将移位寄存器控制引脚置为低 //取数据的最高位 //将数据的次高位移到最高位 //再置为高,产生移位时钟上升沿,上升沿时数据寄存器 //循环8次,刚好移完8位
用两片74HC595驱动两个四连体数码管(共阳极,动态扫描) 首先介绍一下74HC595芯片:

单片机课程设计-8位8段LED数码管动态扫描显示

单片机课程设计-8位8段LED数码管动态扫描显示

华南理工大学广州汽车学院单片机课程设计题目:8位8段LED数码管动态扫描专业:电子信息工程班级:09电信(1)班姓名:付锦辉学号:200930062745一、内容要求:在8位8段LED数码管显示“8.8.8.8.8.8.8.8.”持续500ms,之后灭显示器200ms;然后显示“WELCOM-1”(由于8位8段LED数码管显示不能显示字母W 和M,所以改为显示“HELLO-93”)二、目的和意义1、掌握数码管动态扫描显示原理及实现方法。

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

三、总体方案设计思路LED数码动态显示的基本做法在于分时轮流选通数码管的公共端,使得各数码管轮流导通,再选通相应的数码管后,即显示字段上得到显示字形码。

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

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

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

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

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

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

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

基于EDA的8位数码管显示

基于EDA的8位数码管显示

河南科技8位数码管显示电路设计2012——20113学年第五学期EDA技术课程考试专业班级:电气106姓名:耀学号:考核老师:1 引言EDA技术是当前数字系统设计领域比较火热的一种工具,他可以大大缩短设计需要的时间,降低成本的同时也提高了系统的稳定性。

使用VHDL语言描述硬件系统使得EDA技术有了更为广阔的空间。

本设计使用了基于Altera公司的开发软件工具Quartus II,使用Verilog HDL语言设计了一款很实用的八位共阴数码管显示驱动电路,由Quartus II生成的RTL图如下:2.1 设计思路设计总框图如下:2.2 总体原理图图1 总体原理图2.3 总体功能介绍由总体原理图可知,原理图中共有五个输入和两个输出。

CLK为时钟输入端,DATA为预显示数据的加载端,在实际应用中可用通信总线代替27位并行总线输入数据,将并口改为串口来简化电路。

LOAD为数据加载端DATA的使能端。

D为移位寄存器的数据加载端,MD 为数据加载端D的使能端。

输出端口LED为数码管显示数据输出端,端口K为数码管位选数据输出端。

总体功能介绍:由CLK输入时钟控制信号,DATA加载待显示的数据。

先将LOAD置0,使加载端DATA的数据被存入内部寄存器。

然后,随着时钟信号的输出,转制电路将内部寄存器中的数据按十进制,依次在输出端口DOUT输出低位到高位。

输出端口COUT为8位移位寄存器的时钟控制端,当寄存器DOUT中被存入数据时,COUT端被置1,使的移位寄存器的时钟输入信号变的有效。

D为移位寄存器的数据加载端,在D端输入FE,通过移位寄存器控制共阴数码管的位选。

MD为数据加载端D的使能端,先将MD置1,使D端口的数据存入移位寄存器中,在数据存入后,将MD置0阻止D端口的数据存入。

输出端口K接数码管的位选端1~8,以控制数码管的动态显示。

3 各个模块的实现3.1二进制转十进制二进制转十进制是通过将待显示的数据用内部的寄存器存储,然后对其除以10取整数部分和对其除以10取余数来实现二进制转十进制。

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