单片机复习资料Word格式.docx
- 文档编号:20496152
- 上传时间:2023-01-23
- 格式:DOCX
- 页数:10
- 大小:19.88KB
单片机复习资料Word格式.docx
《单片机复习资料Word格式.docx》由会员分享,可在线阅读,更多相关《单片机复习资料Word格式.docx(10页珍藏版)》请在冰豆网上搜索。
包括CPU、存储器、可编程I/O口、定时/计数器、串行口、时钟电路、中断系统等,各部分通过内部总线相连。
二
单片机的工作原理
三
存储器
80C51的存储器:
物理结构上有四个存储器空间:
(a)程序存储器[片内、片外]
(b)数据存储器[片内、片外]
逻辑结构上有三个存储空间:
(a)片内外统一编址的64KB程序存储地址空间
(b)256B内部数据存储器地址空间
(c)64KB外部数据存储器地址空间
8051单片机中采用MOV和MOVX两种指令来区分片内外RAM空间,其中片内RAM使用MOV指令,片外RAM和I/O口使用MOVX指令。
对片外数据存储器采用间接寻址方式,R0、R1和DPTR可以作为间接寄存器。
前两个是8位地址指针,寻址范围为256B,而DPTR是16位地址指针,寻址范围为64KB。
用MOVC访问程序存储器。
四
输入输出端口结构
80C51单片机有4个双向并行的8位I/O口P0~P3,P0口可驱动8个TTL电路,P1、P2、P3口负载能力为4个TTL电路。
在具有片外存储器的系统中,P2口作为高8位地址线,P0口分时作为低8位地址线和双向数据线。
单片机4个I/O端口在结构上是基本相同的,但又各具特点。
五
CPU时序与时钟电路
机器周期=12时钟周期
第四章
指令系统
一数据传送类指令
二算术运算类指令
三逻辑操作类指令
四控制转移类指令
五位操作类指令
第五章
汇编语言程序设计
一
顺序结构程序设计
循环结构程序设计
分支结构程序设计
第六章定时器/计数器
定时计数器结构与原理
MCS51单片机内有2个独立的16位的可编程定时/计数器T0和T1。
它们的结构相似。
另外还有两个(控制寄存器TCON和方式寄存器TMOD)特殊功能寄存器。
16位的定时计数器分别由两个8位专用寄存器组成,即:
T0由TH0和TL0构成;
T1由TH1和TL1构成。
每个寄存器均可单独访问。
这些寄存器用于存放定时或计数初值的。
另内部还有8位的定时器控制寄存器TCON和方式寄存器TMOD。
其中TCON主要用于选定定时器的工作方式;
TCON用于控制定时器的启动与停止,还可保存T0、T1的溢出和中断标志。
当定时器工作在计数方式时,外部事件通过引脚T0(P3.4)和T1(P3.5)输入。
方式寄存器TMOD和控制寄存器TCON
定时/计数器的初始化
4种工作方式
应用
第七章串行接口
串行通信制式
并行通信:
所传送数据的各位同时发送或接受。
串行通信:
所传送数据的各位按顺序一位一位地发送或接受。
⑴单工方式
⑵半双工方式⑶全双工方式
波特率的定义及设计
方式0时的波特率由振荡器的频率(fosc)所确定:
每个机器周期发送或接收1位数据,波特率为fosc/12。
方式2时的波特率由振荡器的频率(fosc)和SMOD位确定,当SMOD位=1时,波特率=fosc/32;
当SMOD=0时,波特率=fosc/64。
方式1和3时的波特率由定时器T1和T2的溢出率和SMOD确定。
控制寄存器SCON和专用寄存器PCON
三种帧格式和四种工作方式
第八章中断系统
中断源是指引起中断请求的来源。
中断入口、中断优先级
二中断允许控制IE中断优先级设定IP以及TCON和
SCON中的中断标志
中断处理过程
1.编制一个循环闪烁灯的程序。
有8个发光二极管,每次其中某个灯闪烁点亮10次后,转到下一个闪烁10次,循环不止。
本程序的硬件连接如图所示。
当P1.0输出高电平时,LED灯亮,否则不亮。
其程序如下:
MOV
A,#01H
;
灯亮初值
SHIFT:
LCAIL
FLASH
调闪亮10次子程序
RR
A
;
右移一位
SJMP
SHIFT
循环
FLASH:
R2,#0AH
闪烁10次计数
FLASH1;
P1,A
点亮
LCALL
DELAY
延时
P1,#00H
熄灭
DJNZ
R2,FLASH1
RET
2,从P2.7引脚输出500HZ方波,晶振频率1MHZ,试编写程序。
根据题意解题如下:
方波周期=1/500=2ms;
选择T0工作于方式1定时1ms;
(216-X)×
1μS=1ms
定时常数X=?
参考程序如下:
MOV
TMOD,#?
TH0,#?
TL0,#?
SETB
TR0
D500:
JBC
TF0,D2
AJMP
D500
D2:
CPL
P2.7
3,编程求计算片内RAM30H~37H八个连续单元中数的算术平均值。
FILTER:
CLR
A
MOVR2,A
MOVR3,A
MOVR0,#30H
FILTER1:
MOVA,@R0;
求和
ADDA,R3
CLRA
ADDCA,R2
INCR0
CJNER0,#38H,FILT1
SWAPA;
求平均值
RLA
XCHA,R3
SWAPA
ADDA,#80H
ANLA,#1FH
ADDCA,R3
RET
1.
编定一个软件延时1S和1min的子程序.设fosc=6Hz,则一个机器周期1μs。
解:
(1)1S=2US*5*100000
5*100000=250*200*10
(2)
ORG
1000H
TIME:
R7,#10
T3:
R6,#200
T2:
R6,#250
T1:
R5,T1
R6,T2
R7,T3
RET
(2)1min=60,调用上面1s子程序60次
0030H
R0,#60
LOOP:
TIME
R0,LOOP
4.应用单片机内部定时器T0工作在方式1下,从P1.0输出周期为2ms的方波脉冲信号,已知单片机的晶振频率为6MHZ。
请
(1)计算时间常数X,应用公式X=216-t(f/12)
(2)写出程序清单
X=216-t(F/12)
=216-1*10-3*6*106/12
=OFEOCH
3000H
START:
TMOD,#01H
TL0,#OCH
THO,#OFEH
SETB
TR0
TFO,DONE
LOOP
DONE:
CPL
P1.0
应用单片机内部定时器T0工作在方式1下,从P1.0输出周期为1ms的方波脉冲信号,已知单片机的晶振频率为6MHZ。
请
(1)计算时间常数X,应用公式X=216-t(f/12)
=216-0.5*10-3*6*106/12
=FF06H
TL0,#06H
THO,#FFH
习题
1,IT0置1后,外部中断0的有效中断触发信号是下降沿。
2,PC用来存放下一条的指令地址。
3.T0有4种工作方式,T1有3种工作方式。
4,若PSW.4=1,PSW.3=0,则要想把R2的内容单独入栈,应使用PUSH12H命令。
5,51单片机堆栈区是设置在内部RAM区中,SP始终指示栈顶。
在进栈数据全部弹出后,SP应指向栈底单元。
单片机复位后,堆栈第一个数据存放在08H单元。
6,51单片机从地址5678H开始有一条绝对转移指令AJMPaddr11,指令可能实现的转移范围是5000H~57FFH。
7,当使用外部存储器时,P0口传输低8位地址/数据总线。
8,片内RAM的位寻址区为20H~2FH。
所包含的位地址是00H~7FH。
9,当串行口向CPU发出中断请求时,若CPU允许并接受中断请求时,PC内容将被自动修改为0023H。
二,
1.请分析依次执行下面指令的结果,然后填空:
MOVR1,#30H(R1)=30H;
MOVR0,#45H(R0)=45H;
MOVA,R0(A)=45H;
SWAPA(A)=54H;
ANLA,#0FH(A)=04H;
MOV@R1,A(30H)=04H;
INCR1(R1)=31H;
ANLA,#0FH(A)=05H;
MOV@R1,A(31H)=05H。
什么叫寻址方式
答:
寻址方式:
寻址方式就是寻找指令中操作数或操作数所在地址的方式。
也就是如何找到存放操作数的地址,把操作数提取出来的方法。
什么叫指令周期?
指令周期:
指执行一条指令所占用的全部时间。
通常一个指令周期含1~4个机器周期。
4.片内数据存储器分为哪几个性质和用途不同的区域?
8051内部128B的数据RAM区,包括有工作寄存器组区、可直接位寻址区和数据缓冲区。
各区域的特性如下:
(1)00H~1FH为工作寄存器组区,共分4组,每组占用8个RAM字节单元,每个单元作为一个工作寄存器,每组的8个单元分别定义为8个工作寄存器R0~R7。
当前工作寄存器组的选择是由程序状态字PSW的RS1、RS0两位来确定。
如果实际应用中并不需要使用工作寄存器或不需要使用4组工作寄存器,不使用的工作寄存器组的区域仍然可作为一般数据缓冲区使用,用直接寻址或用Ri的寄存器间接寻址来访问。
(2)20H~2FH为可位寻址区域,这16个字节的每一位都有一个地址,编址为00H~7FH。
当然,位寻址区也可以用作字节寻址的一般数据缓冲区使用。
(3)30H~7FH为堆栈、数据缓冲区。
编程题
1编程将片内RAM30H单元开始的15B的数据传送到片外RAM3000H开始的单元中去。
解:
STRAT:
MOVR0,#30H
MOVR7,#0FH
MOVDPTR,#3000H
LOOP:
MOVA,@R0
MOVX@DPTR,A
INCR0
INCDPTR
DJNZR7,LOOP
2片内RAM30H开始的单元中有10B的二进制数,请编程求它们之和(和<256).
解 ADDIO:
MOVR0,30H
MOVR7,#9
ADDA,@R0
MOV30H,A
4用查表法编一子程序,将R3中的BCD码转换成ASCII码.
解 MAIN:
MOVA,R3;
待转换的数送A
MOVDPTR,#TAR;
表首地址送DPTR
MOVCA,@A+DPTR;
查ASCII码表
MOVR3,A;
查表结果送R3
TARDB30H,31H,32H,33H,34H
DB35H,36H,37H,38H,39H
片内RAM40H开始的单元内有10B二进制数,编程找出其中最大值并存于50H单元中.
解START:
MOVR0,#40H;
数据块首地址送R0
MOVR7,#09H;
比较次数送R7
MOVA,@R0;
取数送A
LOOP:
MOV30H,@R0;
取数送30H
CJNEA,30H,NEHT;
(A)与(30H)相比
NEXT:
JNCBIE1(A)≥(30H)转BIR1
MOVA,30H;
(A)<(30H),大数送A
BIE1:
DJNZR7,LOOP;
比较次数减1,不为0,继续比较
MOV50H,A;
比较结束,大数送50H
RET
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 复习资料
![提示](https://static.bdocx.com/images/bang_tan.gif)