8051单片机考试试题及答案_2

更新时间:2023-05-12 14:05:31 阅读: 评论:0

一、填空题
1、 请完成下列数制间的转换:
00100110B =    D ;(10011010B  =    H
2、 根据一次传送数据位的多少,单片机传送数据的方式分为两种,即       
方式和         方式。
3、 假定(A=22H,(R0=66H,(66H=FFH,执行指令:
ADD  A@R0  后,累加器A的内容为      CY内容为   
4、 个人电脑(PC)存储器采用的结构为普林斯顿结构,其特点是数据存储器和程序存储器统一编址,即存放在同一存储器中;而51单片机的存储器结构为
   结构,其特点是                         
5、 单片机中有    个并行口,    个串行口。
6、 单片机能够识别的语言是           ,但该语言记忆非常不方便,因此我们通常编写单片
机程序使用的语言是      ;对编程效率要求很而执行效率要求不高的时候,还可以使用C语言对单片机进行编程。
7、 执行指令JZ NEXT时,当A等于      时程序发生跳转。
8、 单片机上电复位后P3=   HSP=      H
9、 某单片机晶振频率为6MHZ时,则该单片机的一个机器周期为     
10、 单片机系统复位后(PSW=00H,此时内部RAM寄存器区当前寄存器组是
  组,该组寄存器的单元地址范围为       
11、 程序状态寄存器PSW的作用是用来保存程序运行过程中的各种状态信息,其中CY        标志。
二、选择题
1、 89C51单片机内部ROM的容量是                                    (        )
A128B            B4KB            C256B        D64KB
2、 8051单片机的四个并行口P0P1P2P3,用作通用I/O口时,在读数据之前必须进行的操作是:                                                       
A、写0            B、写1                C、读                D、随便
3、 MOV  @R0,#99H 源操作数的寻址方式是                              
A.位寻址            B.立即数寻址    C.寄存器寻址        D.寄存器间接寻址
4、 在中断服务程序中,至少应有一条                                     
A. 加法指令      B. 减法指令      C. 跳转指令      D.中断返回指令
5、 下列哪个不属于中断服务程序的入口地址                                   
A 0003H          B000BH            C0013H            D00020H
6、 对程序存储器的读操作,只能使用指令                                 
AMOVX          BPHSH            CMOV            DMOVC
7、 8051单片机的定时/计数器共有四种操作模式,由TMOD寄存器中M1 M0的数值决定,当M1 M0的数值为00 B时,定时/计数器被设定为                   
A13位定时/计数器          B、自动重装8位定时/计数器
C16位定时/计数器          DT02个独立的8位定时/计数器
8、 下列说法是错误的是                                                       
APC 是不可寻址的
B、单片机的主频越高,其运算速度越快
C、在 MCS-51 单片机中,一个机器周期等于 1us
D、特殊功能寄存器 SP 内装的是堆栈顶部的地址
9、 定时/计数器T0计数满产生溢出后,会向CPU发出中断请求,若此时CPU允许并接受该中断请求,则程序计数器PC的内容将被自动修改为               
A0003H                        B000BH           
C0013H                            D001BH
10、 下列有关MCS-51中断优先级控制的叙述中,错误的是                   
A、同级中断不能相互中断
B、低优先级不能中断高优先级,但高优先级可以中断低优先级
C、同级中断请求按单片机查询的次序依次响应
D、多个同级中断同时申请中断时系统将同时响应
11、 8051有四个工作寄存器组,单片机复位后,若执行 SETB  RS1 指令,此时单片机使用的工作寄存器组是第几组?                                       
A0                B1              C2        D3 
12、 在大型程序设计中,通常采用的程序设计的步骤为:               
A、无所谓
B、先画流程图,再划分功能模块,最后写程序
C、先划分功能模块,再画各模块的流程图,最后写各模块的程序
D、先写程序,再画流程图,最后划分功能模
13、 在进行串行通信中,两机可同时发送和接收的工作方式为               
A、单工传送                                B、半双工传送   
C、双工传送                            D、全双工传送
14、 PC中的内容是                                                           
A、当前指令的前一条指令的地址      B、当前正在执行的指令的地址
C、下一条将执行指令的首地址        D、控制器中指令寄存器的地址
15、 51单片机响应中断时,不一定要满足的条件是                           
ATCONSCON寄存器内的有关中断标志位为1
B、中断允许寄存器内对应的中断允许位为1
C、中断优先级寄存器内对应的优先级位为1
D、执行完毕正在执行的指令
三、编程题
1、 试编程把8051内部RAM 30H3FH各单元的内容清零。
2、 试编程统计片内RAM 30H-3FH单元中数据99H的个数。
四、解答题
1、 简述单片机的组成结构和功能特点。
2、 简述89C5187C51的区别及字母“C”的含义;并简述80518031的区别。
3、 比较单片机与PC机的优缺点,并举例说明两者在生活生产中的应用范围有何不同。
参考答案
一、 填空题(每空1分,共20分)
1、   38      9A   
2、  串行方式     并行方式 
3、   21H      
4、   哈佛    数据和程序存储器分开,独立编址 
5、   4    1 
6、  机器语言        汇编语言   
7、    0   
8、   FFH    07H 
9、   1us 
10、    0    00H     07H   
11、   进位借位 
二、 选择题(每题2分,共30分)
1- 5   B  B  D D  D            510  A  A  C C D 
1115   C  C  D D  A 
三、 编程题(每题10分,共20分)
1、 解:
ORG 0000H
MOV R0,30H
NEXT    MOV @R0,#00H
INC R0
CJNE R0,#40HNEXT
LJMP $
END
2、解:
        ORG 0000H
        MOV A,#00H
        MOV R0,#30H
LOOP    CJNE @R0,#99HNEXT
        INC A
NEXT    INC R0
        CJNE R0,#40HLOOP
        LJMP $
        END
四、 简答题(每小题10分,共30分)
1、 答:堆栈的存取规则:存时先SP1,再存放数据,取时先取数据再SP1
………………………………………………………4
执行PUSH B:先将SP的内容加1,变为08H,再将B的内容放到08H地址单内。
………………………………………………………3
执行POP ACC:先将SP所指向的地址单元08H的内容取出,并放入寄存器ACC中,然后将SP的内容减1,变为07H
………………………………………………………3
2、 答:
89C51内部ROM为可电擦写的Flash
87C51内部ROMEPROM
C”代表该单片机为CHMOS工艺制造,其电平与TTLCMOS电平兼容
8051内部有4KB的掩膜型ROM,而8031内部没有任何ROM
3、 答:
体积:单片机体积小,安装简单,使用方便,特别是一些控制功能简单的系统中;PC机体积大,只能应用于大型工程项目中。
价格:单片机价格便宜,可应用于价格低廉的产品中;PC机价格高很多,在大型工程项目中才具有一定的性价比。
速度:单片机运行速度低,只能应用于控制性能要求低,计算量小的场合;PC机处理速度很高,可应用于对处理速度要求很高,数据处理量很大的场合。
容量:单片机存储器容量小,程序很小,能实现的功能有限;PC机存储器容量很大,可编写程序大,实现很复杂的控制功能。
编程应用:单片机采用汇编语言或C语言编程,速度慢,效率低,能实现的功能简单。PC机可采用高级语言编程,编程效率高,能实现可视化控制。
四、编程题
编写一个程序,包含三个任务,一个任务监控P0端口,另一个任务向P2端口写数据,第三个任务通过串口输出字符串。
答:
    #include <RTX51TNY.h>
    #include <reg52.h>
    #include <stdio.h>
    unsigned char ch0;
    Thread0 () _task_ 0                              //任务0
    {
        os_create_task(1);                        //创建任务1
        while(1)
        {
            ch0=P0;                        // 读P0口
        }
    }
    Thread1 () _task_ 1                              //任务1
    {
        unsigned char ch1;
        while(1)
        {
            P2=P2+1;
        }
    }
    Thread2 () _task_ 2                              //任务2
    {
        os_create_task(1);                        //创建任务1
        while(1)
        {
            printf("ch0=%x\n",ch0);        //输出结果
        }
    }
四、编程题
开发一个单片机程序,接收计算机通过串口发送的数据流,将其中的小写字符转换为大写字符,并回送给计算机。
答:
#include<string.h>                            //头文件
#include<stdio.h>
#include <reg51.h>
void    main(void)                                  //主函数
{
char a;
char c;
    SCON=0x50;                                    //串口模式1,允许接收
    TMOD|=0x20;                                    //初始化T1为定时功能,模式2
    PCON|=0x80;                                    //设置SMOD=1
    TL1=0xF4;                                    //波特率4800bit/s,初值
    TH1=0xF4;
    IE|=0x90;                                    //中断
    TR1=1;                                        //启动定时器
while(1)
{
printf ("Enter a char\n");
scanf ("%c", &a);                                //输入数据
c= toupper(a);
printf ("a=%c,c=%c \n",a,c);
}
}
四、编程题
开发一个写I2C总线接口EEPROM的程序,并提供检验功能,当检验失败的时候提供报警。
答:利用单片机的P1.0、P1.1作为I2C串行总线的SCL、SDA接口,向AT24C08写入8个字节的数据,然后再将写入的数据读出,并比较。如果读写的数据完全一致,则置P3.7引脚为高电平,发光二极管亮;否则置P3.7引脚为低电平,发光二极管灭。程序代码示例如下:

本文发布于:2023-05-12 14:05:31,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/600320.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:单片机   程序   中断   寄存器
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图