《单片机原理及应用技术》思考题
1 单片机概述
1-1、单片机与PC机有何区别?它的特点是什么?
1-2、MCS-51系列单片机与AT89系列单片机有什么相同和差异?
1-3、单片机的主要技术指标有哪些?这些指标的作用如何?
1-4、对于一个具体的单片机应用系统,选择单片机的原则是什么?
1-5、举一个单片机的应用例子,并画出原理框图,说明工作过程。
1-6、单片机I/0端口数目的多少反映了什么。
2 单片机结构和原理
2-1、8051单片机内部包含那些主要逻辑功能部件?
2-2、8051的EA端有何用途?
2-3、8051单片机存储器的组织结构是怎样的?
2-4、8051如何确定和改变当前工作寄存器组?
2-5、8051单片机有哪几个特殊功能寄存器?可位寻址的SFR有几个?
2-6、(SP)=30H 指什么?
2-7、ALE信号有何功用?一般情况下它与机器周期的关系如何?在什么条件下ALE信号可用作外部设备的定时信号。
2-8、有那几种方法能使单片机复位?复位后各寄存器的状态如何?复位对内部RAM有何影响?
2-9、程序状态寄存器PSW的作用是什么?常用标志有哪些位?作用是什么?
2-10、位地址7CH与字节地址7CH如何区别?位地址7CH具体在片内RAM中什么位置?
单片机编程100例详解
3 指令系统
3-1、MCS-51指令系统主要有哪几种寻址方式?试举例说明。
3-2、设A=0FH,R0=30H,内部RAM的(30H)=0AH、(31H)=0BH、(32H)=0CH,请指出在执行下列程序段后上述各单元内容的变化。
MOV A,@R0
MOV @R0,32H
MOV 32H,A
MOV R0,#31H
M0V A,@R0
3-3、请用数据传送指令来实现下列要求的数据传送。
(1)R0的内容传送到R1。
(2)内部RAM 20H单元的内容传送到A中。
(3)外部RAM 30H单元的内容送R0
(4)外部RAM 30H单元内容送内部RAM 20H单元
(5)外部RAM 1000H 单元内容送内部RAM 20H单元
(6)程序存储器ROM 2000H单元内容送R1
(7)RAM 2000H单元内容送内部RAM 20H单元。
(8)RAM 2000H单元内容送外部RAM 30H单元。
(9)RAM 2000H单元内容送外部RAM 1000H单元。
3-4、设内部RAM(30H)=5AH,(5AH)=40H,(40H)=00H,端口P1=7FH,问执行以指令后,各有关存储单元(即R0,R1,A,B,P1,40H,30H,及5AH单元)的内容如何?
MOV R0,#30H
MOV A,@R0
MOV R1,A
MOV @R1,P1
MOV A,P1
MOV 40H,#20H
MOV 30H,40H
3-5、试编写程序,将内部RAM的20H~2FH共16个连续单元清零。
3-6、试编写程序,求出内部RAM 20H单元中的数据含“1”的个数,并将结果存入21单元。
3-7、试编写程序,查在内部RAM的30H~50H单元中出现FFH的次数,并查的结果存入51H单元。
3-8、试编写程序,计算Σ2i,并将结果存放在内部RAM的30H单元。
3-9、在8051片内RAM中,已知(30H)=38H,(38H)=40H,(40H)=48H,(48H)=90H。请分析下面各是什么指令,说明源操作数的寻址方式以及按顺序执行每条指令后的结果。
MOV A,40H
MOV R0,A
MOV P1,#0F0H
MOV @R0,30H
MOV DPTR,#3848H
MOV 40H,38H
MOV R0,30H
MOV P0,R0
MOV 18H,#30H
MOV A,@R0
MOV P2,P1
3-10设R0的内容为32H,A的内容为48H,片内RAM的32H单元内容为80H,40H单元的内容为08H。请指出在执行下列程序段后上述各单元内容的变化。
MOV A,@R0
MOV @R0,40H
MOV 40H,A
MOV R0,#35H
3-11、已知(A)=83H,(R0)=17H,(17H)=34H。请写执行完下列程序段后A的内容。
ANL A,#17H
ORL 17H,A
XRL A,@R0
CPL A
3-12、编程实现将内部RAM 20H~2FH中的数据和RAM 30H~3FH中的数据对换。
3-13、已知(A)=34H,(30H)=4FH,求:执行ADD
A,30H后,(A)=?指出PSW中相应标志位情况。
3-14、已知SP=25H,PC=2345H,(24H)=12H,(25H)=34H,(26H)=56H。问此时执行“RET”指令以后,SP=?PC=?
3-15、 若SP=25H,PC=2345H,标号LABEL所在的地址为3456H。问执行长调用指令“LCALL
LABEL”后,堆栈指针和堆栈的内容发生什么变化?PC的值等于什么?
4 汇编语言程序设计举例
4.1 从内部RAM的30H单元开始存放一组用补码表示的带符号数,其数目已存放在20H单元。编写程序统计出其中正数、0和负数的数目,并将结果分别存入21H、22H、23H单元。
4.2 内部RAM中有一数据块,存放在20H-2FH单元中。要求对这些数据进行奇偶校验,凡是满足奇偶校验的数据(1的个数为偶数)都要转存到外部RAM8000H开始的数据区中。试编写有关程序。
4.3 编写程序,把外部RAM1000H-10FFH区域内的数据逐个搬到从2000H单元开始的区域。
4.4 从内部RAM的30H单元开始存放着一组无符号数,其数目存放在21H单元中。试编写程序,求出这组无符号数中的最小的数,并将其存入20H单元。
4.5 设计一个循环系统,如图3-11所示。单片机的P1口并行输出驱动8个
光二级管。试编写程序,使这些发光二级管每次只点亮一个,循环左移或右移,一个接一
个地亮,循环不止。
4.6 设计一段程序实现如下功能:把片内RAM30H-3FH单元中的16个数的存放顺序颠倒过来。
4.7 设计一段程序实现如下功能:出从片内RAM30H开始的16个单元中最小值所在的单元,并将该单元的内容改成0FFH。
4.8 编写一段程序实现逻辑运算:P1.7=P1.6(P1.5⊕P1.4)。
4.9 设计一段程序实现如下功能:统计出从片内RAM30H开始的16个单元中有多少数大于40小于80,并把结果存入40H单元中。
5 中断系统
5.1 设计一个能将十六进制数转换成ASCII码的子程序,使命名为HEXASC;用此子程序将(RO)中的两位十六进制数转换成ASCII码并分别存入R1(高位)和R2(低位)
5.2 8051单片机提供了几个中断源?有几级中断优先级别?各中断标志是如何产生的又如何
清除这些中断标志?各中断源所对应的中断矢量地址是多少?
5.3 试分析以下几种中断优先级的排列顺序(级别由高到低)是否可能?若可能,则应如何设置中断源的中断级别?否则,请简述不可能的理由。
(1) 定时器T0溢出中断,定时T1溢出中断,外中断1NT0,外中断不NT1,串行口中断
(2) 串行口中断,外中断1NT0,定时器T0溢出中断,外中断INT1,定时器T1溢出中断;
(3) 外中断INT0,定时器T1溢出中断,外中断INT1,定时器T0溢出中断,串行口中断;(4) 外中断INT0,外中断INT1,串行口中断,定时器T0溢出中断,定时器T1溢出中断;
(5) 串行口中断,定时器T0溢出中断,外中断INT0,外中断INT1,定时器T1溢出中断;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论