单片机原理及应用考试复习知识点
第1章 计算机基础知识
考试知识点:
1、各种进制之间的转换
(1)各种进制转换为十进制数
方法:各位按权展开相加即可。 (2)十进制数转换为各种进制
方法:整数部分采用“除基取余法”,小数部分采用“乘基取整法”。 (3)二进制数与十六进制数之间的相互转换
方法:每四位二进制转换为一位十六进制数。 2、带符号数的三种表示方法
(1)原码:机器数的原始表示,最高位为符号位(0‘+’1‘-’),其余各位为数值位。 (2)反码:正数的反码与原码相同。负数的反码把原码的最高位不变,其余各位求反。 (3)补码:正数的补码与原码相同。负数的补码为反码加1。
原码、反码的表示范围:-127~+127,补码的表示范围:-128~+127。 3、计算机中使用的编码
(1)BCD码:每4位二进制数对应1位十进制数。
(2)ASCII码:7位二进制数表示字符。0~9的ASCII码30H~39H,A的ASCII码41H,a的ASCII码61H。
第2章 80C51单片机的硬件结构
考试知识点:
1、80C51单片机的内部逻辑结构
单片机是把CPU、存储器、输入输出接口、定时/计数器和时钟电路集成到一块芯片上的微型计算机,主要由以下几个部分组成。
(1)中央处理器CPU 包括运算器和控制器。
运算电路以ALU为核心,完成算术运算和逻辑运算,运算结果存放于ACC中,运算结果的特征存放于PSW中。
控制电路是单片机的指挥控制部件,保证单片机各部分能自动而协调地工作。程序计数器PC是一个16位寄存器,PC的内容为将要执行的下一条指令地址,具有自动加1功能,以实现程序的顺序执行。
(2)存储器 分类:
随机存取存储器RAM:能读能写,信息在关机后消失。可分为静态RAM(SRAM)和动态RAM(DRAM)两种。
只读存储器:信息在关机后不会消失。
掩膜ROM:信息在出厂时由厂家一次性写入。 可编程PROM:信息由用户一次性写入。
1
可擦除可编程EPROM:写入后的内容可由紫外线照射擦除。 电可擦除可编程EEPROM:可用电信号进行清除和改写。 存储容量:
存储容量指存储器可以容纳的二进制信息量,M位地址总线、N位数据总线的存储器容量为2M×N位。
80C51单片机的存储器有内部RAM(128B,高128B为专用寄存器)、外部RAM(64KB)、内部ROM(4KB掩膜ROM)、外部ROM(64KB)。
(3)输入输出接口
4个8位并行I/O口(P0、P1、P2、P3) (4)其它资源
一个全双工串行口、5个中断源、2个16位的定时/计数器、时钟电路。 2、80C51单片机的信号引脚
(1)电源部分:VCC接+5V、VSS接地。
(2)时钟电路部分:XTAL1和XTAL2接晶振。 1个机器周期=6个状态=12个拍节
6MHZ的晶体机器周期2us,12MHZ的晶体机器周期1us。
(3)I/O口部分:P0——8位数据总线/地址总线低8位、P1——用户口、P2——地址高8位、P3——第二功能。
(4)控制部分:
地址锁存控制信号ALE,用于控制把P0口输出的低8位地址送入锁存器锁存地起来。 外部程序存储器读选通信号PSEN,低电平有效,以实现外部ROM单元的读操作。 访问程序存储器控制信号EA,低电平时只读外部ROM,高电平时先读内部ROM,再读外部ROM。
复位信号RST,当输入的复位信号延续2个机器周期以上高电平时即为有效。 复位值:PC=0000H,SP=07H,P0=0FFH。 3、内部RAM的基本结构与功能
80C51的内部数据存储器低128单元区,称为内部RAM,地址为00~7FH。 (1)寄存器区(00~1FH)
共分为4组,组号依次为0、1、2、3,每组有8个寄存器,在组中按R7~R0编号。由PSW中RS1、RS0位的状态组合来决定哪一组。
(2)位寻址区(20H~2FH) 可对单元中的每一位进行位操作,16个字节单元共128个可寻址位,位地址为00~7FH。 位起始地址D0=(字节地址-20H)*8
(3)用户RAM区(30H~7FH)堆栈、缓冲区
堆栈是在内部RAM中开辟的,最大特点就是“后进先出”的数据操作原则。 两项功能:保护断点和保护现场。两种操作:进栈和出栈。 SP堆栈指针,它的内容就是堆栈栈顶单元的地址。 4、专用寄存器(内部数据存储器高128单元)
(1)累加器A(ACC) (2)寄存器B
(3)程序状态字PSW
CY——进位标志位,最高位的进位或借位。
AC——半进位标志位,低4位向高4位的进位或借位。
OV——溢出标志位,同符号数相加,结果为异符号,有溢出;异符号数相减,结果和
2
减数符号相同,有溢出。
P——A中1的个数,奇数个P=1,偶数个P=0。
(4)数据指针DPTR:80C51中惟一一个供用户使用的16位寄存器。高8位DPH,低8位DPL。
第3章 80C51单片机指令系统
考试知识点: 1、寻址方式
(1)立即寻址(#data,#data16)例:MOV A,#00H
(2)直接寻址(direct)内部RAM:00~7FH、特殊功能寄存器 例:MOV A,00H (3)寄存器寻址(A、B、Rn、DPTR)
(4)寄存器间接寻址(@Ri、@DPTR)例:MOVX A,@DPTR (5)变址寻址(@A+DPTR,@A+PC)例:MOVC A,@A+DPTR
(6)位寻址(bit)20~2FH:00~7FH、特殊功能寄存器 例:MOV C,00H (7)相对寻址(rel)例:JZ rel 2、数据传送类指令
(1)内部RAM数据传送指令 MOV 目的,源;目的→源 交换指令:
XCH A,direct/Rn/@Ri;A和源交换 XCHD A,@Ri;只换低4位 SWAP A;A的高低4位交换 注意:A作目的操作数会影响P。 PUSH direct POP direct
(2)外部RAM数据传送指令
MOVX A,@Ri/@DPTR;外部地址内容→A MOVX@Ri/@DPTR,A;A→外部地址内容 (3)ROM数据传送指令
MOVC A,@A+DPTR/@A+PC;查表指令 3、算术运算指令
(1)加法指令
ADD/ADDC A,#data/ direct/ Rn/@Ri;会影响CY、AC、OV、P INC A/ direct/ Rn/@Ri/DPTR;加1,P DA A;十进制调整,大于9加6 (2)减法指令
SUBB A,#data/ direct/ Rn/@Ri;会影响CY、AC、OV、P DEC A/ direct/ Rn/@Ri;减1 (3)乘除指令
MUL AB;(A)*(B)→BA,会影响CY=0,OV,P DIV AB;(A)/(B)的商→A,余数→B 4、逻辑运算及移动指令
3
(1)逻辑运算指令
ANL/ORL/XRL A,#data/ direct/ Rn/@Ri ANL/ORL/XRL direct,A/#data
与→清0,或→置1,异或→取反 CLR/CPL A;清0和取反 (2)移位指令
RL/RR/RLC/RRC A
注意:每左移一位相当于乘2,每右移一位相当于除2,带进位的移会影响CY和P。 5、控制转移类指令
(1)无条件转移指令
LJMP addr16;addr16→PC,64KB
AJMP addr11;(PC)+2→PC,addr11→PC10~0,2KB SJMP rel;(PC)+2+rel→PC,256B
JMP @A+DPTR;(A)+(DPTR)→PC,64KB (2)条件转移指令
累加器A判0转移指令
JZ rel;A为0 JNZ rel;A不为0 比较不相等转移指令
CJNE A/Rn/@Ri,#data,rel CJNE A,direct,rel
注意:第一操作数和第二操作数不相等,程序转移,若第一大于第二,CY=0,第一小于第二,CY=1。第一操作数和第二操作数相等,程序顺序执行,CY=0。
减1不为0转移指令 DJNZ Rn/direct,rel;(Rn/direct)-1不为0,程序转移。 (3)调用和返回指令
LCALL addr16;(PC)+3→PC,先入低8位,再入高8位,addr16→PC
ACALL addr11;(PC)+2→PC,先入低8位,再入高8位,addr11→PC10~0 RET;先出高8位,再出低8位 6、位操作类指令
(1)位传送指令 MOV C,bit MOV bit,C (2)位赋值指令 CLR C/bit SETB C/bit
(3)位逻辑运算指令
ANL/ORL C,bit或/bit CPL C/bit
注意:实现逻辑表达式 (4)位控制转移指令 JC rel;(CY)=1 JNC rel;(CY)=0 JB bit,rel;(bit)=1
4
JNB bit,rel;(bit)=0
JBC bit,rel;(bit)=1,转移,清0
第4章 80C51单片机汇编语言程序设计
考试知识点:
1、汇编语言的语句格式
【标号:】 操作码 【操作数】 【;注释】 标号:语句地址的标志符号。
操作码:语句执行的操作内容,用指令助记符表示。 操作数:为指令操作提供数据。 注释:对语句的解释说明。 2、伪指令
起始地址ORG、结束END、赋值EQU、字节DB、字DW、空DS、位BIT 3、汇编语言程序的基本结构形式
(1)顺序结构 (2)分支结构
(3)循环结构:数据传送问题、求和问题 4、定时程序
例:延时100ms的子程序,设晶振频率6MHZ。 DELAY:MOV R5,#250 LOOP2:MOV R4,#49 LOOP1:NOP NOP
DJNZ R4,LOOP1 DJNZ R5,LOOP2 RET 5、查表程序
(1)要查找的数据在表中的位置给A (2)表的首地址给DPTR (3)MOVC A,@A+DPTR (4)数据表
第5章 80C51单片机的中断与定时
考试知识点:
1、中断源和中断请求标志位 中断名称 中断请求标志 中断向量 外部中断0 IE0 0003H T0中断 TF0 000BH 外部中断1 IE1 0013H T1中断 TF1 001BH 串行发送中断 TI 0023H 串行接收中断 RI 0023H 2、和中断相关的寄存器的设置
5
(1)定时器控制寄存器TCON 格式如下: 位 TCON 位地址 D7 TF1 8F D6 TR1 8E D5 TF0 8D D4 TR0 8C D3 IE1 8B D2 IT1 8A D1 IE0 89 D0 IT0 88 IT0=0,为电平触发方式。 INT 0 低电平有效。 IT0=1,为边沿触发方式。 INT 0 输入脚上电平由高到低的负跳变有效。 IE0=1,说明有中断请求,否则IE0=0。 (2)中断允许控制寄存器IE 其各位的定义如下: 位 代号 D7 EA D6 — D5 — D4 ES D3 ET1 D2 EX1 D1 ET0 D0 EX0 EA: 开放或禁止所有中断。ES:开放或禁止串行通道中断。ET1:开放或禁止定时/计数器T1溢出中断。EX1:开放或禁止外部中断源1。ET0:开放或禁止定时/计数器T0溢出中断。EX0:开放或禁止外部中断源0。
(3)中断优先级控制寄存器IP 各位的定义如下: 位 代号 D7 — D6 — D5 — D4 PS D3 PT1 D2 PX1 D1 PT0 D0 PX0 1为高优先级、0为低优先级。如果同级的多个中断请求同时出现,则按CPU查询次序确定哪个中断请求被响应。查询次序为:外部中断0、T0中断、外部中断1、T1中断、串行中断。
3、响应中断的必要条件
(1)有中断源发出中断请求。
(2)中断允许寄存器IE相应位置“1”,CPU中断开放(EA=1)。 (3)无同级或高级中断正在服务。
(4)现行指令执行到最后一个机器周期且已结束。若现行指令为RETI或需访问特殊功能寄存器IE或IP的指令时,执行完该指令且其紧接着的指令也已执行完。
中断响应的主要内容是由硬件自动生成一条长调用指令,指令格式为“LCALL addr16”。这里的addr16就是程序存储器中断区中相应中断的入口地址。 4、中断程序设计
(1)在0000H处存放一条无条件转移指令转到主程序。
(2)在入口地址处存放一条无条件转移指令转到中断服务子程序。 (3)设置触发方式(IT0/IT1) (4)设置IE和IP。 (5)设置SP。 (6)原地踏步。
6
(7)中断服务子程序。最后RETI。 5、定时计数的基本原理
(1)定时功能:每个机器周期计数器加1。
(2)计数功能:T0(P3.4)和T1(P3.5)输入计数脉冲,每一来一个脉冲计数器加1。 6、用于定时计数的寄存器的设置
(1)定时器控制寄存器TCON 格式如下: 位 TCON 位地址 D7 TF1 8F D6 TR1 8E D5 TF0 8D D4 TR0 8C D3 IE1 8B D2 IT1 8A D1 IE0 89 D0 IT0 88 TF1、TF0——计数溢出标志位。当计数器产生计数溢出时,由硬件置1。采用查询方式,它是供查询的状态位。采用中断方式,作为中断请求信号。
TR1、TR0——计数运行控制位。为1时,启动定时器/计数器工作;为0时,停止定时器/计数器工作。
(2)工作方式控制寄存器TMOD
其格式如下:
GATE:门控位。当GATE=1时,同时INTx为高电平,且TRx置位时,启动定时器,外部启动。当GATE=0时,每当TRx置位时,就启动定时器,是内部启动方式。
C/T:选择定时器功能还是计数器功能。该位置位时选择计数器功能;该位清零时选择定时器功能。
M1M0:这两位指定定时/计数器的工作方式,可形成四种编码,对应四种工作方式: M1 M0 方式 0 0 1 1 0 1 0 1 0 1 2 3 说明 TLx低5位与THx中8位构成13位计数器 TLx与THx构成16位计数器 可自动再装入的8位计数器,当TLx计数溢出时,THx内容自动装入TLx。 对定时器0,分成两个8位的计数器;对定时器1,停止计数。 7、各种工作方式计数初值计算公式
方式0:
定时时间T=(8192-计数初值)×机器周期 计数次数C=8192-X
7
方式1:
定时时间T=(65536-计数初值)×机器周期 计数次数C=65536-X 方式2:
定时时间T=(256-计数初值)×机器周期 计数次数C=256-X 8、定时器程序设计
查询方式:
(1)在0000H处存放一条无条件转移指令,转到主程序。 (2)设置工作方式TMOD。 (3)设置计数初值。 (4)启动定时计数。
(5)等待时间到或计数计满。
LOOP:JBC TF0/TF1,LOOP1 SJMP LOOP LOOP1:……
(6)重新设置计数初值(除方式2),再转第5步。 中断方式:
(1)在0000H处存放一条无条件转移指令,转到主程序。
(2)在入口地址处存放一条无条件转移指令转到中断服务子程序。 (3)设置工作方式TMOD。 (4)设置计数初值。 (5)启动定时计数。 (6)设置IE和IP。 (7)设置SP。 (8)原地踏步。
(9)中断服务子程序。重新设置计数初值(除方式2),最后RETI。
例 选用定时器/计数器T1工作方式0产生500µS定时,在P1.1输出周期为1ms的方波,设晶振频率=6MHZ。
(1)根据定时器/计数器1的工作方式,对TMOD进行初始化。
C 按题意可设:GATE=0(用TR1位控制定时的启动和停止), T =0(置定时功能),M1M0=00(置方式0),因定时器/计数器T0不用,可将其置为方式0(不能置为工作方式3),这样可将TMOD的低4位置0,所以(TMOD)=00H。
(2)计算定时初值
( 13 - X)×2=500 2X=7942D=1111100000110B
将低5位送TL1,高8位送TH1得:(TH1)=F8H,(TL1)=06H (3) 编制程序(查询方式) ORG 0000H LJMP MAIN
8
ORG 0300H
MAIN: MOV TMOD,#00H ;TMOD初始化 MOV TH1,#0F8H ;设置计数初值 MOV TL1,#06H
SETB TR1 ;启动定时 LOOP: JBC TF1,LOOP1 ;查询计数溢出 AJMP LOOP
LOOP1:CPL P1.1 ;输出取反
MOV TL1,#06H ;重新置计数初值
MOV TH1,#0F8H
AJMP LOOP ;重复循环 END
例 用定时器/计数器T1以工作方式2计数,要求每计满100次进行累加器加1操作。 (1)TMOD初始化
C M1M0=10(方式2), =1(计数功能),GATE=0(TR1启动和停止),因此(TMOD)
T=60H。
(2)计算计数初值
8 2 -100=156D=9CH 所以 TH1=9CH
(3)编制程序(中断方式) ORG 0000H
AJMP MAIN ;跳转到主程序
ORG 001BH ;定时/计数器1中断服务程序入口地址 AJMP INSERT1 ORG 0030H
MAIN:MOV TMOD #60H ;TMOD初始化 MOV TL1,#9CH ;首次计数初值 MOV TH1,#9CH ;装入循环计数初值 SETB TR1 ;启动定时/计数器1
SETB EA ;开中断
SETB ET1
SETB PT1 ;T1为高优先级 MOV SP,#40H
SJMP ﹩ ;等待中断 INSERT1:INC A RETI END
9
第6章 单片机并行存储器扩展
考试知识点:
1、单片机并行扩展总线的组成
(1)地址总线:传送地址信号
(2)数据总线:传送数据、状态、指令和命令 (3)控制总线:控制信号 2、80C51单片机并行扩展总线
(1)以P0口的8位口线充当低位地址线/数据线 (2)以P2口的口线作高位地址线 (3)控制信号:
使用ALE作地址锁存的选通信号,以实现低8位地下锁存。 以PSEN信号作为扩展程序存储器的读选通信号。 以EA信号作为内外程序存储器的选择信号。
以RD和WR作为扩展数据存储器和I/O端口的读/写选通信号。 3、单片机并行存储器扩展的方法
各种外围接口电路与单片机相连都是利用三总线实现。 (1)地址线的连接
将外围芯片的低8位地址线(A7~A0)经锁存器与P0口相连,高8位地址线(A15~A8)与P2口相连。如果不足16位则按从低至高的顺序与P0、P2口的各位相连。
(2)数据线的连接
外围芯片的数据线(D7~D0)可直接与P0口相连。 (3)控制线的连接 ROM:OE—PSEN
RAM:OE—RD、WE—WR 片选信号CE的连接方法:
(1)接地,适用于扩展一块存储器芯片。 (2)线选法
10
因篇幅问题不能全部显示,请点此查看更多更全内容