练习题(有答案) 下载本文

DELAY: ;延时程序省略

END ;

七、设计题

1.某单片机控制系统有8个发光二极管。试画出89C51与外设的连接图并编程使它们由左向右轮流点亮。 参考书第144页的6-4 void main() {

unsigned char i,j; j=0x01; for(;;) {

P1=j;

For(i=0;i<254;i++) j=j*2;

if(j==0) j=0x01; } }

2.MCS-51系列单片机存储器扩展:试用一片2764 EPROM和一片6264静态RAM分别为8031扩展外部程序存储器和外部数据存储器,试用三总线结构画出扩展电路图,说明扩展的容量,并写出各芯片的地址范围。

0~1FFFH

3.在两个8051间用模式2进行串行通信,A机并行采集外部开关的输入,然后串行传输给B机;B机接收后并行输出控制LED发光。画出连接示意图,写出完整的程序。(共 15 分)

答:

方式2:是波特率固定的9位一步传送,不需要初始化定时器1

SCON:

D7SM0A机:

D6SM1D5SM2D4REND3TB8D2RB8D1TID0RI

//串口初始化(方式2)

main() {

SCON=0x80 //10000000b while(1) {

SBUF=P1; While(TI==0); TI=0; } }

B机: main() {

SCON=0x90 //10010000b while(1) {

if(RI==1) {

P1=SBUF; } RI=0; }

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根从P0直接到2716的D、两片6264的D;

地址线低8位从P0经锁存器后到各片内地址口,高8位从P2出0-2三位直接到2716的地址口,0-4五位直接到两片6264内,

P2.,7接2716的/CE, P2.5接一片6264的/CE,经非门后接另一片6264;

ALE接锁存器的G,锁存器/OE接地,/PSEN接2716的/OE,/WR接6264的/WE,/RD接/OE。

2716:7800H-7FFFH,6264:0-1FFFH,2000H-3FFFH

5、编写一段子程序,将二位压缩的BCD码转换为二进制数,入口、出口均是A。若是非法的BCD码,则A返回值为255。(共10分)

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