1.80C51单片机的内部硬件结构包括了: 、 、
、和 以及并行I/O口、串行口、中断控制系统、时钟电路、位处理器等部件,这些部件通过 相连接。
2. MCS-80C51系列单片机字长是 _____ 位,有____根引脚. 单片机的特点有 _________、
__________、____________。
3. MCS-51单片机的P0~P4口均是 I/O口,其中的P0口和P2口除了可以进行
数据的输入、输出外,通常还用来构建系统的 和 ,在P0~P4口中, 为真正的双相口, 为准双向口; 口具有第二引脚功能.
4. 80C51单片机的存储器的最大特点是:______________________分开编址 ,Px并行口
的地址是与______________统一编址的,或者说属于该存储器。 5. 80C51的堆栈区一般开辟在_______。 6. ALE信号的作用是 _________________ 。
7. 80C51复位后,PC=_____。若希望从片内存储器开始执行,EA脚应接 ___电平,PC值超
过________时,8051会自动转向片外存储器继续取指令执行。
8. 已知8位二进制数的补码是1111 1101B, 则其相应的十进制数________. 9. 111111110101001B=_____________H; 5673H+123H=________________H
第3章 思考与练习
(一) 课本部分, P74
1. 80C51的指令系统具有哪些特点?
2. 简述80C51的寻址方式和所涉及的寻址空间。
3. 访问特殊功能寄存器和外部数据存储器,应采用哪种寻址方式?布尔累加器是哪个?能位寻址的对象有哪些?
5. 对80C51片内RAM的128~255字节区的地址空间寻址时应注意些什么?对特殊功能寄存器应采用何
1
种寻址方式进行访问?
6. 80C51的片内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 D0H,R0 ; MOV 18H,#30H ; MOV A,@R0 ; MOV P2,P1 ; 13. 已知延时程序为
DELAY: MOV R2,#0FAH ; L1: MOV R3,#0FAH ; L2: DJNZ R3,L2 ; DINZ R2,L1 RET
若系统的晶振频率为6 MHz,求该延时子程序的延时。 答:
25. 设R0的内容为32H,A的内容为48H,而片内RAM的32H单元的内容为80H,40H单元的内容为08H。请指出在执行下列程序段后,上述各单元的内容变化。 MOV A,@R0 MOV @R0,40H MOV 40H,A MOV R0,#35
26. 80C51有哪些逻辑运算功能?各有什么用处?设A中内容为10101010B,R4内容为01010101B。请写出它们进行“与”、“或”、“异或”操作的结果。
28. 为什么SJMP指令的rel=0FEH时,将实现单指令的无限循环?
(二) 补充部分
一、是非题
1. 8031 片内含 EPROM , 8751 片内不含 EPROM 。( ) 2. MCS-51 单片机是依靠低电平复位的。( )
3. MCS-51 单片机的数据空间与程序空间是独立编址的。( )
2
4. MCS-51 单片机的四组工作寄存器区具有相同的地址。( ) 5. 8051 片内 RAM 的任何一个单元均可进行位操作。( ) 6. 执行 CLR 30H 指令后, 30H 字节单元被清 0 。( ) 7. CPU 取指令时,完全由程序计数器 PC 控制。( )
二、选择题
1.MCS - 51 单片机复位后,从下列那个单元开始取指令:( ) ① 0003H ② 000BH ③ 0000H
2. 对片外数据 RAM 单元读写数据须用:( ) ① MOV 指令 ② MOVX 指令 ③ MOVC 指令
3. MCS-51 的无条件转移指令中,其转移范围最大的是:( ) ① LJMP ② AJMP ③ SJMP
4. 执行 MOV SP , #30H 指令后,压栈从片内 RAM 哪单元开始:( ) ① 2FH ② 30H ③ 31H
5. 以下指令中,哪条指令执行后使标志位 CY 清 0 :( ) ① MOV A , #00H ② CLR A ③ ADD A , #00H
1.已知A = 0F8H,当执行ADD A,#0A9H指令后,PSW中的OV、CY、AC、P各为多少?若
是有符号数,A中的结果用十进制表示是多少? 三、改错题
请判断MCS-51单片机的下列各条指令的书写格式是否有错误,如有请说明错误原因。 1、CLR A 2、MUL R0,R1
3、MOV DPTR,1050H 4、 MOV A,@R7 5、 ADD 30H,20H 6、 MOV R1,C 7、 JMP @RO+DPTR 8、 MOV A,#3000H
9、 MOVC @A+DPTR,A 10、 MOVX A,@A+DPTR
四、分析题
1. 设在MCS-51单片机片内RAM中,(20H)=40H,(40H)=22H,(22H)=10H,P1=0CFH,当下列程序执行完毕后,各单元的内容分别为多少?请填入给定的各个寄存器及片内单元中。 MOV RO,#20H MOV A,@RO
3
MOV R1,A
MOV B,@R1 MOV @R1,R1 MOV P3,P1
(A)= (B)= (R0)= (R1)= (P1)= (P3)= (20H)= (22H)=
2.已知:( 30H ) = X 7 X 6 X 5 X 4 X 3 X 2 X 1 X 0 B ,
( 31H ) =Y 7 Y 6 Y 5 Y 4 Y 3 Y 2 Y 1 Y 0 B ,请给出下列每条指令执行后注释中的结果。 MOV 32H , 30H ; ( 32H ) = ANL 32H , #0FH ; ( 32H ) = MOV A , 31H ; ( A ) = SWAP A ; ( A ) = RL A ; ( A ) = ANL A , #0F0H ; ( A ) = ORL 32H , A ; ( 32H ) =
第4章 思考与练习
(一) 课本部分 见教材P128-129
(二) 补充部分
一、是非题
1.多个中断源不可以同时申请中断。( )
2.CPU 在响应 INT0 中断时,其中断申请标志 IE0 用软件清除是多余的。( ) 3.串行口的发送中断与接收中断各自有自己的中断入口地址。( ) 4.波特率反映了串行通讯的速率。( )
5.只要中断允许寄存器 IE 中的 EA=1 ,那么中断请求就一定能够得到响应。( ) 6.中断服务程序执行的最后一条指令必须是 RETI 。( )
7.在微机的输入 / 输出方式中,中断请求方式比查询方式的效率高。( ) 8.执行 LCALL 指令时,栈指针 SP 的内容不会发生变化。( ) 9.外部数据存储器的读指令为MOVC。( )
10. 8051单片机串行中断只有一个,但有2个标志位。( )
二、选择题
4
6.对 8031 而言,可作为普通 I/O 口使用的是:( )
① P0 、 P2 口 ② P1 、 P3 口 ③ P0 、 P1 、 P2 、 P3 口 7.下面那一段程序能准确地读取 P1 口引脚信号:( ) ① MOV A , #00H ;MOV P1,A ;MOV A, P1 ② MOV A , #0FFH ; MOV P1 , A ;MOV A , P1 ③ MOV A , #0FFH ;MOV A , P1 ④ MOV A , #0FFH ;MOV A , P1
8.MCS — 51 单片机的四个并行 I/O 中,其驱动能力最强的是:( ) ① P0 口 ② P1 口 ③ P2 口 ④ P3 口 9.定时器 / 计数器工作于模式 2 ,在计数溢出时:( ) ①计数从零重新开始 ②计数从初值重新开始 ③计数停止
10.T0 设置成计数方式时,外部引脚计数脉冲的最高频率应是晶振频率的:( ) ① 1/12 ② 1/24 ③ 1/48
11.当 晶振频率是 12MHz 时, MCS — 51 单片机的机器周期是:( ) ① 1μs ② 1ms ③ 2μs ④ 2ms
12.外部中断 INT0 的触发方式控制位 IT0 置 1 后,其有效的中断触发信号是: ( ) ①高电平 ②低电平 ③上升沿 ④下降沿 13.按键的机械抖动时间参数通常是: ( )
① 0 ② 5~10μs ③ 5~10ms ④ 1s 以上
14.N 位 LED 显示器采用动态显示方式时,需要提供的 I/O 线总数是: ( ) ① 8+N ② 8 × N ③ N 15.一字节补码所表示的数值范围是:( )
① -128 ~ +127 ② -127 ~ +128 ③ -128 ~ +128
16. 定时器/计数器工作方式1是( )。
A.8位计数器结构 B.2个8位计数器结构 C.13位计数结构 D.16位计数结构
17.设MCS-51单片机晶振频率为12MHz,定时器作计数器使用时,其最高的输入计数频率 应为( ) (1) 1us, (2) 2us, (3)3us, (4)4us 18. 串行口的控制寄存器SCON中,REN的作用是( )。 A.接收中断请求标志位 B.发送中断请求标志位 C.串行口允许接收位 D.地址/数据位
三 程序设计
已知晶振频率为 12MH Z ,请用 T0 的工作模式 1 定时及溢出中断方式编程,实现从 P1.0 引脚输出周期为10ms的方波。要求先确定定时时间并给出定时初值的计算步骤,然后写程序。
5
第5章 程序设计
看懂以下跑马灯程序:
(1)P1口的8个灯循环亮,按P32后全部闪烁5次后继续循环亮, 中断程序的典型应用。 org 00h ;开始 jmp start org 03h ;int0中断入口(p32) jmp ext0 ;到中断子程序 org 0080h
start: mov ie, #10000001b ;中断使能 mov ip, #00000001b ;中断优先 mov tcon, #0000000b ;中断为电平触发 mov sp, #70h ;堆栈指针 loop:mov a, #0ffh ;左移动初值 clr c ; C=0 mov r2, #08 ;左移动8次 loop1: rlc a ;含c左移动一位 mov p1, a ;输出到P1口 call delay ;延时 djnz r2, loop1 ;左移动8次了吗? mov r2, #07 ;设定右移7次 loop2:rrc a mov p1, a call delay djnz r2, loop2 ;右移动7次了吗? jmp loop ext0: push acc ;把a压入堆栈 push psw ;保存现场 setb rs0 ;设定工作寄存器1 clr rs1 mov a, #00 ;使P1全亮一次 mov r2, #10 ;闪烁5次(亮灭共10次,小心了) loop3:mov p1, a ;输出到P1 call delay cpl a djnz r2, loop3 ;10次到了么?没有继续否则完成 pop psw ;恢复现场 pop acc reti
delay: mov r5, #20 ;延时200MS d1: mov r6, #20 d2: mov r7, #250 djnz r7, $ djnz r6, d2 djnz r5, d1
6
ret end
(2)花样流水灯 * ;* P0---8个LED和P2---8个LED 硬件:8路指示灯接P0口,或者P2口
;**************************************************************************** ORG 0000H JMP MAIN ORG 0080H
;********************************************************* MAIN:
MOV SP,#60H MOV P0,#0FFH MOV P2,#0FFH MOV R0,#00H MAIN1:
MOV A,R0 ;取数地址送A MOV DPTR,#TABLE_P0 ;查表取数 MOVC A,@A+DPTR
MOV P0,A ;送P0显示 MOV A,R0
MOV DPTR,#TABLE_P2 ;查表取数 MOVC A,@A+DPTR
MOV P2,A ;送P2显示 INC R0 ;取数地址加1 CALL DELAY
CJNE R0,#90,MAIN1 MOV R0,#00H JMP MAIN1
;********************************************************* DELAY: ;延时子程序 MOV R5,#01 DEL1:
MOV R6,#250 DEL2:
MOV R7,#248 DJNZ R7,$
DJNZ R6,DEL2 DJNZ R5,DEL1 RET
;********************************************************* TABLE_P0:
DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH
7
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH DB 07FH,0BFH,0DFH,0EFH,0F7H,0FBH,0FDH,0FEH,0FFH DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH DB 0BFH,0DFH,0EFH,0F7H,0FBH,0FDH,0FEH,0FFH DB 0FCH,0F3H,0CFH,03FH,0FFH,0FFH,0FFH,0FFH
DB 0FFH,0FFH,0FFH,0FFH,0FFH,03FH,0CFH,0F3H,0FCH,0FFH DB 0FCH,0F3H,0CFH,03FH,0FFH,03FH,0CFH,0F3H,0FCH,0FFH
DB 0F0H,0FFH,00FH,0FFH,0FFH,000H,000H,0FFH,000H,000H,0FFH,0FFH TABLE_P2:
DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH DB 0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH
DB 0FFH,07FH,0BFH,0DFH,0EFH,0F7H,0FBH,0FDH,0FEH DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH DB 07FH,0BFH,0DFH,0EFH,0F7H,0FBH,0FDH,0FEH DB 0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH,0FFH DB 0FFH,0FFH,0FFH,0FFH,0FCH,0F3H,0CFH,03FH
DB 0FFH,03FH,0CFH,0F3H,0FCH,0FFH,0FFH,0FFH,0FFH,0FFH DB 03FH,0CFH,0F3H,0FCH,0FFH,0FCH,0F3H,0CFH,03FH,0FFH
DB 00FH,0FFH,0F0H,0FFH,0FFH,000H,000H,0FFH,000H,000H,0FFH,0FFH ;********************************************************* END
第6章 系统扩展
一、汇编语言程序设计
见P177 思考与练习:
1, 2 , 3, 5, 6。
二、系统扩展
见P221 ,思考与练习 1, 2 (只考虑并行方式)。
3. 如下图为单片机扩展存储器方案。如何实现篇选?哪些是数据存储器?哪些是程序存储器?
8
一、填空题
1、A/D转换器的作用是将 量转为 量;D/A转换器的作用是将 量转为 量。 2、A/D转换器的两个最重要指标是 和 。
3、不带输入数据锁存器的D/A转换器,CPU必须通过 器件与件D/A转换器传送数据。无三态输出功能的A/D转换器,应当通过 器件与CPU传送数据。
4、从输入模拟量到输出稳定的数字量的时间间隔是A/D转换器的技术指标之一,称为 。 5、若某8位D/A转换器的输出满刻度电压为+5V,则该D/A转换器的分辨率为 V。
二、判断说明题(判错请说明理由)
1、输出的数字量变化一个相邻的值所对应的输入模拟量的变化值称为D/A转换器的分辨率。( ) 2、输出模拟量的最小变化量称为A/D转换器的分辨率。
3、“转换速度”这一指标仅适用于A/D转换器,D/A转换器可以忽略不计转换时间。 4、“数字量”与“开关量”的含义没有什么区别。 5、D/A转换器可以直接与单片机的三总线相连。
6、ADC0809可以利用“转换结束”信号EOC向CPU发出中断请求。
第7章 (D/A、A/D转换器)
9
因篇幅问题不能全部显示,请点此查看更多更全内容