单片机实验报告二数码管显示实验
数码管的显示的实验报告

数码管的显示的实验报告数码管的显示的实验报告引言:数码管是一种常见的数字显示装置,广泛应用于各种电子设备中。
本实验旨在通过实际操作,了解数码管的原理和工作方式,并通过一系列实验验证其显示效果和功能。
实验一:数码管的基本原理数码管是由多个发光二极管(LED)组成的,每个发光二极管代表一个数字或符号。
通过对不同的发光二极管进行点亮或熄灭,可以显示出不同的数字或符号。
本实验使用的是共阳数码管,即共阳极连接在一起,而阴极分别连接到控制芯片的输出引脚。
实验二:数码管的驱动电路为了控制数码管的显示,需要使用驱动电路。
常见的驱动电路有共阴极驱动和共阳极驱动两种。
本实验使用的是共阳极驱动电路。
驱动电路由控制芯片、电阻和电容组成。
控制芯片通过控制输出引脚的高低电平来控制数码管的点亮和熄灭。
实验三:数码管的显示效果通过控制芯片的输出引脚,可以实现数码管的显示效果。
本实验使用的是四位数码管,可以显示0-9的数字。
通过改变控制芯片输出引脚的电平,可以控制数码管显示不同的数字。
实验中通过编写程序,使数码管显示从0到9的数字循环显示,并通过按键控制数字的增加和减少。
实验四:数码管的多位显示除了显示单个数字外,数码管还可以实现多位显示。
通过控制不同位数的数码管,可以显示更多的数字或符号。
本实验使用的是四位数码管,可以同时显示四个数字。
通过编写程序,可以实现四位数码管的多位显示,例如显示当前时间、温度等信息。
实验五:数码管的亮度调节数码管的亮度可以通过改变驱动电路中的电阻值来实现。
本实验通过改变电阻值,调节数码管的亮度。
实验中通过编写程序,通过按键控制数码管的亮度增加和减少,从而实现亮度的调节。
结论:通过本次实验,我们深入了解了数码管的原理和工作方式。
数码管可以通过驱动电路的控制,实现数字和符号的显示。
同时,数码管还可以实现多位显示和亮度调节。
数码管作为一种常见的数字显示装置,具有广泛的应用前景,可以应用于各种电子设备中。
通过进一步的研究和实践,我们可以更好地利用数码管的功能,满足不同应用场景的需求。
单片机数码管显示实验报告

单片机数码管显示实验报告单片机数码管显示实验报告引言:数码管是一种常用的显示器件,广泛应用于各种电子设备中。
本实验旨在通过使用单片机控制数码管的亮灭来实现数字的显示,以及通过编程控制数码管显示不同的数字和字符。
1. 实验目的本实验的主要目的是通过使用单片机控制数码管的显示,了解数码管的工作原理,以及掌握单片机编程技巧。
2. 实验材料本实验所需材料包括:单片机(如STC89C52)、数码管、电阻、面包板、杜邦线等。
3. 实验原理数码管是一种由多个发光二极管组成的显示器件,通常由7个发光二极管和一个小数点组成,可以显示0-9的数字和一些字母。
每个发光二极管的亮灭与单片机输出的电平有关,通过控制单片机的输出口,可以实现数码管上不同数字和字符的显示。
4. 实验步骤4.1 连接电路首先,将单片机和数码管通过杜邦线连接在一起。
将数码管的共阳极连接到单片机的输出口,将数码管的每个段连接到单片机的不同IO口。
同时,为了保护数码管和单片机,还需要在数码管的每个段与单片机之间串联一个适当的电阻。
4.2 编写程序使用C语言编写程序,通过控制单片机的输出口,实现数码管上不同数字和字符的显示。
程序的主要逻辑是通过改变单片机输出口的电平来控制数码管的亮灭。
根据数码管的接线方式和编码规则,可以通过设置不同的输出口电平组合来显示不同的数字和字符。
4.3 烧录程序将编写好的程序通过编程器烧录到单片机中。
4.4 运行实验将单片机连接到电源,观察数码管上的显示效果。
通过改变程序中的输出口电平设置,可以实现不同数字和字符的显示。
5. 实验结果通过实验,我们成功地实现了通过单片机控制数码管的显示。
通过改变程序中的输出口电平设置,可以实现数码管上不同数字和字符的显示。
实验结果表明,单片机可以灵活地控制数码管的亮灭,实现多种显示效果。
6. 实验总结通过本次实验,我们深入了解了数码管的工作原理,掌握了单片机编程技巧。
数码管作为一种常用的显示器件,在电子设备中有着广泛的应用。
数码管静态显示实训报告

一、实训目的通过本次实训,掌握数码管静态显示的原理和方法,熟悉51单片机的编程技巧,以及如何利用单片机控制数码管显示特定的数字和字符。
同时,了解数码管在电子显示中的应用及其驱动电路的设计。
二、实训器材1. 51单片机开发板2. 数码管(共阴极或共阳极)3. 电阻4. 译码器(如74HC138)5. 驱动器(如74HC245)6. 连接线7. 编程软件(如Keil)8. 仿真软件(如Proteus)三、实训原理数码管静态显示是指每个数码管的每个段都由单片机的I/O口直接驱动。
当某个段需要显示时,相应的I/O口输出高电平或低电平,控制该段LED的亮灭。
共阴极数码管的段码共用一个电源的负极,高电平点亮;共阳极数码管的段码共用一个电源的正极,低电平点亮。
在本次实训中,我们使用51单片机的P0口输出段码数据,P2口输出位选信号,通过译码器和驱动器实现对数码管的驱动。
四、实训步骤1. 硬件连接(1)将数码管按照共阴极或共阳极的接法连接到单片机的P0口。
(2)将译码器的输入端连接到单片机的P2口。
(3)将驱动器的输入端连接到译码器的输出端。
(4)将驱动器的输出端连接到数码管的位选端。
2. 软件编写(1)定义数码管的字形码数组,存储0~9数字的字形码。
(2)编写主函数,通过循环遍历字形码数组,控制数码管显示相应的数字。
(3)编写延时函数,实现数字显示的间隔。
3. 仿真测试(1)使用Proteus软件搭建仿真电路。
(2)编写Keil软件中的程序,并编译生成HEX文件。
(3)将HEX文件下载到51单片机中。
(4)运行仿真程序,观察数码管显示的数字是否正确。
五、实训结果经过实训,我们成功实现了数码管静态显示功能。
数码管能够按照程序设置的方式,依次循环显示0~9十个数字。
六、实训心得1. 通过本次实训,我们了解了数码管静态显示的原理和实现方法,掌握了51单片机的编程技巧。
2. 在实训过程中,我们学会了如何使用译码器和驱动器扩展单片机的I/O口功能。
数码管动态显示实验报告

一、实验目的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. 51单片机开发板2. 数码管(共阴极或共阳极)3. 电阻、电容等电子元件4. 连接线5. 编程器6. 电源7. 示波器(可选)三、实训原理数码管是一种由发光二极管(LED)组成的显示器件,常用于显示数字、字母或其他符号。
根据LED的连接方式,数码管可分为共阴极和共阳极两种类型。
1. 共阴极数码管:所有LED的阴极连接在一起,公共端为正极。
2. 共阳极数码管:所有LED的阳极连接在一起,公共端为负极。
数码管的显示原理是通过控制LED的点亮和熄灭来显示不同的字符。
每个数码管由7个LED组成,分别对应数码管的7个笔画(A、B、C、D、E、F、G),通过控制这7个LED的点亮和熄灭,可以显示0-9的数字以及部分字母。
四、实训步骤1. 搭建电路:根据实训要求,搭建数码管显示电路。
电路连接包括单片机的P0口或P2口与数码管的段选线连接,单片机的某个引脚与数码管的位选线连接,以及数码管的公共端与电源连接。
2. 编写程序:使用C语言编写程序,通过单片机控制数码管的显示。
程序主要包括以下内容:- 初始化单片机P0口或P2口为输出模式,用于控制数码管的段选线。
- 初始化单片机控制位选线的引脚为输出模式。
- 编写延时函数,用于实现数码管的动态显示效果。
- 编写显示函数,用于控制数码管显示特定的数字或字母。
3. 编译程序:使用Keil uVision等编程软件编译程序,生成可执行的HEX文件。
4. 烧录程序:将编译好的HEX文件烧录到单片机中。
5. 测试电路:给单片机供电,观察数码管是否能够按照预期显示数值。
五、实训结果与分析1. 显示单个数字:程序成功控制数码管显示单个数字,如0、1、2等。
2. 显示多位数字:程序能够控制数码管依次显示多位数字,如123、456等。
数码显示控制实验报告(3篇)

第1篇一、实验目的1. 熟悉数码显示模块的结构和工作原理;2. 掌握51单片机控制数码显示模块的方法;3. 学会使用移位寄存器实现数码显示的动态扫描;4. 提高单片机编程能力和实践操作能力。
二、实验原理数码显示模块是一种常见的显示器件,主要由7段LED组成,可以显示0-9的数字以及部分英文字符。
51单片机通过控制数码显示模块的段选和位选,实现数字的显示。
移位寄存器是一种常用的数字电路,具有数据串行输入、并行输出的特点。
在本实验中,使用移位寄存器74HC595实现数码显示的动态扫描。
三、实验仪器与材料1. 51单片机实验板;2. 数码显示模块;3. 移位寄存器74HC595;4. 电阻、电容等电子元件;5. 电路连接线;6. 编译软件Keil uVision;7. 仿真软件Proteus。
四、实验步骤1. 电路连接(1)将51单片机的P1口与数码显示模块的段选端相连;(2)将74HC595的串行输入端Q(引脚14)与单片机的P0口相连;(3)将74HC595的时钟端CLK(引脚11)与单片机的P3.0口相连;(4)将74HC595的锁存端LR(引脚12)与单片机的P3.1口相连;(5)将数码显示模块的位选端与74HC595的并行输出端相连。
2. 编写程序(1)初始化51单片机的P1口为输出模式,P3.0口为输出模式,P3.1口为输出模式;(2)编写数码显示模块的段码数据表;(3)编写74HC595的移位和锁存控制函数;(4)编写数码显示模块的动态扫描函数;(5)编写主函数,实现数码显示模块的循环显示。
3. 编译程序使用Keil uVision编译软件将编写的程序编译成hex文件。
4. 仿真实验使用Proteus仿真软件进行实验,观察数码显示模块的显示效果。
五、实验结果与分析1. 编译程序后,将hex文件下载到51单片机实验板上;2. 使用Proteus仿真软件进行实验,观察数码显示模块的显示效果;3. 通过实验验证,数码显示模块可以正常显示0-9的数字以及部分英文字符;4. 通过实验,掌握了51单片机控制数码显示模块的方法,学会了使用移位寄存器实现数码显示的动态扫描。
数码管显示实验 实验报告

数码管显示实验实验报告一、实验目的本次数码管显示实验的主要目的是深入了解数码管的工作原理和显示控制方式,通过实际操作掌握数码管与微控制器的接口技术,并能够编写相应的程序实现各种数字和字符的显示。
二、实验原理数码管是一种由多个发光二极管组成的显示器件,常见的有共阴数码管和共阳数码管两种类型。
共阴数码管是将所有发光二极管的阴极连接在一起,当阳极接高电平时,相应的二极管发光;共阳数码管则是将所有发光二极管的阳极连接在一起,当阴极接低电平时,相应的二极管发光。
在控制数码管显示时,通常采用动态扫描的方式,即依次快速地给每个数码管的段选端送入相应的字形码,同时使位选端选通对应的数码管,利用人眼的视觉暂留效应,使人看起来好像所有数码管同时在显示。
三、实验设备与材料1、实验开发板2、数码管模块3、杜邦线若干4、电脑5、编程软件四、实验步骤1、硬件连接将数码管模块与实验开发板进行连接,确定好段选和位选引脚的连接。
检查连接是否牢固,确保电路无短路或断路现象。
2、软件编程打开编程软件,选择相应的开发板型号和编程语言。
定义数码管的段选和位选引脚。
编写控制程序,实现数字 0 到 9 的循环显示。
3、编译与下载对编写好的程序进行编译,检查是否有语法错误。
将编译成功的程序下载到实验开发板上。
4、观察实验现象接通实验开发板的电源,观察数码管的显示情况。
检查显示的数字是否正确,显示的亮度和稳定性是否符合要求。
五、实验结果与分析1、实验结果数码管能够正常显示数字 0 到 9,并且能够按照设定的频率循环显示。
显示的数字清晰、稳定,没有出现闪烁或模糊的现象。
2、结果分析程序编写正确,能够准确地控制数码管的段选和位选信号,实现数字的显示。
动态扫描的频率设置合理,既保证了显示的稳定性,又不会出现明显的闪烁。
六、实验中遇到的问题及解决方法1、问题数码管显示出现闪烁现象。
解决方法调整动态扫描的频率,增加扫描的速度,减少每个数码管的点亮时间,从而减轻闪烁现象。
单片机实验两位数码管显示报告

一、实验目的1、在之前单键实验和中断控制数码管“静态”显示实验的基础上,把单键判断、数码管显示和中断结合起来编写中断程序实现单键控制一位数码管;2、在实现控制一位数码管显示的基础上用单键控制两位数码管显示。
二、实验所需器材与软件硬件:电脑、传输线、AT89S52单片机软件:编程软件Keil uVision3;读写软件MePro V5.02三、实验程序的及其分析:1、单键控制一位数码管显示主要设计思路:在中断主程序后加入单键判断键按下情况判断语句,把数码管显示程序放在中断子程序中。
当有键按下且有中断请求时,重新给数码管显示偏移地址赋值,从而改变显示内容。
程序:ORG 0000HAJMP MAIN ;转向主程序ORG 001BH ;中断矢量地址AJMP T_INT ;转向中断服务程序MAIN: ;主程序标号MOV R3,#0 ;表偏移地址MOV DPTR,#TAB ;把表头地址赋值给寄存器DPTRMOV TMOD,#10H ;设定定时器工作于模式1MOV TH1,#0FEH ;定时器赋初值MOV TL1,#0EHSETB ET1 ;开中断SETB EASETB TR1 ;启动定时器LOOP1:JNB P1.4, LOOP4AJMP LOOP1LOOP4:ACALL DELAYJNB P1.4, LOOP_ADD 单键按下判断程序LOOP_ADD:INC R3CJNE R3,#10,LOOP8MOV R3,#0LOOP8: AJMP LOOP1T_INT: MOV TH1,#0FEHMOV TL1,#0EHMOV A,R3 中断程序内嵌的数码管显示程序MOVC A,@A+DPTRMOV P0,AMOV P2,#11111110BRETITAB:DB 0C0H,0F9H,0A4H,0B0H ,99H,92H,82H,0F8H ;表内容DB 80H,90HDELAY:MOV R5,#64HLOOP5:MOV R7,#0FFHLOOP6:NOPNOP 用于单键按下防抖动的延时程序DJNZ R7,LOOP6DJNZ R5,LOOP5RET2、单键控制两位数码管显示设计思路:用两个寄存器分别存放数码管显示的个位和十位,并且在数码管显示程序中用移位指令对数码管的位码进行移位,使每次执行中断程序时显示一位数,循环两次中断程序后“静态”显示两位数字。
实验二 数码管显示

实验二数码管显示本实验的目的是掌握数码管的工作原理与使用,实现数码管的静、动态显示。
静态数码管我们先看看什么是数码管,上图就是各种长相各种样子的数码管了,肯定很眼熟了吧。
不管将几位数码管连在一起,数码管的显示原理都是一样的,都是靠点亮内部的发光二极管来发光,下面就来我们讲解一个数码管是如何亮起来的。
数码管内部电路如下图所示,从右图可看出,一位数码管的引脚是10个,显示一个8字需要7个小段,另外还有一个小数点,所以其内部一共有8个小的发光二极管,最后还有一个公共端,生产商为了封装统一,单位数码管都封装10个引脚,其中第3和第8引脚是连接在一起的。
而它们的公共端又可分为共阳极和共阴极,中间图为共阴极内部原理图,右图为共阳极内部原理图。
上图展出了常用的两种数码管的引脚排列和内部结构。
总所周知,点亮发光二极管就是要给予它足够大的正向压降。
所以点亮数码管其实也就是给它内部相应的发光二极管正向压降。
如上图左(一共a、b、c、d、e、f、g、DP 八段),如果要显示“1”则要点亮b、c 两段LED;显示“A”则点亮a、b、c、e、f、g 这六段LED;我们还知道,既然LED 加载的是正向压降,它的两端电压必然会有高低之分:如果八段LED 电压高的一端为公共端,我们称之为共阳极数码管(如上图中);如果八段LED 电压低的一段为公共端,则称之为共阴极数码管(上图右)。
所以,要点亮共阳极数码管,则要在公共端给予高于非公共端的电平;反之点亮共阴极数码管,则要在非公共端给予较高电平。
对共阴极数码来说,其8个发光二极管的阴极在数码管内部全部连接在一起,所以称“共阴”,而它们的阳极是独立的,通常在设计电路时一般把阴极接地。
当我们给数码管的任意一个阳极加一个高电平时,对应的这个发光二极管就点亮了。
如果想要显示出一个8字,并且把右下角的小数点也点亮的话,可以给8个阳极全部送高电平,如果想让它显示出一个0字,那么我们可以除了给第“g, dp”这两位送低电平外,其余引脚全部都送高电平,这样它就显示出0字了。
51单片机实验报告

51单片机实验报告一、引言51单片机是一种广泛应用于嵌入式系统开发的微控制器芯片。
本实验旨在通过对51单片机的实验研究,加深对该芯片的理解和应用。
二、实验一:LED灯闪烁控制本实验通过编写程序,控制51单片机上的LED灯以特定的频率闪烁。
为了实现这个目标,我们首先需要了解51单片机的引脚布局,确定LED灯的连接方式。
然后,通过编写相应的汇编程序,控制引脚的电平变化,从而实现LED灯的闪烁。
三、实验二:数码管显示数码管是一种常见的输出设备,通过控制引脚的输出来显示特定的数字。
本实验中,我们通过编写程序,实现通过51单片机控制数码管的显示。
通过对数码管的驱动原理和编程的学习,我们可以灵活地控制数码管的显示内容和频率。
四、实验三:蜂鸣器发声蜂鸣器是一种常见的声音输出设备,通过控制引脚的输出来产生特定的声音。
本实验中,我们通过编写程序,实现通过51单片机控制蜂鸣器的发声。
通过学习蜂鸣器的驱动原理和编程,我们可以根据需要产生不同频率和节奏的声音。
五、实验四:温湿度检测温湿度检测是一种常见的环境监测需求。
本实验中,我们通过引入温湿度传感器,实现通过51单片机获取环境的温度和湿度信息。
通过编写程序和读取传感器的数据,我们可以实时监测环境的温湿度,并进行相应的控制和反馈。
六、实验五:红外遥控红外遥控是一种常见的无线通信方式,通过发送和接收红外信号来实现远程控制。
本实验中,我们通过引入红外发射和接收模块,实现通过51单片机进行红外遥控。
通过编写相应的程序,设置红外遥控的编码和解码方式,我们可以实现对外部设备的遥控操作。
七、实验六:定时器应用定时器是51单片机中的重要模块,它可以实现定时和计数等功能。
本实验中,我们通过学习定时器的工作原理和编程,实现通过51单片机进行定时和计数的应用。
通过编写相应的程序和设置定时器的参数,我们可以实现不同的定时和计数功能,满足各种需要。
八、实验七:串口通信串口通信是一种常见的数据通信方式,通过串口接口发送和接收数据。
单片机实训报告数码管

一、引言随着科技的不断发展,单片机作为一种广泛应用于工业控制、家用电器、智能交通等领域的微控制器,其重要性日益凸显。
数码管显示系统作为单片机应用中的一个重要环节,能够将单片机的运算结果直观地展示出来。
本实训报告旨在通过设计一个基于单片机的数码管显示系统,巩固单片机基础知识,提高实际动手能力和问题解决能力。
二、实训目的1. 掌握单片机的基本原理和硬件结构。
2. 熟悉Keil C51集成开发环境和Proteus仿真软件的使用。
3. 学会使用数码管进行数据显示。
4. 提高单片机编程能力和问题解决能力。
三、实训内容本实训以51单片机为核心,设计一个数码管显示系统,实现以下功能:1. 显示当前系统时间,包括小时、分钟和秒。
2. 通过按键调整时间。
3. 实现时钟校准功能。
4. 显示系统运行状态。
四、系统设计1. 硬件设计(1)单片机:选用AT89C51单片机作为核心控制单元。
(2)数码管:采用4位共阴极数码管,用于显示时间。
(3)按键:设置两个按键,一个用于调整时间,一个用于校准时间。
(4)时钟电路:采用晶振和电容构成时钟电路,为单片机提供时钟信号。
2. 软件设计(1)系统初始化:初始化单片机硬件资源,包括定时器、IO口等。
(2)时间显示:使用定时器中断实现时间显示功能,每秒更新一次时间。
(3)按键处理:检测按键状态,根据按键输入调整时间或校准时间。
(4)时钟校准:通过按键输入校准时间,实现系统时间与实际时间的同步。
(5)状态显示:在数码管上显示系统运行状态,如校准状态、运行状态等。
五、系统实现1. 硬件电路搭建根据设计图纸,使用面包板搭建硬件电路,包括单片机、数码管、按键、晶振等元件。
2. 软件编程使用Keil C51集成开发环境编写程序,实现系统功能。
3. 仿真调试使用Proteus仿真软件对系统进行仿真调试,确保程序正确无误。
六、测试与结果分析1. 测试方法(1)使用按键调整时间,观察数码管显示是否正确。
数码管显示电路实训报告

一、实训目的1. 掌握数码管的结构、工作原理及驱动方式;2. 学会使用动态扫描法驱动数码管;3. 熟悉常用数字电路元件及电路设计方法;4. 培养动手实践能力和团队合作精神。
二、实训器材1. 单片机实验箱2. 数码管(共阳极、共阴极各1个)3. 电阻、电容、二极管、三极管等数字电路元件4. 连接线、电源、示波器等辅助设备三、实训内容1. 数码管识别与测试2. 数码管静态显示电路设计3. 数码管动态显示电路设计4. 数码管显示电路应用实例四、实训步骤1. 数码管识别与测试(1)观察数码管外观,了解其结构特点,如共阳极、共阴极等;(2)使用示波器测试数码管各段位引脚的电压,判断其工作状态;(3)根据测试结果,确定数码管的驱动方式(静态或动态)。
2. 数码管静态显示电路设计(1)设计电路原理图,选择合适的驱动电路;(2)计算电阻、电容等元件参数,绘制元件布局图;(3)焊接电路,检查电路连接是否正确;(4)编写程序,实现数码管显示功能;(5)调试电路,观察数码管显示效果。
3. 数码管动态显示电路设计(1)分析动态扫描显示原理,确定扫描频率和占空比;(2)设计动态扫描控制电路,实现多位数码管的动态显示;(3)编写程序,实现动态显示功能;(4)调试电路,观察数码管显示效果。
4. 数码管显示电路应用实例(1)设计一个简单的时钟显示电路,实现时分秒的显示;(2)设计一个温度显示电路,将温度值转换为数码管显示;(3)设计一个电压显示电路,将电压值转换为数码管显示;(4)编写程序,实现上述电路的显示功能;(5)调试电路,观察数码管显示效果。
五、实训总结1. 通过本次实训,掌握了数码管的结构、工作原理及驱动方式;2. 学会了使用动态扫描法驱动数码管,提高了电路设计能力;3. 熟悉了常用数字电路元件及电路设计方法,为后续课程学习奠定了基础;4. 培养了动手实践能力和团队合作精神,提高了综合素质。
六、实训心得1. 在实训过程中,我深刻体会到理论与实践相结合的重要性。
单片机应用实验报告 2键盘、LED 数码管显示实验

}
int main(){init();来自while(1){
judge();
xianshi();
}
return 0;
}
五、实验步骤
六、附录
sbit LED2=P2^6;
int num=0;
unsigned char code dispcode[]=
{0x30,0xfc,0xa2,0xa4,0x6c,
0x25,0x21,0xbc,0x20,0x24};
void init()
{
key0=1;
key1=1;
key2=1;
}
void delayms(int a)
{int b=0;
for(a;a>0;a--)
for(b=110;b>0;b--);
}
int judge()
{
if(key0==0)
{
delayms(100);
if(key0==0)
{
red=0;
yell=1;
gre=1;
num++;
if(num==10)
num=0;
}
}
if(key1==0)
{
delayms(5);
if(key1==0)
{
red=1;
yell=0;
gre=1;
}
}
if(key2==0)
{
delayms(5);
if(key2==0)
{
red=1;
yell=1;
gre=0;
}
}
return 0;
}
void xianshi()
{
控制数码管显示实训报告

一、实训目的通过本次实训,使学生了解数码管的工作原理,掌握数码管驱动电路的设计方法,学会使用单片机或PLC等微控制器实现对数码管的控制,提高学生的实际动手能力和电子技术综合应用能力。
二、实训内容1. 数码管的结构与工作原理数码管是一种用来显示数字和字母的电子显示器件,通常由多个LED灯组成。
根据LED灯的连接方式,数码管分为共阴极和共阳极两种类型。
(1)共阴极数码管:LED灯的阴极相连,阳极分别独立引出,当给阳极加上高电平时,相应的LED灯点亮。
(2)共阳极数码管:LED灯的阳极相连,阴极分别独立引出,当给阴极加上低电平时,相应的LED灯点亮。
2. 数码管驱动电路设计(1)共阴极数码管驱动电路:使用译码器、驱动器和位选信号进行驱动。
(2)共阳极数码管驱动电路:使用译码器、驱动器和位选信号进行驱动。
3. 单片机控制数码管显示(1)51单片机控制数码管显示:编写程序,通过P1口输出位选信号,通过P2口输出段选信号,实现数码管显示数字0-9。
(2)PLC控制数码管显示:编写梯形图程序,通过输入/输出模块控制数码管显示。
三、实训步骤1. 准备实验器材:数码管、单片机或PLC、电源、导线等。
2. 设计数码管驱动电路,连接电路。
3. 编写单片机或PLC程序,实现数码管显示数字0-9。
4. 调试程序,观察数码管显示效果。
5. 改进程序,实现更多功能,如显示字母、动态扫描等。
四、实训结果与分析1. 数码管驱动电路设计成功,数码管显示正常。
2. 使用51单片机控制数码管显示数字0-9,程序运行正常。
3. 使用PLC控制数码管显示数字0-9,程序运行正常。
4. 通过实训,掌握了数码管的工作原理、驱动电路设计方法以及单片机或PLC控制数码管显示的基本技能。
五、实训心得1. 在本次实训中,我对数码管的结构和工作原理有了更深入的了解,掌握了数码管驱动电路的设计方法。
2. 通过编写单片机或PLC程序,实现了数码管显示数字0-9,提高了自己的编程能力。
单片机数码管动态显示实验报告

单片机数码管动态显示实验报告单片机数码管动态显示实验报告一、实验目的本实验旨在通过单片机控制数码管的动态显示,掌握单片机的基本操作和数码管显示原理,培养实际动手能力和编程技能。
二、实验原理数码管是一种常用的电子显示器件,通过单片机控制可以实现数字、字母等多种形式的显示。
本实验采用共阴极数码管,通过单片机控制选通哪个LED灯亮,从而在数码管上显示出相应的数字或字母。
三、实验步骤1.硬件搭建首先,将单片机、数码管、电源等硬件连接起来。
注意数码管的引脚与单片机的连接方式,确保正确连接。
2.编程环境设置打开单片机编程软件,如Keil uVision等,配置相应的编译器和调试器选项。
3.编写程序在编程环境中,编写程序以实现数码管的动态显示。
本实验采用C语言进行编程。
程序主要包括初始化、显示函数等。
4.编译程序将编写的程序进行编译,生成可执行文件。
5.调试程序通过调试器对程序进行调试,观察数码管的显示效果是否符合要求。
如有问题,及时修改程序并重新编译和调试。
6.测试结果确保程序运行无误后,对数码管的显示效果进行测试,观察是否达到预期效果。
四、实验结果与分析1.实验结果通过本次实验,我们成功实现了单片机对数码管的动态显示。
在数码管上成功显示了数字和字母,效果良好。
2.结果分析通过本次实验,我们深入了解了单片机的基本操作和数码管显示原理。
同时,我们也学会了如何编写程序、编译和调试程序。
此外,我们还学会了如何解决实验过程中遇到的问题。
这些技能对于后续的电子设计和开发具有重要意义。
五、实验总结与展望1.实验总结本次实验通过单片机控制数码管的动态显示,我们成功掌握了单片机的基本操作和数码管显示原理。
在实验过程中,我们学会了如何编写程序、编译和调试程序。
同时,我们也学会了如何解决实验过程中遇到的问题。
这些技能对于后续的电子设计和开发具有重要意义。
2.实验展望在本次实验的基础上,我们可以进一步探索如何实现更复杂的显示效果,如多位数码管的动态显示、彩色显示等。
数码管的动态显示实验报告

数码管的动态显示实验报告一、实验目的1、了解数码管的工作原理和显示方式。
2、掌握数码管动态显示的编程方法和技巧。
3、通过实验,提高对数字电路和单片机编程的综合应用能力。
二、实验原理数码管是一种常用的数字显示器件,分为共阴极和共阳极两种类型。
共阴极数码管的阴极连接在一起并接地,当阳极接高电平时,对应的段点亮;共阳极数码管则是阳极连接在一起并接电源,当阴极接低电平时,对应的段点亮。
动态显示是指依次快速地轮流点亮多个数码管,利用人眼的视觉暂留效应,使人感觉多个数码管同时稳定地显示不同的数字。
在动态显示中,需要通过控制数码管的位选和段选信号来实现数字的显示。
三、实验设备1、单片机开发板2、电脑3、编程软件四、实验步骤1、硬件连接将数码管与单片机的 I/O 口进行连接,确定位选和段选的引脚。
连接好电源和地线,确保电路连接正确无误。
2、软件编程选择合适的编程语言,如 C 语言。
定义数码管的引脚和相关的控制变量。
编写数码管显示的函数,包括位选函数和段选函数。
在主函数中,通过循环调用显示函数,实现数字的动态显示。
3、编译下载使用编程软件对编写的程序进行编译,检查是否有语法错误。
将编译成功的程序下载到单片机开发板中。
五、实验程序```cinclude <reg52h> //包含 52 系列单片机的头文件//数码管段选引脚定义sbit SEG_A = P2^0;sbit SEG_B = P2^1;sbit SEG_C = P2^2;sbit SEG_D = P2^3;sbit SEG_E = P2^4;sbit SEG_F = P2^5;sbit SEG_G = P2^6;sbit SEG_DP = P2^7;//数码管位选引脚定义sbit BIT1 = P1^0;sbit BIT2 = P1^1;sbit BIT3 = P1^2;sbit BIT4 = P1^3;//显示数字 0 9 的段码unsigned char code SEGMENT_CODE ={0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90};//数码管位选函数void SelectBit(unsigned char bit){switch (bit){case 1:BIT1 = 0; BIT2 = 1; BIT3 = 1; BIT4 = 1; break;case 2:BIT1 = 1; BIT2 = 0; BIT3 = 1; BIT4 = 1; break;case 3:BIT1 = 1; BIT2 = 1; BIT3 = 0;BIT4 = 1;break;case 4:BIT1 = 1;BIT2 = 1;BIT3 = 1;BIT4 = 0;break;}}//数码管段选函数void SelectSegment(unsigned char num){SEG_A =(num & 0x01)? 1 : 0; SEG_B =(num & 0x02)? 1 : 0; SEG_C =(num & 0x04)? 1 : 0; SEG_D =(num & 0x08)? 1 : 0; SEG_E =(num & 0x10)? 1 : 0;SEG_F =(num & 0x20)? 1 : 0; SEG_G =(num & 0x40)? 1 : 0; SEG_DP =(num & 0x80)? 1 : 0;}//主函数void main(){unsigned char i, num = 0;while (1){for (i = 1; i <= 4; i++){SelectBit(i);SelectSegment(SEGMENT_CODEnum);num++;if (num == 10)num = 0;delay_ms(5);//适当的延时,以实现稳定显示}}}```六、实验现象与结果在实验中,当程序下载到单片机开发板后,数码管依次快速地显示数字 0 到 9,循环往复。
单片机实验报告二-数码管显示实验

单片机实验报告二-数码管显示实验摘要:本实验使用单片机控制数码管的显示,在实验过程中通过学习单片机的GPIO口的编程,调试程序、调节电路来达到正确的显示效果。
最终按照要求实现了单片机控制数码管的计数器。
关键词:单片机、数码管、GPIO口、计数器一、实验介绍数码管是一种介于机械仪表和液晶显示器之间的电子显示器件,广泛应用于计时器、计数器、仪表等电子产品中。
本实验旨在通过单片机控制数码管的显示来加深对GPIO口的使用和调试程序的理解,同时了解数码管的原理。
本实验主要分为两部分:数码管显示基础实验和数码管控制开关实验。
通过这两部分的实验可以了解数码管的工作原理和单片机的基本控制方式。
二、实验原理2.1 数码管的基本原理数码管显示器将数字显示为一组符号,例如“0”到“9”。
表示不同数字的符号被编码成一个数字码。
七段数码管用一个七段数码字母来表示数字,如下表所示:| 数字 | a | b | c | d | e | f | g || ---- | - | - | - | - | - | - | - || 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 || 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 || 2 | 1 | 1 | 0 | 1 | 1 | 0 | 1 || 3 | 1 | 1 | 1 | 1 | 0 | 0 | 1 || 4 | 0 | 1 | 1 | 0 | 0 | 1 | 1 || 5 | 1 | 0 | 1 | 1 | 0 | 1 | 1 || 6 | 0 | 0 | 1 | 1 | 1 | 1 | 1 || 7 | 1 | 1 | 1 | 0 | 0 | 0 | 0 || 8 | 1 | 1 | 1 | 1 | 1 | 1 | 1 || 9 | 1 | 1 | 1 | 1 | 0 | 1 | 1 |通过控制数码管的七个LED灯的亮灭,可以实现不同符号显示。
单片机数码管显示实验

单片机数码管显示实验单片机数码管显示实验一、实验目的本实验旨在通过单片机控制数码管显示,掌握单片机的基本操作和数码管显示原理,培养实践能力和创新意识。
二、实验原理1.单片机基本原理单片机是一种微型计算机,广泛应用于各种嵌入式系统中。
它具有体积小、功耗低、功能强大、可靠性高等优点。
本实验采用常见的8051单片机进行操作。
2.数码管显示原理数码管是一种常见的电子显示器件,可以显示数字和某些特定字符。
它由多个LED段组成,通过控制不同段的亮灭来显示不同的数字或字符。
本实验采用共阴极数码管进行显示。
三、实验步骤1.硬件准备(1)选择合适的单片机开发板和数码管;(2)连接数码管的阳极和单片机的某个端口;(3)连接数码管的各个段到单片机的其他端口;(4)连接电源和地线。
2.程序编写使用单片机开发软件(如Keil)编写程序,控制数码管显示不同的数字或字符。
程序中需要定义数码管的段码,以及选择要显示的数字或字符。
3.调试与测试将程序下载到单片机中,接通电源,观察数码管是否正常显示。
如果出现问题,检查硬件连接是否正确,或者修改程序中的控制逻辑。
四、实验结果与分析在本实验中,我们成功地实现了数码管的显示。
通过编写程序,我们可以控制数码管显示不同的数字和字符。
例如,我们可以编写一个循环程序,让数码管依次显示0-9的数字,或者某个特定的字符。
通过实验,我们深入了解了单片机的操作和数码管显示原理。
在实践中,我们需要注意硬件连接的正确性,以及控制程序的逻辑性。
如果硬件连接不正确,可能会导致数码管无法正常显示;如果程序逻辑有误,则可能导致显示的数字或字符不正确。
因此,我们需要认真检查硬件连接和程序逻辑,确保实验结果的准确性。
五、实验总结与展望本实验通过单片机控制数码管显示,使我们对单片机的操作和数码管显示原理有了更深入的了解。
在实验过程中,我们需要注意硬件连接的正确性和程序逻辑的准确性。
通过不断调试和测试,我们可以提高自己的实践能力和创新意识。
数码管显示实验报告

一、实验目的1. 理解数码管的工作原理及驱动方式。
2. 掌握51单片机控制数码管显示的基本方法。
3. 学会使用动态扫描显示技术实现多位数码管的显示。
4. 提高编程能力和实践操作能力。
二、实验原理数码管是一种常用的显示器件,它由多个发光二极管(LED)组成,可以显示数字、字母或其他符号。
根据LED的连接方式,数码管可分为共阴极和共阳极两种类型。
本实验使用的是共阳极数码管。
51单片机控制数码管显示的基本原理是:通过单片机的I/O口输出高低电平信号,控制数码管的各个段(a-g)的亮灭,从而显示相应的数字或符号。
动态扫描显示技术是将多个数码管连接到单片机的I/O口,通过快速切换各个数码管的显示状态,实现多位数码管的显示。
三、实验器材1. 51单片机实验板2. 共阳极数码管3. 电阻、电容等元件4. 仿真软件(如Proteus)5. 编译器(如Keil)四、实验步骤1. 搭建电路:按照实验原理图连接51单片机、数码管和电阻等元件。
2. 编写程序:使用Keil软件编写控制数码管显示的程序。
程序主要包括以下部分:a. 初始化:设置单片机的工作状态,配置I/O口等。
b. 显示函数:根据需要显示的数字或符号,控制数码管的各个段亮灭。
c. 动态扫描函数:实现多位数码管的动态显示。
3. 编译程序:将编写好的程序编译成机器码。
4. 仿真测试:使用Proteus软件对程序进行仿真测试,观察数码管的显示效果。
5. 实验验证:将程序烧录到51单片机实验板上,进行实际测试。
五、实验结果与分析1. 实验结果:通过仿真测试和实际测试,数码管能够正确显示0-9的数字。
2. 结果分析:实验结果表明,51单片机可以成功地控制数码管显示数字。
动态扫描显示技术能够有效地实现多位数码管的显示,提高了显示效率。
六、实验总结1. 通过本次实验,我们掌握了51单片机控制数码管显示的基本方法,提高了编程能力和实践操作能力。
2. 动态扫描显示技术能够有效地实现多位数码管的显示,提高了显示效率。
单片机数码管动态显示实验报告

单片机数码管动态显示实验报告实验名称:单片机数码管动态显示实验实验目的:1.了解数码管的动态显示原理;2.掌握单片机控制数码管动态显示的方法;3.培养对数字信号处理的能力。
实验器材:1.STC89C52单片机开发板;2.DC560A数码管模块;3.连接线。
实验原理:数码管是由多个发光二极管组成的,每个数字在数码管上的显示方式是通过快速地轮流点亮数码管的每个段来实现的。
在本实验中,采用时分复用的方法控制数码管动态显示相关数字。
实验步骤:1.连接单片机和数码管模块。
将数码管的共阳或共阴引脚分别连接到单片机的相应IO口上,并接上合适的电阻。
将数码管的A~G引脚连接到单片机的相应IO口上。
2.编写程序代码。
程序主要功能是通过切换数码管的显示段和位,实现数码管动态显示。
4.打开电源,观察行程显示的效果。
实验结果:在实验中,通过编写程序控制单片机,成功实现了数字的动态显示。
数码管能够按顺序显示出所要显示的数字,并且在多个数码管之间进行切换,显示效果非常理想。
实验分析:1.数码管动态显示的原理是通过快速地轮流点亮每个段来实现的。
这个过程发生的速度非常快,人眼无法察觉到。
2.单片机的IO口输出高或低电平,控制数码管的亮灭。
通过逐位切换和循环控制,实现了数字的动态显示。
3.单片机的频率和控制方式对动态显示效果有一定影响。
适当调整程序中的延时时间和控制方式,可以改变数码管的显示效果。
实验总结:本实验通过对单片机数码管动态显示的实现,加深了对数码管原理和单片机控制的认识。
掌握了数字信号动态显示的基本原理和方法。
在今后的学习和工作中,这将有助于对数字信号处理和显示技术的更深入理解和应用。
实验拓展:可以尝试在实验中通过按键按下的方式改变数码管显示的数字,进一步扩展单片机的应用范围和实用性。
此外,还可以尝试改变数码管的显示效果,比如实现数码管的闪烁、呼吸灯等特殊效果。
这将对单片机的编程和数码管的控制提出更高的要求,同时也增加了实验的趣味性和实用性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
安徽新华学院实验报告
课程名称单片机原理及应用实验名称数码管显示实验实验日期 2018年9 月20日
小组成员:成员一:学号35 姓名邹富乐成员二:学号33 姓名张正
成员三:学号32 姓名王成顺成员四:学号22 姓名吴立
实验班级 16计科(外包)2班指导教师史先桂得分
一、实验内容
1. 实验目的与要求:
⑴熟悉Keil软件的工作界面。
⑵掌握Keil工程的建立方法和源程序的编译及调试方法。
⑶掌握proteus和Keil的联合调试方法。
⑷掌握将程序烧录到51单片机中的方法。
2. 实验原理:
LED数码管为“8”字型的,共计7段或8段,每一段对应一个发光二极管,有共阳极和共阴极两种。
共阳极数码管的阳极连接在一起,公共阳极接到+5V上;共阴极数码管的阴极连接在一起,通常次公共阴极接地。
对于共阴极数码管来说,当某个发光二极管的阳极为高电平时,发光二极管点亮,相应的段被显示。
对于共阳极数码管来说,当某个发光二极管的阴极接低电平时,该发光二极管被点亮,相应的段被显示。
3. 实验内容:
⑴51单片机的P0、P2口分别连接2个数码管,编程实现让这个数码管显示00~99。
截图1:绘制的PROTEUS仿真电路图
截图2:KEIL中编写的程序指令
⑵51单片机的P0口送出数码管的段码,P2口进行位控制,编程实现8个动态连接的数码管其中四个数码管同时显示0~F。
截图1:绘制的PROTEUS仿真电路图
截图2:KEIL中编写的程序指令
②数组
③移位运算符
⑶51单片机的P0口送出数码管的段码,P2口进行位控制,编程实现8个动态连接
的数码管分别显示。
二、心得体会小结
本次实验,首先要注意数码管是共阳极还是共阴极。
对于共阴极数码管来说,二极管的
阳极为高电平时有效。
对于共阳极数码管来说,二极管的阴极接低电平时有效。
实验过程
中容易把接口看错,从而导致一系列错误。
书写代码时需要注意每个接口对应什么功能,
仔细观察电路图中到底使用的是P0还是P2接口。
使用for循环时,括号里最好i<8而不
是i<=7;解决问题的方法不止一种,可以用循环左、右移位函数或者采用移位运算符方法,
其中要注意使用的区别。
额外要注意“<<”这个到底是代表左移还是右移。
书写代码遇到
{}最好在一起写,以防后期少了半个括号,浪费时间查找错误。
①循环左、右移位函数。