实验四 LED数码管显示实验

合集下载

实验4 LED数码管静态显示电路的设计与仿真

实验4  LED数码管静态显示电路的设计与仿真

实验项目四 LED数码管静态显示电路的设计与仿真[实验目的]1.掌握LED数码管编码方法2.掌握LED数码管静态显示电路的设计3.掌握对LED数码管静态显示的控制方法[实验原理][实验仪器]PC机一台[Proteus用到器件的关键词]单片机(at89c52)、数码管(7seg-com-cathode)、排阻(respack-7)[实验内容与步骤]1.用Proteus软件设计出LED数码管显示电路原理图。

2.由于单片机P0口内部无上拉电阻,故使用时要外接上拉电阻,阻值为10KΩ。

3.用Keil编写程序让第二个数码管从0显示到F,然后再让从0开始显示;每当第二个数码管显示到F后,第一个数码管显示值加1一次,最后调试程序、编译后生成HEX文件。

4.将HEX文件装载到MCU AT89C52中,单击Start按钮开始动态仿真。

[实验数据记录];******两位数码管静态显示程序*******;ORG 0000HLJMP MAINORG 0050H MAIN: MOV R3,#0MOV P0,#3FHLP2: MOV DPTR,#0200H LP1: MOVC A,@A+DPTRMOV P2,ALCALL DELAYMOV R2,ACLR AINC DPTRCJNE R2,#6FH,LP1INC R3MOV DPL,R3MOVC A,@A+DPTRMOV P0,ACLR ACJNE R3,#10,LP2AJMP MAIN DELAY: MOV R0,#0FFHDL2: MOV R1,#0FFHDL1: NOPNOPNOPDJNZ R1,DL1DJNZ R0,DL2RETORG 0200HTAB: DB 3FH;0 DB 06H;1 DB 5BH;2 DB 4FH;3 DB 66H;4 DB 6DH;5 DB 7DH;6 DB 07H;7 DB 7FH;8 DB 6FH;9END[实验数据处理][实验结果及讨论]。

数码管的显示的实验报告

数码管的显示的实验报告

数码管的显示的实验报告数码管的显示的实验报告引言:数码管是一种常见的数字显示装置,广泛应用于各种电子设备中。

本实验旨在通过实际操作,了解数码管的原理和工作方式,并通过一系列实验验证其显示效果和功能。

实验一:数码管的基本原理数码管是由多个发光二极管(LED)组成的,每个发光二极管代表一个数字或符号。

通过对不同的发光二极管进行点亮或熄灭,可以显示出不同的数字或符号。

本实验使用的是共阳数码管,即共阳极连接在一起,而阴极分别连接到控制芯片的输出引脚。

实验二:数码管的驱动电路为了控制数码管的显示,需要使用驱动电路。

常见的驱动电路有共阴极驱动和共阳极驱动两种。

本实验使用的是共阳极驱动电路。

驱动电路由控制芯片、电阻和电容组成。

控制芯片通过控制输出引脚的高低电平来控制数码管的点亮和熄灭。

实验三:数码管的显示效果通过控制芯片的输出引脚,可以实现数码管的显示效果。

本实验使用的是四位数码管,可以显示0-9的数字。

通过改变控制芯片输出引脚的电平,可以控制数码管显示不同的数字。

实验中通过编写程序,使数码管显示从0到9的数字循环显示,并通过按键控制数字的增加和减少。

实验四:数码管的多位显示除了显示单个数字外,数码管还可以实现多位显示。

通过控制不同位数的数码管,可以显示更多的数字或符号。

本实验使用的是四位数码管,可以同时显示四个数字。

通过编写程序,可以实现四位数码管的多位显示,例如显示当前时间、温度等信息。

实验五:数码管的亮度调节数码管的亮度可以通过改变驱动电路中的电阻值来实现。

本实验通过改变电阻值,调节数码管的亮度。

实验中通过编写程序,通过按键控制数码管的亮度增加和减少,从而实现亮度的调节。

结论:通过本次实验,我们深入了解了数码管的原理和工作方式。

数码管可以通过驱动电路的控制,实现数字和符号的显示。

同时,数码管还可以实现多位显示和亮度调节。

数码管作为一种常见的数字显示装置,具有广泛的应用前景,可以应用于各种电子设备中。

通过进一步的研究和实践,我们可以更好地利用数码管的功能,满足不同应用场景的需求。

实验四 LED数码管显示实验报告

实验四 LED数码管显示实验报告

实验名称 LED数码管显示实验指导教师曹丹华专业班级光电1202班姓名陈敬人学号联系电话一、任务要求实验目的:理解LED七段数码管的显示控制原理,掌握数码管与MCU的接口技术,能够编写数码管显示驱动程序;熟悉接口程序调试方法。

实验内容:1.基础部分:利用C8051F310单片机控制数码管显示器。

利用末位数码管循环显示数字0-F,显示切换频率为1Hz。

2.提高部分:在数码管上显示0→199计数,计数间隔为0.5秒。

二、设计思路1.基础部分C8051F310单片机片上晶振为24.5MHz,采用8分频后为3.0625MHz ,输入时钟信号为48个机器周期,T1采用定时器工作方式1,单次定时最长可达1.027s,可以实现1s定时要求。

定时采用软件查询工作方式,利用JNB TF0, HERE实现。

置P0.6和P0.7端口为0,位选信号选定末位数码管。

通过MOVC A, @A+DPTR指令,利用顺序查表法取出显示段码数据。

寄存器R0自增1,并赋给A以取出下一个显示段码数据。

为减短代码长度,利用CJNE指令实现循环结构。

当寄存器R0增至0FH后,跳转至开头,重新开始下一轮显示。

2.提高部分定时方式及查表方式同基础部分,由于要实现三个数码管同时显示,因此采用动态扫描显示法。

三、资源分配1.基础部分P0.6: 位选信号端口P0.7:位选信号端口P1:输出段码数据R0:存放显示数据DPTR:指向段码数据表首 2.提高部分P0.6:位选信号端口P0.7:位选信号端口R0:存放个位显示数据 R5:存放十位显示数据 R6:存放百位显示数据 P1:输出段码数据DPTR: 指向段码数据表首四、流程图1.基础部分2.提高部分五、源代码(含文件头说明、语句行注释)1.基础部分;******************基础部分源代码***************************;Filename: test.asm;Decription: 末位数码管循环显示数字0-F,显示切换频率为1Hz。

led数码管显示控制实验报告

led数码管显示控制实验报告

led数码管显示控制实验报告篇一:单片机实验报告——LED数码管显示实验《微机实验》报告LED数码管显示实验指导教师:专业班级:姓名:学号:联系方式:一、任务要求实验目的:理解LED七段数码管的显示控制原理,掌握数码管与MCU的接口技术,能够编写数码管显示驱动程序;熟悉接口程序调试方法。

实验内容:利用C8051F310单片机控制数码管显示器基本要求:利用末位数码管循环显示数字0-9,显示切换频率为1Hz。

提高要求:在4位数码管显示器上依次显示当天时期和时间,显示格式如下:yyyy(月份.日)(小时.分钟)思考题:数码管采用动态驱动方式时刷新频率应如何选择?为什么?二、设计思路C8051F310单片机片上晶振为,采用8分频后为,输入时钟信号采用48个机器周期。

0到9对应的断码为:FCH、60H、DAH、F2H、66H、B6H、BEH、E0H、FEH、F6H 基础部分:由于只需要用末位数码管显示,不需要改变位码,所以只需要采用LED的静态显示。

采用查表的方法,通过循环结构,每次循环查找数据表下一地址,循环十次后重新开始循环。

每次循环延时1s,采用定时器0定时方式1。

提高部分:四个数码管都要显示,所以采用LED的动态显示。

由于数码管的位选由、控制,P0端口的其他引脚都没用到,所以对P0端口初始化赋00H,每次循环加40H、选中下一位,四次后十六进制溢出,P0端口变又为00H回到第一个数码管。

每位数码管显示一个段码后都延时1ms(否则数码管太亮,刺眼)采用定时器0定时方式1,依然采用查表法改变段码值。

通过循环:DJNZ R5,BACKMOVR5,#250 DJNZ R4,BACK MOVR4,#8来控制每种模式的切换时间,我采用2s切换一次(8*250*1ms=2s)。

切换模式,可以采用改变查表法的偏移量来实现,没切换一次模式,偏移量加04H,三次后回到初始偏移量,来实现三种模式的循环显示。

三、资源分配基础部分:、:控制数码管的位选P1:控制数码管段码的显示R0:控制段选提高部分:、:控制数码管的位选P1:控制数码管段码的显示R0:控制位选R1:控制段选R3:用于改变偏移量来切换模式R4、R5:控制循环次数,控制模式切换时间四、流程图基础部分:提高部分篇二:实验八数码管LED实验报告苏州大学实验报告院、系年级专业姓名学号课程名称成绩指导教师同组实验者实验日期实验名称:数码管LED实验一.实验目的理解8段数码管的基本原理,理解8段数码管的显示和编程方法,理解4连排共阴极8段数码管LG5641AH与MCU 的接线图。

8255和LED数码管显示实验

8255和LED数码管显示实验

实验四 8255和LED 数码管显示实验一、实验目的1.掌握并行接口8255A 的工作原理及使用方法。

2.了解七段数码管显示数字的原理。

3.掌握多位数码显示的接口技术。

二、实验电路实验电路如图2及图3所示。

三、实验内容1.静态显示:如图2所示,将8255A 的A 口PA0~PA6分别与七段数码管的段码驱动输入端a ~g 相连。

编程从键盘输入一位十进制数字(0~9),在七段数码管上显示出来,按其它键程序退出。

用Proteus 仿真软件搭建硬件电路,实现静态显示,完成系统的调试运行,并讲解搭建调试全过程。

用屏幕录像软件进行全过程录像,以MP4格式保存提交,提交仿真程序文件,完成实验报告的书写。

2.动态显示:按图3连接好电路,七段数码管段码连接不变,两个数码管的位码驱动输入端S1、S0分别接8255C 口的PC1、PC0。

编程在两个数码管上显示56,按任意键程序退出。

用Proteus 仿真软件搭建硬件电路,。

要求:在Proteus 仿真软件上搭建硬件系统,采用一个8255芯片实现两个数码管动态显示数字‘56’,完成系统的调试运行,并讲解搭建调试全过程。

用屏幕录像软件进行全过程录像,以MP4格式保存提交,提交仿真程序文件,完成实验报告的书写。

四、实验程序和结果<1>静态显示;************************************************ ;* 键盘输入数据(0-9)控制LED 数码管显示(静态显示) * ;************************************************ IO8255A EQU 288HP A 6P A 5P C 0 P A 4P A 3g f e d c b aS1 S0图3 动态态显示电路+5VP A 6P A 5P A 4C S P A 3g f e d c b a288H~ 28BH8255图2 静态显示电路 dp S3 S2 S1 S0IO8255CON EQU 28BHDATA SEGMENTLED DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHMESG DB 0DH,0AH,'INPUT A NUM (0--9),OTHER KEY IS EXIT:',0DH,0AH,'$' DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV DX,IO8255CON ;使8255的A口为输出方式MOV AX,80HOUT DX,ALSSS:MOV DX,OFFSET MESG ;显示提示信息MOV AH,09HINT 21HMOV AH,01 ;从键盘接收字符INT 21HCMP AL,'0' ;是否小于0JB EXIT ;若是则退出CMP AL,'9' ;是否大于9JA EXIT ;若是则退出SUB AL,30H ;将所得字符的ASCII码减30HMOV BX,OFFSET LED ;BX为数码表的起始地址XLAT ;求出相应的段码MOV DX,IO8255A ;从8255的A口输出OUT DX,ALJMP SSS ;转SSSEXIT: MOV AH,4CH ;返回DOSINT 21HCODE ENDSEND START<2>动态显示DATA SEGMENTINPORT EQU 2400H-280HIO8255A EQU INPORT+288HIO8255C EQU INPORT+28AHIO8255CTR EQU INPORT+28BHMESGL DB 0DH,0AH,’PRESS ANY KEY TO EXIT!’,0DH,0AH,’$’DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,DATAMOV DS,AXMOV DX,OFFSET MESGL ; 提示显示信息MOV AH,9INT 21HMOV DX,IO8255CTR ;将8255设为A口输出MOV AL,80HOUT DX,ALLOOP1:MOV DX,IO8255AMOV AL,6DHOUT DX,ALMOV DX,IO8255CMOV AL,2OUT DX,ALMOV CX,3000HDELAY:LOOP DELAY ;延时MOV DX,IO8255CMOV AL,0OUT DX,AL ; 关数码管MOV DX,IO8255AMOV AL,7DHOUT DX,ALMOV DX,IO8255CMOV AL,1OUT DX,ALMOV CX,3000HDELAY1:LOOP DELAY1 ;延时MOV AH,0BHINT 21HCMP AL,0JNZ EXIT ;按任意键退出JMP LOOP1EXIT:MOV DX,IO8255CMOV AL,0 ;关掉数码管显示OUT DX,ALMOV AX,4C00H ;返回DOSINT 21HCODE ENDSEND START。

试验四LED数码管显示数字试验五运动计时器的设计试验要求

试验四LED数码管显示数字试验五运动计时器的设计试验要求

下载流程
建立引脚约束文件,告诉软件实物中的引脚定义
下载流程
网络,是自己定义的 约束信息,在实验手册
引脚不可变
的每个实验部分有说明
下载流程
接上电源,插入下载线, 首次接入的话,需要等待 一会,保证电脑上设备管 理器下已经完成了驱动连 接。计算机自动安装驱动
编译没有错误之后,直接双击 【Configure Target Device】
输入
源文件目录
编译命令窗口
程序包, 类似C语言中 的include
待添加的程序主体
新建工程 输入
程序主体说明
添加程序包
端口说明
需要的信号,变量申 明 添加程序进 程
新建工程 输入
添加两条库调用语句
端口声明语句 内部信号量声明语句
模块进程,可多个
新建工程 综合
编写好程序之后,【保存】,双击左侧 栏下的【Synthesize-XST】,进行语法检 查,生成RTL原理图
下载流程
双击操作
单击右键选择
找到xx.bit文件,*有时候
窗口出现的不是刚才生成 生成Bit文件的路径,需 要切换过去找到
下载流程
这是选择了bit文件之后 会出现的几个窗口
下载流程
右键单击选择【program】 即完成了下载
下载流程
*常出现下载失败的原因: 1.芯片选型不对 2.连接驱动没有建立成功(电源上电)
实验题目及要求
实验四 LED数码管显示数字
实验五 运动计时器的设计
实验要求:
在四个七段LED数码管上
实验要求:
(1)在四个七段LED数码管上显示分钟和 秒,最长的计时时间为59:59。
显示自己学号的最后四位“xxxx”

实验四 LED数码显示控制

实验四  LED数码显示控制

实验四LED数码显示控制12电气信息工程(1)班姓名:彭威、张亚斌在LED数码显示控制实验区完成本实验。

一、实验目的了解并掌握置位与复位指令SET、RST在控制中的应用及其编程方法。

二、置位与复位指令SET、RST的介绍SET为置位指令,使动作保持;RST为复位指令,使操作保持复位。

当X0一接通,即使再变成断开,Y0也保持接通。

X1接通后,即使再变成断开,Y0也将保持断开。

SET指令的操作目标元件为Y、M、S。

而RST指令的操作元件为Y、M、S、D、V、Z、T、C。

这两条指令是1~3个程序步。

用RST指令可以对定时器、计数器、数据寄存器、变址寄存器的内容清零。

三、控制要求按下启动按钮后,由八组LED发光二极管模拟的八段数码管开始显示:先是一段段显示,显示次序是A、B、C、D、E、F、G、H。

随后显示数字及字符,显示次序是0、1、2、3、4、5、6、7、8、9、A、b、C、d、E、F,再返回初始显示,并循环不止。

四、LED数码显示控制的实验面板图:图中,下框中的A、B…H分别接主机的输出点Y0、Y1…Y7;SD接主机的输入点X0。

上框中的A、B、C、D、E、F、G、H用发光二极管模拟输出。

五、实验参考程序一、编制梯形图并写出程序实验参考程序指令器件号说明步序指令器件号说明步序0 LD X000 启动34 OR M1091 ANI M0 35 OR M1112 OUT T0 延时1秒36 OR M1123 K10 37 OR M1144 LD T0 38 OR M1155 OUT M0 产生脉冲39 OR M2016 LD X000 40 OR M2027 OUT T1 延时1.5秒41 OR M2038 K15 42 OR M2049 ANI T1 43 OR M20610 OUT M10 44 OR M20811 LD M10 45 OR M20912 OR M2 46 OUT Y000 A段显示13 OUT M100 47 LD M10214 LD M115 48 OR M10915 OUT M200 49 OR M11016 LD M209 50 OR M11117 OUT T2 延时1秒51 OR M11218 K10 52 OR M11319 ANI T2 53 OR M20120 OUT M2 54 OR M20221 LD M0 移位输入55 OR M20322 FNC 35 左移位56 OR M20423 M100 数据输入57 OR M20724 M101 移位58 OUT Y001 B段显示25 K15 移位段数:15 59 LD M10326 K1 1位移位60 OR M10927 LD M0 移位输入61 OR M11028 FNC 35 左移位62 OR M11229 M200 数据输入63 OR M11330 M201 移位64 OR M11431 K9 移位段数:9 65 OR M11532 K1 1位移位66 OR M20133 LD M101 67 OR M202指令器件号说明步序指令器件号说明步序68 OR M203 98 LD M10669 OR M204 99 OR M10970 OR M205 100 OR M11371 OR M207 101 OR M11472 OUT Y002 C段显示102 OR M11573 LD M104 103 OR M20274 OR M109 104 OR M20375 OR M111 105 OR M20476 OR M112 106 OR M20577 OR M114 107 OR M20678 OR M115 108 OR M20879 OR M202 109 OR M20980 OR M203 110 OUT Y005 F段显示81 OR M205 111 LD M10782 OR M206 112 OR M11183 OR M207 113 OR M11284 OR M208 114 OR M11385 OUT Y003 D段显示115 OR M11486 LD M105 116 OR M11587 OR M109 117 OR M20288 OR M111 118 OR M20389 OR M115 119 OR M20490 OR M202 120 OR M20591 OR M204 121 OR M20792 OR M205 122 OR M20893 OR M206 123 OR M20994 OR M207 124 OUT Y006 G段显示95 OR M208 125 LD M10896 OR M209 126 OUT Y007 H小数点显示97 OUT Y004 E段显示127 END 程序结束。

实验四--单片机驱动数码管显示

实验四--单片机驱动数码管显示

实验四单片机驱动数码管显示一实验目的1 学习单片机驱动数码管动态显示的电路设计和编程方法二实验原理1、单片机系统中常用的显示器有:发光二极管LED(Light Emitting Diode)显示器、液晶LCD(Liquid Crystal Display)显示器、CRT显示器等。

LED、LCD显示器有两种显示结构:段显示和点阵显示。

七段数码管显示为了显示数字或字符,必须对数字或字符进行编码。

七段数码管加上一个小数点,共计8段。

因此为LED显示器提供的编码正好是一个字节。

字母一般用米字型。

编码表:0x3f 0x06 0x5b 0x4f 0x66 0x6d0 1 2 3 4 50x7d 0x07 0x7f 0x6f 0x77 0x7c6 7 8 9 A B0x39 0x5e 0x79 0x71 0x00C D E F 无显示七段数码管对应八位由低到高:a,b,c,d,e,f,g,dp例:数码管显示2则要点亮a,b,g,e,d段,对应的八位是01011011数码管动态显示方式是将所有显示位的段选择线并联在一起,有统一的I/O资源来控制。

各个数码管公共端也有I/O资源来控制,分时的选通各个数码管进行动态显示。

每个瞬间只能选通一个数码管,人眼的暂留时间为,每个数码管的选通时间必须在以内,通常选择15ms~20ms。

电路图见实验附图。

三实验内容理解动态显示电路图,参考驱动程序,单片机P0口作段码输出控制,P1口作位码控制,使单片机驱动6个7段数码管输出实验当天年、月、日六位数字。

四、实验步骤(1)单片机最小应用系统1的P0口接段码口a~h,P1口接位码口S1~S6。

(2)在KEIL软件下编写程序并调试,完成实验内容要求。

(3)下载程序,通过实验箱验证设计电路和编写的程序是否达到实验要求。

下载程序,通过实验箱验证设计电路和编写的程序是否达到实验要求。

五参考程序与电路汇编语言参考程序:ORG 0000HLJMP STARTORG 0030HSTART: MOV R0,#30HMOV R1,#40HMOV 30H,#1MOV 31H,#2MOV 32H,#1MOV 33H,#1MOV 34H,#2MOV 35H,#0START1: MOV DPTR,#TABMOV R3,#6LOOP: MOV A,@R0MOVC A,@A+DPTRMOV @R1,AINC R0INC R1DJNZ R3,LOOPMOV R3,#6MOV R1,#40HMOV A,#20HLOOP1: MOV P1,@R1MOV P2,AACALL DELAYMOV P2,#00HRR AINC R1DJNZ R3,LOOP1LJMP START1TAB:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,77H,7CH,58H,5EH,7BH,71H,00H,40H DELAY: MOV R4,#100LOOP2: DJNZ R4,LOOP2RETENDC语言参考程序:#include <reg51.h>#include <intrins.h>unsigned char code table[]={0x3f,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};unsigned char date[]={1,2,1,1,2,0};void delay(){unsigned char j;for(j=0;j<=100;j++);}void main(){unsigned char i,a;while(1){a=0x40;for(i=0;i<6;i++){P1=table[date[i]];a=_cror_(a,1);P2=a;delay();P2=0x00;}}}数码管动态显示电路图(位选信号为高电平,段选信号为高电平):。

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