本汇编语言的微机实验利用8255实现LS138为38片译码器,其输出端子Y5接左8255 CS片选器,Y6接右。将8255A的端口A设置为0 输出,...如果8255的PA口为0 输入,LS138/,则依次选择L 138的管脚(A/B/C )/同样,如果要选择左侧的8255则Y5应该有效,应该为输入A1,B0和C1,以及8255。
首先确定控制字:端口A模式0 输出,端口B模式0 输出,即控制字为:B80H,以下为程序:(我们假设地址为40H43h) Movdx,43Hmoval,83。moval,8eHoutdx,al;。MY8255_ aequ 9 c 60 hmy8255_ bequ 9 c 61 hmy8255_ cequ 9 c 62 hmy8255_ mode equ 9 c 63 hcode segmentassumecs:CODESTART:mov dx,MY 8255_MODEMOVAL,82HOUTDX,ala 1:mov
DXMOVDX,MY 8255_AOUTDX,alcallbreakjmpa 1 breakprocnearmovah,06HMOVDL,0FFHINT21HJERETURNMOVAX,4c 00 hint 21 hreturn:RETBREAKENDPCODEENDSENDSTART .
控制端口地址必须是1FH吗?控制地址A0A111;好像拿不到1F;然而程序还是挺简单的。# include # include # defineucharunsignedchar # defineuintunsignedint # definepaxbytes 138是一个38位解码器,其输出端子Y5接左8255 CS片选器,Y6是右。知道这个就好。当LS138的选择引脚(A/B/C)按输入、输出Y0的顺序为0、0和0时,有效。同样,如果你想选择左边8255,Y5有效,你应该。
3、微机原理基础硬件 实验 实验一 8255控制灯 实验assumecs:code,ds:data,ss:stackdatasegmentda 1 db a2 B2 C2 D2 e 2 f db a3 B3 C3 d 3 e 3 f db a4 B4 C4 d 4 e 4 f db a5 b5 C5 D5 e 5 f db a 6 b 6 c 6d 6 e 6 f db a 7 b 7 c 7d 7 e 7 f da 2 db 100 db?db100dup(?)da3_1db?
db10,13, $ dataendsstackssegmentstackdb 10 dup(?)stackendscodesegmentstart:movax,datamovds,axmovdx,offsetda2输入 String movah,0ahint21hmovdl,10;Wrap movah,2int21hmovcl,da2 1;字符数被用作循环数xorch。