单片机重点复习2010-2011下

更新时间:2023-09-16 17:19:01 阅读量: 高中教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

一.单片机基础知识

1.单片机芯片上集成有CPU、ROM、RAM及I/O,属于微型计算机。

2.MCS-51系列单片机是8位单片机,也就是CPU能同时处理数据的宽度是8位。 3. AT89C51是与MCS-51兼容的8位单片机。

4. 试将十进制数135、250、98分别转换为二进制数和十六进制数。 十进制 二进制 十六进制 135=128+4+2+1 10000111B 87H 250=255-4-1 11111010B 0FAH 98=64+32+2 01100010B 62H

5. 写出十进制数-54在8位微型计算机中的原码、反码和补码。 [-54]原=10110110 [-54]反=11001001 [-54]补=11001010 6. 写出十进制数59、120的BCD码。

[59]BCD=01011001 , [120]BCD=000100100000

二. 单片机的硬件结构和原理

1. MCS-51系列单片机分为51系列和52系列。51系列中的典型芯片为8051、8751、8031。这三款芯片的指令系统与引脚功能完全兼容,仅在ROM上有所不同。8031内部无ROM程序存储器。8051内部有4KB掩膜ROM程序存储器。8751片内有4KB的EPROM程序存储器。三款均有128B RAM数据存储器,2个16位的定时器/计数器,4个8位的并行I/O端口,1个串行的I/O口和5个中断源。

2.CPU、存储器、并行I/O口等部件相互之间是通过三条总线来连接的。三条总线是地址总线AB,数据总路线DB、控制总线CB。

3.内部数据存储器中的低128单元是用户数据存储区,地址范围是00H-7FH。其中00H-1FH是通用寄存器区,共32个单元。20H-2FH是位寻址区,共16个单元128位,可直接位寻址,也可字节寻址。30H-7FH共80个单元是用户区,只能字节寻址。

4. 内部数据存储器中的高128单元是专用寄存器区。

5.单片机是通过EA引脚来控制内部ROM和外部ROM的。EA=1时,单片机读取内部ROM地址范围(0000H-0FFFH)的程序。若PC的值超过0FFFH地址范围,则CPU自动读取外部程序存储器。EA=0时,CPU只读外部程序存储器。当读取外部ROM时,单片机29脚PSEN=0;当读内部ROM时,PSEN=1。

6.单片机进入复位状态是指回到刚上电的初始状态,程序从0000H地址单元(即PC=0000H)开始执行。在时钟电路工作后进入复位状态,必须在单片机的9脚RET端至少维持2个机器周期的高电平。若系统采用12MHz(或6MHz)的时钟频率,机器周期为1us(或2 us),则在单片机的RST端只需持续2us(或4 us)以上时间的高电平就能进入复位状态。单片机通常采用上电复位和开关复位二种方式。

第1页 共10页

7.单片机复位后,I/O端口寄存器P0-P3=FFH,堆栈指针寄存器SP=07H,其他特殊寄存器的值为0。如DPTR=0000、PC=0000H、ACC=00H等。

10.一个机器周期等于12个振荡周期(或时钟周期)。

三 MCS-51单片机指令系统

1.指令由操作码和操作数组成。操作码是指进行操作运算的类型,操作数是参与运算的对象。

2.寻址方式,是指寻找操作数的方式。MCS-51共的7种寻址方式。即寄存器寻址、直接寻址、寄存器间接寻址、立即寻址、位寻址、变址寻址和相对寻址。

3.寄存器寻址就是操作数在指定的寄存器中。可用的寄存器有:4个通用寄存器组R0-R7,累加器A、B寄存器、数据指针寄存器DPTR。如MOV A,R0指令。

4.直接寻址就是指令中的操作数直接以单元地址的形式给出。直接寻址方式只限于内部RAM。也是访问专用寄存器的唯一方法。如MOV A,30H指令。

5.指出下列指令的功能和源操作数的寻址方式。

1)MOV A,R1 ;寄存器寻址。功能是将寄存器R1的内容送到累加器中。 2)MOV R0,30H;直接寻址。功能是将30H单元中的值送到寄存器R0中。 3)MOV A,@R0;寄存器间接寻址。功能是将R0指定的单元内容送累加器A。 4)MOV 30H,#30H;立即数寻址。功能是将立即数送30H单元。

5)MOV @R0,A;寄存器寻址。功能是将累加器的值送R0指定的单元中。

6)MOVX A,@R0; 寄存器间接寻址。功能是将R0指定的外部存储单元的值送累加器A。 7)MOVC A,@A+DPTR;变址寻址。功能是将DPTR和A的和指定的存储单元的值送累加器A。 8)ADD A,R0; 寄存器寻址。功能是将寄存器R0的值与累加器A的值相加,结果保存到

累加器A中。

9)ADDC A,R0; 寄存器寻址。功能是将寄存器R0的值与累加器A的值和进位位CY相加,

结果保存到累加器A中。

10)INC A;寄存器寻址。功能是将累加器A的值自增1。

11)DEC @R1;寄存器间接寻址。功能是将R1指定的单元中的值自减1。

12)ANL A,R0; 寄存器寻址。功能是将R0的值与A的值作与运算,其结果保存到A中。 13)ORL A,45H;直接寻址。将45H单元的值与A的值作或运算,其结果保存到A中。 14)CLR A; 寄存器寻址。将A的值清0。 15)RL A; 寄存器寻址。将A的值循环左移一位。 16)RR A; 寄存器寻址。将A的值循环右移一位。

17)RLC A; 寄存器寻址。将A的值与进位位CY的值一起循环左移一位。 18)RRC A; 寄存器寻址。将A的值与进位位CY的值一起循环右移一位。 19)JZ HH; 相对寻址。若A的值为0,转HH标号执行。反之顺序执行。

第2页 共10页

20)JNZ HH; 相对寻址。若A的值不为0,转HH标号执行。反之顺序执行。

22)CJNE A,#30H,LOP; 相对寻址。功能是将A的值与立即数30H比较,若不相等转LOP

标号执行。若相等则顺序执行。

23)DJNZ A,LOP; 相对寻址。功能是先A的值自减1保存后,再判断若结果不为0转LOP标号执行。若为0,则顺序执行。

24)LCALL TTO; 相对寻址。功能是调用子程序TT0。 25)RET; 相对寻址。功能是子程序返回。 26)RETI; 相对寻址。功能是中断程序返回。

27)MOV C,20H;位寻址。功能是将20H位的值送布尔处理器C。 28)MOV 20H,C; 位寻址。功能是将布尔处理器C的值送20H位。 29)SETB C; 位寻址。功能是置布尔处理器C为1。 30)SETB P1.0; 位寻址。功能是将P1口的0位置1。 31)CLR P1.0; 位寻址。功能是功能是将P1口的0位清0。

32)JC LOP; 相对寻址。若布尔处理器C的值为1,则转LOP标号执行。反之顺序执行。 33)JNC LOP; 相对寻址。若布尔处理器C的值为0,则转LOP标号执行。反之顺序执行。 34)JB P2.0,LOP; 相对寻址。若P2.0位为1,则转LOP标号执行。反之顺序执行。 35)JNB P2.0,LOP; 相对寻址。若P2.0位为0,则转LOP标号执行。反之顺序执行。 6.子程序调用指令:LCALL 可调用64K范围类的子程序,ACALL可调用2K范围类的子程序。

7.无条件转移指令LJMP可以在64KB范围转移,AJMP可以在2KB范围转移, 可以在256KB范围转移。

四 中断系统

1.MCS-51有5个中断源,其中2个为外部中断源,3个为内部中断源。 1)INT0:外部中断0,中断请求信号从P3.2输入。中断入口地址为:0003H。 2)INT1:外部中断0,中断请求信号从P3.3输入。中断入口地址为:0013H。 3)T0:定时器/计数器0溢出中断。中断入口地址为:000BH。 4)T1:定时器/计数器1溢出中断。中断入口地址为:001BH。

3.定时/计数器的计数方式是对外部事件的计数,计数脉冲从单片机的引脚输入。T0的计数脉冲从P3.4脚输入, T1的计数脉冲从P3.5脚输入,计数器的最高计数频率为晶振频率的1/24。

4. 定时/计数器的定时方式是以机器周期信号为定时脉冲输入到计数器计数。定时脉冲信号的频率是振荡频率的1/12。 5.定时器/计数器的初值计算方法:

计数方式:初值=计数器最大值-所需计数值

第3页 共10页

定时方式:初值=计数器最大值-定时时间/机器周期 6.定时器/计数器的工作方式寄存器TMOD中各位的功能: D7 GATE D6 C/T D5 M1 D4 M0 D3 GATE D2 C/T D1 M1 D0 M0 1)GATE 门控位

GATE=0时,定时/计数器由TCON中的TR0(或TR1)来控制启动和停止。如TR0=1启动T0。TR0=0,T0停止。

2)C/T 定时器/计数器方式选择位。C/T=0定时方式,C/T=1计数方式。 3) M1、M0工作方式选择位

M1M0=00,T0(或T1)是13位定时器/计数器,其最大计数值为8192 M1M0=01,T0(或T1)是16位定时器/计数器,其最大计数值为65536 7.定时器/计数器的控制寄存器TCON中各位的功能: D7 TF1 D6 TF0 D5 TR1 D4 TR0 D3 IE1 D2 IT1 D1 IE0 D0 IT0 高4位用于定时器/计数器的控制,低4位与外部中断有关。

1)TF1和 TF0 :分别是T1和T0的溢出标志。当计数器计满产生溢出时,由硬件自动置1,并可申请中断,进入中断服务程序后,由硬件自动清零。

2)TR0:T0的启动控制位,由软件进行设置。当TR0=1时, T0开始工作。当TR0=0时,T0

停止工作。

TR1:T1的启动控制位,由软件进行设置。当TR1=1时, T1开始工作。当TR1=0时,T1

停止工作。

3)IE1:外部中断INT1中断请求标志,当P3.3引脚信号有效时,IE1由硬件自动置1。 IE0::外部中断INT0中断请求标志,当P3.2引脚信号有效时,IE0由硬件自动置1。 4)IT0:外部中断INT0触发方式控制位,由软件置位或复位。若IT0=1,则INT0为边沿触

发方式,若IT0=0,则INT0为电平触发。

IT1:外部中断INT1触发方式控制位。功能设置同IT0。 8.中断允许控制寄存器IE各位功能: D7 EA 总中断

各位为1,开中断,为0关中断。若EA=0,则CPU关中断,屏蔽所有5个中断源的请求。 9.MCS-51单片机中默认优先级的顺序为(由高到低):INT0、T0、INT1、T1、串行口。

D6 D5 D4 ES 串行口 中断 D3 ET1 T1中断 D2 EX1 INT1 中断 D1 ET0 T0中断 D0 EX0 INT0 中断 五、输入输出系统

1.单片机的片外三总线是:地址总线、数据总线、控制总线。

第4页 共10页

1)地址总线AB:地址总线宽度为16位,可寻址64KB的空间。地址的低8位由P0口提供,

并锁存到地址锁存器中保持,高8位由P2口提供。

EA:用于选择片内或片外程序存储器。当EA=0时,只访问外部程序存储器,不管片内有无

程序存储器。当EA=1时,先访问片内程序存储器,读完4K范围后,自动读取外部程序存储器。

2. 按下图所示

1)写出8位并行输出口74LS273的访问地址及产生输出信号WR的指令。 2)写出8位并行输入口74LS244的访问地址及产生读信号RD的指令。

解:1)8位并行输出口74LS273由P2.7和WR相或控制,地址应为7FFFH。当P2.7=0时,执行“MOVX @DPTR ,A”类输出指令可产生WR=0信号。

2)8位并行输入口74LS244由P2.6和RD相或控制,地址应为0BFFFH。当P2.6=0时,执行“MOVX A ,@DPTR”类输入指令可产生RD=0信号。

12.2716、2764、27256是三块EPROM存储器,其容量分别是2KB、8KB、32KB。 13.6264、62256是二块RAM存储器,其容量分别是8KB、32KB。

14.访问32KB有存储空间,需15根地址线。现有地址线20根,能访问的空间是1MB。 15.8155、8255是两块用于扩展I/O接口的控制芯片。 16.8155内有7个寄存器:命令寄存器、状态寄存器、A口寄存器、B口寄存器、C口寄存器、定时器/计数器(2个8位的寄存器)。各寄存器端口由A2、A1、A0三位地址确定。 地址低三位为0是命令寄存器、状态寄存器的地址; 地址低三位为1是A口; 地址低三位为2是B口; 地址低三位为3是C口;

地址低三位为4是定时器低8位的寄存器;

地址低三位为5是定时器高6位和操作方式寄存器(2位)。

第5页 共10页

本文来源:https://www.bwwdw.com/article/x2xh.html

Top