版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、微机原理上机实验报告实验六:74HC138译码器实验实验十:LED16x16点阵显示实验微机原理上机实验(六)实验报告实验六:74HC138译码器实验实验目的1、掌握74HC138译码器的工作原理,熟悉74HC138译码器的具体运用连接方法,了解74HC138是如何译码的。2、认真预习本节实验内容,尝试自行编写程序,填写实验报告实验内容1、编写程序:使用8255的PCO、PC1、PC2控制74HC138的数据输入端,通过译码产生8选1个选通信号,轮流点亮8个LED指示灯。2、运行程序,验证译码的正确性。实验原理图(8255)PC(&255)PC0(&255)PC1;>-(
2、1)VCC-:JSN74HCBSM四、实验步骤1、连线说明:F7区:A、B、CD3区:PCO、PC1、PC2F7区:G1、G2A、G2BC1区:VCC、GND、GNDF7区:JP63F4区:JP18(LED指示灯)D3区:CS、AO、A1A3区:CS1、AO、A12、调试程序,查看运行结果是否正确五、实验代码Con_8255EQUO273H;8255控制口PC_8255EQUO272H;8255PC口_STACKSEGMENTSTACK;设置堆栈段DW1OODUP(?)_STACKENDSCODESEGMENTSTARTPROCNEARASSUMECS:CODE,SS:STACKMOVDX,C
3、on_8255MOVAL,80HOUTDX,AL;8255初始化,PC口作输出用,向8255的控制口输入置位/复位控制字10000000B,PCOPC7全部复位MOVDX,PC_8255MOVAL,0START1:OUTDX,AL将00000000B输入8255的PC口CALLDelay延时INCALAL加一JMPSTART1循环DelayPROCNEAR;延时Delay1:XORCX,CX;CX清零LOOP$当前位置循环一次后推出RETDelayENDPSTARTENDPCODEENDSENDSTART六、实验思考题CODESEGMENT1. 在应用系统中,74HC138通常用来产生片选信号
4、,请读者考虑一下,应如何处理?将输入信号转换为三位无符号二进制数,将转换后的数据由低到高分别输入74HC138的A、B、C口,即可实现对最多8的模块的片选功能。2. 绘制本实验的详细实验电路图。(S2551PC0;'::'(8255)PC1(C1)GND-(S255jPC2AcGlcrcrii>(C1)VCC;r-SN74HCB3N3. 使用8255的PC口读入开关信号,实现编码控制8个LED灯的开关本拓展实验的电路图在上个实验的基础上稍作修改74CH138的G1、G2A、G2B分别接入PC3、PC4、PC5,其余接口接线不变,当开关4为开启时,控制信号有效Con_825
5、5PC_8255PA_8255_STACKEQUEQUEQUSEGMENT0273H0272H0270HSTACKDW100DUP(?)STACKENDSSTARTPROCNEARASSUMECS:CODE,SS:_STACKMOVDX,Con_8255MOVAL,10010000BOUTDX,AL;向8255的控制口输入控制字PA口方式0输入其余口作为输出START1:MOVDX,PA_8255INAL,DX;从PA口读入开关当前状态MOVDX,PC_8255OUTDX,AL;将PA口读入的开关状态由PC口输出,以控制LED灯的亮灭JMPSTART1循环执行,不断地由PA口读入开关状态STA
6、RTENDPCODEENDSENDSTART微机原理上机实验(十)实验报告实验十:LED16x16点阵显示实验实验目的1、熟悉8255的功能,了解点阵显示的原理及控制方法;2、学会使用LED点阵,通过编程显示不同字符;3、认真预习本节实验内容,可尝试自行编写程序,做好实验准备工作,填写实验报告。实验内容1、编写程序,用B4区的二片74HC273控制16X16点阵的行;8255的PA、PB口控制16X16点阵的列;显示字符。2、按图连接线路;运行程序,观察实验结果,学会编程控制LED点阵显示字符。实验原理图lrSiL寸b9S3<<<!<<<!<<U
7、25SN74LS244NEEPg卜MiIslUNOMvSN74LS244NEm寸刁P卜Mi7"If両.w二AL22AiY3A4Y4A5Y5A6Y6A7Y7ASY8S.'.-!.:<INGNDmo0C13076r-<.-9!cfzGr-i95、o匸Th!-01心014话oTT0E1OE2VCCVYA2Y2緘Y.:A4:/!;AbY6A7Y7ASY8SN7LS24NGNDlZIF50卜MR7s142LG7O8fiBH12115LG708SBHLED3LED4四、实验步骤1、连线说明:D3区:CS(8255)AO、A1A3区:CS1、AO、A1D3区:JP23(PA)、
8、JP20(PB)A2区:JP21、JP22(列输出线)B4区:JP57(D0.D7)A3区:JP42(D0.D7)B4区:JP56(D8.D15)A3区:JP40(D8.D15)B4(l/0)区:CS273、BLE、BHEA3区:CS5、BLE、BHEB4(l/0)区:RD、WRA3区:IOR、IOWB4(l/O)区:JP51、JP55A2区:JP14、JP15(行输出线)(注意连线方向)2、运行程序,观察实验结果。运行演示程序将会看到字符“欢迎使用星研实验仪”在点阵上自下而上循环移动显示。五、实验代码ADDR_8255_PAEQU270H;8255PADADDR_8255_PBEQU271H
9、;8255PB口ADDR_8255_CEQU273H;8255控制口ADDR_273EQU230H;10区74HC273(16位I/O)LINEEQUADDR_273;行线1,行线2ROW1EQUADDR_8255_PA;列线1ROW2EQUADDR_8255_PB;列线2_STACKSEGMENTSTACKDW100DUP(?)_STACKENDS_DATASEGMENTWORDPUBLIC'DATA'HUANDB00H,0C0H,00H,0C0H,0FEH,0C0H,07H,0FFH,0C7H,86H,6FH,6CH,3CH,60H,18H,60HDB1CH,60H,1CH
10、,70H,36H,0F0H,36H,0D8H,61H,9CH,0C7H,0FH,3CH,06H,00H,00HYINGDB60H,00H,31H,0C0H,3FH,7EH,36H,66H,06H,66H,06H,66H,0F6H,66H,36H,66HDB37H,0E6H,37H,7EH,36H,6CH,30H,60H,30H,60H,78H,00H,0CFH,0FFH,00H,00HSHIDB00H,00H,06H,30H,07H,30H,0FH,0FFH,0CH,30H,1FH,0FFH,3BH,33H,7BH,33HDB1BH,0FFH,1BH,33H,19H,0B0H,18H,0E0H
11、,18H,60H,18H,0FCH,19H,8FH,1FH,03HYONGDB00,0,1FH,0FEH,18H,0C6H,18H,0C6H,18H,0C6H,1FH,0FEH,018H,0C6H,18H,0C6HDB18H,0C6H,1FH,0FEH,18H,0C6H,18H,0C6H,30H,0C6H,30H,0C6H,60H,0DEH,0C0H,0CCHXINGDB00H,00H,1FH,0FCH,18H,0CH,1FH,0FCH,18H,0CH,1FH,0FCH,01H,80H,19H,80HDB1FH,0FEH,31H,80H,31H,80H,6FH,0FCH,01H,80H,01H
12、,80H,7FH,0FFH,00H,00HYANDB0,0,0FFH,0FFH,18H,0CCH,18H,0CCH,30H,0CCH,30H,0CCH,7FH,0FFH,7CH,0CCHDB0FCH,0CCH,3CH,0CCH,3CH,0CCH,3DH,8CH,3DH,8CH,33H,0CH,06H,0CH,0CH,0CHSHI0DB01H,80H,00H,0C0H,3FH,0FFH,3CH,06H,67H,0CCH,06H,0C0H,0CH,0C0H,07H,0C0HDB06H,0C0H,7FH,0FFH,00H,0C0H,01H,0E0H,03H,30H,06H,18H,1CH,1CH,7
13、0H,18HYAN0DB00H,00H,0FCH,60H,0CH,60H,6CH,0F0H,6CH,0D8H,6DH,8FH,6FH,0F8H,7EH,00HDB06H,0C6H,07H,66H,3FH,0ECH,0E7H,0ECH,06H,18H,1FH,0FFH,0CH,00H,00H,00HYIDB0CH,0C0H,0CH,60H,18H,7CH,1BH,6CH,33H,0CH,73H,18H,0F1H,98H,31H,98HDB30H,0F0H,30H,0F0H,30H,60H,30H,0F0H,31H,98H,33H,0FH,3EH,06H,30H,00HNONEDB00H,00H,
14、00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00HDB00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H_DATAENDSCODESEGMENTSTARTPROCNEARASSUMECS:CODE,DS:_DATA,SS:_STACKMOVAX,_DATAMOVDS,AXMOVES,AXNOPCALLINIT_IOCALLTEST_LED;调用测试子程序,测试LED是否全亮CALLCLEAR;滚动显示多个字符CHS_SHOW:MOVCX,9;九个汉字LEASI
15、,HUAN;取首个汉字的有效地址CHS_1:PUSHCX;CHS_1可以滚动显示多个字符MOVCX,16CHS_2:CALLDISP_CH;实现显示,DISP_CH可以把每个汉字的32个字节读完并显示出来INCSI实现逐行滚动,SI每次循环自增两次,体现为字模向上移动一行INCSILOOPCHS_2POPCXLOOPCHS_1;读下一个循环对应的汉字JMPCHS_SHOW;显示一个16*16点阵字子程序,字型码放在DPTR指出的地址DISP_CHPROCNEARPUSHCXMOVCX,8DISP_CH_1:CALLDISP1LOOPDISP_CH_1POPCXRETDISP_CHENDP;显示
16、一个16*16点阵字子程序,字型码放在显示缓冲区XBUFFDISP1PROCNEARPUSHSIPUSHCXMOVCX,16;计数器,16列依次被扫描MOVBL,0FEH;上边列输出值MOVBH,0FFH;下边列输出值REPEAT:MOVDX,LINEMOVAX,BXOUTDX,AX;列输出LODSBCALLADJUST;调整AL,将AL中二进制数旋转180度MOVDX,ROW1OUTDX,AL;左边行输出LODSBCALLADJUST;调整AL,将AL中二进制数旋转180度MOVDX,ROW2OUTDX,AL;右边行输出CALLDL10MSCALLCLEARSTCRCLBL,1RCLBH,1
17、;循环移位BX,行线扫描输出0LOOPREPEATPOPCXPOPSIRETDISP1ENDPINIT_IOPROCNEARMOVDX,ADDR_8255_C;8255控制字地址MOVAL,80H;设置8255的PA、PB、PC口为输出口OUTDX,AL;写控制字RETINIT_IOENDPCLEARPROCNEARMOVAX,0FFFFHMOVDX,LINEOUTDX,AXMOVAL,0MOVDX,ROW1OUTDX,ALMOVDX,ROW2OUTDX,ALRETCLEARENDP;测试LED子程序,点亮LED并延时ISTEST_LEDPROCNEARMOVDX,LINEXORAX,AXOU
18、TDX,AXMOVAL,0FFHMOVDX,ROW1OUTDX,ALMOVDX,ROW2OUTDX,ALCALLDL500msCALLDL500msRETTEST_LEDENDP;调整AL中取到的字型码的一个字节,将最高位调整位最低位,最低位调整为最高位ADJUSTPROCPUSHMOVNEARCXCX,8ADJUST1:RCLAL,1XCHGAL,AHRCRAL,1XCHGAL,AHLOOPADJUST1MOVAL,AHPOPCXRETADJUSTENDPDL10msPROCNEARPUSHCXMOVCX,133LOOP$POPCXRETDL10msENDPDL500msPROCNEARPU
19、SHCXMOVCX,0FFFFHLOOP$POPCXRETDL500msENDPSTARTENDPCODEENDSENDSTART六、实验思考题1.修改程序,使显示的字符从左至右动态循环显示。ADDR_8255_PAEQU270H;8255PA口ADDR_8255_PBEQU271H;8255PB口ADDR_8255_CEQU273H;8255控制口ADDR_273EQU230H;IO区74HC273(16位I/O)LINEEQUADDR_273;行线1,行线2ROW1EQUADDR_8255_PA;列线1ROW2EQUADDR_8255_PB;列线2_STACKSEGMENTSTACKDW1
20、024DUP(?)_STACKENDS_DATASEGMENTWORDPUBLIC'DATA'HUANDB00H,0C0H,00H,0C0H,0FEH,0C0H,07H,0FFH,0C7H,86H,6FH,6CH,3CH,60H,18H,60HDB1CH,60H,1CH,70H,36H,0F0H,36H,0D8H,61H,9CH,0C7H,0FH,3CH,06H,00H,00HYINGDB60H,00H,31H,0C0H,3FH,7EH,36H,66H,06H,66H,06H,66H,0F6H,66H,36H,66HDB37H,0E6H,37H,7EH,36H,6CH,30H,
21、60H,30H,60H,78H,00H,0CFH,0FFH,00H,00HSHIDB00H,00H,06H,30H,07H,30H,0FH,0FFH,0CH,30H,1FH,0FFH,3BH,33H,7BH,33HDB1BH,0FFH,1BH,33H,19H,0B0H,18H,0E0H,18H,60H,18H,0FCH,19H,8FH,1FH,03HYONGDB00,0,1FH,0FEH,18H,0C6H,18H,0C6H,18H,0C6H,1FH,0FEH,018H,0C6H,18H,0C6HDB18H,0C6H,1FH,0FEH,18H,0C6H,18H,0C6H,30H,0C6H,30H
22、,0C6H,60H,0DEH,0C0H,0CCHXINGDB00H,00H,1FH,0FCH,18H,0CH,1FH,0FCH,18H,0CH,1FH,0FCH,01H,80H,19H,80HDB1FH,0FEH,31H,80H,31H,80H,6FH,0FCH,01H,80H,01H,80H,7FH,0FFH,00H,00HYANDB0,0,0FFH,0FFH,18H,0CCH,18H,0CCH,30H,0CCH,30H,0CCH,7FH,0FFH,7CH,0CCHDB0FCH,0CCH,3CH,0CCH,3CH,0CCH,3DH,8CH,3DH,8CH,33H,0CH,06H,0CH,0C
23、H,0CHSHI0DB01H,80H,00H,0C0H,3FH,0FFH,3CH,06H,67H,0CCH,06H,0C0H,0CH,0C0H,07H,0C0HDB06H,0C0H,7FH,0FFH,00H,0C0H,01H,0E0H,03H,30H,06H,18H,1CH,1CH,70H,18HYAN0DB00H,00H,0FCH,60H,0CH,60H,6CH,0F0H,6CH,0D8H,6DH,8FH,6FH,0F8H,7EH,00HDB06H,0C6H,07H,66H,3FH,0ECH,0E7H,0ECH,06H,18H,1FH,0FFH,0CH,00H,00H,00HYIDB0CH,
24、0C0H,0CH,60H,18H,7CH,1BH,6CH,33H,0CH,73H,18H,0F1H,98H,31H,98HDB30H,0F0H,30H,0F0H,30H,60H,30H,0F0H,31H,98H,33H,0FH,3EH,06H,30H,00HNONEDB00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00HDB00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00HCHANGE_RESULTDB00H,00H,00H,00H,00H,00
25、H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00HDB00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H,00H_DATAENDSCODESEGMENTSTARTPROCNEARASSUMECS:CODE,DS:_DATA,SS:_STACKMOVAX,_DATAMOVDS,AXMOVES,AXNOPCALLINIT_IOcalltest_led;调用测试子程序,测试led是否全亮CALLCLEARLEAsI,HUAN;CHS_1可以滚动显示多个字符;取首个汉字的有效地址CHS_SHOW:MOV
26、CX,9CALLWORD_MOVECHS_1:PUSHCXMOVCX,16CHS_2:CALLDISP_CH出来;INCSI;INCSILEASI,CHANGE_RESULTCALLWORD_CHANGELOOPCHS_2POPCXLOOPCHS_1CALLWORD_MOVELEASI,CHANGE_RESULTJMPCHS_SHOW;九个汉字;字模拷贝;实现显示,DISP_CH可以把每个汉字的32个字节读完并显示;原程序用于滚动的指令;除了第一次,每次的汉字读取都去CHANGE_RESULT找,只显示CHANGE_RESULT开头的32个字节;将WORD_CHANGE中的字模左移一位;读下一
27、个汉字WORD_MOVEPROCNEAR;给CHANGE_RESULT赋初值HUAN,把十个汉字都拷贝过来PUSHCXPUSHESPUSHDSPUSHSIPUSHDILEASI,HUANLEADI,CHANGE_RESULTMOVAX,DSMOVES,AXMOVCX,320WORD_MOVE1:MOVSBLOOPWORD_MOVE1POPDIPOPSIPOPDSPOPESPOPCX;源;目的;执行完毕后SI,DI自动加一RETWORD_MOVEENDP;把字模拷出来,将WORD_CHANGE中的字模全部整体左移一位WORD_CHANGEPROCNEAR;16x2xl0个字节PUSHCXPUSH
28、DSPUSHSIPUSHBXPUSHFXORBX,BXLEASI,CHANGE_RESULTMOVCX,320MOVE_TO_LAST:INCSILOOPMOVE_TO_LASTMOVCX,16WORD_CHANGE1:CLCPUSHCXMOVCX,10WORD_CHANGE2:RCLSI,1DECSIRCLSI,1SUBSI,31LOOPWORD_CHANGE2;16行;CF置0;10个字;SI=SI-31ADDSI,31POPCX;16+16+7x32-1=255ADDSI,255LOOPWORD_CHANGE1SUBSI,255;LEASI,CHANGE_RESULT;测试是否回到开头POPFPOPBXPOPSIPOPDSPOPCXRETWORD_CHANGEENDP;显示一个16*16点阵字子程序,字型码放在DPTR指出的地址DISP_CHPROCNEAR;把每个汉字的32个字节读完PUSHCXMOVCX,8DISP_CH_1:CALLDISP1LOOPDISP_CH_1POPCXRETDISP_CHENDP;显示一个16*16点阵字子程
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- YY/T 1833.5-2024人工智能医疗器械质量要求和评价第5部分:预训练模型
- 贵州财经大学《创业团队管理》2023-2024学年第一学期期末试卷
- 2025年甘肃省建筑安全员C证考试题库
- 2025年河南省安全员《C证》考试题库
- 贵阳学院《山水写生》2023-2024学年第一学期期末试卷
- 广州应用科技学院《游戏制作与开发》2023-2024学年第一学期期末试卷
- 广州铁路职业技术学院《建筑力学(上)》2023-2024学年第一学期期末试卷
- 2025四川省安全员-C证考试(专职安全员)题库附答案
- 2025云南省建筑安全员《C证》考试题库及答案
- 6.4.2向量在物理中的应用举例【超级课堂】2022-2023学年高一数学教材配套教学精-品课件+分层练习人教A版2019必修第二册
- 2024年电商平台入驻服务合同
- 2024年度政府采购代理服务合同-医疗卫生设备采购项目3篇
- GJB9001C版标准培训课件
- 船舶防火与灭火(课件)
- 七、监理工作重点、难点分析及对策
- 面膜中蓝铜肽经皮渗透性和改善皮肤衰老作用研究
- 湖北省荆州市八县市2023-2024学年高一上学期1月期末考试 化学 含解析
- 声光影的内心感动:电影视听语言学习通超星期末考试答案章节答案2024年
- 道路下穿高速公路安全安全评价
- 紧密型县域医共体信息化建设指南及评价标准
- 盘拉机操作手册新
评论
0/150
提交评论