内容发布更新时间 : 2024/12/25 16:11:31星期一 下面是文章的全部内容请认真阅读。
一、 填空题
已知A=7AH,R0=30H,(30H)=A5H,PSW=81H。求执行以下各小题指令的结果(每小题都以题中给定的已知的数据参加操作)。 1) XCH A,R0 A= 30H ,R0= 7AH ,P= 0 2) XCH A,30H A= A5H ,(30H) 7AH ,P= 0 3) XCHD A,@ R0 A= 75H ,(30H) AAH ,P= 1 4) SWAP A A= A7H ,P= 1
5) ADD A,30H A= 1FH ,CY 1 ,OV= 0 ,P= 1 6) ADD A,#30H A= AAH ,CY 0 ,OV= 1 ,P= 0 7) ADDC A,R0 A= ABH ,CY 0 ,OV= 1 ,P= 1 8) SUBB A,30H A= D5H ,CY 1 ,OV= 0 ,P= 1 9) DA A A= 80H ,CY 0 ,P= 1 10)RL A A= F4H ,CY 1 ,P= 1 11)RLC A A= F5H ,CY 0 ,P= 0 12)CJNE A,#30H,00 A= 7AH ,CY 0 ,P= 1 13)CJNE A,30H,00 A= 7AH ,CY 1 ,P= 1
二、 问答题
1.简述单片机的主要特点。
(1)有1 个由运算器和控制器组成的8位微处理器(CPU) (2)有128B的片内数据存储器(RAM),可用来存放运算的中间结果和最终结果;
(3)有4KB的片内程序存储器(ROM),可用来存放程序及一些原始数据和表格;
(4)扩展片外数据存储器的寻址范围可达到64KB; (5)扩展片外程序存储器的寻址范围可达到64KB;
(6)有21个专用寄存器,主要用来实现对内部功能部件的控制和数据运算; (7)有4 个8 位并行I/O的接口P0、P1、P2、P3,即可用作输入,也可用作输出;
(8)有1 个双全工UART(通用异步接收发送器)串行I/O接口,可用于单片机之间 或单片机与微机之间的串行通信;
(9)有2 个16位定时器/计数器,可用于根据确定的时间间隔或对外部事件计数的多少发出控制信号;
(10)中断系统有5个中断源,可编程为两个优先级; (11)共有111条指令,含有乘法指令和除法指令; (12)有很强的位寻址,位处理能力; (13)片内采用单总线结构;
(14)片内带振荡器,振荡频率的范围为1.2MHZ~12MHZ; (15)用单+5V电源。
2.MCS-51有哪些中断源?各有什么特点?
外部中断源:
INT0:由P3.2端口线引入,低电平或下降沿引起并自动清除。 INT1:由P3.3端口线引入,低电平或下降沿引起并自动清除。
内部中断源:
T0:定时器/计数器0中断,由T0回零溢出引起并自动清除。 T1:定时器/计数器1中断,由T1回零溢出引起并自动清除。 3.程序状态字PSW各位的定义是什么?
进位标志位CY:表示累加器A在加减运算过程中其最高位A7有无进位或借位.; 辅 助进位位AC:表示累加器A在加减运算时低4位(A3)有无向高4位(A4)进位或借位; 用户标志位F0:是用户定义的一个状态标志位,根据需要可以用软件来使它置位或清除; 寄存器选择位RS1,RS0:AT89C51共有四组,每组八个工作寄存器R0~R7.编程时用于存放数据或地址.但每组工作寄存器在内部RAM中的物理地址不同.RS1和RS0的四种状态组合就是用来确定四组工作寄存器的实际物理地址的.; 溢出标志位OV:当执行算术指令时,由硬件自动置位或清零,表示累加器A的溢出状态.; F1(PSW.1) :用户标志位,同F0。 奇偶标志位P:用于指示运算结果中1的个数的奇偶性,若累加器A中1的个数为奇数,则P=1;若1的个数为偶数,则P=0; 4.循环程序由哪几部分组成? 循环的初始化:它完成建立循环次数计数器,设定变量和存放数据的内存地址指针(常用间接寻址方式)的初值,装入暂存单元的初值等。
循环体部分:这部分重复执行计算,它是最主要的部分,真正的计算是通过它的执行而得到的。
循环控制部分:它包括修改变量和修改指针,为了一次循环做准备以及修改循环计数器,判断循环次数到了没有,循环次数到了,则结束循环;循环次数不到,则继续循环。
结束处理部分:它主要用来分析和存放程序的结束
5、在使用8051的定时器/计数器前,应对它进行初始化,其步骤是什么? 解:1、配置定时器/计数器的工作方式。
2、给THi和TLi赋初值。 3、启动定时/计数器。
4、打开定时/计数器中断标志。 5、打开总中断。
6、在有串行通信时,定时器/计数器1的作用是什么,怎样确定串行口的波特率?
解:如果有串行通信时,定时器/计数器1的作用是控制波特率。
串行口的波特率是有定时器1的溢出率决定的。
7、51系列单片机具有几个中断源,分别是如何定义的?其中哪些中断源可以被定义为高优先级中断,如何定义?
解:51系列单片机具有5个中断源。
外部中断0、1是由EXi外部中断标志位,ITi中断触发方式和EA总中断决定。
定时器/计数器0、1是由TMOD工作方式控制器,THi和TLi初始值控制器,TRi定时/计数器开关,ETi定时/计数器中断标志位和EA总中断决定。
串行口接收/发送中断是由SCON串行口控制寄存器,定时/计数器的波特率设置决定。
51系列单片机的5个中断源都可以被定义为高优先级。只要在IP中断优先级控制寄存器的相应位控制就可以!如:串行口优先级:PS置1,串口通信就是高优先级,反之为低优先级。
8、在C51语言中,定义MSC-51单片机的中断服务函数时需要使用关键字interrupt m 进行定义。参数m可以取那些值?分别表示何种意义?
解:m可以去0~4,相应对应各个中断,0为外部中断0,1为定时器/计数器0,2外部中断1,3为定时器/计数器1,4为串行口接收/发送中断。
9、 什么是指令周期、机器周期和震荡周期? 解:指令周期为单片机执行一条指令的时间,机器周期为单片机执行一条最简单的指令需要的时间,震荡周期为石英震荡器震荡一次的时间。
10、在C51中,存储器类型有几种,它们分别表示的存储器区域是什么? 解:片内数据存储器,片外程序存储器,片外数据存储器。 片内数据存储器由00H~FFH;
片外程序存储器由0000H~FFFFH; 片外数据存储器由0000H~FFFFH;
11、简述动态局部变量和静态局部变量的区别。
解:静态局部变量具有局部作用域,它只被初始化一次,自从第一次被初始化直到程序运行结束都一直存在,且静态局部变量只对定义自己的函数体始终可见。
动态局部变量也只有局部作用域,它是自动对象(auto),它在程序运行期间不是一直存在,而是只在函数执行期间存在,函数的一次调用执行结束后,变量被撤销,其所占用的内存也被收回。
12、MSC—51单片机指令系统中有哪几种寻址方式?
解:1、立即寻址,2、直接寻址,3、寄存器寻址,4、寄存器间接寻址,5、变址寻址,6、相对寻址,7、位寻址。
13、MCS-51有哪些中断源?各有什么特点?
外部中断源:INT0:由P3.2端口线引入,低电平或下降沿引起并自动清除。INT1:由P3.3端口线引入,低电平或下降沿引起并自动清除。
内部中断源:T0:定时器/计数器0中断,由T0回零溢出引起并自动清除。T1:定时器/计数器1中断,由T1回零溢出引起并自动清除。
14、简述单片机的主要特点。
(1)有1 个由运算器和控制器组成的8位微处理器(CPU) (2)有128B的片内数据存储器(RAM),可用来存放运算的中间结果和最终结果;
(3)有4KB的片内程序存储器(ROM),可用来存放程序及一些原始数据和表格;