还剩6页未读,继续阅读
文本内容:
《单片机原理及应用》课程复习题适用于电子信息工程11级
一、填空题
1、AT89S51单片机为8位单片机,共有40个引脚
2、AT89S51的机器周期等于12个时钟振荡周期
3、AT89S51访问片外存储器时,利用ALE信号锁存来自P0口发出的低8位地址信号
4、AT89S51的P3口为双功能口
5、AT89S51内部提供2个可编程的16位定时/计数器,定时器有4种工作方式
6、AT89S51有2级中断,5个中断源
7、AT89S51的P2口为高8位地址总线口
8、设计一个以AT89C51单片机为核心的系统,如果不外扩程序存储器,使其内部4KB闪烁程序存储器有效,则其EA*引脚应该接+5V
9、单片机系统中使用的键盘分为独立式键盘和行列式键盘,其中行列式键盘的按键识别方法有扫描法和线反转法
10、AT89S51内部数据存储器的地址范围是00H~7FH,位地址空间的字节地址范围是20H~2FH,对应的位地址范围是00H~7FH,外部数据存储器的最大可扩展容量是64K
11、如果A=34H,R7=0ABH,执行XCHAR7;结果A=0ABH,R7=34H
12、在R7初值为00H的情况下,DJNZR7,rel指令将循环执行256次
13、欲使P1口的低4位输出0,高4位不变,应执行一条ANLP1#0F0H命令
14、若CPU使用的是寄存器第1组,R0~R7的地址范围是08H-0FH
15、单片机进行串行通信时,晶振频率最好选择
11.0592MHz
16、当执行MOVXA,@R1指令时,伴随着RD*控制信号有效
17、若A中的内容为67H,那么,P标志位为
118、AT89S51唯一的一条16位数据传送指令为MOVDPTR,data
1619、LJMP的跳转范围是64K,AJMP的跳转范围是2KB,SJMP的跳转范围是±128B(或256B)
20、74LS138是具有3路输入的译码器芯片,其输出作为片选信号时,最多可以选中8片芯片
21、如果DPTR=507BH,SP=32H,30H=50H,31H=5FH,32H=3CH,则执行下列指令后POPDPHPOPDPLPOPSP则DPH=___3CH___;(DPL)=___5FH___;(SP)=___50H___;
22、AT89S51复位后,PC与SP的值为分别为0000H和07H
23、当单片机复位时PSW=00H,这时当前的工作寄存器区是0区,R4所对应的存储单元地址为04H
24、当AT89S51执行MOVCA,@A+DPTR指令时,伴随着PSEN*控制信号有效
25、D/A(数/模)转换器的作用是把(数字量)转换成(模拟量),而A/D(模/数)转换器则正好相反
26、51单片机指令系统中,ADD与ADDC指令的区别是进位位Cy是否参与加法运算
27、如果A=45H,R1=20H,20H=12H,执行XCHDA@R1;结果A=42H,20H=15H
28、在内部RAM中可位寻址区中,位地址为40H的位,该位所在字节的字节地址为28H
29、关于定时器,若振荡频率为12MHz,在方式2下最大定时时间为256us
30、AT89S51单片机的通讯接口有串行和并行两种形式在串行通讯中,发送时要把并行数据转换成串行数据接收时又需把串行数据转换成并行数据
31、若AT89S51外扩32KB数据存储器的首地址若为4000H,则末地址为BFFFH
32、执行如下三条指令后,30H单元的内容是#0EHM O V R 1,#30H M O V 40H,#0 E H M O V @R 1,40H
33、51单片机片内20H~2FH范围内的数据存储器既可以字节寻址又可以位寻址
34、一个机器周期等于6个状态周期,振荡脉冲2分频后产生的时序信号的周期定义为状态 周期
35、执行MOVXA,DPTR指令时,51单片机产生的控制信号是RD*
36、ORG0000HAJMP0040HORG0040HMOVSP,#00H当执行完左边的程序后,PC的值是0042H
37、对程序存储器的读操作,只能使用MOVC指令
38、当使用慢速外设时,最佳的传输方式是中断
39、51单片机串行接口有4种工作方式,这可在初始化程序中用软件填写特殊功能寄存器__SCON_加以选择
40、51单片机中,可变波特率的多机通信应使用方式
341、使用定时器
0、选择2区工作寄存器区,则中断服务函数的C语言代码应该是voidintdemointerrupt1using2
二、判断题
1、MOV55H,@R5(×)
2、INCDPTR(√)
3、DECDPTR(×)
4、CLRR0(×)
5、MOVT0,#3CF0H(×)
6、8031与8051的区别在于内部是否有程序存储器(√)
7、内部RAM的位寻址区,既能位寻址,又可字节寻址(√)
8、串行口工作方式1的波特率是固定的,为fosc/32(×)
9、8051单片机中的PC是不可寻址的(√)
10、51单片机系统可以没有复位电路(×)
11、某特殊功能寄存器的字节地址为80H,它即能字节寻址,也能位寻址(√)
12、PC存放的是即将执行的下一条指令(√)
13、TMOD中的GATE=1时,表示由两个信号控制定时器的启停(√)
14、特殊功能寄存器SCON与定时器/计数器的控制无关(√)
15、各中断源发出的中断请求信号,都会标记在AT89S51的TCON寄存器中(×)
16、51单片机上电复位时,SBUF=00H(×)
17、51单片机的相对转移指令最大负跳距是127B(×)
18、51单片机的程序存储器只是用来存放程序的(×)
19、51单片机的串行接口是全双工的(√)
20、51单片机的特殊功能寄存器分布在60H~80H地址范围内(×)
21、MOVC,#00H的寻址方式是立即寻址(×)
22、51单片机的5个中断源优先级相同(×)
三、简答题
1、请写出共阴数码管显示数字0~9对应的段码值
2、请写出共阳数码管显示数字0~9对应的段码值
3、AT89S51单片机指令系统的寻址方式有哪些?
4、请说明51单片机的外部引脚EA*的作用?答:当EA*为高电平时,访问内部程序存储器,但当地址大于0FFF时,自动转到外部程序存储器;当EA*为低电平时,只读取外部程序存储器
5、举例说明指令PUSH和POP的工作原理
6、特殊功能寄存器中,哪些单元是可以位寻址的?
7、AJMP指令和LJMP指令的区别?
8、中断服务子程序返回指令RETI和普通子程序返回指令RET有什么区别?答RETI除了将压栈的内容出栈外(即现场恢复),还清除在中断响应时被置1的AT89S51内部中断优先级寄存器的优先级状态
9、AT89S51外扩的程序存储器和数据存储器可以有相同的地址空间,但不会发生数据冲突,为什么?答AT89S51外扩的程序存储器和数据存储器可以有相同的地址空间,但不会发生数据冲突这是因为它们的控制信号不同1外扩程序存储器是PSEN*信号为其控制信号,外扩数据存储器是RD*与WR*信号为其控制信号2指令不同,程序存储器用MOVC读取,数据存储器用MOVX存取
10、51单片机片内256B的数据存储器可分为几个区?分别作什么用?答
(1)通用工作寄存器区,00H–1FH共4组,R0-R7,在程序中直接使用
(2)可位寻址区,20H-2FH可进行位操作,也可字节寻址
(3)用户RAM区,30H-7FH,只可字节寻址,用于数据缓冲及堆栈区
(4)特殊功能寄存器区,80H-FFH,21个特殊功能寄存器离散地分布在该区内,用于实现各种控制功能
11、AT89S51采用6MHz的晶振,定时1ms,如用定时器方式1时的初值(16进制数)应为多少?(写出计算过程)
12、写出AT89S51的所有中断源,并说明说明哪些中断源在响应中断时,由硬件自动清除,哪些中断源必须用软件清除,为什么?答:外部中断INT0*,定时器/计数器中断T0,外部中断INT1*,定时器/计数器中断T1,串行口中断其中串行口中断TI与RI必须用软件清“0”,因为串口中断的输出中断为TI,输入中断为RI,故用软件清“0”
13、51单片机指令系统主要有哪几种中断源?并写出每个中断入口地址?答中断源入口地址外部中断00003H定时器0溢出000BH外部中断10013H定时器1溢出0001BH串行口中断0023H
14、LED的静态显示方式与动态显示方式有何区别?各有什么优缺点?答静态显示期间,锁存器输出的段码不变,亮度大,各位LED的段选分别控制,位数多硬件电路复杂;动态所有位段码线并连一起,各位的亮灭靠片选控制端控制,亮度较低,多位控制电路简单
15、请画出单片机最小系统
16、简述行列式扫描键盘的工作原理答:扫描键盘工作原理首先X0~X3始终接高电平Y0~Y3给低电平扫描P
1.0~P
1.3若全为高电平则没有键按下若有低电平则有键按下接着Y0输出低电平Y1~Y3输出高平扫描P
1.0~P
1.3若全为高电平则没有键按下若有低电平则找出相位得到所按的键再Y1输出低电平Y0Y2Y3输出高电平重复第2步骤作.再Y2输出低电平Y0Y1Y3输出高电平扫描再Y3输出低电平Y0Y1Y2输出高电平扫描根据据以上扫描,确定以上各键是否按下
17、什么叫堆栈?答堆栈是在片内RAM中专门开辟出来的一个区域,数据的存取是以后进先出的结构方式处理的实质上,堆栈就是一个按照后进先出原则组织的一段内存区域
18、PC是什么寄存器?是否属于特殊功能寄存器?它有什么作用?答PC是16位程序计数器(ProgramCounter),它不属于特殊功能寄存器范畴,程序员不以像访问特殊功能寄存器那样来访问PCPC是专门用于在CPU取指令期间寻址程序存储器PC总是保存着下一条要执行的指令的16位地址通常程序是顺序执行的,在一般情况下,当取出一个指令(更确切地说为一个指令字节)字节后,PC自动加1如果在执行转移指令、子程序调用/返回指令或中断时,要把转向的地址赋给PC
19、DPTR是什么寄存器?它由哪些特殊功能寄存器组成?它的主要作用是什么?答DPTR是16位数据指针寄存器,它由两个8位特殊功能寄存器DPL(数据指针低8位)和DPH(数据指针高8位)组成,DPTR用于保存16位地址,作间址寄存器用,可寻址外部数据存储器,也可寻址程序存储器
20、熟记IE、IP、TCON、SCON、TMOD、PCON等寄存器各位的含义
四、大题
1、编写课本的例6-
1、6-
2、6-
42、编程将片内RAM30H单元开始的15B的数据传送到片外RAM3000H开始的单元中去 解STRAT MOVR0#30HMOVR7#0FHMOVDPTR#3000HLOOP MOVA@R0MOVX@DPTRAINCR0INCDPTRDJNZR7LOOPRET
3、编一个程序,将累加器中的一个字符从串行接口发送出去.解SOUT MOVSCON#40H;设置串行接口为工作方式 MOVTMOD#20H;定时器T1工作于模式2MOVTL1#0E8H;;设置波特率为1200b/sMOVTH1#0E8HSETBTR1MOVSBUFAJNBT1$CLBT1RET
4、片内RAM40H开始的单元内有10B二进制数,编程找出其中最大值并存于50H单元中.解START:MOVR0#40H;数据块首地址送R0MOVR7#09H;比较次数送R7 MOVA@R0;取数送A LOOP:INCR0MOV30H@R0;取数送30HCJNEA30HNEHT;(A)与(30H)相比NEXT:JNCBIE1A≥30H转BIR1MOVA30H;A<30H大数送A BIE1:DJNZR7LOOP;比较次数减1,不为0,继续比较 MOV50HA;比较结束,大数送50H RET
5、编定一个软件延时1S和1min的子程序设fosc=6Hz,则一个机器周期1μs解
(1)1S=2US*5*1000005*100000=250*200*102ORG1000HTIME:MOVR7#10T3:MOVR6#200T2:MOVR6#250T1:DJNZR5T1DJNZR6T2DJNZR7T3RET21min=60,调用上面1s子程序60次ORG0030HMOVR0#60LOOP:LCALLTIMEDJNZR0LOOPRET
6、请编制串行通信的数据发送程序,发送片内RAM50H~5FH的16B数据,串行接口设定为方式2,采用偶校验方式设晶振频率为6MHz解查询方式发送程序如下MOVSCON#8OHMOVPCON#80HMOVR0#50HMOVR7#16HLOOP:MOVA@R0MOVCPMOVTB8CMOVSBUFAJNBT1$CLRT1INCR0DJNZR7LOOPRET
7、编制一个循环闪烁的程序有8个发光二极管,每次其中某个灯闪烁点亮10次后,转到下一个闪烁10次,循环不止画出电路图解:MOVA#01HSHIFT:LCALLFLASHRRSJMPSHIFTFLAH:MOVR2#0AHFLAH1:MOVP1ALCALLDELAYMOVP#00HLCALLDELAYDJNZR2FLASH1RET
8、请回答
(1)下图中外部扩展的数据存储器容量是多少?
(2)三片6264的地址范围分别是多少?地址线未用到的位填1
(3)若外部程序存储器已扩展(未画出),请编写程序,要求
①将30H~3FH中的内容送入62641#的前16个单元中;
②将62642#的前32个单元的内容送入40H~5FH中;解:
(1)外部扩展的数据存储器为3片8K的RAM,外扩容量为24K
(2)A15A14A13地址范围0116000H~7FFFH101A000H~BFFFH110C000H~DFFFH
(3)
①程序如下ORG0000HRESET AJMPMAIN;复位,转主程序ORG0100HMAIN MOVDPL#00H;初始化DPTRMOVDPH#60HMOVR0#30H;初始化R0LOOP:MOVA,@R0MOVX@DPTRAINCR0INCDPTRCJNER0#40HLOOPNOPRET
②程序如下ORG0000HRESET AJMPMAIN;转主程序ORG0100HMAIN MOVDPL#00H;初始化DPTRMOVDPH#0A0HMOVR0#40H;初始化R0LOOP2:MOVXA@DPTRMOV@R0AINCDPTRINCR0CJNER0#60HLOOP2NOPRET。