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