硬件实验四 八段数码管显示

合集下载

数码管的显示的实验报告

数码管的显示的实验报告

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

sy4

sy4

实验四、数码管动态扫描显示实验一、实验目的1.学习和理解数码管动态扫描的工作原理2.学习和掌握数码管动态扫描的电路接口设计及程序编写二、实验设备1.仿真器2.单片机最小系统教学实验模块3.动态数码管显示模块三、实验要求使8位数码管显示“0 1 2 3 4 5 6 7”字样。

四、实验原理4.1 8段数码管显示原理数码管中的每一段相当于一个发光二极管,8段数码管则具有8个发光二极管。

对于“共阳极”的数码管,内部每个发光二极管的阳极被接在一起,成为该各段的公共选通线;发光二极管的阴极则成为段选线。

对于“共阴极”数码管,则正好相反,内部发光二极管的阴极接在一起,阳极成为段选线。

这两种数码管的驱动方式是不同的。

当需要点亮“共阳极”数码管的一段时,公共段需接高电平(即写逻辑1)、该段的段选线接低电平(即写逻辑0),从而该段被点亮。

当需要点亮“共阴极”数码管的一段时,公共段需接低电平(即写逻辑0)、该段的段选线接高电平(即写逻辑1),该段被点亮。

数码管的段位顺序如右图所示:一般来说在一个字节中按照abcdefg dp的顺序放置字型码,比如在一个“共阴极”数码管上要显示“1”,则b、c段需被点亮,因此在段选线中写入60H。

例如使用P0口接段选线,则使用下面的语句即可点亮数码管: MOV P0,#06H对应规则:a----->D7b----->D6c----->D5d----->D4e----->D3f----->D2g----->D1dp---->D04.2 多位数码管的显示在多位8段数码管显示时,为了简化硬件电路,通常将所有位的段选线相应地并联在一起,由一个单片机的8位I/O口控制,形成段选线的多路复用。

而各位数码管的共阳极或共阴极分别由单片机独立的I/O口线控制,顺序循环地点亮每位数码管,这样的数码管驱动方式就称为“动态扫描”。

在这种方式中,虽然每一时刻只选通一位数码管,但由于人眼具有一定的“视觉残留”,只要延时时间设置恰当,便会感觉到多位数码管同时被点亮了。

8段数码管显示实验

8段数码管显示实验

八段数码管的显示实验是一个程序语句长,编程设计的结构相对复杂的实验。

但是电类专业目一般在第4个实验就要编制八段数码管程序,因为该实验是其它后续大量实验的基础。

该实验是否能掌握,成为整个单片机实验课程能学习取得效果的转折点。

这样一个复杂的实验指望在2个学时的实验课上掌握是不可能的,采用如下的步骤和方法逐步推进会事半功倍!1.首先将八段数码管的实验箱电路在理论课程中作为例题出现,并且应该成为典型例题!图9-12是某实验箱的键盘和数码显示的部分电路,试回答下列问题:(1.)试写出8255的PA\PB\PC\及控制寄存器的地址;(2.)设置8255的控制寄存器,并初始化8255(88H);(3.)试写出键盘扫描程序一般应具有的功能;(4.)试编写在两位数码管上显示数字20编程思路(2段码为A4;0段选码为C0);(5).试写出用手按下键盘后,在八段数码管上显示对应键值的思路。

2. 实验课程内容必须分解2.1 首先完成能够在数码管上显示一个字符2.2 其次要求在数码管上能显示两个字符,动态显示2.3 最后要求在数码管上轮流显示0~F.3.教师应该提供2.1实验的参考程序作为引导,否则实践证明2个学时后编程程序的不超过10%4.附件 2.1程序cs8255 equ 0ffffh ;8255命令控制口outseg equ 0fffch ;字形控制口outbit equ 0fffdh ;字位/键扫控制口LEDBuf equ 60h ;显示缓冲Num equ 70h ;显示的数据DelayT equ 75h ;延迟参数org 0mov dptr,#CS8255mov a,#88h ;命令字:A,B口输出movx @dptr,a ;8255初始化FillBuf: mov a,#00hanl a,#0fhmov dptr,#LEDMapmovc a,@a+dptr ;数字转换成显示码mov @r0,a ;显示在码填入显示缓冲mov r2,#10000000b;从左边开始显示Loop:mov dptr,#OUTBITclr amovx @dptr,a ;关所有八段管mov a,@r0mov dptr,#OUTSEGmovx @dptr,amov dptr,#OUTBITmov a,r2movx @dptr,a ;显示一位八段管sjmp $LedMap: db 0c0h,0f9h,0a4h,0b0h,099h,092h,082h,0f8h ;八段管显示码db 080h,090h,088h,083h,0c6h,0a1h,086h,08ehend。

八段数码管的控制显示

八段数码管的控制显示
void Delay(unchar delaytime)//延时函数
{
unchar i=0;
unchar j=0;
for(i=0;i<delaytime;i++)
for(j=0;j<120;j++)
;
}
void main(void)
{
unchar i=0;
OUTCON=0x88;//8255控制字
while(1)//系统主循环
#include <AT89X51.h>
#include <absacc.h>
#define unchar unsigned char
#define OUTCON XBYTE[0xffff]
#define OUTSEG XBYTE[0xfffC]
#define OUTDigit XBYTE[0xfffd]
八段数码管显示实验八段共阳极数码管八段数码管引脚图数码管显示数码管显示原理八段数码管四位八段数码管数码管显示vhdl数码管显示流程图数码管显示小数
实验二八段数码管的控制显示
一.实验目的
利用试验系统提供的显示设备,动态显示一行数据。
二.实验内容
1.了解数码管动态显示的原理
2.了解用总线方式控制数码管显示
Delay(200);
}
}
}
j=A;
}
3.使用两位数码管,实现数码管显示的数值从0开始每隔0.2s加1,加到100回0并重新开始。
while(1)
{
i=0;
for(j=0;j<=9;j++)
{
for(i=0;i<=9;i++)

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

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

实验四单片机驱动数码管显示一实验目的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、实验开发板2、数码管模块3、杜邦线若干4、电脑5、编程软件四、实验步骤1、硬件连接将数码管模块与实验开发板进行连接,确定好段选和位选引脚的连接。

检查连接是否牢固,确保电路无短路或断路现象。

2、软件编程打开编程软件,选择相应的开发板型号和编程语言。

定义数码管的段选和位选引脚。

编写控制程序,实现数字 0 到 9 的循环显示。

3、编译与下载对编写好的程序进行编译,检查是否有语法错误。

将编译成功的程序下载到实验开发板上。

4、观察实验现象接通实验开发板的电源,观察数码管的显示情况。

检查显示的数字是否正确,显示的亮度和稳定性是否符合要求。

五、实验结果与分析1、实验结果数码管能够正常显示数字 0 到 9,并且能够按照设定的频率循环显示。

显示的数字清晰、稳定,没有出现闪烁或模糊的现象。

2、结果分析程序编写正确,能够准确地控制数码管的段选和位选信号,实现数字的显示。

动态扫描的频率设置合理,既保证了显示的稳定性,又不会出现明显的闪烁。

六、实验中遇到的问题及解决方法1、问题数码管显示出现闪烁现象。

解决方法调整动态扫描的频率,增加扫描的速度,减少每个数码管的点亮时间,从而减轻闪烁现象。

编写程序使实验板上八段数码管循环显示0 到9 字符

编写程序使实验板上八段数码管循环显示0 到9 字符

编写程序使实验板上八段数码管循环显示0 到9 字符1.八段数码管嵌入式系统中,经常使用八段数码管来显示数字或符号,由于它具有显示清晰、亮度高、使用电压低、寿命长的特点,因此使用非常广泛。

结构八段数码管由八个发光二极管组成,其中七个长条形的发光管排列成“日”字形,右下角一个点形的发光管作为显示小数点用,八段数码管能显示所有数字及部份英文字母。

见图1。

图1 八段数码管的结构类型八段数码管有两种不同的形式:一种是八个发光二极管的阳极都连在一起的,称之为共阳极八段数码管;另一种是八个发光二极管的阴极都连在一起的,称之为共阴极八段数码管。

工作原理以共阳极八段数码管为例,当控制某段发光二极管的信号为低电平时,对应的发光二极管点亮,当需要显示某字符时,就将该字符对应的所有二极管点亮;共阴极二极管则相反,控制信号为高电平时点亮。

电平信号按照dp,g,e…a 的顺序组合形成的数据字称为该字符对应的段码,常用字符的段码表如下:表1 常用字符的段码表显示方式八段数码管的显示方式有两种,分别是静态显示和动态显示。

静态显示是指当八段数码管显示一个字符时,该字符对应段的发光二极管控制信号一直保持有效。

动态显示是指当八段数码管显示一个字符时,该字符对应段的发光二极管是轮流点亮的,即控制信号按一定周期有效,在轮流点亮的过程中,点亮时间是极为短暂的(约1ms),由于人的视觉暂留现象及发光二极管的余辉效应,数码管的显示依然是非常稳定的。

基础知识地址0x10000004为数码管的数据寄存器,控制数码管的段码输出.数码管扫描控制地址为0x10000006,8位访问Bit0 –控制数码管0 –低电平有效Bit1 –控制数码管1 –低电平有效Bit2 –控制数码管2 –低电平有效Bit3 –控制数码管3 –低电平有效Bit4 –控制数码管4 –低电平有效Bit5 –控制数码管5 –低电平有效实验说明1、制作LED字符与码段对应表unsigned char seg7table[16] = {/* 0 1 2 3 4 5 6 7*/0xc0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8,/* 8 9 A B C D E F*/0x80, 0x90, 0x88, 0x83, 0xc6, 0xa1, 0x86, 0x8e };2、扫描控制*((U8*) 0x02000006) = 0x3E; /* 使能第一个数码管 */段码输出*((U8*) 0x02000004) = seg7table[0]; /* 输出数据 0 */思考:简述LED的显示原理以及LED的显示办法静态显示和动态显示各有什么优缺点设计"HELLO"的码表,编写程序循环显示"HELLO"。

八段数码管显示实验总结

八段数码管显示实验总结

八段数码管显示实验总结以下是一篇关于八段数码管显示实验总结的文章,旨在详细介绍实验的步骤和结果。

引言:在现代电子技术领域中,七段数码管是一种常见的数字显示装置,常用于计时器、电子表、计数器等设备中。

而八段数码管则是七段数码管的进化版,它增加了一个小数点显示位,可以显示更多的数码和字符。

本篇文章将围绕八段数码管显示实验展开,介绍实验过程及实验结果。

第一步:材料准备进行八段数码管显示实验前,需要准备以下材料:1. 八段数码管:这是实验中的核心组件,用于显示数字和字符。

2. 转接板:用于连接八段数码管和单片机,实现电路的连接。

3. 单片机:本实验中我们选择XXXX型号的单片机,它具备足够的输入输出引脚,方便实验开展。

4. 面包板:用于搭建电路,连接各个组件。

5. 连接线:用于连接数码管、转接板和单片机。

第二步:电路连接1. 将转接板插入面包板中心位置,确保其稳固。

2. 将八段数码管插入转接板对应位置,并通过连接线将其与转接板上的引脚相连。

3. 将单片机插入转接板上的插槽,并通过连接线将其与转接板上的引脚相连。

4. 连接线的连接需要按照电路连接图进行,确保连线正确无误。

第三步:程序编写1. 打开XXXX软件,创建一个新的工程。

2. 在新的工程中,编写程序代码来控制八段数码管显示。

可以根据自己的需求,编写数字、字符等不同的显示内容。

3. 在程序代码中,通过设置不同的数位选择引脚和段选引脚的高低电平来实现不同位上的显示。

第四步:烧录程序1. 将单片机与电脑通过USB线连接。

2. 打开软件,选择对应的单片机型号和烧录方式。

3. 将程序烧录至单片机中,确保烧录成功。

第五步:实验结果在将程序烧录到单片机后,即可观察八段数码管的显示结果。

根据实验编写的程序,数码管将会显示相应的数字和字符。

可以通过改变程序代码中的内容,实现不同的显示效果。

比如,可以设置不同的数值、字符以及使用动态显示等功能。

结论:通过本次实验,我们成功地搭建了一个八段数码管的显示电路,并利用单片机编写了相应的程序进行控制。

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

硬件实验四 八段数码管显示
一、实验要求
利用实验箱提供的显示电路,动态显示一行数据.
二、实验目的
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) 数据总线
七段数码管的字型代码表如下表:
五、程序参考程序、框图
OUTBIT equ 08002h ; 位控制口
OUTSEG equ 08004h ; 段控制口
data segment
LEDBuf db 6 dup(?) ; 显示缓冲
Num db 1 dup(?) ; 显示的数据
DelayT db 1 dup(?)
LEDMAP: ; 八段管显示码
db 3fh, 06h, 5bh, 4fh, 66h, 6dh, 7dh, 07h db 7fh, 6fh, 77h, 7ch, 39h, 5eh, 79h, 71h data ends
code segment
assume cs:code, ds:data
Delay proc near
push ax ; 延时子程序
push cx
mov al, 0
mov cx,ax
loop $
pop cx
pop ax
ret
Delay endp
DisplayLED proc near
mov bx, offset LEDBuf
mov cl, 6 ; 共6个八段管
mov ah, 00100000b ; 从左边开始显示
DLoop:
mov dx, OUTBIT
mov al, 0
out dx,al ; 关所有八段管
mov al, [bx]
mov dx, OUTSEG
out dx,al
mov dx, OUTBIT
mov al, ah
out dx, al ; 显示一位八段管
push ax
mov ah, 1
call Delay
pop ax
shr ah, 1
inc bx
dec cl
jnz DLoop
mov dx, OUTBIT
mov al, 0
out dx,al ; 关所有八段管
ret
DisplayLED endp
Start proc near
mov ax, data
mov ds, ax
mov Num, 0
MLoop:
inc Num
mov ch,Num
mov ah,0
mov cl,6
mov bx,offset LEDBuf
FillBuf:
mov si, offset LEDMap
mov al,ch
and al,0fh
add ax,si
mov si,ax
mov al,[si] ; 数据转换成显示码 mov [bx], al ; 显示码存入显示缓冲 inc bx
inc ch
dec cl
jnz FillBuf
mov DelayT,20
DispAgain:
call DisplayLED ; 显示
dec DelayT
jnz DispAgain
jmp MLoop
Start endp
code ends
end start
六、实验步骤
(1) 在实验箱断电的情况下连好线。

(2) 输入程序并检查,保存程序。

(3) “编译”程序。

(4) “全速执行”程序。

(5) 记录实验结果及分析。

七、思考题
(1) 请修改程序,使之只能显示012345,并让这五个数字固定显示(不产生移动)
(2) 请分析本实验的显示刷新率是多少?若显示刷新率调慢会出现什么现象,试修改程序实现之。

相关文档
最新文档