课堂习题及作业:
填空及简答
1.十进制29的二进制表示为 。
2.单片微型机主要有 cpu 、 存储器 、 I/O口 、 中断控制器 、 定时器/计数器 等部分组成。
3.计算机中最常用的字符信息编码是 ASCII 。 4.二进制数11011.0011转化为十进制数是 。
5.何谓单片机?单片机与一般微型计算机相比,具有哪些特点?
单片机是在一块集成电路上把CPU、存储器、定时器/计数器及多种形式的I/O接口集成在一起而构成的微型计算机。它与通用微型计算机相比,具有如下特点: (1) 单片机的程序存储器和数据存储器是分工的,前者为ROM,后者为RAM; (2) 采用面向控制的指令系统,控制功能强; (3) 多样化的I/O接口,多功能的I/O引脚; (4) 产品系列齐全,功能扩展性强;
(5) 功能是通用的,像一般微处理机那样可广泛地应用在各个方面。 内容
6.单片机主要应用在哪些领域? 7.单片机经历了哪几个发展阶段?
8.什么是二进制?为什么在数字系统、计算机系统中采用二进制? 9.将下列各数按权展开为多项式:
(1) 110110B (2) 5678.32D (3)1FB7H 10.把下列十进制数转化为二进制、十六进制: (1) 135 (2) 548.75 (3)254.25 11.什么叫BCD码和ASCII码?
12 .MCS-51的堆栈是临时在_ 片内数据存储 器内开辟的区域。
13 .MCS-51片内 20H-2FH 范围内的数据存储器,既可以字节寻址又可以位寻址。
14 .PSW=18H时,当前工作寄存器是
18H转成二进制是0001 1000
而PSW是一个8位二进制寄存器,它的每位都有对应的意义, PSW各位标志及作用如下:
PSW.4是RS1,PSW.3,是RS0,作用:工作寄存器组的选择位,由RS1、RS0是联合使用。
15. 80C51含 8k 掩膜ROM。
16 .控制串行口工作方式的寄存器是
TCON(Timer Control Register)定时器/计数器控制寄存器 PCON电源控制及波特率选择寄存器 SCON-串行口控制寄存器 TMOD定时器工作方式寄存器
17 .P1口的每一位能驱动 4 个TTL低电平负载。
18 .一个机器周期等于 12 时钟周期,振荡脉冲2分频后产生的时钟信号的周期定义为时钟周期。
19. MSC-51单片机内部有哪些主要的逻辑部件? (1)一个8位微处理器CPU。
(2)数据存储器RAM和特殊功能寄存器SFR。 (3)内部程序存储器ROM。
(4)两个定时/计数器,用以对外部事件进行计数,也可用作定时器。
(5)四个8位可编程的I/O(输入/输出)并行端口,每个端口既可做输入,也可做输出。 (6)一个串行端口,用于数据的串行通信
内部结构特点:
1.内部程序存储器(ROM)和内部数据存储器(RAM)容量(如表2-1所示)。 2.输入/输出(I/O)端口。
3.外部程序存储器和外部数据存储器寻址空间。 4.中断与堆栈。
5.定时/计数器与寄存器区。 6.指令系统。
20 .MSC-51单片机程序存储器和数据存储器各有什么功用?其内部RAM区功能结构如何分配?
21 .在内部RAM中,4组工作寄存器使用时如何选用?位寻址区域的字节地址范围是多少?
22 .程序状态字PSW的作用是什么?常用标志有哪些位?作用是什么?
PSW是一个8位寄存器,用来存放指令执行的有关状态信息。PSW中各位的状态信息一般是在指令执行过程中形成的,也可以根据需要由用户采用传送指令加以改变。 a。P(PSW.0):奇偶标志位,用于表示累加器A中二进制数值为1奇偶性。 b。F1、F0(PSW.1、PSW.5):用户标志位,作为用户自行定义的一个状态标志 c。OV(PSW.2)溢出标志位,用于指示算数运算中是否有溢出
d。RS1、RS0(PSW.4、PSW.3):工作寄存器选择控制位,用户通过软件选择CPU当前工作的寄存器组。
e。AC(PSW.6):辅助进位标志位,当进行加法或减法运算并产生由第四位向高四位进位或借位时,AC被硬件置1,否则清零
f。CY(PSW.7):进位标志位,用于表示加法或减法运算时最高位是否有进位或借位,如有则被置1。在进行位操作时,CY还可作为位累加器使用,相当于累加器A。
23 .简述定时器的四种工作模式的特点,如何选择和设定?
24 .MCS-51的中断允许触发器内容为83H,CPU将响应的中断请求是那些? 25 .PC是什么寄存器?是否属于特殊功能寄存器?它有什么作用?
PC是16位程序计数器(Program?Counter),它不属于特殊功能寄存器范畴,程序员不以像
访问特殊功能寄存器那样来访问PC。
PC是专门用于在CPU取指令期间寻址程序存储器。
PC总是保存着下一条要执行的指令的16位地址。通常程序是顺序执行的,在一般情况下,当取出一个指令(更确切地说为一个指令字节)字节后,PC自动加1。如果在执行转移指令、子程序调用/返回指令或中断时,要把转向的地址赋给PC
26 .DPTR是什么寄存器?它由哪些特殊功能寄存器组成?它的主要作用是什么?
DPTR既可以作为一个16位的寄存器来处理,也可以作为两个独立的8位寄存器来使用。主要功能是存放16位地址,作为片外RAM寻址用的地址寄存器(间接寻址),故称数据指针。
由两个特殊功能寄存器:DPH,DPL DPH:存放高位字节数据 DPL:存放低位字节数据
27 .什么是中断?其主要功能是什么?
CPU正在处理某件事情的时候,外部发生的某一事件请求CPU迅速去处理, CPU暂时中止当前的工作,转去处理所发生的事件,处理完该事件以后,再回到原来被中止的地方,继续原来的工作。这种过程为中断,实现这种服务的部件称为中断系统。
功能:①实时处理,能对外界异步发生的事件作出及时的处理。②完全消除了CPU在查询方式中的等待现象,大大提高了CPU的工作效率。③实现实时控制。 28 .什么是中断优先级?中断优先处理的原则是什么?
29 .试编写一段对中断系统初始化的程序,使之允许INT0、INT1,T0,串行口中断,且使T0中断为高优先级中断。 MOV IE,#10010111B MOV IP,#00000010B
程序题
1.将片内RAM 30H单元与40H单元中的内容互换。 方法1(直接地址传送法): MOV 31H,30H MOV 30H,40H MOV 40H,31H
方法2(间接地址传送法): MOV R0,#40H MOV R1,#30H MOV A,@R0 MOV B,@R1 MOV @R1,A MOV @R0,B
方法3(字节交换传送法): MOV A,30H XCH A,40H MOV 30H,A
方法4(堆栈传送法): PUSH 30H PUSH 40H POP 30H POP 40H
2.内部数存30H开始的数传送给40H,遇到0则停止 MOV R0,#30H MOV R1,#40H
LOOP:MOV A,@R0 JZ LOOP1
MOV @R1,A INC R0 INC R1
SJMP LOOP LOOP1:RET
3.外部数存50H开始的数传送给内部数存40H,遇到0则停止 MOV R0,#50H MOV R1,#40H
LOOP:MOVX A,@R0 JZ LOOP1
MOV @R1,A INC R0 INC R1
SJMP LOOP LOOP1:RET
4.把外部数据存储器2040H单元中的数据传送到外部数据存储器2560H单元中去。 MOV DPTR,#2040H
MOVX A,@DPTR ;先将2040H单元的内容传送到累加器A中 MOV DPTR,#2560H MOVX @DPTR,A ;再将累加器A中的内容传送到2560H单元中
5.程存2000H起存放0-9的平方,用两种查表指令查得9的平方。 1.用MOVC A, @A+DPTR。 MOV DPTR, #2000H MOV A, #09H MOVC A, @A+DPTR
2.用MOVC A, @A+PC,设查表指令地址为1FF0H MOV A, #09H ADD A,#0FH MOVC A, @A+PC
6.试把存放在R1R2和R3R4中的两个16位数相加,结果存于R5R6中。 MOV A,R2 ;取第一个数的低8位 ADD A,R4 ;两数的低8位相加 MOV R6,A ;保存和的低8位 MOV A,R1 ;取第一个数的高8位
ADDC A,R3 ;两数的高8位相加,并把低8位相加时的进位位加进来 MOV R5,A ;把相加的高8位存入R5寄存器中
7.多字节无符号数加法:用循环的方法把40H-43H里的数分别与50H-53H里的数相加,结果送回40H-44H。 CLR C
MOV R0,#40H ;指向加数最低位
MOV R1,#5OH ;指向另一加数最低位 MOV R2,#04H ;字节数作计数初值 LOOP1:MOV A,@R0 ;取被加数 ADDC A,@R1 ;两数相加,带进位 MOV @R0,A
INC R0 ;修改地址 INC R1
DJNZ R2,LOOPl ;未加完转LOOP1 JNC LOOP2 ;无进位转LOOP2 MOV @R0,#01H