浙大微机原理考试复习.docx

上传人:b****4 文档编号:24649474 上传时间:2023-05-29 格式:DOCX 页数:22 大小:228.83KB
下载 相关 举报
浙大微机原理考试复习.docx_第1页
第1页 / 共22页
浙大微机原理考试复习.docx_第2页
第2页 / 共22页
浙大微机原理考试复习.docx_第3页
第3页 / 共22页
浙大微机原理考试复习.docx_第4页
第4页 / 共22页
浙大微机原理考试复习.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

浙大微机原理考试复习.docx

《浙大微机原理考试复习.docx》由会员分享,可在线阅读,更多相关《浙大微机原理考试复习.docx(22页珍藏版)》请在冰豆网上搜索。

浙大微机原理考试复习.docx

浙大微机原理考试复习

第一章单片机:

把中央处理器(CPU)、随机存储器(RAM)、只读存储器(ROM)、定时/计数器、输入/输出(I/O)接口电路等主要的计算机部件集成在一块集成电路芯片上的单片微型计算机。

简称单片机。

第二章单片机内部结构:

Ø一个8位CPU

Ø128字节内部数据存储器(RAM)

Ø4K内部程序存储器

Ø2个16位的定时/计数器

Ø四个8位的I/O口

Ø一个全双工的串行口

Ø5个中断源:

2个外部中断,2个定时/计数中断,1个串行中断

Ø时钟电路

Ø总线

外部引脚:

40个(名称)

Ø四个8位并行口(32):

P0口、P1口、P2口、P3口

Ø电源

(2)

Ø晶振

(2):

XTAL1、XTAL2

Ø控制线(4):

ALE:

地址锁存控制信号

外部程序存储器读选通信号

EA:

访问程序存储器控制信号

RST:

复位信号

内部RAM:

地址:

00H-FFH

Ø00H-1FH:

寄存器区

Ø20H-2FH:

位寻址区

Ø30H-7FH:

用户RAM区

Ø80H-FFH:

特殊功能寄存器区

1、寄存器区(分组选择:

RS0、RS1),8个通用寄存器R0-R7

2、位寻址区

字节中的每一个位都具有地址,可直接对位进行操作。

位地址:

00H-7FH,128单元

3、3用户RAM区:

30H-7FH,在该区设置堆栈。

1)堆栈:

按照“先进后出,后进先出”的原则进行存取的内存区域。

用于保护程序断点和数据。

2)堆栈的开辟:

用SP指针设置栈底。

堆栈区:

(SP)初+1—>7FH

SP的初值为07H

3)堆栈的使用:

进栈操作:

PUSH

出栈操作:

POP

进栈操作:

先SP加1,后写入数据;

出栈操作:

先读出数据,后SP减1。

4、特殊功能寄存器:

80H-FFH

共有21个特殊寄存器(SFR),离散地分布在该区域中,有些寄存器还可以进行位寻址。

分类:

CPU:

PC(16位,程序计数器),ACC,B,PSW,DPTR,SP

并行口:

P0,P1,P2,P3

中断:

IE,IP

定时计数器:

TMOD,TCON,TL0,TH0,TL1,TH1

串行口:

SCON,SBUF,PCON

IE中断允许控制寄存器

IP中断优先级控制寄存器

PCON电源控制寄存器

SCON串行口控制寄存器

SBUF串行数据缓冲寄存器

TCON定时器控制寄存器

TMOD定时器方式选择寄存器

内部ROM:

4KROM,地址为0000H-0FFFH

并行I/O口:

4个端口在结构上相同之处:

P0--P3都是准双向I/0口,作输人时,必须先向相应端口的锁存器写人“1”。

4个端口在结构上不同之处:

P0口无内部上拉电阻,不能提供拉电流输出,而P1--P3则带内部上拉电阻,可以提供拉电流输出。

当P0口作通用I/0口输出使用时,需外接上拉电阻才可输出高电平。

引脚复用:

P0口:

扩展时作为8位数据总线和低8位地址总线。

P2口:

扩展时作为高8位地址总线。

P3口第二功能

1)振荡周期:

振荡电路产生的方波信号的周期。

T振=1/fosc

2)机器周期:

计算机完成一种最基本的操作所需的时间。

T机=12T振

3)指令周期:

执行一条指令所需要的时间,用机器周期数表示。

复位电路:

功能:

复位启动单片机。

复位条件:

在RST引脚输入2个机器周期以上的高电平。

正常工作时保持为低电平。

1)初始化单片机,使PC初始化为0000H;2)初始化存储器。

寄存器

内容

寄存器

内容

PC

0000H

TMOD

00H

ACC

00H

TCON

00H

B

00H

TL0

00H

PSW

00H

TH0

00H

SP

07H

TL1

00H

DPTR

0000H

TH1

00H

P0-P3

FFH

SCON

00H

IP

00H

SBUF

不定

IE

00H

PCON

00H

 

第三章单片机指令系统

机器语言:

用二进制编码表示的指令。

汇编语言:

用助记符表示的指令。

指令系统:

计算机所能执行的指令集合。

寻址方式:

寻找操作数地址的方法。

操作数的表示方法。

7种寻址方式:

1)立即寻址:

操作数在指令中。

MOVA,#70H

MOVDPTR,#1234H

2)直接寻址:

内部RAM地址在指令中

MOVA,10H

ANL70H,#48H

地址范围:

内部RAM128字节,SFR

3)寄存器寻址:

操作数在寄存器中。

MOVA,R1

MOVR7,#100

寄存器:

R0-R7,A,B,DPTR

4)寄存器间接寻址:

操作数地址在寄存器中。

MOVA,@R1

ANLA,@R0

寄存器:

R0,R1,DPTR,SP

5)变址寻址:

操作数地址在基址寄存器和变址寄存器中。

MOVCA,@A+DPTR

MOVCA,@A+PC

访问ROM单元数据。

6)相对寻址:

转移地址(目的地址)的相对偏移量在指令中。

JC80H

实际使用中使用标号,偏移量由汇编程序自动计算。

JCNEXT

7)位寻址:

位地址在指令中。

MOVC,20H

位的表示方法:

位名称,字节名称带点,字节地址带点,位地址。

MOVC,F0(PSW.5,D0H.5,D5H)

 

程序存储器数据传送

MOVCA,@A+PC

MOVCA,@A+DPTR

例:

将ROM2000H单元数据送到A.

MOVDPTR,#2000H

MOVA,#0

MOVCA,@A+DPTR

数据交换指令

字节交换XCH

半字节交换XCHD低四位交换,高四位不变。

累加器高四位与低四位互换SWAP A

DECA(Rn,direct,@Ri)减1指令

INC多一条INCDPTR

控制转移指令

一、无条件转移指令

1)长转移:

LJMPaddr16;64K

2)绝对转移:

AJMPaddr11;同一个2K

3)相对转移:

SJMPrel;-128~+127

4)散转指令:

JMP@A+DPTR

实际编程时使用目的地址标号

例:

LJMPMAIN

SJMPNEXT

JBCbit,rel;bit为1转移,且位bit清零

CJNEA,#data(direct),rel不等转移

CJNERn,#data,rel

CJNE@Ri,#data,rel

对Cy位有影响。

返回:

RET

RETI;中断子程序返回

空指令NOP

非:

CPLC

CPLbit

 

汇编:

将汇编语言翻译成机器语言;

伪指令:

告诉汇编程序汇编方法的命令,不生成机器代码。

EQU:

等值命令(定义常量)

例:

XEQU20H

YEQU21H

ZEQU22H

程序中可用XYZ替代20H,21H,22H

DATA:

数据地址赋值

XDATA20H

YDATA21H

只能对累加器进行移位(RL、RR、RLC、RRC)A

CLRACPLA

第四章汇编程序设计

顺序程序

例:

将40H单元中8位无符号二进制数转换成三位BCD码,并存放在BAI,SHI,GE三个单元中。

ORG0000H

BAIDATA30H

SHIDATA31H

GEDATA32H

MOVA,40H

MOVB,#100

DIVAB

MOVBAI,A

MOVA,B

MOVB,#10

DIVAB

MOVSHI,A

MOVGE,B

SJMP$

END

分支程序

例:

设变量X存放于R2,Y存放在R3,试按下式给Y赋值。

MOVA,R2

JNZL1;累加器判非零转移

MOVR3,#0

SJMPL3

L1:

JBACC.7,L2

MOVR3,#1

SJMPL3

L2:

MOVR3,#0FFH

L3:

SJMPL3

END

循环程序

例:

将内部RAM30H为首地址的20个数据传送到外部RAM3000H开始的单元。

MOVR0,#30H

MOVDPTR,#3000H

MOVR7,#20

LOOP:

MOVA,@R0

MOVX@DPTR,A

INCR0

INCDPTR

DJNZR7,LOOP

HERE:

SJMPHERE

子程序

例1:

编程实现c=a2+b2

XADATA40H

XBDATA41H

XCDATA42H

MOVA,XA

ACALLSQR

MOVXC,A

MOVA,XB

ACALLSQR

ADDA,XC

MOVXC,A

SJMP$

SQR:

MOVB,A

MULAB

RET

例2:

多重循环

5ms延时程序,设fosc=6MHz机器周期为2μs

DELAY:

MOVR6,#5;循环5次

DEL1:

MOVR7,#250;循环250次

DEL2:

DJNZR7,DEL2;2×250×2μs=1ms

DJNZR6,DEL1;5×1ms=5ms

RET;DJNZ为两个机器周期

查表程序设计

1.表格的定义:

使用伪指令:

DB,DW

例:

TAB:

DB3FH,06H,5BH,4FH,66H

DB6DH,7DH,07H,7FH,6FH

DB77H,7CH

2.表格的访问:

MOVCA,@A+DPTR

MOVCA,@A+PC

 

例:

已知R0低4位有一个十六进制数(0-F),编程转换成相应的ASCII码并送入R0.

MOVA,R0

ANLA,#0FH

ADDA,#03H;PC本身是一个程序计数器,

计算偏移量(查表指令的下一条指令首地址到表格首地址之间的字节数)

MOVCA,@A+PC

MOVR0,A1个字节

SJMP$2个字节

ASCTAB:

DB‘0’,’1’,’2’,’3’,’4’,’5’,’6’,’7’

DB‘8’,’9’,’A’,’B’,’C’,’D’,’E’,’F’

上例用DPTR做基址的程序如下:

MOV@DPTR,#ASCTAB

MOVA,R0

ANLA,#0FH

MOVCA,@A+DPTR

MOVR0,A

SJMP$

ASCTAB:

DB‘0’,’1’,’2’,’3’,’4’,’5’,’6’,’7’

DB‘8’,’9’,’A’,’B’,’C’,’D’,’E’,’F’

把内部RAM中起始地址为BLK1的数据块传送到外部RAM中以BLK2为起始地址的区域,直到遇到“#”为止。

数据块长度放在R1中。

1)循环程序包含分支程序。

2)计数循环,采用间接寻址。

BLK1EQU30H

BLK2EQU1000H

MOVR0,#BLK1

MOVDPTR,#BLK2

XH:

CLRC

MOVA,@R0

PUSHACC

SUBBA,#23H

JZJS

POPACC

MOVX@DPTR,A

INCR0

INCDPTR

DJNZR1,XH

JS:

SJMP$

 

编程实现下面的功能:

LED0EQUP3.0

LED1EQUP3.1

LED2EQUP3.2

LOOP:

MOVA,P1

CLRC

SUBBA,#100

JZEQUAL

JCSMALL

CLRLED0

CLRLED1

SETBLED2

SJMPOK

EQUAL:

CLRLED0

SETBLED1

CLRLED2

SJMPOK

SMALL:

SETBLED0

CLRLED1

CLRLED2

OK:

SJMPLOOP

例3:

在P1.0引脚输出1HZ方波信号。

ORG0000H

LOOP:

MOVR1,#100

WAIT:

LCALLDELAY

DJNZR1,WAIT

CPLP1.0

SJMPLOOP

第五章单片机内部资源

中断:

由外设向CPU提出请求,在满足一定条件下,CPU暂停现有程序的运行,而去运行中断服务程序(中断子程序),执行结束后返回原先的程序继续运行。

中断源:

向CPU请求中断的事件。

中断响应条件

1)中断源的请求

2)中断允许位开放

3)中断总允许位开放

4)若有多个中断源同时请求,则本中断源优先级最高

5)CPU没有执行中断任务或本中断优先级高于正在执行的中断源的优先级

定时方式与计数方式区别:

脉冲来源

定时方式:

计数脉冲来自单片机内部,每个机器周期加1。

计数方式:

计数脉冲来自单片机外部引脚

串行口

通讯方式:

并行通讯:

多位数据同时传送。

速度快,效率高。

需要有与数据位相等的数据线。

串行通讯:

数据按位传送。

使用较少的数据线,成本低。

速度较慢。

数据格式:

起始位(低电平)+数据位+停止位(高)+空闲位(高)

数据位:

低位在前,高位在后。

波特率:

串行通讯中,每秒钟传送二进制数码的位数。

通讯方向:

单工方式:

一方固定为发送,另一方固定为接收,数据单向传送。

双工方式:

数据可以双向传送。

半双工:

可以双向传送,但在同一时刻,数据的传送方向只能有一个。

全双工:

数据可以同时收发。

.串行口引脚

接收引脚:

RXD(P3.0)

发送引脚:

TXD(P3.1)

数据缓冲寄存器:

SBUF,(99H)

结构:

一个发送寄存器,一个接收寄存器

作用:

用于收发数据

发送:

MOVSBUF,#10H

MOVSBUF,A

读取:

MOVA,SBUF

MOV20H,SBUF

波特率设计

1)方式0:

固定

fCLK=fosc/12

2)方式2:

固定

波特率=2SMOD*fosc/64

3)方式1,3:

可变

波特率=(2SMOD/32)*T1的溢出率

第六章单片机系统扩展

一、总线扩展

总线:

连接系统中各个扩展部件的一组公共信号线。

分为数据总线、地址总线和控制总线。

总线的构成

1)数据总线:

8位

P0.0~P0.7:

D0~D7

2)地址总线:

16位

P0.0~P0.7,P2.0~P2.7:

A0~A15

3)控制总线:

3

PSEN,RD,WR

构成接口芯片片选信号的两种方法:

1)线选法:

用高位地址线直接作为接口芯片的片选信号。

2)译码法:

用译码器对高位地址线进行译码后作为片选信号。

译码器:

2-4译码器:

74LS139

3-8译码器:

74LS138

4-16译码器:

74LS154

扩展方法

芯片的数据线与数据总线相连,

地址线与地址总线或片选信号线相连,

控制线与控制总线相连。

访问方法:

1)以PSEN作为控制线:

与片外ROM统一编址

读:

MOVCA,@A+DPTR

MOVCA,@A+PC

2)以RD,WR作为控制线:

与片外RAM统一编址

读:

MOVXA,@DPTR

MOVXA,@Ri

写:

MOVX@DPTR,A

MOVX@Ri,A

二、存储器扩展

程序存储器型号

1)ROM

2)EPROM:

电可编程只读存储器

2716:

16Kbit,2Kbyte

2732:

32Kbit

2764:

64Kbit

27128:

27256:

64Kbyte

3)EEPROM:

电擦除电编程ROM

2817:

2Kbyte

2864:

64Kbit

数据存储器型号

采用静态RAM(StaticRAM)

6116:

16Kbit

6264:

64Kbitor8Kbyte

62256:

32Kbyte

628128:

128Kbyte

三、键盘接口

接口形式

1)独立式键盘:

每个键单独地接I/O线。

特点:

接口简单,但需较多的I/O线。

2)行列式键盘:

每个键跨接在行线和列线上。

特点:

占用较少的I/O线,编程较复杂

去抖动:

原因:

键被按下时,由于机械触电的弹性以及电压突跳等原因,在触电闭合及释放的瞬间将出现电压抖动。

方法:

软件和硬件

软件去抖动——延迟10-20ms进行再次扫描。

例:

用A记录按键次数。

MOVA,#0

LOOP:

JBP1.0,LOOP

LCALLDELAY

JBP1.0,LOOP

INCA

WAIT:

JNBP1.0,WAIT

SJMPLOOP

四、LED数码管:

类型:

共阴数码管、共阳数码管

接口方式:

1)静态显示方式:

位选信号固定为高电平(共阳数码管)或低电平(共阴数码管),段选信号接I/O线。

特点:

接口简单;容易编程;亮度较高;需要较多的I/O线,功耗高。

8*n

2)动态显示方式

所有数码管的段选线并联后连接I/O线,各数码管的位选单独连接到I/O线。

原理:

动态轮流显示,输出数码管的显示码,然后输出位选信号,使得该数码管位选有效(共阴数码管为0,共阳数码管为1),而其他数码管无效;延时几毫秒,关闭位选,显示下一个数字。

特点:

较少的I/O线,8+n,编程较复杂,占用较多的CPU时间

A/D接口

ADC0809:

8位,8通道,逐次逼近式A/D转换器,转换时间100us

D/A转换器

D/A转换器主要技术指标

1)分辨率:

最小输出电压与最大输出电压之比。

如:

8位A/D1/255,

10位A/D1/1023

2)建立时间

3)输出方式:

电流,电压

4)输入代码:

二进制,BCD,串行

DAC0832

1.特点:

8位分辨率,总线接口,单电源

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 公共行政管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1