微机原理上机实验六+十实验报告 74HC138译码器实验 16x16点阵显示实验Word文件下载.docx
- 文档编号:22312417
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:25
- 大小:170.29KB
微机原理上机实验六+十实验报告 74HC138译码器实验 16x16点阵显示实验Word文件下载.docx
《微机原理上机实验六+十实验报告 74HC138译码器实验 16x16点阵显示实验Word文件下载.docx》由会员分享,可在线阅读,更多相关《微机原理上机实验六+十实验报告 74HC138译码器实验 16x16点阵显示实验Word文件下载.docx(25页珍藏版)》请在冰豆网上搜索。
EQU
0273H
;
8255控制口
PC_8255
EQU
0272H
8255PC口
_STACK
SEGMENT
STACK
设置堆栈段
DW
100DUP(?
)
ENDS
CODE
START
PROC
NEAR
ASSUME
CS:
CODE,SS:
MOV
DX,Con_8255
MOV
AL,80H
OUT
DX,AL
8255初始化,PC口作输出用,向8255的控制口输入置位/复位控制字10000000B,PC0~PC7全部复位
DX,PC_8255
AL,0
START1:
将00000000B输入8255的PC口
CALL
Delay
延时
INC
AL
AL加一
JMP
START1
循环
PROC
Delay1:
XOR
CX,CX
CX清零
LOOP
$
当前位置循环一次后推出
RET
ENDP
END
六、实验思考题
1.在应用系统中,74HC138通常用来产生片选信号,请读者考虑一下,应如何处理?
将输入信号转换为三位无符号二进制数,将转换后的数据由低到高分别输入74HC138的A、B、C口,即可实现对最多8的模块的片选功能。
2.绘制本实验的详细实验电路图。
3.使用8255的PC口读入开关信号,实现编码控制8个LED灯的开关
本拓展实验的电路图在上个实验的基础上稍作修改
74CH138的G1、G2A、G2B分别接入PC3、PC4、PC5,其余接口接线不变,当开关4为开启时,控制信号有效
Con_8255EQU0273H
PC_8255EQU0272H
PA_8255EQU0270H
_STACKSEGMENTSTACK
DW100DUP(?
_STACKENDS
CODESEGMENT
STARTPROCNEAR
ASSUMECS:
MOVDX,Con_8255
MOVAL,10010000B
OUTDX,AL;
向8255的控制口输入控制字,PA口方式0输入,其
余口作为输出
MOVDX,PA_8255
INAL,DX;
从PA口读入开关当前状态
MOVDX,PC_8255
OUTDX,AL;
将PA口读入的开关状态由PC口输出,以控制LED
灯的亮灭
JMPSTART1循环执行,不断地由PA口读入开关状态
STARTENDP
CODEENDS
ENDSTART
微机原理上机实验(十)实验报告
1、熟悉8255的功能,了解点阵显示的原理及控制方法;
2、学会使用LED点阵,通过编程显示不同字符;
3、认真预习本节实验内容,可尝试自行编写程序,做好实验准备工作,填写实验报告。
1、编写程序,用B4区的二片74HC273控制16X16点阵的行;
8255的PA、PB口控制16X16点阵的列;
显示字符。
2、按图连接线路;
运行程序,观察实验结果,学会编程控制LED点阵显示字符。
CS(8255)、A0、A1
JP23(PA)、JP20(PB)
A2区:
JP21、JP22(列输出线)
B4区:
JP57(D0..D7)
JP42(D0..D7)
JP56(D8..D15)
JP40(D8..D15)
B4(I/O)区:
CS273、BLE、BHE
CS5、BLE、BHE
RD、WR
IOR、IOW
JP51、JP55
JP14、JP15(行输出线)
(注意连线方向)
2、运行程序,观察实验结果。
运行演示程序将会看到字符“欢迎使用星研实验仪”在点阵上自下而上循环移动显示。
ADDR_8255_PA
270H
8255PA口
ADDR_8255_PB
271H
8255PB口
ADDR_8255_C
273H
ADDR_273
230H
IO区74HC273(16位I/O)
LINE
行线1,行线2
ROW1
列线1
ROW2
ADDR_8255_PB
列线2
SEGMENT
)
_DATA
WORDPUBLIC'
DATA'
HUANDB00H,0C0H,00H,0C0H,0FEH,0C0H,07H,0FFH,0C7H,86H,6FH,6CH,3CH,60H,18H,60H
DB1CH,60H,1CH,70H,36H,0F0H,36H,0D8H,61H,9CH,0C7H,0FH,3CH,06H,00H,00H
YINGDB60H,00H,31H,0C0H,3FH,7EH,36H,66H,06H,66H,06H,66H,0F6H,66H,36H,66H
DB37H,0E6H,37H,7EH,36H,6CH,30H,60H,30H,60H,78H,00H,0CFH,0FFH,00H,00H
SHIDB00H,00H,06H,30H,07H,30H,0FH,0FFH,0CH,30H,1FH,0FFH,3BH,33H,7BH,33H
DB1BH,0FFH,1BH,33H,19H,0B0H,18H,0E0H,18H,60H,18H,0FCH,19H,8FH,1FH,03H
YONGDB00,0,1FH,0FEH,18H,0C6H,18H,0C6H,18H,0C6H,1FH,0FEH,018H,0C6H,18H,0C6H
DB18H,0C6H,1FH,0FEH,18H,0C6H,18H,0C6H,30H,0C6H,30H,0C6H,60H,0DEH,0C0H,0CCH
XINGDB00H,00H,1FH,0FCH,18H,0CH,1FH,0FCH,18H,0CH,1FH,0FCH,01H,80H,19H,80H
DB1FH,0FEH,31H,80H,31H,80H,6FH,0FCH,01H,80H,01H,80H,7FH,0FFH,00H,00H
YANDB0,0,0FFH,0FFH,18H,0CCH,18H,0CCH,30H,0CCH,30H,0CCH,7FH,0FFH,7CH,0CCH
DB0FCH,0CCH,3CH,0CCH,3CH,0CCH,3DH,8CH,3DH,8CH,33H,0CH,06H,0CH,0CH,0CH
SHI0DB01H,80H,00H,0C0H,3FH,0FFH,3CH,06H,67H,0CCH,06H,0C0H,0CH,0C0H,07H,0C0H
DB06H,0C0H,7FH,0FFH,00H,0C0H,01H,0E0H,03H,30H,06H,18H,1CH,1CH,70H,18H
YAN0DB00H,00H,0FCH,60H,0CH,60H,6CH,0F0H,6CH,0D8H,6DH,8FH,6FH,0F8H,7EH,00H
DB06H,0C6H,07H,66H,3FH,0ECH,0E7H,0ECH,06H,18H,1FH,0FFH,0CH,00H,00H,00H
YIDB0CH,0C0H,0CH,60H,18H,7CH,1BH,6CH,33H,0CH,73H,18H,0F1H,98H,31H,98H
DB30H,0F0H,30H,0F0H,30H,60H,30H,0F0H,31H,98H,33H,0FH,3EH,06H,30H,00H
NONEDB00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
DB00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
CODE,DS:
_DATA,SS:
AX,_DATA
DS,AX
ES,AX
NOP
INIT_IO
CALL
TEST_LED
调用测试子程序,测试LED是否全亮
CLEAR
滚动显示多个字符
CHS_SHOW:
CX,9
九个汉字
LEA
SI,HUAN
取首个汉字的有效地址
CHS_1:
PUSH
CX
CHS_1可以滚动显示多个字符
CX,16
CHS_2:
DISP_CH
实现显示,DISP_CH可以把每个汉字的32个字节读完并显示出来
SI
实现逐行滚动,SI每次循环自增两次,体现为字模向上移动一行
CHS_2
POP
CHS_1
读下一个循环对应的汉字
CHS_SHOW
显示一个16*16点阵字子程序,字型码放在DPTR指出的地址
PUSH
CX,8
DISP_CH_1:
DISP1
DISP_CH_1
POP
显示一个16*16点阵字子程序,字型码放在显示缓冲区XBUFF
CX,16
计数器,16列依次被扫描
BL,0FEH
上边列输出值
BH,0FFH
下边列输出值
REPEAT:
DX,LINE
AX,BX
DX,AX
列输出
LODSB
ADJUST
调整AL,将AL中二进制数旋转180度
DX,ROW1
左边行输出
DX,ROW2
OUT
右边行输出
DL10MS
STC
RCL
BL,1
BH,1
循环移位BX,行线扫描输出0
LOOP
REPEAT
INIT_IO
DX,ADDR_8255_C
8255控制字地址
设置8255的PA、PB、PC口为输出口
写控制字
AX,0FFFFH
测试LED子程序,点亮LED并延时1S
TEST_LED
NEAR
AX,AX
AL,0FFH
DL500ms
ENDP
调整AL中取到的字型码的一个字节,将最高位调整位最低位,最低位调整为最高位
ADJUST1:
AL,1
XCHG
AL,AH
RCR
ADJUST1
DL10ms
CX,133
DL500ms
CX,0FFFFH
1.修改程序,使显示的字符从左至右动态循环显示。
ADDR_8255_PAEQU270H;
ADDR_8255_PBEQU271H;
ADDR_8255_CEQU273H;
ADDR_273EQU230H;
LINEEQUADDR_273;
ROW1EQUADDR_8255_PA;
ROW2EQUADDR_8255_PB;
_STACKSEGMENTSTACK
DW1024DUP(?
_DATASEGMENTWORDPUBLIC'
HUANDB00H,0C0H,00H,0C0H,0FEH,0C0H,07H,0FFH,0C7H,86H,6FH,6CH,3CH,60H,18H,60H
YINGDB60H,00H,31H,0C0H,3FH,7EH,36H,66H,06H,66H,06H,66H,0F6H,66H,36H,66H
DB37H,0E6H,37H,7EH,36H,6CH,30H,60H,30H,60H,78H,00H,0CFH,0FFH,00H,00H
SHIDB00H,00H,06H,30H,07H,30H,0FH,0FFH,0CH,30H,1FH,0FFH,3BH,33H,7BH,33H
DB1BH,0FFH,1BH,33H,19H,0B0H,18H,0E0H,18H,60H,18H,0FCH,19H,8FH,1FH,03H
DB18H,0C6H,1FH,0FEH,18H,0C6H,18H,0C6H,30H,0C6H,30H,0C6H,60H,0DEH,0C0H,0CCH
XINGDB00H,00H,1FH,0FCH,18H,0CH,1FH,0FCH,18H,0CH,1FH,0FCH,01H,80H,19H,80H
DB1FH,0FEH,31H,80H,31H,80H,6FH,0FCH,01H,80H,01H,80H,7FH,0FFH,00H,00H
YANDB0,0,0FFH,0FFH,18H,0CCH,18H,0CCH,30H,0CCH,30H,0CCH,7FH,0FFH,7CH,0CCH
SHI0DB01H,80H,00H,0C0H,3FH,0FFH,3CH,06H,67H,0CCH,06H,0C0H,0CH,0C0H,07H,0C0H
DB06H,0C0H,7FH,0FFH,00H,0C0H,01H,0E0H,03H,30H,06H,18H,1CH,1CH,70H,18H
YAN0DB00H,00H,0FCH,60H,0CH,60H,6CH,0F0H,6CH,0D8H,6DH,8FH,6FH,0F8H,7EH,00H
DB06H,0C6H,07H,66H,3FH,0ECH,0E7H,0ECH,06H,18H,1FH,0FFH,0CH,00H,00H,00H
YIDB0CH,0C0H,0CH,60H,18H,7CH,1BH,6CH,33H,0CH,73H,18H,0F1H,98H,31H,98H
NONEDB00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
CHANGE_RESULTDB00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H
_DATAENDS
STARTPROCNEAR
ASSUMECS:
MOVAX,_DATA
MOVDS,AX
MOVES,AX
NOP
CALLINIT_IO
CALLTEST_LED;
CALLCLEAR
LEASI,HUAN;
MOVCX,9;
CALLWORD_MOVE;
字模拷贝
PUSHCX
MOVCX,16
CALLDISP_CH;
;
INCSI;
原程序用于滚动的指令
INCSI
LEASI,CHANGE_RESULT;
除了第一次,每次的汉字读取都去CHANGE_RESULT找,只显
示CHANGE_RESULT开头的32个字节
CALLWORD_CHANGE;
将WORD_CHANGE中的字模左移一位
LOOPCHS_2
POPCX
LOOPCHS_1;
读下一个汉字
CALLWORD_MOVE
LEASI,CHANGE_RESULT
JMPCHS_SHOW
WORD_MOVEPROCNEAR;
给CHANGE_RESULT赋初值HUAN,把十个汉字都拷贝过来
PUSHCX
PUSHES
PUSHDS
PUSHSI
PUSHDI
源
LEADI,CHANGE_RESULT;
目的
MOVAX,DS
MOVES,AX
MOVCX,320
WORD_MOVE1:
MOVSB;
执行完毕后SI,DI自动加一
LOOPWORD_MOVE1
POPDI
POPSI
POPDS
POPES
POPCX
RET
WORD_MOVEENDP
把字模拷出来,将WORD_CHANGE中的字模全部整体左移一位
WORD_CHANGEPROCNEAR;
16x2x10个字节
PUSHBX
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机原理上机实验六+十实验报告 74HC138译码器实验 16x16点阵显示实验 微机 原理 上机 实验 报告 74 HC138 译码器 16 x16 点阵 显示
链接地址:https://www.bdocx.com/doc/22312417.html