基于STC15单片机资料.docx
- 文档编号:8977574
- 上传时间:2023-02-02
- 格式:DOCX
- 页数:20
- 大小:50.95KB
基于STC15单片机资料.docx
《基于STC15单片机资料.docx》由会员分享,可在线阅读,更多相关《基于STC15单片机资料.docx(20页珍藏版)》请在冰豆网上搜索。
基于STC15单片机资料
单片机原理复习要点
考试题型:
填空题、选择题、判断题(共计45分左右)
程序分析题、简答题(主第二章)、编程题(共计55分左右)
前言:
经过大家得奋战,单片机得复习资料出炉了!
!
!
感谢所有为本资料无私奉献得小伙伴们!
!
!
如果资料有错误,请自行修改.
第一章
1>、微型计算机:
微处理器,存储器(ROM RAM)与输入输出接口(I/O接口)及连接她们得总线组成。
2>、存储器得两个重要得指标就是容量与速度。
3>、已知一个存储器有12根数据总线,则该存储器得容量为4KB。
(算法:
212=22*210=4K)
4>、已知某单片机有16根地址总线,则该单片机得寻址范围为:
0-64KB.
5>、微机得总线结构就是:
三总线结构,而单片机得总线结构就是:
单总线结构。
6>、总线分为地址总线、数据总线、控制总线、其中地址总线得I/O口就是P0口与P2口,数据总线得I/O口就是P0口。
第二章(瞧完要有印象)
1>、关于STC15F2K60S2系列单片机得功能叙述:
①、有8通道10位ADC转换。
②、两个全双工异步串行口.
③、三个定时器T0T1T2。
(其中T0有4种工作方式,T1有3种工作方式,T2有1种工作方式。
但就是T1与T2可以作为波特率发生器)
④、增强型8051 CPU,每个机器周期只有一个系统时钟,时钟频率分为12分频或不分频.
2>、关于STC15F2K60S2得引脚(有印象就行)
Ø数据总线:
P0口
Ø访问外部存储器时地址总线:
P0口(低8位);P2口(高8位)
Ø外部中断入口:
P3、2(外部中断0);P3、3(外部中断1) P3、6(外部中断2);P3、7(外部中断3);P3、0(外部中断4)
Ø定时器脉冲输入:
P3、4(T0脉冲输入);P3、5(T1脉冲输入);P3、1(T2脉冲输入)
Ø控制引脚:
1 地址锁存信号线(ALE):
P4、5
2 外部存储器读操作():
P4、4
3 外部存储器写操作():
P4、2
3>、单片机得中央处理器就是由运算器与控制器组成.
4〉、STC15单片机得储存结构。
(要有印象)
v0000H—EFFFH:
程序Flash
0000H—3FFFH:
数据Flash
00H—7FH:
低128字节基本RAM
80H—FFH:
高128字节基本RAM
v片内基本RAM分为低128字节RAM、高128字节得RAM得特殊功能寄存器(SFR)
v其中低128字节又分为工作寄存器区,位寻址区。
与通用RAM 区。
工作寄存器区得功能由RS0与RS1决定。
v位寻址区:
片内得基本RAM得20H——--2FH共16个字节就是位寻址区,每个字节8个位,共128位,其对应得地址分别为00H--—--7EH、位地址还可以用字节地址加位号表示,如20H得单位得B5位,其地址可用05H表示,也可用20、5H表示。
v通用RAM区;30H-----7FH共80个字节。
其中高128字节得RAM得地址为80H--—-FFH、高128字节得RAM只能采用寄存器间接寻址方式访问;特殊功能寄存器只能采用直接寻址方式。
第四章
1>、指令寻址方式:
(要了解)
a.直接寻址:
直接累加器或寄存器访问目标。
比如:
MOVA,20H
b.寄存器间接寻址:
将地址赋给一个寄存器,然后利用该寄存器得内容作为地址,让累加器或寄存器访问。
比如:
MOVR0,#30H
MOVA,RO
c.立即寻址:
将立即数赋给累加器或寄存器.
d.寄存器寻址:
寄存器间得数据传送,或者自加自减.
e.变址寻址:
一个地址加另一个地址中得数据送到累加器或者寄存器。
比如:
MOVA,A+DPTR
2>、指令表(必须记住,提供英文全称辅助记忆)
MOV A,B 赋值(传送)(Move)
MOVX A,B (片外)赋值
MOVCA,B (存储器)赋值(MoveCode)
XCH A,B (寄存器间)交换(Exchange)
XCHDA,B (寄存器间低4位)交换
SWAPA (自己得低4位与高4位)交换
PUSHA 入栈操作
POP A 出栈操作
ADD/ADDC A,B加法/带进位得加法(Addition)
SUBBA,B 减法(Subtraction)
MUL AB 乘法(Multiplication)
DIVAB 除法(Division)
INC A 自加(Increment)
DEC A 自减(Decrement)
ANL A,B 逻辑与(AndLogic)
ORLA,B 逻辑或(Or Logic)
XRL A,B 逻辑异或(Exclusive OrLogic)
CLRA 清零(Clear)
CPL A 取反(ConversePositionLogical)
RL A 循环左移(Rotate Left)
RLC A 循环左移加CY(RotateLeftwithCY)
RR A 循环右移(RotateRight)
RRC A 循环右移加CY(RotateRightwithCY)
AJMPaddr 短转移(绝对转移)(Absolute Jump)
LJMPaddr 长转移(LongJump)
SJMP addr 相对转移(ShortJump)
NOP 空操作(Not Operation)
JZaddr 为0转移(JumpifZero)
JNZ addr非0转移(JumpifNotZero)
CJNE A,B,addr比较不等转移(pare Jumpif NotEqual)
DJNZ A,addr 减1非0转移(DecrementJumpif NotZero)
LCALLaddr 子程序长调用(LongCall)
ACALL addr 子程序绝对调用(AbsoluteCall)
RET 子程序返回(Return)
RETI 中断返回(Returnfrom Interruption)
还有其她剩余指令,自己稍微了解一下就行.(备注:
A,B为源操作数与目得操作数,addr为地址或程序标志).
第五章(要学会应用)
v伪指令:
ORG
v作用:
设定程序起始地址指令
第六章(整合到大题中考)
第七章(建议记住)
1>、引起中断得根源或者原因称为中断源,STC15中,中断源共有14个.
2>、CPU在处理较低优先级得中断服务子程序时,有更高优先级程序申请中断,使CPU转而执行更高优先级得中断服务子程序称为中断嵌套。
3〉、中断标志清零得方式有软件清零与硬件清零。
4>、响应中断得条件:
中断总开关EA以及相应中断得控制位都开放中断,并且中断源得信号满足中断要求.
5>、中断方式跳转与调用方式跳转得区别?
答:
中断方式跳转需要事先设置中断服务程序得入口地址,并且需要设置相应得中断控制位,开放相应得中断.在设置好相关得程序后还需要需要等待中断。
中断产生后,需要在中断服务子程序中设置入栈操作,用来保护断点。
中断服务执行后,程序会自动返回断点处。
调用方式跳转则不需要设置中断服务入口地址,只需要查询相关中断申请标志位,若有申请就发生跳转。
在执行调用子程序中,系统会自动对断点进行保护,不需要设置入栈操作.返回时,需要在调用子程序中设置跳转指令,跳转回断点。
(本题较长,建议结合自己得观点精简答案。
)
6>、中断服务程序入口地址:
(如果擅长用中断方式编程得童鞋必须记住,擅长调用方式编程就不重要了。
)
外部中断0 0003H
定时器/计数器T0中断 000BH
外部中断1 0013H
定时器/计数器T1中断 001BH
串行口中断 0023H
A/D转换中断 002BH
LVD中断 0033H
PCA中断 003BH
串行口2中断 0043H
SPI中断 004BH
外部中断2 0053H
外部中断3 005BH
定时器T2中断 0063H
预留中断 006BH、0073H、007BH
外部中断4 0083H
第八章
◆定时器初始化工作:
(要了解如何操作)
1)对TMOD赋值,以确定T0与T1得工作方式。
2)对AUXR赋值,确定定时脉冲得分频系数,默认为12分频,与传统8051单片机兼容。
3)计算初值,并将其写入TH0、TL0或TH1、TL1。
4)为中断方式时,则对IE赋值,开放中断,必要时,还需要对IP操作,确定各个中断源得优先级。
5)置位TR0或TR1,启动T0与T1开始计时或者计数.
◆T0、T1工作方式:
(建议记住)
M1 M0 工作方式 功能
0 0 方式0 16位自动重装初值
0 1 方式1 16位不自动重载初值
1 0 方式2 8位自动重载初值
1 1 方式3 两个8位(仅限T0)
第九章
1〉、并行通信与串行通信得区别就是什么?
有哪些优缺点?
答:
并行通信就是将数据字节得各位用多条数据同时进行传送。
优点就是控制简单,传送速度快。
缺点就是由于传输线较多,长距离传送成本较高,因此仅适用于短距离传送。
串行通信就是将数据字节分为一位一位得形式在一条传输线上逐个地传送。
优点就是传输线少,长距离传送成本很低.缺点就是传输速度慢,因此适用于长距离传输。
2〉、同步通信与异步通信得区别就是什么?
有哪些优缺点?
答:
异步通信得数据通常就是以字符(或字节)为单位组成字符帧传送得。
优点就是不需要传送同步时钟,字符帧长度不受限制,故而设备简单.缺点就是字符帧中因为包含起始位与停止位而降低了有效数据得传输速率。
同步通信就是一种连续串行传送数据得通信方式,一次通信传输一组数据(包含若干个字符数据)。
优点就是数据传输速率较高,通常可达56000 bit/s或更高。
缺点就是要求发送时钟与接收时钟必须保持严格同步,硬件电路也很复杂。
3>、多机通信选择
第十章(要记住会运用啊!
)
1〉、选择A/D模块得重要得指标就是:
转换精度与转换速度.
2〉、A/D模块编程过程:
1 打开ADC电源(设置ADC_CONTR中得ADC_POWER)。
2 适当延时,等ADC内部模拟电源稳定。
一般延时1ms即可。
3 设置P1口中得相应口线作为AD转换模拟量输入通道(设置P1ASF寄存器)。
4 选择ADC通道(设置ADC_CONTR中得CHS2—CHS0)。
5 根据需要设置转换结果存储格式(设置CLK_DIV中得ADRJ)。
6 查询A/D转换结果标志ADC_FLAG,判断A/D转换就是否完成,若完成,则读出A/D转换结果(保存在ADC_RES与ADC_RESL寄存器中),并进行数据处理.如果就是多通道模拟量进行转换,则更换A/D转换通道后要适当延时,使输入电压稳定,延时量取20—200μs即可(与输入电压源得内阻有关),如果输入电压源得内阻在10KΩ以下,可不加延时。
7 若采用中断方式,还需要进行中断设置(中断允许与中断优先级)。
8 在中断服务程序中读取A/D转换结果,并将ADC中断请求标志ADC_FLAG清零.
3〉、A/D转换速度:
SPEED1
SPEED0
A/D转换所需时间
1
1
90个时钟周期转换一次 ,CPU工作频率21MHz时, A/D转换速度约300KHz,9位精度
1
0
180个时钟周期转换一次,可达到10位精度
0
1
360个时钟周期转换一次,可达到10位精度
0
0
540个时钟周期转换一次,可达到10位精度
4>、A/D模拟通道选择:
CHS2
CHS1
CHS0
模拟输入通道选择
0
0
0
选择P1、0作为A/D输入信号
0
0
1
选择P1、1作为A/D输入信号
0
1
0
选择P1、2作为A/D输入信号
0
1
1
选择P1、3作为A/D输入信号
1
0
0
选择P1、4作为A/D输入信号
1
0
1
选择P1、5作为A/D输入信号
1
1
0
选择P1、6作为A/D输入信号
1
1
1
选择P1、7作为A/D输入信号
v附加重点:
Ø特殊功能寄存器(从上到下依次对应寄存器得高位到低位)
1、程序状态标志寄存器PSW
CY:
进位标志。
执行加减指令时,如果操作结果得最高位D7进/借位,则CY位置1。
否则置0,执行乘法指令时,CY清0。
AC:
辅助进位标志。
当执行加减指令时,如果低四位数向高四位数产生进/借位。
则AC置1,否则置0。
F0:
用户自定义。
RS1RS0:
工作寄存器组选择控制位.
OV:
溢出标志位,指示运算过程中就是否发生了溢出,有溢出时,OV为1。
否则为0。
F1:
用户标志位1
P:
奇偶标志位,如果累加器ACC中得1得个数为偶数,P=0,否则P=1。
2、辅助寄存器AUXR
T0x12:
决定定时器T0就是否12分频。
0:
12分频,定时周期为1μs。
1:
不分频,定时周期为1T。
T1x12:
决定定时器T1就是否12分频。
0:
12分频,定时周期为1μs.
1:
不分频,定时周期为1T。
UART_M0x6:
串行口模式0状态下得速度设置。
TR2:
定时/计数器T2运行控制位。
T2_C/:
定时/计数器T2功能选择位.
T2x12:
T2就是否12分频。
EXTRAM:
内部扩展RAM访问控制位。
S1ST2:
串行口1波特率发生器选择位.
0:
选择T1为波特率发生器。
1:
选择T2为波特率发生器。
3、中断允许控制器IE(0:
关闭中断;1:
开放中断)
EA:
中断总开关。
ELVD:
低电压中断允许控制位。
EADC:
A/D转换中断允许位。
ES:
串行口中断允许标志。
ET1:
定时器T1中断允许控制位.
EX1:
外部中断1允许控制位。
ET0:
定时器T0中断允许控制位。
EX0:
外部中断0允许控制位。
4、中断优先级控制寄存器IP(0:
低优先级;1:
高优先级)
PPCA:
PCA中断优先级.
PLVD:
低电压中断优先级.
PADC:
A/D转换中断优先级.
PS:
串行口中断优先级.
PT1:
定时/计数器T1中断优先级.
PX1:
外部中断1优先级。
PT0:
定时/计数器T0中断优先级。
PX0:
外部中断0优先级。
5、定时/计数器控制寄存器TCON
TF1:
T1溢出中断请求标志。
TR1:
T1得运行控制位。
0:
T1停止运行。
1:
T1启动运行。
TF0:
T0溢出中断请求标志.
TR0:
T0得运行控制位。
0:
T0停止运行.
1:
T0启动运行。
IE1:
外部中断1得中断请求标志。
IT1:
外部中断1得中断触发方式控制位。
IE0:
外部中断0得中断请求标志。
IT0:
外部中断0得中断触发控制位.
6、工作方式寄存器TMOD
GATE:
门控位。
C/:
功能选择位。
0:
设定为定时器工作模式。
1:
设定为计数器工作模式。
M1MO:
选择定时器/计数器工作模式。
7、串口1控制寄存器SCON
SM0/FE:
为1时,该位用于帧错误检测,它必须由软件清零。
为0时,SM0/FE位与SM1一起指定串行通信得工作方式。
SM1:
多机通信控制位。
SM2:
多机通信控制位。
REN:
允许接收控制位。
1:
允许串行口接收数据;
0:
禁止串行口接收数据。
TB8:
在方式2与3时,它就是要发送得第9个数据位,按需要由软件进行置位或清零.该位可用作数据得奇偶校验位,或在多机通信中用作地址帧/数据帧得标志位。
RB8:
在方式2与3时,它就是接收到得第9位数据,为奇偶检验位或地址帧/数据帧标志位。
在方式1时,若SM2=0,则RB8就是接收到得停止位。
在方式0时,不使用RB8。
TI:
发送中断标志位,必须用软件清零.
RI:
接收中断标志位。
8、掉电控制寄存器PCON
SMOD:
串行口波特率系数控制位。
1:
使方式1、方式2与方式3得波特率加倍。
0:
各工作方式得波特率不加倍.
SMOD0:
帧错误检测有效控制位。
1:
SCON寄存器中得SM0/FE位用于FE(帧错误检测)功能。
0:
SCON寄存器中得SM0/FE位用于SM0功能,与SM1一起指定串行通信得工作方式。
LVDF:
片内低电压检测中断请求标志位.
9、ADC控制寄存器ADC_CONTR
ADC_POWER:
ADC电源控制位.
SPEED1:
ADC转换速度控制位。
SPEED0:
ADC转换速度控制位.
ADC_FLAG:
A/D转换结束标志位。
ADC_START:
A/D转换起动控制位.
CHS2:
模拟输入通道选择。
CHS1:
模拟输入通道选择.
CHS0:
模拟输入通道选择。
10、模拟功能控制寄存器P1ASF
P17ASF
P16ASF
P15ASF
P14ASF
P13ASF
P12ASF
P11ASF
P10ASF
功能:
如果要使用相应口得模拟功能,需将P1ASF特殊功能寄存器中得相应位置为1.
v附加试卷
一.填空题
1、MCS-51得程序存储器空间为程序Flash,其地址指针为0000H—EFFFH;MCS-51得外部数据存储器空间为 扩展ROM ,其地址指针为0000H-06FFH .(P20)
2、指出以下指令中源操作数得寻址方式:
MOVC A,A+DPTR属于变址 寻址;MOVC,01H属于直接寻址;MOV A,P1属于寄存器 寻址.
3、中断过程一般应包括将相应得优先级状态触发器置1、 硬件自动产生一个长调用指令、把断点地址压入栈保护与把中断程序服务入口地址送到程序计数器PC4个步骤。
(P152)
4、在单片机得控制应用系统中,可供选择得定时方式有软件定时、硬件定时与 可编程定时器定时3种。
(P159)
5、计算机得数据传送方式有串行通信与并行通信两种方式。
(这个题目有点瞧不懂,答案我不敢肯定就是正确得)
6、8155就是Intel公司生产得可编程RAM与I/O扩展芯片,其片内资源有:
256字节得静态RAM,最快存取时间为400ns;两个可编程得8 位并行I/O口PA口、PB口,一个可编程得6 位并行I/O口PC口;一个可编程得14 位 减一计数器.(这个我们没有学过)
7、STC15系列单片机中就是一种 8通道 10 位高速电压输入型A/D转换器。
8、STC15系列单片机得5个中断源、、T0、T1与串行口中断所对应得中断服务程序入口地址分别就是0003H、0013H 、000BH 、 OO1BH 与0023H。
二。
简答题
1、简述单片机得特点。
答:
微型计算机得基本组成成分(CPU、储存器,I/O接口以及连接她们得总线)集成在一块芯片中而构成得计算机,简称为微型计算机。
简称为计算机。
由于单片机具有较高得性能价格比,良好得控制性能与灵活得嵌入特性,单片机得应用极其广泛。
2.简述机器周期、状态周期及指令周期之间得区别。
答:
指令周期就是CPU得关键指标,指取出一条并执行一条指令得时间.一般由机器时间为周期,在计算机中,为了管理方便,常常把一条指令分为若干个阶段,每一个阶段完成一项工作。
完成一个基本操作得时间称之为机器周期。
一般情况下一个机器周期就是由若干个状态周期组成得。
3、简述程序状态字(PSW)得几个标志得意义及置位与复位得条件。
答:
程序状态字得各个标志位意义如下:
CY:
进位标志位。
执行加减指令时,如果操作结果得最高位D7进/借位,则CY位置1。
否则置0,执行乘法指令时,CY清0。
AC:
辅助进位标志位,当执行加减指令时,如果低四位数向高四位数产生进/借位。
则AC置1,否则置0。
FO:
用户标志0
RS1 RS0:
工作寄存器组选择控制位。
OV:
溢出标志位,指示运算过程中就是否发生了溢出,有溢出时,OV为1。
否则为0。
F1:
用户标志位1
P:
奇偶标志位,如果累加器ACC中得1得个数为偶数,P=0,否则P=1。
4.在STC15中,哪些中断可以随着中断响应而自动撤除?
哪些中断需要用户来撤除?
撤除得方法就是什么?
答:
对于定时器/计数器T0或T1溢出中断,CPU在响应中断后,由硬件自动清除其中断标志位TF0或TF1,无需采取其她方式.当相应中断服务执行后,这些中断请求标志位也会自动清零。
对于串行口中断,CPU在响应中断后,硬件不会自动清除标志位TI或RI,必须在中断服务程序中,在判别TI还就是RI引起得中断后,在用软解将其清零。
外部中断0与外部中断1得触发方式可以由ITx(x=0,1)设置为0还就是1,都属于边沿触发,CPU在响应中断后由硬件自动清除其中得标志位IE0或IE1,无需再用其她得方式。
电源低电压检测中断得中断标志位需要用软件清零。
三.程序分析题
1、指出下列指令中哪些就是非法得?
如果非法请改正。
DECDPTR
RL B
JNZ A,NEXT
MOV A,R2
答:
非法指令就是DECDPTR,改正:
INCDPTR。
四.综合应用题
在STC15单片机中,请用定时器1,由p1、0输出400ms得方波。
要求:
(1)写出定时器1得方式控制字,计算定时器1得初值;
(2)试编写完成此功能得程序段.
附录:
TMOD格式说明:
位序
D7
D6
D5
D4
D3
D2
D1
D0
位符
GATE
C/T1
M1
M0
GATE
C/T0
M1
M0
GATE——门控位
GATE=0 由运行控制位TR启动定时器;
GATE=1 由外中断请求信号(INT0或INT1)启动定时器;
C/T——定时方式或计数方式选择位
C/T=0定时工作方式;
C/T=1计数工作方式;
M1M0-—工作方式选择位
00 方式0——为13位定时器/计数器;
01 方式1——为16位定时器/计数器;
10方式2——为常数自动装入得8位定时器/计数器;
11方式3——(仅适用于T0)为两个8位定时器/计数器,在方式3时T1停止计数.
答:
设定定时器T1工作在方式0,定时时间为50ms,计数次数为4次.
计数初值:
65536-50000=15536=3CBOH
查询方式编程:
ORG0100H
MAIN:
MOVTMOD,#00H
MOV TH1,#3CH
MOVTL1,#0B0H
MOVR0,#04
SETB TR1
Check_TF1:
JBC TF1,Timer1_Overflow
SJMPCheck_TF1
Timer1_Ove
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 STC15 单片机 资料
![提示](https://static.bdocx.com/images/bang_tan.gif)