单片机考试题

发布 2024-04-17 19:10:10 阅读 4391

简答题。

15、已知振荡器振荡频率为12mhz,要求定时器/计数器0产生10ms的定时,试编写初始化程序。

首先计算th0、tl0的初值,th0=d8h,tl0=f0h;其次确定方式寄存器tmod的值为01h;最后写出初始化程序:

start: mov tl0,#0f0h

mov th0,#0d8h

mov tmod,#01h

setb tr0

16、简述定时器/计数器的4中工作方式的特点。

17、综述p0、p1、p2、p3口各有哪几个功能?

18、为何说p1口是“准双向接口”?

19、波特率表示什么?8051单片机的串口在4种工作方式下的波特率分别如何确定?

20、如异步通信,每个字符由11位组成,串行口每秒钟传送250个字符,则波特率为多少?

答:波特率是每秒钟传送的二进制数的位数,所以波特率为11×250=2750

21、设串行异步通信的传送速率为2400波特,传送的是带奇偶校验的ascii码字符,每个字符包含10位(1个起始位,7个数据位,1个奇偶校验位,1个停止符),问每秒钟最多可传送多少个字符?

答:2400/10=240

22、串行数据传送的主要优点和用途是什么?

23、mcs-51有几个中断优先级?如何设定?

24、mcs-51单片机cpu响应中断后,由硬件自动执行哪些操作?

25、mcs-51指令系统主要有哪几种寻址方式?请举例说明。

26、中断服务子程序返回指令reti和普通子程序返回指令ret有什么区别?

27、试用三种方法,实现累加器a与寄存器b的内容交换。

方法一、xch a, b

方法二、mov r0, b

mov b, a

mov a, r0

方法三、push acc

push b

pop acc

pop b28、何谓堆栈?为什么要设置堆栈?栈区是怎么样确定的?数据进栈、出栈有何种规律?出栈用什么指令?进栈用什么指令?进栈、出栈时堆栈指针将怎样变化?

29、基址寄存器加变址寄存器间接寻址指令中使用pc与dptr有何区别?

30、区分下列指令的不同功能:mov a,#24h与mov a,24h

31、分析8051单片机数据传送指令中mov、movc、movx的作用。

32、jmp、ajmp、sjmp指令有何区别?

33、用于外部数据传送的指令有哪几条?有何区别?

34、mcs-51单片机扩展系统中,为什么p0口要接一个8位的锁存器,而p2口却不接?

35、单片机系统中的定时和计数功能有何区别?分别适用于什么场合?简述其工作原理。

36、说明mcs-51汇编语言源程序的基本格式。

37、请举例说明mcs-51汇编语言中伪指令的作用。

38、简述/psen控制信号线的作用。

39、基址寄存器加变址寄存器间接寻址指令包括哪两种?请列举说明。

40、a/d转换接口中采样保持电路的作用是什么?省略采样保持电路的前提条件是什么?

41、单片机用于外界过程控制中,为何要进行a/d、d/a转换?

42、mcs-51外扩的程序存储器和数据存储器可以有相同的地址空间,但不会发生数据冲突,为什么?

43、在既有片内程序存储器、又扩展片外程序存储器的情况下,两部分存储器的编址如何进行?

44、用线选法和译码扩展存储器各有什么特点?

45、简述mcs-51单片机扩展时/we、/rd控制信号线的作用。

46、请说明动态扫描和静态扫描显示方式的特点。

47、区分下列指令的不同功能:mov a,r0与mov a,@r0。

48、访问位地址2bh和字节地址2bh的区别是什么?

49、简述中断系统初始化步骤。

1、 置位相应中断源的中断允许。

2、 设定所有终端源的中断优先级。

3、 若为外部中断,则应规定低电平还是负边沿的中断触发方式。

50、简述键盘的工作原理。

一、 程序题。

1、 设被加数和加数分别在以adr1和adr2为初址的片内数据存储器中,自低字节起,由低字节依次存放;他们的字节数为l;请编程将他们加得的和放在原存放被加数的单元中。

mov r0,#adr1

mov r1,#adr2

mov r2,l

loop: mov a,@r0

addc a,@r1

mov @r0,a

inc r0

inc r1

djnz r2,loop

done:

2、设被减数和减数分别在以adr1和adr2为初址的片内数据存储器中,自低字节起,由低字节依次存放;他们的字节数为l;被减数够减,即最稿高字节想减时不至借位;请编程将他们减得的差放在原存放被减数的单元中。

mov r0,#adr1

mov r1,#adr2

mov r2,#l

clr cloop: mov a,@r0

subb a,@r1

mov @r0,a

inc r0

inc r1

djnz loop

done:3、将rom中自2000h单元起的100个数,按序移至片外ram自2080h单元起的内存区间去mov dptr,#2000h

mov r1,#64h

mov r2,#

loop: mov a,r2

movc a,@a+dptr

mov r3,a

mov a,#8oh

add a,r2

mov dpl,a

mov a,r3

movx @dptr,a

inc r2

mov dpl,#

djnz r1,loop

done:4、编写程序将片外数据存储器地址为1000h~102fh的数据块,全部搬迁到片内ram30h~5fh中,并将原数据块区域全部清零。

start: mov dptr,#1000h

mov r0,#30h

mov r1,#30h

loop: movx a,@dptr

mov @r1,a

clr amovx @dptr,a

inc dptr

inc r1

djnz r0,loop

5、设有100个有符号数,连续存放在以2000h为首址的片外数据存储器中,试编程统计其中正数、负数和零的个数,统计的个数分别放在r0、r1、r2中。

start: clr a

mov r0,a

mov r1,a

mov r2,a

mov dptr,#2000h

mov r3,#

loop: movx a,@dptr

jz zero

jb a.7,neg

inc r0

sjmp ll

zero: inc r2

sjmp ll

neg: inc r1

ll: inc dptr

djnz r3,loop

6、 将片内ram60h~69h单元中的10个数相加,和的低8位存入7eh,高8位存入7fh。

mov 7fh,#00h

mov r1,#09h

mov r0,#60h

mov a,@r0

inc r0

loop: add a,@r0

jnc lp1

inc 7fh

lp1: inc r0

djnz r1,loop

mov 7eh,a

done7、 将寄存器a中的十六进制数(该数为0—f)转换为ascii码,转换后的数仍然放在寄存器a中。

mov r2,a

add a,#0f6h

mov a,r2

jnc ad30

add a,#07h

ad30: add a,#30h

8、 编写程序,统计自p1口输入的数字串中的正数、负数及零的个数,统计的个数分别存放在r0、r1、r2三个工作寄存器中。

start: clr a

mov r0,a

mov r1,a

mov r2,a

enter: mov a,p1

jz zero

jb p1.7,neg

inc r0

sjmp enter

zero: inc r2

sjmp enter

neg: inc r1

sjmp enter

9、 编写程序,将外部数据存储器中的5000h—50ffh单元全部清零。

mov dptr #5000h

mov r0,#00h

clr a

loop: movx @dptr,a

inc dptr

djnz r0,loop

here:: sjmp here (ret ,sjmp $ 等)

10、分析下列程序的功能。

push acc

push b

pop acc

pop b是通过累加器acc与寄存器b数据交换。

11、如果(dptr)=507bh,(sp)=32h,(30h)=50h,(31h)=5fh,(32h)=3ch,则执行下列指令后:

pop dph;

pop dpl;

pop sp;

则:(dph)= 3ch___dpl)=_5fh___sp)=_50h___

12、如果(dptr)=5678h,(sp)=42h,(3fh)=12h ,(40h)=34h,(41h)=50h,(42h)=80h,则执行下列指令后:

pop dph

pop dpl

ret则:(pch) =34h__;pcl)=_12h___dph)=_80h__;dpl)=_50h__;

13、分析以下程序的功能。程序执行后片内ram42h、43h单元和进位标志位c

中内容为多少?

mov r0,#40h

mov a,@r0

inc r0

add a,@r0

inc r0

mov @r0,a

clr aaddc a,#

inc r0

mov @r0,a

14、阅读并分析以下程序片段的功能。

start: mov r0,#40h

mov r1,#10h

loop: clr c

mov a,@r0

inc r0

subb a,@r0

jnc next

mov a,@r0

dec r0

xch a,@r0

inc r0

mov @r0,a

next: djnz r1,loop

15、试编写程序段,将片内ram的20h-2fh共16个连续单元清零。

16、分析下列程序段的功能。

mov 30h,#

mov 31h,#

mov 32h,#

mov dptr,2000h

mov r1,#

l4:movx a,@dptr

inc dptr

cjne a,#0,l1

单片机考试题

单片机原理与应用 练习题及评分标准。一 填空题 每空1分 1 微处理器有和若干寄存器组成。2 十进制数 47用8位二进制补码表示为。3 mcs 51中凡是字节地址能够被整除的sfr均能位寻址。4 mcs 51有4个并行io口,其中是准双向口,所以由输出转输入时必须先。5 计算机的系统总线有地址总线和...

单片机考试题

一 选择题 第三章习题 20分,每小题1分 1.在单片机cpu中,psw中的cy ac ov和p是反映 参与运算的状态。a dptr b bc a d sp2.mcs 51系列单片机中,反映程序运行状态或反映运算结果的特殊功能寄存器是 a pcb psw c ad sp 3.mov a,r0这条指令...

单片机考试题

复习题。一 填空题。1 通常单片机上电复位时pc 0000 h,sp 07 h,通用寄存器则采用第 0 组。2 mcs 51单片机系列有 5 个中断源。4 指令格式由 操作码 和 操作数 这两部分组成。5 8051在物理结构上有 4 个存储空间,它们分别是 片内数据存储区 片外数据存储区 片内程序存...