37;" border=1>
37;"> a机程序 org 0000h ajmp start org 4100h start:mov p1,#0ffh mov scon,#80h again1:mov sbuf,p1 jnb ti,$ clr ti sjmp again1 end 37;"> b机程序 org 0000h ajmp start org 4100h start:mov scon,#90h again1:jnb ri,$ mov p1,sbuf clr ri sjmp again1 end 4、将8051外部扩展2k eprom,同时扩展16k ram作数据存储器,采用的2716是2k的eprom芯片,6264是8k的ram芯片,74ls373是8位锁存器。请画出连接示意图。要求画出8051的数据、地址、ale、psen、rd、wr信号;锁存器的数据入d、数据出q、锁存控制g、oe;2716的a、数据o、片选ce、输出使能oe;6264的a、d、ce、oe、we。最后写出各片的地址范围。(共 12 分) 数据线8根从p1直接到2716的o、两片6264的d; 地址线低8位从p0经锁存器后到各片内地址口,高8位从p2出0-2三位直接到2716的地址口, 0-4五位直接到两片6264内p2.5接一片6264的ce,经非门后接另一片6264; ale接锁存器的g,锁存器oe接地,psen接2716的oe,wr接6264的we,rd接oe。 2716:0-7ffh,6264:0-1fffh,2000h-3fffh 5、编写一段子程序,将二位压缩的bcd码转换为二进制数,入口、出口均是a。若是非法的bcd码,则a返回值为255。(共10分) 6、用8051输出控制8个led从led1到led8、再到led1…,每次一个led发光,并不断循环。一个开关控制引起中断,电平触发,中断后8个led一起闪5下,然后恢复前面的循环。画出连接示意图,写出完整的程序。(软件延时用循环5*126*200次控制)(共10分)37;" border=1>
37;"> 五、subp:mov r1,a anl a, #0f0h swap a cjne a, #10, next1 next1:jnc error mov b, #10 mul ab xch a, r1 anl a, #0fh cjne a, #10,next2 next2:jnc error add a, r1 ret error:mov a,#255 ret 37;"> 六、 org 0000h ljmp start org 3h ljmp int00 start:setb ea setb ex0 clr it0 mov a, #1 again:mov p1,a acall delay rl a sjmp again delay:mov r1,#5 loop1:mov r2,#200 loop2:mov r3,#126 djnz r3,$ djnz r2,loop2 djnz r1,loop1 ret int00:push acc push 1 push 2 push 3 mov r4,#5 again:mov p1,#0ffh acall delay mov p1,#0 acall delay djnz r4,again pop 3 pop 2 pop 1 pop acc reti end 7、简单叙述8051的c/t0的四种工作模式和串行通信的四种工作模式。(共 8 分)37;" border=1>
37;"> c/t0的模式 0:13位计数器; 1:16位计数器; 2:8位循环计数器; 3:2个独立的8位计数器 37;"> 串行通信模式 0:同步移位寄存器; 1:波特率可变的8位两机异步通信; 2:波特率固定的9位可多机的异步通信; 3:波特率可变的9位可多机的异步通信。