资源描述:
《微机接口实验五综合设计实验》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验五综合设计实验一、实验要求(以下实验任选两个完成)1.用一片8255A控制1个8段共阴极LED数码管,同吋接入八个开关。现要求按下某开关,其代表的数字(K0为0,K1为1,・・・K7为7)在数码管上显示,直到按下另一个开关。⑴程序代码如下:.MODELTINYCon_8255EQU0F003II;8255控制口PA_8255EQUOFOOOH;8255A口PB_8255EQU0F001H;8255B口PC8255EQU0F002H;8255C口.STACK100.DATATABdb3FH,06H,5BH,
2、4FH,66H,6DH,7DH,07H,7FH;0-8及不显示的数据.CODESTART:MOVDX,Con_8255MOVAL,90HOUTDX,AL;8255初始化,B、C口用作输出,AU输入MOVDX,PC_8255;WEIXUANMOVAL,OOHOUTDX,AL;选择最低位的一个LED数码管工作START1:MOVDX,PA_8255INAL,DX;将按键的列线数据读入TESTAL,OFEHJEERRORL0:TESTAL,OFEHJNZN1MOVAL,1JMPDISPNl:TESTAL,OFDHJ
3、NZN2MOVAL,2JMPDISPN2:TESTAL,OFBHJNZN3MOVAL,3JMPDTSPN3:TESTAL,0F7HJNZN4MOVAL,4JMPDISPN4:TESTAL,OEFHJNZN5MOVAL,5JMPDISPN5:TESTAL,ODFHJNZN6MOVAL,6JMPDISPN6:TESTAL,OBFHJNZN7MOVAL,7JMPDISPN7:TESTAL,7FHJNZERRORMOVAL,8JMPDISPERROR:MOVAL,OHJMPDISP;输入错课,则数码管不显示任何数D1
4、SP:MOVDX,PB_8255MOVBL,ALMOVBH,OOHMOVAL,TAB[BX]OUTDX,ALJMPSTART1ENDSTART(2)连线说明:B4区:CS、AO、AlA3区:CS1、AO、AlB4区:JP53(PB)、JP52(PC)G5区:JP42、JP41B4区:JP56(PA)G6区:JP802、用一片8255A控制1个8段共阴极LED数码管,同时接入一个4X4的矩阵键盘。现要求按下某个按键,其代表的数字或字母在数码管上显示,直到按下另一个按键开关。.MODELTTNYCon_8255E
5、QU0F003H;8255控制口PC_8255EQU0F002H;8255PCPB_8255EQU0F001H;8255PBPA_8255EQU0F000II;8255PA⑴程序代码如下:口口口.STACK100.CODEDATA1DB3FH,7FH,06H,6FH,5BH,77H,4FH,7CH,66H,39H,6DH,5EH,7DH,79H,07H,71HSTART:MOVAL,8211;控制字:方式0,PA输出,PB输入MOVDX,Con_8255OUTDX,AL;设置8255控制字MOVAL,OOH;
6、使各行线为0MOVDX,Pa_8255OUTDX,ALXX:MOVDX,PB_8255INAL,DX;读取列数据ANDAL,03H;屏蔽无关位CMPAL,0311;各列线有无为0情况JZBEGIN:NN;无为0列,等待按键MOVBX,0208H;行数送BL,列数送BHMOVCL,OFFH;起始键号(CL)=-lMOVAL,11111110B;起始扫描码,0行二0L0P1:MOVDX,PA_8255;扫描一行OUTDX,ALRCLAL,1;扫描卜•一行数据MOVAH,AL;保存到AHINCDX;PB端口地址IN
7、AL,DX;i^PBANDAL,03H;屏蔽无关位CMPAL,0311;木扫描行,有无列线为0JNZL0P2;有,转L0P2查找本行键号ADDCL,2;键号+4(—行4个键)MOVAL,AH;恢复下一行扫描码DECBL;行数-1JNZL0P1;返回扫描卜•一行JMPBEGINL0P2:INCCL;键号十1RCRAL,1;循环右移一位JCL0P2;最低位为1,返回查找MOVBX,0MOVBL,CLMOVAL,DATAltBX]MOVDX,PC_8255OUTDX,ALJMPBEGINEXDSTART(2)连线说
8、明B4区:A0、Al>CSA3区:AO、AkCS1B4区:JP56、JP53、JP52G5区:JP47、JP92、JP42G5区:JP41G6区:JP803、用一片8255A和8155(或其它器件,如实现,可酌情加分)来驱动16X16LED显示器显示汉字,并实现汉字的滚动显示。源程序如下:・MODELTINYADDR8255PAEQUOFOOOH;8255PA口ADDR_8255_PBEQUADDR