微机原理数码显示实验报告

合集下载

微机原理-数码转换实验报告

微机原理-数码转换实验报告

微机原理-数码转换实验报告-CAL-FENGHAI.-(YICAI)-Company One1实验九数码转换一、实验目的1、掌握计算机常用数据编码之间的相互转换方法。

2、进一步熟悉DEBUG软件的使用方法。

二、实验内容1、ACSII码转换为非压缩型BCD码2、BCD码转换为二进制码3、十六进制数转换为ASCII码三、实验1、ACSII码转换为非压缩型BCD码DATA SEGMENT PARA 'DATA'DATA1 DB 8 DUP()DATA2 DB 8 DUP()DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART: MOV AX,SEG DATA1MOV DS,AXMOV DX,DATAMOV AH,0AHINT 21HLEA SI,DATA1MOV CL,[SI+1]LEA DI,DATA2ADD SI, 2CHK: MOV AL,[SI+2]CMP AL, '0'JB L01CMP AL, '9'JA L01SUB AL,30HMOV BL,ALMOV [DI], BLINC SIINC DIDEC CXJNZ CHKL01: MOV BL, 0FFHLOOP CHKMOV AH,4CH INT 21H CODE ENDSEND START2、BCD码转换为二进制码DATA SEGMENTBCD DB 1,2,3,4,5A DWDATA ENDSSTACK SEGMENT PARA STACK''STACK''STAPN DW 50 DUP()STACK ENDSCODE SEGMENTMAIN PROC FARASSUME DS:DATA,CS:CODE,SS:STACKSTART:MOV AX,DATAMOV DS,AXMOV AX,STACKMOV SS,AXCALL CONVERTMOV A,BXRETMAIN ENDPCONVERT PROC NEARPUSH SIPUSH CXPUSH AXMOV SI,4L1:MOV AL,BCD[SI]CBWXCHG AX, BXMOV CX,10DMUL CXXCHG AX,BXADD BX,AXDEC SIJNZ L1POP AXPOP CXPOP SIEXIT:MOV AH,4CH INT 21H CONVERT ENDP CODE ENDSEND START3、十六进制数转换为ASCII码DATA SEGMENTDATA1 DW 2010HDATA2 DB 4 DUP()DATA ENDSSTACKS SEGMENT PARA STACK 'STACK'STACKS ENDSCODES SEGMENTASSUME SS:STACKS,CS:CODESASSUME DS:DATASSTART: MOV AX, DATAMOV DS, AXLEA SI, DATA1MOV AX, [SI]MOV CL, 12SHR AX, CLMOV BL, ALCALL ASCMOV DATA2, BLCALL XSMOV AX, [SI]MOV CL, 8SHR AX, CLAND AX, 000FHMOV BL, ALCALL ASCMOV DATA2+1, BLCALL XSMOV AX, [SI]MOV CL, 4SHR AX, CLAND AX, 000FHMOV BL, ALCALL ASCMOV DATA2+2, BLCALL XSMOV AX, [SI]AND AX, 000FHMOV BL, ALCALL ASCMOV DATA2+3, BLCALL XSMOV AH, 4CHINT 21HASC PROCCMP BL, 0AH JC LPADD BL, 07H LP: ADD BL, 30H RETASC ENDPXS PROCMOV DL, BL MOV AH, 02H INT 21HRETXS ENDPCODE ENDSEND START4、六进制数转换为十进制DATAS SEGMENTSTRING1 DB 0DH,0AH,'$'STRING2 DB 0DH,0AH,'$'DATAS ENDSSTACKS SEGMENTSTACKS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS,SS:STACKSSTART:MOV AX,DATASMOV DS,AXMOV DX,OFFSET STRING1MOV AH,9INT 21HMOV CL,10HMOV BX,0NEWCHAR:MOV AH,1INT 21HSUB AL,30HJB DISPCBWXCHG AX,BXMOV CH,0MUL CXXCHG AX,BXADD BX,AXJNC NEWCHARDISP:MOV DX,OFFSET STRING2MOV AH,9INT 21HMOV CX,10000AGAIN:MOV DX,0MOV AX,BXDIV CXMOV BX,DXMOV DL,ALADD DL,30HCMP DL,39HJLE NEXTADD DL,7H NEXT:MOV AH,2INT 21HMOV DX,0MOV AX,CXMOV CX,10DIV CXMOV CX,AXCMP CX,0JNZ AGAINMOV AH,4CH INT 21H CODES ENDS END START5、十进制转换成七段码DATA SEGMENTDATA1 DB 3,4TABLE DB 23H,56H,42H,75H,00H,24H,67H,39H,20H DATA2 DB 2 DUP()DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATA ST: MOV DI, OFFSET BUFDAMOV CL, 80HMOV BX, OFFSET TABLE DISI: MOV BL, [DI+0]MOV AX, BXXLATMOV DX, PORTSEGOUT DX, ALMOV AL, CLMOV DX, PORTBITOUT DX, ALPUSH CXMOV CX, 30HDELAY: LOOP DELAYPOP CXCMP CL, 20HJZ QUITINC DISHR CL, 1JMP DISIQUITCODE ENDSEND ST。

微机原理实验1-LED显示实验

微机原理实验1-LED显示实验
XXH(2Y0):输出口,用作后两位LED显示译码驱动器4511 的锁存使能信号. XXH(2Y1):输出口, 用作前两位LED显示译码驱动器4511 的锁存使能信号. XXH(2Y3):输出口, 用作4位小数点锁存器74LS273的 控制CLK信号. (汇编语言中的out指令可以实现输出功能)

4位LED显示的操作为:
2Y1选中左边两个数码管
2Y0选中右边两个数码管
2Y3选中四个小数点
此处的8,4,2,1表示每 一位的权值,如果该位 亮,则加上该值
根据需要,小数点可以多位同时显示( 0~4位)
在LED上如何显示数字
1,要显示数字0,1,…,9的任一个,则送出 相应数字对应的十六进制数即可.例如要显示 12 12,则向EPP数据端口37CH送出12H; EPP 37CH 12H; 2,如果送出的数字为0AA~0FFH, 则LED灭;

LED显示实验电路 实验箱主板上的四位共阴极LED显示器采 用四片CD4511(BCD-七段锁存译码器) 来驱动 .其原理图如下:
CD4511
2Y1 D4~D7 D0~D7 2Y1
CD4511
2Y0 D0~D3
CD4ห้องสมุดไป่ตู้11
2Y0 D4~D7
CD4511
74LS273
2Y3
D0~D3
D0~D3
本实验共用到的端口地址及其功能介绍

LED显示演示程序
1,初始化EPP接口(即向控制寄存器写 初始化字节) MOV AL, 04H MOV DX, 37AH OUT DX, AL ;EPP初始化
LED显示演示(续)
2,选择外部设备(即向EPP地址端口写设备地 址) MOV AL, XXH MOV DX, 37BH OUT DX, AL ;选中左边两个LED

微机原理综合实验报告(LED横向滚动显示(方向修改)、电子钟修改实验)

微机原理综合实验报告(LED横向滚动显示(方向修改)、电子钟修改实验)

微机原理上机实验报告综合实验:1.LED 16x16点阵显示实验竖向显示改横向显示2.电子钟功能修改微机原理综合实验报告综合实验1:LED 16x16点阵竖向显示改横向显示实验一、实验目的1、熟悉8255的功能,了解点阵显示的原理及控制方法;2、学会使用LED点阵,通过编程显示不同字符;3、认真预习本节实验内容,可尝试自行编写程序,做好实验准备工作,填写实验报告。

二、实验内容1、编写程序,用B4区的二片74HC273控制16X16点阵的行;8255的PA、PB口控制16X16点阵的列;显示字符。

2、按图连接线路;运行程序,观察实验结果,学会编程控制LED点阵显示字符。

三、实验原理图四、实验步骤2、运行程序,观察实验结果。

运行演示程序将会看到字符“欢迎使用星研实验仪”在点阵上自下而上循环移动显示。

五、实验代码对实验六中的代码做一定的修改,将原程序中使LED显示屏从上至下显示的功能改为从左至右滚动显示有框线部分为修改部分ADDR_8255_PA EQU 270H ;8255 PA口ADDR_8255_PB EQU 271H ;8255 PB口ADDR_8255_C EQU 273H ;8255控制口ADDR_273 EQU 230H ;IO区74HC273(16位I/O)LINE EQU A DDR_273 ;行线1, 行线2ROW1 EQU A DDR_8255_PA ;列线1ROW2 EQU A DDR_8255_PB ;列线2_STACK SEGMENT STACKDW 1024 DUP(?)_STACK ENDS_DATA SEGMENT WORD PUBLIC 'DATA'HUANDB 00H,0C0H,00H,0C0H,0FEH,0C0H,07H,0FFH,0C7H,86H,6FH,6CH,3CH,60H,18H,60HDB 1CH,60H,1CH,70H,36H,0F0H,36H,0D8H,61H,9CH,0C7H,0FH,3CH,06H,00H,00HYINGDB 60H,00H,31H,0C0H,3FH,7EH,36H,66H,06H,66H,06H,66H,0F6H,66H,36H,66HDB 37H,0E6H,37H,7EH,36H,6CH,30H,60H,30H,60H,78H,00H,0CFH,0FFH,00H,00HSHIDB 00H,00H,06H,30H,07H,30H,0FH,0FFH,0CH,30H,1FH,0FFH,3BH,33H,7BH,33HDB 1BH,0FFH,1BH,33H,19H,0B0H,18H,0E0H,18H,60H,18H,0FCH,19H,8FH,1FH,03HYONGDB 00,0,1FH,0FEH,18H,0C6H,18H,0C6H,18H,0C6H,1FH,0FEH,018H,0C6H,18H,0C6HDB 18H,0C6H,1FH,0FEH,18H,0C6H,18H,0C6H,30H,0C6H,30H,0C6H,60H,0DEH,0C0H,0CCH XINGDB 00H,00H,1FH,0FCH,18H,0CH,1FH,0FCH,18H,0CH,1FH,0FCH,01H,80H,19H,80HDB 1FH,0FEH,31H,80H,31H,80H,6FH,0FCH,01H,80H,01H,80H,7FH,0FFH,00H,00HYANDB 00H,00H,0FFH,0FFH,18H,0CCH,18H,0CCH,30H,0CCH,30H,0CCH,7FH,0FFH,7CH,0CCH DB 0FCH,0CCH,3CH,0CCH,3CH,0CCH,3DH,8CH,3DH,8CH,33H,0CH,06H,0CH,0CH,0CHSHI0DB 01H,80H,00H,0C0H,3FH,0FFH,3CH,06H,67H,0CCH,06H,0C0H,0CH,0C0H,07H,0C0HDB 06H,0C0H,7FH,0FFH,00H,0C0H,01H,0E0H,03H,30H,06H,18H,1CH,1CH,70H,18HYAN0DB 00H,00H,0FCH,60H,0CH,60H,6CH,0F0H,6CH,0D8H,6DH,8FH,6FH,0F8H,7EH,00HDB 06H,0C6H,07H,66H,3FH,0ECH,0E7H,0ECH,06H,18H,1FH,0FFH,0CH,00H,00H,00HYIDB 0CH,0C0H,0CH,60H,18H,7CH,1BH,6CH,33H,0CH,73H,18H,0F1H,98H,31H,98HDB 30H,0F0H,30H,0F0H,30H,60H,30H,0F0H,31H,98H,33H,0FH,3EH,06H,30H,00HNONEDB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00HDB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00HCHANGE_RESULTDB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00HDB 00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H_DATA ENDSCODE SEGMENTSTART PROC NEARASSUME CS:CODE, DS:_DATA,SS:_STACKMOV AX,_DATAMOV DS,AXNOPCALL INIT_IOCALL TEST_LED ;调用测试子程序,测试LED是;显示一个16*16点阵字子程序,字型码放在DPTR指出的地址DISP_CH PROC NEAR ;把每个汉字的32个字节读完PUSH CXMOV CX,8DISP_CH_1:CALL DISP1LOOP DISP_CH_1POP CXRETDISP_CH ENDP;显示一个16*16点阵字子程序,字型码放在显示缓冲区XBUFFDISP1 PROC NEARPUSH SIPUSH CXMOV CX,16MOV BL,0FEHMOV BH,0FFHREPEAT:MOV AX,BXOUT LODSBCALL ADJUSTMOV DX,ROW1OUT DX,ALLODSBCALL ADJUSTMOV DX,ROW2OUT DX,ALCALL DL10MSCALL CLEARSTCRCL BL,1RCL BH,1LOOP REPEATPOP CXPOP SIRETDISP1 ENDPINIT_IO PROC NEARMOV AL,80HOUT RETINIT_IO ENDPCLEAR PROC NEARMOV AX,0FFFFHMOV DX,LINEMOV AL,0MOV OUT DX,ALMOV DX,ROW2OUT DX,ALRETCLEAR ENDP;测试LED子程序,点亮LED并延时1STEST_LED PROC NEARMOV DX,LINEXOR AX,AXOUT DX,AXMOV AL,0FFHMOV DX,ROW1OUT DX,ALMOV DX,ROW2OUT DX,ALCALL DL500msCALL DL500msRETTEST_LED ENDP;调整AL中取到的字型码的一个字节,将最高位调整位最低位,最低位调整为最高位ADJUST PROC NEARPUSH CXMOV CX,8ADJUST1:RCL AL,1XCHG AL,AHRCR AL,1XCHG AL,AHLOOP ADJUST1MOV AL,AHPOP CXRETADJUST ENDPDL10ms PROC NEARPUSH CXMOV CX,133LOOP $POP CXRETDL10ms ENDPDL500ms PROC NEARPUSH CXMOV CX,0FFFFHLOOP $POP CXRETDL500ms ENDPSTART ENDPCODE ENDSEND STARTCODE SEGMENTSTART PROC NEARASSUME CS:CODE, DS:_DATA,SS:_STACKMOV AX,_DATAMOV DS,AXMOV ES,AXNOPCALL INIT_IOCALL TEST_LED实验十四:电子钟一、实验目的进一步熟悉8253、8259、8279二、实验内容1、使用8253定时功能,产生0.5S的定时中断给82592、在F5区的数码管上显示时间3、允许设置时钟初值三、实验步骤2、运行程序,按F5区的F键,设置时钟初值。

数码显示控制实验报告(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. 熟悉数码管的结构和工作原理。

2. 掌握数码管与单片机的连接方法。

3. 学习使用动态扫描显示技术实现多位数码管的显示。

4. 培养动手能力和编程能力。

二、实验原理数码管是一种常用的显示器件,由多个发光二极管组成,通过控制发光二极管的亮与灭来显示数字、字母或符号。

本实验采用共阴极数码管,当对应的段码为低电平时,该段发光。

三、实验设备1. 单片机实验箱一台2. 共阴数码管8位3. 电阻若干4. 连接线若干5. 编译器(如Keil uVision)6. 仿真软件(如Proteus)四、实验内容1. 实验电路搭建根据实验原理图,连接单片机、数码管、电阻等元件。

具体连接方法如下:(1)将单片机的P0口与数码管的段码相连。

(2)将单片机的P1口与数码管的位选相连。

(3)将数码管的公共阴极与地相连。

(4)将电阻分别串联在数码管的段码和位选上,用于限流。

2. 编写程序(1)初始化单片机IO口,将P0口设置为输出模式,P1口设置为输出模式。

(2)编写数码管显示函数,根据输入的数字,计算对应的段码,并输出到P0口。

(3)编写动态扫描显示函数,按照一定的时间间隔依次显示各个数码管。

3. 编译程序使用Keil uVision编译器将编写的程序编译成hex文件。

4. 仿真实验使用Proteus软件进行仿真实验,观察数码管显示效果。

五、实验步骤1. 搭建实验电路。

2. 编写程序,实现数码管显示功能。

3. 编译程序,生成hex文件。

4. 在Proteus软件中导入hex文件,进行仿真实验。

5. 观察数码管显示效果,分析实验结果。

六、实验结果与分析1. 实验结果通过仿真实验,数码管能够按照程序的要求显示数字、字母或符号。

2. 实验分析(1)数码管显示原理:数码管通过控制发光二极管的亮与灭来显示数字、字母或符号。

当对应的段码为低电平时,该段发光。

(2)动态扫描显示原理:动态扫描显示是通过依次点亮各个数码管,使多位数码管同时显示。

微机原理实验报告(数码显示)

微机原理实验报告(数码显示)

实验三8255并行接口实验一、实验目的1、学习并掌握8255的工作方式及其应用。

2、学习在系统接口实验单元上构造实验电路。

二、实验设备TDN86/51或TND86/88教学实验系统。

三、实验内容与实验步骤1、基本输入输出实验。

编写程序,使8255的A口为输入,B口为输出,完成波动开关到数据灯的数据传输。

要求只要开关拨动,数据灯的显示就发生相应改变。

实验原理:并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。

8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0--基本输入/输出方式、方式1--选通输入/输出方式、方式2--双向选通工作方式。

8255的内部结构及引脚如图3-1所示,8255工作方式控制字和C口按位置位/复位控制字格式如图3-2所示。

图3-1 8255的内部结构和外部引脚(a)工作方式控制字(b)c口按位置位/复位控制字图3-2 8255控制字格式8255实验单元电路图如下图所示:图3-3 8255实验单元电路图实验步骤1. 基本输入输出实验本实验使8255端口A工作在方式0并作为输入口,端口B工作在方式0并作为输出口。

用一组开关信号接入端口A,端口B输出线接至一组数据灯上,然后通过对8255芯片编程来实现输入输出功能。

(1)按图连接实验线路图;8255基本输入/输出实验接线图SSTACK SEGMENT STACKDW 64 DUP(?)SSTACK ENDSCODE SEGMENTASSUME CS:CODESTART: MOV AL,82HOUT 63H, ALA1: IN AL, 61HOUT60H, ALJMPA1CODE ENDSEND START(2)编写实验程序,经编译、连接无误后装入系统;(3)运行程序,改变拨动开关,同时观察LED显示,验证程序功能。

(4)点机“调试”下拉菜单中的“固定程序”项,将程序固化到系统存储器中。

数码显示控制plc实验报告

数码显示控制plc实验报告

数码显示控制在PLC(可编程逻辑控制器)中的实验报告通常包括以下几个部分,以记录实验的目的、步骤、结果和结论。

下面是一个示例实验报告的大纲:实验报告标题:数码显示控制在PLC中的应用1. 引言实验的背景和目的:解释为什么进行这个实验以及希望达到的目标。

实验的重要性:说明数码显示在工业自动化中的应用和重要性。

2. 实验设备和材料列出所使用的PLC型号和品牌。

列出所使用的数码显示设备。

提供任何其他实验所需的特殊设备或材料。

3. 实验步骤详细描述实验的步骤。

包括:连接PLC和数码显示设备的方式。

编写和上传PLC程序的步骤。

在PLC程序中配置和控制数码显示的部分。

4. 实验结果提供实验中获得的数据和观察结果。

包括数码显示设备上显示的内容,以及PLC控制该内容的情况。

可以包括图表、表格或示意图,以更清晰地展示结果。

5. 分析与讨论对实验结果进行分析和解释。

讨论PLC如何控制数码显示的内容。

分析实验中可能出现的问题和解决方法。

6. 结论总结实验的主要发现和结果。

强调实验是否达到了预期的目标。

提出进一步的改进或研究方向建议。

7. 致谢针对提供实验设备和支持的个人或机构表示感谢。

8. 参考文献引用在实验中使用的任何参考资料或文献。

9. 附录包括实验中使用的程序代码、PLC配置文件或其他重要的附加信息。

请注意,这只是一个实验报告的大纲示例,具体的实验报告可能会根据实验的性质和要求有所不同。

在编写实验报告时,确保按照实验室或学院的要求进行格式和样式的设置。

此外,实验报告应具体描述实验步骤和结果,以便读者理解实验的进行和结果的含义。

微机原理实验1-LED显示实验

微机原理实验1-LED显示实验

实验一基于EPP接口的LED显示一、实验目的1.掌握EPP接口的输入/输出及读/写操作。

-2.熟悉整个综合实验板的地址分配。

3.掌握七段LED显示器与硬件的接口方法。

4. 熟悉LED显示操作。

二、实验任务1.分析实验电路图,指出各输入/输出口地址。

2.编写LED显示的程序并调试通过。

三、实验原理本实验板上的LED可以显示四位数字,实验的原理图如图1-8所示。

数据线图1-8 七段LED显示原理图七段LED显示器由a、b、c、d、e、f、g及小数点h八个发光二极管构成。

根据内部结构可分为共阴、共阳两种方式,如图所示。

七段显示器可显示16进制数(0~F),还可显示部分英文字母和专用字符。

对于共阴方式,下面列出了16进制数0~F的七段代码:表1-3 七段LED显示代码根据所要显示的字符到显示代码的转换,可由硬件来完成。

本实验电路用CD4511(BCD-七段锁存译码器)来完成代码转换。

LED显示驱动方式可分为静态和动态两种,在静态显示方式下,每一位七段显示占用一个8位输出口。

而在动态显示方式下,若干个显示位共用一个输口,根据人眼视觉残余效应快速的逐位显示(扫描),而达到感觉上连续显示的效果。

因此,静态显示的硬件开销较大,而软件简单,一般用于显示位数少的场合;动态显示的硬件较简单,因为需要进行动态扫描而软件较复杂,一般用于显示位数较多的场合。

本实验电路板采用的是静态显示的方法,动态显示大家有兴趣可以去查相关资料。

如图1-8 所示的四位静态LED显示原理图,前两位的锁存使能来自同一个信号ADO1,数据的高四位送入第一位的锁存译码器中,低四位送入第二位的锁存译码器中;后两位的锁存使能来自同一个信号ADO0,数据的高四位送入第三位的锁存译码器中,低四位送入第四位的锁存译码器中。

因此每次同时点亮两位LED。

ADO3为用于控制小数点的4位锁存器4076的时钟信号,数据的低四位用来选择点亮哪一位小数点。

本实验电路共用到了三个端口地址:0x00H:ADO0(输出口),用作后两位显示译码驱动器4511的锁存使能信号。

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

广东海洋大学寸金学院学生实验报告书
实验名称数码显示课程名称微机原理与接口技术系机电工程系专业机械设计制造及其自动化班级14机械2班学生姓名陈瑞玲学号20141032102 实验地点实验楼103 实验日期
一、实验目的:
了解LED数码管动态显示的工作原理及编程方法。

二、实验内容:
编制程序,使数码管显示“GOOD88”字样。

三、实验结果:
实验程序框图
实验步骤
联机模式:
(1)在PC机和实验系统联机状态下,运行该实验程序,可用鼠标左键单击菜单栏“文件”或工具栏“打开图标”,弹出“打开文件”的对话框,然后打开598K8ASM文件夹,点击S6.ASM文件,单击“确定”即可装入源文件,再单击工
具栏中编译装载,即可完成源文件自动编译、装载目标代码功能,再单击“调试”中“连续运行”或工具图标运行,即开始运行程序。

(2)数码管显示“GOOD88”字样。

脱机模式:
1、在P.态下,按SCAL键,输入2DF0,按EXEC键。

2、数码管显示“GOOD88”字样。

实验程序清单
CODE SEGMENT ;S6.ASM display "GOOD88"
ASSUME CS:CODE
ORG 2DF0H
START: JMP START0
PA EQU 0FF20H ;字位口
PB EQU 0FF21H ;字形口
PC EQU 0FF22H ;键入口
BUF DB ?,?,?,?,?,?
data1:
db0c0h,0f9h,0a4h,0b0h,99h,92h,82h,0f8h,80h,90h,88h,83h,0c6h,0a1h
db 86h,8eh,0ffh,0ch,89h,0deh,0c7h,8ch,0f3h,0bfh,8FH,0F0H
START0: CALL BUF1 ;缓冲区写初值
CON1: CALL DISP ;调显示子程序
JMP CON1 ;循环
DISP: MOV AL,0FFH ; 位码
MOV DX,PA ;数码管字位口
OUT DX,AL ;关位码
MOV CL,0DFH ; 最高位位码;显示子程序 ,5ms
MOV BX,OFFSET BUF ;取缓冲区首址
DIS1: MOV AL,[BX] ;取缓冲区数字
MOV AH,00H ;清零
PUSH BX ;压栈
MOV BX,OFFSET DATA1 ;字表首址
ADD BX,AX ;加偏移量
MOV AL,[BX] ;取字形代码
POP BX ;出栈
MOV DX,PB ;字形口
OUT DX,AL ;送字形码
MOV AL,CL ;取位码
MOV DX,PA ;位口
OUT DX,AL ;送位口
PUSH CX ;压栈
DIS2: MOV CX,00A0H ;点亮延时LOOP $
POP CX ;出栈
成绩指导教师日期
第页,共页。

相关文档
最新文档