版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机原理及应用复习大纲青岛科技大学自动化与电子工程学院第二章MCS-51内部结构1MCS-51的引脚功能2当前工作寄存器区的选择
RS1RS0所选的4组寄存器
000区(内部RAM地址00H~07H)
011区(内部RAM地址08H~0FH)
102区(内部RAM地址10H~17H)
113区(内部RAM地址18H~1FH)3机器周期、指令周期与指令时序一、时钟周期单片机的基本时间单位。若时钟的晶体的振荡频率为fosc,则振荡周期Tosc=1/fosc,时钟周期T=2Tosc;例如:fosc=6MHz,Tosc=166.7ns。二、机器周期CPU完成一个基本操作所需的时间称为机器周期。执行一条指令分为几个机器周期。每个机器周期完成一个基本操作。MCS-51单片机每12个振荡周期为1个机器周期,第三章MCS-51单片机指令系统1.指令系统的寻址方式寻址方式就是在指令中说明操作数所在地址的方法。共7种寻址方式。
1.寄存器寻址方式
操作数在寄存器中
MOVA,Rn;(Rn)→A,n=0~7
表示把寄存器Rn的内容传送给累加器A2.直接寻址方式
操作数直接以单元地址的形式给出:
MOVA,40H
寻址范围:
(1)内部RAM的128个单元
(2)特殊功能寄存器。除了以单元地址的形式外,还可用寄存器符号的形式给出。例如:
MOVA,80H
与MOVA,P0是等价的。3.寄存器间接寻址方式
寄存器中存放的是操作数的地址,在寄存器前加前缀标志“@”
。访问内部RAM或外部RAM的低256个字节时,只能采用R0或R1作为间址寄存器。例如:
MOVA,@Ri
;i=0或1
其中Ri中的内容为40H,把内部RAM40H单元内容送A。寻址范围:(1)访问内部RAM低128个单元,其通用形式为@Ri(2)对外部内部RAM的64K字节的间接寻址,例如: MOVXA,@DPTR(3)片外数据存储器的低256字节例如:MOVXA,@Ri(4)堆栈区堆栈操作指令PUSH(压栈)和POP(出栈)使用堆栈指针(SP)作间址寄存器4.立即寻址方式
操作数在指令中直接给出,需在操作数前面加前缀“#”。例如:
MOVA,#40H
5.基址寄存器加变址寄存器间址寻址方式
本寻址方式是以DPTR或PC作基址寄存器,以累加器A作为变址寄存器。6.位寻址方式
MCS-51有位处理功能,可以对数据位进行操作。例如:MOVC,40H
是把位40H的值送到进位位C。寻址范围包括:(1)内部RAM中的位寻址区。位有两种表示方法,例如,40H;另一种是单元地址加上位,例如,(28H).0,指的是28H单元中的最低位。它们是等价的。(2)特殊功能寄存器中的可寻址位
可寻址位在指令中有如下4种的表示方法:a.直接使用位地址。例如PSW.5的位地址为0D5H。b.位名称的表示方法。例如:PSW.5是F0标志位,可使用F0表示该位。c.单元地址加位数的表示方法。例如:(0D0H).5。d.特殊功能寄存器符号加位数的表示方法。例如:PSW.5。7.相对寻址方式
在相对寻址的转移指令中,给出了地址偏移量,以“rel”表示,即把PC的当前值加上偏移量就构成了程序转移的目的地址:目的地址=转移指令所在的地址+转移指令的字节数 +rel
偏移量rel是一带符号的8位二进制数补码数。范围是:–128-+127
伪指令在MCS-51汇编语言源程序中应有向汇编程序发出的指示信息,告诉它如何完成汇编工作,这是通过使用伪指令来实现的。也称为汇编程序控制命令。只有在汇编前的源程序中才有伪指令。经过汇编得到目标程序(机器代码)后,伪指令已无存在的必要,所以“伪”体现在汇编时,伪指令没有相应的机器代码产生。常用的伪指令:
1.ORG(ORiGin)汇编起始地址命令2.END(ENDofassembly)汇编终止命令3.DB(DefineByte)定义字节命令
4.DW(DefineWord)定义数据字命令
5.EQU(EQUate)赋值命令6.DS定义空间命令7.BIT位地址符号命令
第4章MCS-51汇编语言程序设计1.
变量X存放在VAR单元中,函数值Y存放在FUNC单元中,试按下式的要求给Y赋值,写出汇编语言程序。ORG1000HVARDATA30HFUNCDATA31HMOVA,VAR;XAJZDONE;若A=0,则转到DONEJNBACC.7POSI;若A>0,则转到POSIMOVA,#0FFH;若A<0,则Y=-1SJMPDONEPOSI:MOVA,#01HDONE:MOVFUNC,ASJMP$END给出80C51单片机产生三角波的汇编程序,假设起始地址为2000H。
ORG2000HSTART:MOVR0,#0FEHUP:MOVX @R0,A;三角波上升边INCAJNZUPDOWN:DECA;A=0时再减1又为FFHJNZDOWNSJMPUP第5章MCS-5 1中断系统1中断源入口地址
外部中断0 0003H定时器/计数器T0 000BH 外部中断1 0013H
定时器/计数器T1 001BH 串行口中断 0023H2外部中断的触发方式
电平触发和边沿触发假设允许外部中断0中断,并设定它为高级中断,其它中断源为低级中断,采用跳沿触发方式。在主程序中编写如下程序段:
SETBEA;CPU开中断SETBEX0;允许外中断0产生中断SETBPX0;外中断0为高级中断SETBIT0;外中断0为跳沿触发方式第6章MCS-51定时器/计数器1.单片机复位时,两个寄存器的所有位都被清0。6.1.1工作方式控制寄存器TMOD8位分为两组,高4位控制T1,低4位控制T0。(1)GATE——门控位
0:以TRX(X=0,1)来启动定时器/计数器运行。
1:用外中断引脚(INT0*或INT1*)上的高电平和TRX来启动定时器/计数器运行。(2)M1、M0——工作方式选择位
M1M0工作方式
00 方式0,13位定时器/计数器。01 方式1,16位定时器/计数器。10 方式2,8位常数自动重新装载11 方式3,仅适用于T0,T0分成两个8 位计数器,T1停止计数。
(3)C/T*——计数器模式和定时器模式选择位 0:定时器模式。 1:计数器模式。
2.定时器/计数器初始化
MCS-51单片机采用12MHz晶振,定时2ms,用定时器方式0时的16进制初值应为多少?
根据公式T=(TM-TC)*12/fosc(us)
(213-TC)×12/fosc=2msTC=8192-2000=6192=1830H第7章MCS-51串口通信1.1)SM0、SM1——串行口4种工作方式的选择位
串行口的4种工作方式SM0SM1方式 功能说明
000同步移位寄存器方式(用于扩展I/O口)0118位异步收发,波特率可变(由定时器控制)1029位异步收发,波特率为fosc/64或fosc/32113
9位异步收发,波特率可变(由定时器控制)2.波特率的定义波特率的定义。对于定时器的不同工作方式,波特率的范围不一定时器T1产生波特率的计算(1)方式0波特率=时钟频率fosc×1/12,不受SMOD位的值的影响。若fosc=12MHz,波特率为fosc/12即1Mb/s。(2)方式2波特率=(2SMOD/64)×fosc若fosc=12MHz:SMOD=0波特率=187.5kb/s;SMOD=1波特率=375kb/s
3)方式1或方式3时,波特率为:
波特率=(2SMOD/64)×T1的溢出率实际设定波特率时,T1常设置为方式2定时(自动装初值)这种方式不仅操作方便,也可避免因软件重装初值而带来的定时误差。综合应用题1.利用74LS273扩展输出口接8路发光二极管,按循环点亮方式输出。并行口地址是8060H,晶振为12MHz。如下图所示:要求:1、利用定时器T1实现120ms定时,给出T1的定时常数。2、编程实现发光二极管每隔1.2秒钟,右循环点亮1个灯。即初始L1亮,过1.2秒后L1灭,L2亮,1.2秒钟后L2灭L3亮,...依次循环。
定时器T1的定时时间是60毫秒,定时器T1的初值应该是216-60000,即15A0H.ORG0000H LJMPMAINORG000BH LJMPINTT1ORG0030HMAIN:MOVSP,#60HMOVA,#0FEHMOVDPTR,#8060HMOV@DPTR,AMOVR1,#20MOVTMOD,#10H;00010000BMOVTH1,#15H;120ms
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论