赤脚白虎吧 关注:13贴子:244
1.      单片机将(CPU )(存储器)和(I/O口)三部分集成于一块芯片上
2.      8051与8751的区别是:内部程序存储器的类型不同
3.      在MCS-51单片机中,如果采用6MHz晶振,1个机器周期为(2us )
4.      内部RAM中,位地址为30H的位,该位所在字节的字节地址为(26H )
5.      若A中的内容为63H,那么,P标志位的值为( 0)
6.      8031单片机复位后,R4所对应的存储单元的地址为(04H ),因上电时PSW=(00H )。这时当前的工作寄存器区是(0 )组工作寄存器区。
7.      使用8031芯片时,需将/EA引脚接( 低)电平,因为其片内无( 程序)存储器
8.      PC的值是(当前正在执行指令的下一条指令的地址)
9.      通过堆栈操作实现子程序调用,首先就要把( PC)的内容入栈,以进行断点保护。调用返回时,再进行出栈保护,把保护的断点送回到(PC )
10.      MCS-51单片机程序存储器的寻址范围是由程序计数器PC的位数所决定的,因为MCS-51的PC是16位的,因此其寻址的范围为(64 )KB
11.在基址加变址寻址方式中,以(A )作变址寄存器,以(DPTR )或(PC )作基址寄存器。
12. 指令格式是由( 操作码)和( 操作数)所组成,也可能仅由(操作码 )组成。
13. 假定累加器A中的内容为30H,执行指令
          1000H:MOVC     A,@A+PC
      后,把程序存储器(1031H )单元的内容送入累加器A中。
14. 在MCS-51中,PC和DPTR都用于提供地址,但PC是为访问(程序 )存储器提供地址,而DPTR是为访问( 数据)存储器提供地址。
15. 在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作数的(地址 )。
16. 下列程序段的功能是什么?
          PUSH      A
          PUSH      B
          POP          A
          POP          B
答:交换A、B的内容
17. 假定A=83H,(R0)=17H,(17H)=34H,执行以下指令:
          ANL      A,#17H
          ORL      17H,A
          XRL      A,@R0
          CPL          A
      后,A的内容为( 0CBH)。
18. 假定A=55H,R3=0AAH,在执行指令ANL      A,R3后,A=(0 ),R3=(0AAH )。


1楼2010-07-06 03:18回复
    19. 如果DPTR=507BH,SP=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下列指令后:
                  POP          DPH
                  POP          DPL
                  POP          SP
          则:DPH=(3CH ),DPL=(5FH ),SP=(4FH )
    20. 假定,SP=60H,A=30H,B=70H,执行下列指令:
              PUSH      A
              PUSH      B
          后,SP的内容为(62H ),61H单元的内容为( 30H),62H单元的内容为(70H )。
    21. 外部中断1所对应的中断入口地址为(0013 )H。
    22. :8031单片机响应中断后,产生长调用指令LCALL,执行该指令的过程包括:首先把( PC)的内容压入堆栈,以进行断点保护,然后把长调用指令的16位地址送(PC ),使程序执行转向( 程序存储器) 中的中断地址区。
    23. 在串行通讯中,收发双方对波特率的设定应该是( 相等 )的。
    24. 单片机存储器的主要功能是存储(程序)和(数据)
    25. 假设外部数据存储器2000H单元的内容为80H,执行下列指令后:
                      MOV              P2,#20H
                      MOV              R0,#00H
                      MOVX              A,@R0
    累加器A中的内容为(80H)。
    26. 在存储器扩展中,无论是线选法还是译码法,最终都是为了扩展芯片的(片选)端提供信号。
    27. .11根地址线可选(2KB)个存储单元,16KB存储单元需要(14)根地址线。
    解:通过总结所学知识,我们得到以下几个信息:2KB的存储器需要11根地址线,地址为0000H-07FFH;4KB的存储器需要12根地址线,地址为0000H-0FFFH;
    8KB的存储器需要13根地址线,地址为0000H-1FFFH;16KB的存储器需要14根地址线,地址为0000H-3FFFH;32KB的存储器需要15根地址线,地址为0000H-7FFFH;64KB的存储器需要16根地址线,地址为0000H-FFFFH(以上存储器的首地址均默认为0000H)。
    28. 32KB RAM存储器的首地址若为2000H,则末地址为(9FFF)H。
    解:由上题总结得出,32KB RAM存储器的大小为0000H-7FFFH,所以只要在后面加上2000H即得到正确答案。
    29.除了单片机这一名称之外,单片机还可称为(微控制器)和(嵌入式控制器)。
    30. 单片机根据其基本操作处理的位数可分为:1 位单片机、4 位单片机、8 位单片机、16
    位单片机和 32 位单片机。
    


    2楼2010-07-06 03:19
    回复
      编程:
      1.试编写1个程序,将内部RAM中45H单元的高4位清0,低4位置1。
      答:      MOV       A, 45H
                 ANL       A, #0FH
                 ORL       A, #0FH
                 MOV       45H, A
      2.已知程序执行前有A=02H,SP=42H,(41H)=FFH,(42H)=FFH。下述程序执行后:
                 POP           DPH
                 POP           DPL
                 MOV       DPTR,#3000H
                 RL           A
                 MOV       B,A
                 MOVC       A,@A+DPTR
                 PUSH       A
                 MOV       A,B
                 INC           A
                 MOVC       A,@A+DPTR
                 PUSH       A
                 RET
                ORG      3000H
                 DB           10H,80H,30H,80H,50H,80H
             请问:A=( 80H),SP=( 40H),(51H)=( 50H),(52H)=(80H ),PC=(8050H )。
      3.计算下面子程序中指令的偏移量和程序执行的时间(晶振频率为 12MHz)。
                 MOV       R3,#15H           ;1个机器周期
             DL1:MOV       R4,#255           ;1个机器周期
             DL2:MOV       P1,R3           ;2个机器周期
                 DJNZ       R4,DL2           ;2个机器周期
                 DJNZ       R3,DL1           ;2个机器周期
                 RET                       ;2个机器周期
      答:((2+2)×255+1+2)×15+1+2=15348us
      


      3楼2010-07-06 03:19
      回复
        4.假定A=83H,(R0)=17H,(17H)=34H,执行以下指令:
                   ANL       A,#17H
                   ORL       17H,A
                   XRL       A,@R0
                   CPL           A
               后,A的内容为( 0CBH)。
        5.试编写程序,查找在内部RAM的30H~50H单元中是否有0AAH这一数据。若有,则将51H单元置为“01H”;若未找到,则将51H单元置为“00H”。
        答:START:       MOV       R0,#30H
                           MOV       R2,#20H
              LOOP:          MOV       A,@R0
                           CJNE       A,#0AAH,NEXT
                           MOV       51H,#01H
                           LJMP       EXIT
               NEXT:          INC           R0
                           DJNZ       R2,LOOP
                           MOV       51H,#00H
               EXIT:          RET
        6.试编写程序,查找在内部RAM的20H~40H单元中出现“00H”这一数据的次数。并将查找到的结果存入41H单元。
        答:START:         MOV       41H,#0
                           MOV       R0,#20H
                           MOV       R2,#20H
               LOOP:         MOV       A,@R0
                           JNZ           NEXT
                           INC           41H
               NEXT:          INC           R0
                           DJNZ       R2,LOOP
                           RET
        


        4楼2010-07-06 03:19
        回复
          7.若SP=60H,标号LABEL所在的地址为3456H。LCALL指令的地址为2000H,执行指令如下:2000H        LCALL        LABE后,堆栈指针SP和堆栈内容发生了什么变化?PC的值等于什么?如果将指令LCALL        直接换成ACALL是否可以?如果换成ACALL指令,可调用的地址范围是什么?
          答 :     1)SP=SP+1=61H            (61H)=PC的低字节=03H
                        SP=SP+1=62H            (62H)=PC的高字节=20H
                      2)PC=3456H
                      3)可以
                      4)2KB=2048 Byte


          8楼2010-07-06 03:22
          回复
            8.某系统有3个外部中断源1、2、3,当某一中断源变为低电平时,便要求CPU进行处理,它们的优先处理次序由高到低依次为3、2、1,中断处理程序的入口地址分别为1000H,1100H,1200H。试编写主程序及中断服务程序(转至相应的中断处理程序的入口即可)。
            答:若仅在/INT0引脚接3个外部中断源,电路如图5-10(P115)
                             ORG         0000H
                             LJMP         MAIN
                             ORG         0003H
                             LJMP         INT_EX0
                             ORG         0030H
                 MAIN:         CLR             IT0                 ; 采用低电平有效中断
                             SETB         EX0                 ;允许外部中断0
                             SETB         EA            
                             ; 插入用户程序
                WAIT:         MOV         PCON,#01H         ;单片机进入休眠方式等待中断
                             NOP
                             LJMP         WAIT
            ;以下为外部中断0服务子程序
            INT_EX0: JNB         P1.0,NEXT1             ;判断是不是1号中断
                          LJMP         INT_IR1                 ;跳转到1号中断处理程序
            NEXT1:         JNB             P1.1,NEXT2             ;判断是不是2号中断
            


            9楼2010-07-06 03:22
            回复
                            LJMP         INT_IR2                 ;跳转到2号中断处理程序
              NEXT2:         LJMP         INT_IR3                 ;跳转到3号中断处理程序
                           ORG         1000H
              INT_IR1:        
                           ;插入相应中断处理程序
                           RETI                         ;中断返回
                           ORG         1100H
              INT_IR2:        
                           ;插入相应中断处理程序
                           RETI                         ;中断返回
                           ORG         1200H
              INT_IR3:        
                           ;插入相应中断处理程序
                           RETI                         ;中断返回


              10楼2010-07-06 03:22
              回复
                问答:
                1. 目前应用较广泛的主要有以下几种类型:逐次逼近式转换器、双积分式转换器、∑—△式A/D转换器和V/F转换器。
                逐次逼近型A/D转换器:在精度、速度和价格上都适中,是最常用的A/D转换器件。
                双积分A/D转换器:具有精度高、抗干扰性好、价格低廉等优点,但转换速度慢,近年来在单片机应用领域中也得到广泛应用。
                ∑—△式A/D转换器:它具有积分式与逐次逼近式ADC的双重优点,它对工业现场的串模干扰具有较强的抑制能力,不亚于双积分ADC,它比双积分ADC有较高的转换速度。与逐次逼近式ADC相比,有较高的信噪比,分辨率高,线性度好,不需要采样保持电路。
                2. A/D转换器的两个最重要指标:
                (1) 转换时间和转换速率
                转换时间A/D完成一次转换所需要的时间。转换时间的倒数为转换速率。
                (2)分辨率
                A/D转换器的分辨率习惯上用输出二进制位数或BCD码位数表示。
                3. 二种方式
                (1) 单缓冲方式。其特点是DAC0832内部的两个数据缓冲器有一个处于直通方式,另一个处于受MCS—51控制的锁存方式。适用于只有一路模拟量输出,或虽是多路模拟量输出但并不要求多路输出同步的情况下。
                (2) 双缓冲方式。其特点是数字量的输入锁存和D/A转换输出是分两步完成的。适用于在多路D/A转换中,要求同步进行D/A转换输出的情况下。
                4. D/A转换器的主要指标如下:
                分辨率
                D/A转换器的分辨率指输入的单位数字量变化引起的模拟量输出的变化,是对输入量变化敏感程度的描述。
                建立时间
                建立时间是描述D/A转换速度快慢的一个参数,用于表明转换速度。其值为从输入数字量到输出达到终位误差±(1/2)GB(最低有效位)时所需的时间。
                转换精度
                      理想情况下,精度与分辨率基本一致,位数越多精度越高。严格讲精度与分辨率并不完全一致。只要位数相同,分辨率则相同.但相同位数的不同转换器精度会有所不同。
                5. 采用8279芯片的键盘/显示器接口方案,与本章介绍的其他键盘/显示器的接口方案相比,有什么特点?
                解:8279芯片的具有不断扫描,自动消抖,自动识别出闭合的键并得到键号,能对双键或N键同时按下进行处理。
                6. 简述TpuP-40A/16A微型打印机的Centronics接口的主要信号线的功能。与MCS-51单片机相连接时,如何连接这几条控制线?
                解:DB0-DB7:数据线,单向传输,由单片机输入给打印机。
                STB(STROBE):数据选通信号。在该信号的上升沿,数据线上的8位并行数据被打印机读入机内锁存。
                BUSY:打印机忙状态信号。当该信号有效(高电平)时,表示打印机正忙于处理数据。此时,单片机不得使STB信号有效,向打印机送入新的数据。
                ACK:打印机的应答信号。低电平有效,表明打印机已取走数据线上的数据。
                ERR:出错信号。当送入打印机的命令格式出错时,打印机立即打印1行出错信息,提示出错。在打印出错信息之前。该信号线出现一个负脉冲,脉冲宽度为30us。
                


                13楼2010-07-06 05:07
                回复
                  MCS-51单片机片内结构
                  1.微处理器(CPU)
                  2.数据存储器(RAM)
                  3.程序存储器(ROM/EPROM),8031没有此部件
                  4.4个8位并行I/O口(P0口、P1口、P2口、P3口)
                  5.1个串行口
                  6.2个16位定时器/计数器
                  7.中断系统
                  8.特殊功能寄存器(SFR)


                  14楼2010-07-06 16:05
                  回复
                    8031、8051、8751的区别
                    8031包括1个8位CPU、128B RAM,21个特殊功能寄存器(SFR)、4个8位并行I/O口、1个全双工串行口,2个16位定时器/计数器,但片内无程序存储器,需外扩EPROM芯片
                    8051是在8031的基础上,片内又集成有4 KB ROM ,作为程序存储器,是1个程序不超过4 KB的小系统,8051应用在程序已定,且批量大的单片机产品中
                    8751是在8031基础上,增加了4 KB的EPROM,它构成了1个程序小于4 KB的小系统,用户可以将程序固化在EPROM中,可以反复修改程序,但其价格相对于8031较贵,8031外扩1片4 KB的EPROM就相当于8751
                    


                    15楼2010-07-06 16:17
                    回复
                      片内结构如图所示:
                      片内结构如图所示:
                      片内结构如图所示:


                      16楼2010-07-06 16:41
                      回复
                        I/O口引脚
                            (1) P0口:双向8位三态I/O口,此口为地址总线(低8位)及数据总线分时复用口,可驱动8个LS型TTL负载。
                            (2) P1口:8位准双向I/O口,可驱动4个LS型TTL负载。
                            (3) P2口:8位准双向I/O口,与地址总线(高8位)复用,可驱动4个LS型TTL负载。
                            (4) P3口:8位准双向I/O口,双功能复用口,可驱动4个LS型TTL负载。
                        注意:准双向口与双向三态口的差别。
                        准双向I/O口各口线在片内有固定的上拉电阻。
                        当3个准双向I/O口作输入口使用时,要向该口先写“1”。
                        准双向I/O口无高阻 “浮空”状态。
                        双向三态口内无固定上拉电阻,可处于高阻的“浮空”状态。在做普通IO口使用时,一般要外接固定上拉或下拉电阻。
                        


                        17楼2010-07-06 16:57
                        回复
                          MCS-51片内RAM的结构:


                          18楼2010-07-06 17:01
                          回复
                            从50个字节的无序表中查找一个关键字××”H
                                     ORG   1000H
                                     MOV     30H,#××H     ;关键字××H送30H单元
                                     MOV     R1,#50         ;查找次数送R1
                                     MOV     A,#14         ;修正值送A     
                                      MOV    DPTR,#TAB4   ;表首地址送DPTR
                            LOOP:PUSH   ACC
                                      MOVC   A,@ A+PC     ;查表结果送A
                                      CJNE   A,40H,LOOP1;(40H)不等于关键                             字则转LOOP1
                                      MOV    R2,DPH     ;已查到关键字,把该字
                                                  ;的地址送R2,R3
                                      MOV    R3,DPL   ;
                            DONE:RET
                            LOOP1:POP   ACC           ;修正值弹出
                                     INC    A           ;A+1→A
                                      INC    DPTR       ;修改数据指针DPTR
                                      DJNZ    R1,LOOP ;R1≠0,未查完,继续查找
                            


                            19楼2010-07-06 17:26
                            回复
                                        MOV   R2,#00H     ;R1=0,清“0” R2 和`R3
                                        MOV   R3,#00H     ;表中50个数已查完
                                        AJMP     DONE         ;从子程序返回
                              TAB4:DB …,…,…     ;50个无序数据表
                              


                              20楼2010-07-06 17:27
                              回复