单片机原理数码管动态显示实验单片机原理实验报告

合集下载

单片机数码管显示实验总结

单片机数码管显示实验总结

单片机数码管显示实验总结单片机数码管显示实验总结一、实验目的本次实验旨在通过单片机控制数码管显示,掌握数码管的工作原理、编程控制方法以及单片机与数码管的接口技术。

通过实验,提高自己的动手能力和编程技能,为今后的学习和实际工作打下坚实的基础。

二、实验原理数码管是一种常用的电子显示器件,它由多个LED组成,通过控制各个LED的亮灭来显示不同的数字或字符。

本次实验采用的是共阴极数码管,它由8个LED组成,通过单片机控制每个LED的亮灭状态来显示不同的数字或字符。

三、实验步骤1.硬件准备(1)选择合适的单片机开发板,如Arduino、STM32等。

(2)购买数码管及相应的驱动电路。

(3)准备杜邦线、电阻、电容等电子元件。

2.硬件连接(1)将数码管与单片机开发板连接起来。

(2)根据数码管驱动电路的要求,连接电源、地线和控制信号线。

(3)连接电源后,打开开发板电源,观察数码管的显示效果。

3.编程控制(1)在开发板上编写程序,控制数码管显示不同的数字或字符。

(2)使用相应的编译器将程序编译成可执行文件,上传到开发板上。

(3)观察数码管的显示效果,调试程序,使其达到预期效果。

4.测试与评估(1)在不同情况下测试数码管的显示效果,如按键输入、传感器数据等。

(2)对程序进行优化和改进,提高程序的效率和稳定性。

(3)总结实验过程中的问题和解决方法,为今后的学习和实际工作提供参考。

四、实验结果及分析1.实验结果在实验过程中,我们成功地实现了对数码管的编程控制,使其能够根据不同的输入显示不同的数字或字符。

同时,我们也发现了一些问题,如数码管的亮度不够、显示的数字不清晰等。

经过调试和改进,我们解决了这些问题,使数码管的显示效果更加理想。

2.结果分析通过本次实验,我们深入了解了数码管的工作原理和编程控制方法,掌握了单片机与数码管的接口技术。

同时,我们也发现了一些问题,如数码管的亮度不够、显示的数字不清晰等。

这些问题的出现可能与硬件连接、编程控制等方面有关。

数码管动态显示实验报告

数码管动态显示实验报告

一、实验目的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.实验目的:本实验旨在通过使用单片机控制数码管的动态显示,了解数码管的原理和使用方法,加深对单片机控制的理解。

2.实验原理:数码管是由许多发光二极管(LED)组成的,每个数码管有7个发光二极管组成7段,再加上一个小数点(或8段数码管),通过控制每个发光二极管的亮灭状态,可以显示出数字、字母等字符。

本实验使用的是共阴极数码管,在通常情况下,数码管引脚为低电平时亮灯,为高电平时灭灯。

3.实验器材:-STC89C52单片机-共阴极数码管-电阻-面包板及连接线-电源4.实验步骤:步骤1:连接电路将数码管的7个引脚分别连接到单片机的7个I/O引脚上,并通过电阻限流。

连接电路后,确认连接无误。

步骤2:编写程序使用C语言编写程序,实现数码管的动态显示。

可以使用延时函数和位操作函数控制数码管的亮灭,通过改变每个数码管引脚的高低电平状态,实现显示不同的数字、字母。

步骤4:实验观察与分析观察数码管的显示效果,通过改变程序中的参数,可以实现不同的显示效果。

5.实验结果与分析:经过实验,我们成功实现了数码管的动态显示。

通过编写程序,我们可以实现数码管显示数字、字母等不同的字符。

调整程序中的参数,可以实现不同的动态显示效果,如流水灯、闪烁等。

数码管的动态显示是通过改变每个数码管引脚的高低电平实现的,通过快速改变引脚电平状态的时间间隔,创建了肉眼无法察觉的视觉效果,从而实现了动态显示。

此外,通过实验我们还了解到了单片机控制数码管的原理和方法,加深了对单片机控制的理解。

6.实验总结:通过本实验,我们了解到了数码管的动态显示原理和方法,并通过编写程序,成功实现了数码管的动态显示。

同时,我们还巩固了单片机控制的知识,提高了自己的动手能力和问题解决能力。

在今后的学习和工作中,我们将进一步掌握数码管的使用方法,并能够将其应用于更加复杂的应用场景中,实现更多有趣的功能。

数码管显示数值实训报告

数码管显示数值实训报告

一、实训目的本次实训旨在通过实践操作,使学生掌握数码管的基本原理、驱动方式以及如何利用单片机控制数码管显示数值。

通过实训,学生能够加深对数码管应用电路的理解,提高动手能力和实际编程能力。

二、实训器材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篇)

数码显示控制实验报告(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.通过AT89C52单片机控制数码管显示数字0到9。

2.用Protues设计、仿真以AT89C52为核心的数码管变化数字显示电路。

3.理解led七位数码管的显示控制原理。

二、实验任务让一位数码管能够从0不断显示到9。

三、实验设备微机1台、Proteus软件1套、GL10型51单片机学习开发板1台。

四、实验电路绘制五、汇编语言程序设计1.设计原理该led数码管为8段显示,每一段对应一个发光二极管,根据查询发现GL10给力者单片机是共阴数码管,当某个发光二极管的阳极为高电平时,发光二极管点亮相应的段被显示。

2.程序框图3.汇编程序$NOMOD51$INCLUDE (8051.MCU)ORG 0000HAJMP MAINORG 0030HMAIN:MOV R4, #00H ;记录码表的值MOV DPTR, #TABLE ;把地址送DPTRSTRAT:MOV A, R4MOVC A, @A+DPTR ;取码MOV P2, A ;显示INC R4 ;自增,取下个值做准备CALL DELAY ;调用CJNE R4, #16, STRAT ;判断是否显示完16个数值AJMP MAINDELAY: MOV R6, #1DELAY4:MOV R1, #10DELAY3:MOV R2, #100DEALY1:MOV R3, #250DEALY2:NOPNOPDJNZ R3,DEALY2DJNZ R2, DEALY1DJNZ R1, DELAY3DJNZ R6, DELAY4RET;码表TABLE:DB<span style="white-space:pre"></span>0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6FEND六、Proteus软件模拟仿真七、GL10单片机仿真系统1.实验板连线2.实验操作步骤先用杜邦线连接一位数码管模块和89c51芯片的p2口,然后用usb连接线将整个单片机与电脑相连,打开烧录软件,选中数码管动态显示变化数字的hex 文件,点击下载,按下单片机的电源开关,程序将烧录到单片机中,数码管就会从0显示到9,并循环。

单片机实验3 数码管控制实验-动态显示

单片机实验3  数码管控制实验-动态显示
/**********实验二数码管控制实验-动态显示**************/
;实验名称:数码管动态显示
;功能:4位数码管循环显示“0123”“4567”“89AB”“CDEF”,间隔0.5S。
;编写人:陈建泽
;编写时间:2010年11月2日
/**********************程序代码************************/
D1MS: MOV R2,#250 ;250*(1+1+2)=1000us=1ms
L1:NOP
NOP
DJNZ R2,L1
RET
/*****************中断服务子程序*****************/
T0_INT:MOV TH0,#(65536-50000)/256
MOV TL0,#(65536-50000)MOD 256
MOV A,R4
CJNE A,#16,L3
AJMP MAIN
L3:MOV R5,A
AJMP L1
DIS:MOV P2,R6;用A作为中间寄存器,因后面要循环显示
MOV A,R5
ACALL SQR ;查表
MOV P0,A
ACALL D1MS ;1ms
INC R5
MOV A,R6
RL A;指向下一位
MOV R6,A
RET;子程序返回
TAB: DB 0C0H,0F9H,0A4H,0B0H ;共阳极字型码表0、1、2、3
DB 99H, 92H, 82H, 0F8H;共阳极字型码表4、5、6、7
DB 80H, 90H, 88H, 83H;共阳极字型码表8、9、A、B
DB 0C6H,0A1H,86H, 8EH;共阳极字型码表C、D、E、F

单片机实验报告——LED数码管显示实验

单片机实验报告——LED数码管显示实验

单⽚机实验报告——LED数码管显⽰实验(此⽂档为word格式,下载后您可任意编辑修改!)《微机实验》报告LED数码管显⽰实验指导教师:专业班级:姓名:学号:联系⽅式:⼀、任务要求实验⽬的:理解LED七段数码管的显⽰控制原理,掌握数码管与MCU的接⼝技术,能够编写数码管显⽰驱动程序;熟悉接⼝程序调试⽅法。

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

提⾼要求:在4位数码管显⽰器上依次显⽰当天时期和时间,显⽰格式如下:yyyy (年份)mm.dd(⽉份.⽇).asm;Description: 利⽤末位数码管循环显⽰数字0-9,显⽰切换频率为1Hz。

;Designed by:gxy;Date:2012117;*********************************************************$include (C8051F310.inc)ORG 0000H ;复位⼊⼝AJMP MAINORG 000BH ;定时器0中断⼊⼝AJMP TIME0MAIN: ACALL Init_Device ;初始化配置MOV P0,#00H ;位选中第⼀个数码管MOV R0,#00H ;偏移指针初值CLR PSW.1 ;标志位清零SETB EA ;允许总中断SETB ET0 ;允许定时器0中断MOV TMOD,#01H ;定时器0选⼯作⽅式1MOV TH0,#06HMOV TL0,#0C6H ;赋初值,定时1sLOOP: MOV A,R0ADD A,#0BH ;加偏移量MOVC +PC ;查表取,段码MOV P1,A ;段码给P1显⽰SETB TR0 ;开定时LOOP1: JNB PSW.1,LOOP1 ;等待中断CLR PSW.1INC R0 ;偏移指针加⼀CJNE R0,#0AH,LOOP3MOV R0,#00H ;偏移指针满10清零AJMP LOOP ;返回DB 0FCH,60H,0DAH,0F2H,66H ;段码数据表:0、1、2、3、4 DB 0B6H,0BEH,0E0H,0FEH,0F6H; 5、6、7、8、9 ;***************************************************************** ; 定时器0中断;***************************************************************** TIME0: SETB PSW.1 ;标志位置⼀MOV TH0,#06H ;定时器重新赋值MOV TL0,#0C6HLOOP3: CLR TR0 ;关定时RETI;***************************************************************** ;初始化配置;***************************************************************** PCA_Init:anl PCA0MD, #0BFhmov PCA0MD, #000hretTimer_Init:mov TMOD, #001hmov CKCON, #002hretPort_IO_Init:; P0.0 - Unassigned, Open-Drain, Digital ; P0.1 - Unassigned, Open-Drain, Digital ; P0.2 - Unassigned, Open-Drain, Digital ; P0.3 - Unassigned, Open-Drain, Digital ; P0.4 -Unassigned, Open-Drain, Digital ; P0.5 - Unassigned, Open-Drain, Digital ; P0.6 - Unassigned, Open-Drain, Digital ; P0.7 - Unassigned, Open-Drain, Digital ; P1.0 - Unassigned, Open-Drain, Digital ; P1.1 - Unassigned, Open-Drain, Digital ; P1.2 - Unassigned, Open-Drain, Digital ; P1.3 - Unassigned, Open-Drain, Digital ; P1.4 - Unassigned, Open-Drain, Digital ; P1.5 - Unassigned, Open-Drain, Digital ; P1.6 - Unassigned, Open-Drain, Digital ; P1.7 - Unassigned, Open-Drain, Digital ; P2.0 - Unassigned, Open-Drain, Digital ; P2.1 -Unassigned, Open-Drain, Digital ; P2.2 - Unassigned, Open-Drain, Digital ; P2.3 - Unassigned, Open-Drain, Digital mov XBR1, #040hretInterrupts_Init:mov IE, #002hretInit_Device:lcall PCA_Initlcall Timer_Initlcall Port_IO_Initlcall Interrupts_Initretend提⾼部分:;*********************************************************;Filename: shumaguan2.asm;Description:在4位数码管显⽰器上依次显⽰当天时期和时间,显⽰格式如下:; 2012 (年份); 12.07(⽉份.⽇); 12.34(⼩时.分钟);Designed by:gxy;Date:2012117;*********************************************************$include (C8051F310.inc)ORG 0000HAJMP MAINORG 000BHAJMP TIME0MAIN: ACALL Init_DeviceMOV R0,#00H ;⽤于位选MOV R1,#00H ;⽤于段选MOV R2,#22H ;置偏移量,⽤于控制模式MOV R4,#8MOV R5,#250CLR PSW.1 ;标志位清零SETB EA ;允许总中断SETB ET0 ;允许定时器0中断MOV TMOD,#01H ;定时器0选⼯作⽅式1MOV TH0,#0FFHMOV TL0,#0C0H ;定时器赋初值1msBACK: MOV P0,R0 ;位选MOV A,R0ADD A,#40H ;选下⼀位MOV R0,AMOV A,R1ADD A,R2 ;加偏移量MOVC +PC ;查表取段码MOV P1,A ;段码给P1显⽰LOOP: SETB TR0 ;开定时HERE: JNB PSW.1,HERE ;等待中断CLR PSW.1DJNZ R5,BACKMOV R5,#250DJNZ R4,BACKMOV R4,#8 ;循环2000次(2s)MOV A,R2ADD A,#04H ;偏移量加04H,到下⼀模式段码初值地址 MOV R2,ACJNE R2,#2EH,LOOP2MOV R2,#22H ;加三次后偏移量回到初值LOOP2: AJMP BACK ;返回进⼊下⼀模式;段码数据表:DB 0DAH,60H,0FCH,0DAH ; 2102DB 0E0H,0FCH,61H,60H ; 701. 1DB 66H,0F2H,0DBH,60H ; 432. 1;*****************************************************************; 定时器0中断;***************************************************************** TIME0: MOV TH0,#0FFH MOV TL0,#0C0HCLR TR0SETB PSW.1INC R1 ;偏移指针加⼀CJNE R1,#04H,LOOPMOV R1,#00H ;偏移指针满04H清零RETI;***************************************************************** ; 初始化配置;***************************************************************** PCA_Init:anl PCA0MD, #0BFhmov PCA0MD, #000hretTimer_Init:mov TMOD, #001hmov CKCON, #002hretPort_IO_Init:; P0.0 - Unassigned, Open-Drain, Digital; P0.1 - Unassigned, Open-Drain, Digital; P0.2 - Unassigned, Open-Drain, Digital; P0.3 - Unassigned, Open-Drain, Digital; P0.4 - Unassigned, Open-Drain, Digital; P0.5 - Unassigned, Open-Drain, Digital; P0.6 - Unassigned, Open-Drain, Digital; P0.7 - Unassigned, Open-Drain, Digital; P1.0 - Unassigned, Open-Drain, Digital; P1.1 - Unassigned, Open-Drain, Digital; P1.2 - Unassigned, Open-Drain, Digital; P1.3 - Unassigned, Open-Drain, Digital; P1.4 - Unassigned, Open-Drain, Digital; P1.5 - Unassigned, Open-Drain, Digital; P1.6 - Unassigned, Open-Drain, Digital; P1.7 - Unassigned, Open-Drain, Digital; P2.0 - Unassigned, Open-Drain, Digital; P2.1 - Unassigned, Open-Drain, Digital; P2.2 - Unassigned, Open-Drain, Digital; P2.3 - Unassigned, Open-Drain, Digitalmov XBR1, #040hretInterrupts_Init:mov IE, #002hretInit_Device:lcall PCA_Initlcall Timer_Initlcall Port_IO_Initlcall Interrupts_Initretend六、程序测试⽅法与结果、软件性能分析软件调试总体截图:基础部分:软件运⾏时,我们发现P0端⼝为00H,P1端⼝以依次为FCH、60H、DAH、F2H、66H、B6H、BEH、E0H、FEH、F6H。

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

于电路中采用共阳极的数码管,所以当 P2 端口相应的引脚为 0 时,对 应的数码管段点亮。程序中预设了数字 0-9 的段码。由于是让八个数码管 显示不同的数值,所以要用扫描的方式来实现。因此可定义扫描函数,接 到单片机的 P3 口。
在实验中,预设的数字段码表存放在数组 LedCode 中,由于段码表是 固定的,因此存储类型可设为 code.在 Proteus 软件中按照要求画出电路, 再利用 Keil 软件按需要实现的功能编写 c 程序,生成 Hex 文件,把 Hex 文件导到 Proteus 软件中进行仿真。
宁德师范学院计算机系
实验报告
(2014—2015 学年 第 2 学期)
课程名称
单片机原理
实验名称 数码管动态显示实验
专 业计算机科学与技术(非师范)
年级
2012 级
学号 47 姓名 王 秋
指导教师
杨烈君
实验日期
实验目的: 1. 巩固 Proteus 软件和 Keil 软件的使用方法 2. 学习端口输入输出的高级应用 3. 掌握 7 段数码管的连接方式和动态显示法 4. 掌握查表程序和延时等子程序的设计
实验要求: 1. 在 Proteus 软件中画好 51 单片机最小核心电路,包括复位电路和
晶振电路 2. 在电路中增加八位 7 段数码管(共阳/共阴自选),将 P2 口作数据
输出口与 7 段数码管数据引脚相连 ,P3 引脚输出位选控制信号 3. 在 Keil 软件中编写程序,采用动态显示法,实现数码管分别显示
评定等级:A(优秀) B(良好) C(中等) D(及格) E(不及格)
成绩评定
教师签字



备注:
注:1、报告内的项目或设置,可根据实际情况加以补充和调整 2、教师批改学生实验报告应在学生提交实验报告 10 日内
心得体会:
实验数码管显示程序的编程方法
1)先准备好要显示的数据,放入相应的显示存储单元中。
2)根据要使用的数码管的具体位置来确定扫描初值和扫描方向。
3)根据使用数码管的个数来确定扫描的位数。
4)查表将要显示的数据转换为能使数码管正确显示相对应的段码。
5)分时送段码和位码,数码管开始循环显示。
指导教师评语: 1、完成所有规定的实验内容,实验步骤正确,结果正确; 2、完成绝大部分规定的实验内容,实验步骤正确,结果正确; 3、完成大部分规定的实验内容,实验步骤正确,结果正确;
2、在“库”下拉菜单中,选中“拾取元件”(快捷键 P),分别选择以下元
件:AT89C51、CAP、CAP-ELEC、CRYSTAL、RESPACK-8。
3、构建仿真电路:
连接图
显示 1-8
时钟自动计时 连接图
红绿灯效果图 1 红绿灯效果图 2
4、创建一个 Keil 应用程序:新建一个工程项目文件;为工程选择目标器 件(AT89C52);为工程项目创建源程序文件并输入程序代码;保存创建的 源程序项目文件;把源程序文件添加到项目中。
实验内容:
数码管动态显示技术 要求实现:
1.动态显示法,实现数码管分别显示数字 1-8;
2.实现类似时钟的效果,如“ 13-23-25” 13 时 23 分 25 秒;
3.实现时钟的自动计时;
扩展要求: 结合 LED 显示,实现带数码显示的交通灯;
实验步骤、实验结果及分析: 1 实验步骤:
1、使用 eus ISIS 7 Professional 应用程序,建立一个.DSN 文件
数字 1-8 4. 实现指定数值的显示 (可使用 缓存数值) 5. 实现类似时钟的效果,如“ 13-23-25” 13 时 23 分 25 秒 6. 实现时钟的自动计时
7. 扩展要求: 结合 LED 显示,实现带数码显示的交通灯
实验设备(环境):
1.计算机 2.Proteus ISIS 7 Professional 应用程序 3.Keil 应用程序
5、把用户程序经过编译后生成的 HEX 文件添加到仿真电路中的处理器中
(编辑元件→文件路径)
2 实验程序 <流程图>
程序源代码:
1.动态显示法,实现数码管分别显示数字 1-8;
#include<> #define uchar unsigned char #define uint unsigned int uchar code Ledcode[]={ 0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
相关文档
最新文档