版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章
绪论
本章重点:
1.单片机的发展及应用2.常用单片机系列简介主要内容:本章主要介绍单片机的发展,基本的结构和特点;常用的单片机系列,单片机的应用模式和领域等。
单片机有两种基本结构形式:一种是将程序存储器和数据存储器合用一个存储空间的结构,称为普林斯顿(Princeton)结构或称冯·诺依曼结构;
另一种是将程序存储器和数据存储器截然分开,分别寻址的结构,称为哈佛(Har-vard)结构。Intel公司的MCS-51和80C51系列单片机采用的都是哈佛结构。单片机的中央处理器(CPU)和通用微处理器基本相同,只是增设了“面向控制”的处理功能。总线构成二、单片机的一般结构及特点第一节第二章
MCS-51单片机的硬件结构与工作原理
本章重点:
1.
MCS-51系列单片机存储器结构特点2.单片机特殊功能寄存器的作用3.不同场合下单片机引脚的复用功能4.单片机的位处理功能及其作用主要内容:本章主要介绍MCS-51系列的8051的基本结构、工作原理以及存储器结构。介绍了并行I/O端口P0、P1、P2、P3口的基本工作原理和操作特点。MCS-51单片机的中断系统概述及中断的处理过程一、MCS—51单片微机的硬件组成MCS—51系列单片机的主要特性如下:8位字长CPU和指令系统。一个片内时钟振荡器和时钟电路。64K外部数据存储器的地址空间。64K外部程序存储器的地址空间。32条双向且分别可位寻址的I/O口线。128字节的片内RAM(52子系列为256字节)。2个16位定时器/计数器(52子系列为3个)。具有2个优先级的5个中断源结构(52子系列有6个)。一个全双工串行口。1个布尔处理器。第一节MCS-51单片机的基本组成第一节采用40脚双列直插式封装的MCS-5l系列单片机引脚图:1、电源线和时钟信号线共4根
VCC,GND——电源和地+5V电源供电,XTAL1(19脚)——时钟振荡器输入端;XTAL2(18脚)——时钟振荡器输出端;2、控制线6根RST——复位信号,晶振工作后2个机器周期的高电平复位CPU.ALE——地址锁存信号访问外部存储器时该信号锁存低8位地址;无RAM时,ALE为晶振6分频;PSEN——外部程序存储器读从程序存储器中取指令或读取数据时,该信号有效。EA——程序存储器有效地址,EA=1从内部开始执行程序;EA=0从外部开始执行程序;3、I/O口线32根MCS-51系列单片机P0、P1、P2、P3共32位,对应着芯片的32根引脚。二、MCS—51单片机的管脚功能1
2
3
4
5
6
7
8
9
10111213141516171819
2040
39
38
37
36
35
34
33
32
313029282726252424222180318051875189C51VCCVSSXTAL2
XTAL1RSTP0.0
P0.1
P0.2P0.3P0.4P0.5P0.6P0.7P1.0
P1.1
P1.2P1.3P1.4P1.5P1.6P1.7P2.7P2.6P2.5P2.4P2.3P2.2P2.1P2.0ALEP3.0
P3.1
P3.2P3.3P3.4P3.5P3.6P3.7EA第一节有关CPU时序的概念振荡周期状态周期P1P2S1P2机器周期机器周期指令周期S2S3S4S5S6S1S2S4S5S3S6P1P1P1P1P1P1P1P1P1P1P1P2P2P2P2P2P2P2P2P2P2XTAL2(OSC)1、振荡周期
晶振周期,外接晶振一般为6MHz或12MHz2、状态周期
为振荡周期的2倍3、机器周期
为6个状态周期,12个振荡周期,执行指令以机器周期为基本单位4、指令周期
CPU执行一条指令所需的时间,需1~4个机器周期第一节1、若外接晶振fOSC=12MHz时:振荡周期=1/6MHz=1/6μs=0.167μs状态周期=2×(1/6μs)=0.334μs机器周期=12×(1/6μs)=2μs指令周期=2~8μs时钟参数振荡周期=1/12MHz=1/12μs=0.0833μs状态周期=2×(1/12μs)=1/6μs=0.167μs机器周期=12×(1/12μs)=1μs指令周期=1~4μs2、若外接晶振fOSC=6MHz时:第一节第二节存储器组织与操作存储器程序存储器:存放程序和表格常数数据存储器:存放中间结果,采集数据等256B片内RAM片外RAM程序存储器64KRAM片内片外数据存储器64KROM片内片外统一编址的64K程序存储器64K片外数据存储器256B片内数据存储器哈佛结构8031无片内ROM8051有4K片内ROM最大配置0000HFFFFH0000HFFFFH00HFFH第四节8031/8032无片内ROM,需外部扩展不同型号的单片机8051/8751片内有4KROM/EPROM0000HFFFFH0000HFFFFH00HFFH256B片内RAM片外RAM64K64K片外EA=0EA=10000HFFFFH0000HFFFFH00HFFH256B片内RAM片外RAM64K60K片外片内0FFFH1000H片外60K片内4K第四节特殊功能寄存器1、堆栈指针SP(81H)
StackPointer,是一8位专用寄存器,8位指针。堆栈是一个特殊的存储区,设在片内RAM中,复位时SP=07H。2、数据指针DPTR(82H、83H)
16位寄存器,存放16位地址,可分为DPH和DPL两个8位寄存器使用。DPTR主要用于操作片外RAM。3、I/O口P0~P3
专用寄存器P0~P3是输入输出端口P0~P3的锁存器。I/O口的操作没有专用指令,用操作RAM的指令。4、程序计数器PC
ProgramCounter,是一个16位的指针,存放将要执行指令的地址。用户不可读写它,复位时PC=0000H。第四节第三节中断及中断源一、中断(Interrupt)1、CPU在执行程序时,CPU以外的设备请求停止现程序的执行,转去处理外设事件,处理后再回到原地执行,这一过程叫中断。主程序转移中断程序返回断点2、中断流程
继续与子程序调用相似但有本质的区别第五节wyx第三章
MCS-51单片机的指令系统本章重点:1.指令的寻址方式2.指令功能及使用方法一、立即寻址
第一节MCS51单片机的寻址方式寄存器中存储器中——数据存储器RAM或程序存储器ROM操作数在哪里?
外部设备中可以在指令中给出操作数或给出操作数的地址把指令访问(或获得)操作数的方式,称为寻址方式指令中直接给出MOVA,#30H;把立即数30H送给A
操作数就在指令中,称为立即数,用#号标识。有7种寻址方式第一节二、直接寻址
指令中直接给出操作数所在的地址,用于访问片内RAM
MOVA,30H;将片内RAM中30H单元的内容给A
用直接寻址可以访问片内RAM的低128字节单元、位地址空间及SFR,且位地址空间和SFR只能用直接寻址。
三、寄存器寻址
操作数在寄存器中,指令中给出存放操作数的寄存器A、B、DPTR、R0~R7MOVA,R2;将R2中的内容给A
设30H单元中为05H(A)=?MOVA,#30HMOVR2,#0A5HMOVA,R2
程序执行后A=?第一节●指令中通过寄存器给出操作数所在的地址,即寄存器中存放的是操作数的地址,还不是要找的操作数,称为指针方式
●间接寻址用于访问RAM,包括片内RAM和片外RAM
●能用于寄存器间接寻址的寄存器有:四、寄存器间接寻址
MOV30H,#0FFHMOVR0,#30HMOVA,@R0R0,R1——8位指针,主要用于访问片内RAMDPTR——16位指针,主要用于访问片外RAM
程序执行后A=?30H31H32H片内RAMFFHXXHXXH(R0)AFFHR030H例第一节MOVDPTR,#2000HMOVXA,@DPTR
程序执行后A=?2000H2001H2002H片外RAM50HXXHXXH(DPTR)A50HDPTR2000H片外RAM的操作五、变址寻址(基址加变址寻址)
以DPTR或PC为基址寄存器,A为变址寄存器,两者相加后的地址作为有效地址的寻址方式。MOVCA,@A+DPTR(查表)MOVCA,@A+PC(查表)JMP@A+DPTR(散转)例第一节MOVA,#04HMOVDPTR,#2000HMOVCA,@A+DPTR
程序执行后A=?ROM(DPTR)A55H变址寻址用于访问程序存储器,只读,不能写。有效地址的计算:(DPTR+A)(PC+A)55H5CH4BH6DH3AH2000H2001H2002H2003H2004H2004H(DPTR+A)A、DPTR可以赋值,但PC不能赋值,由程序执行后PC当前值决定PC值,自动产生。注意55H第一节●相对跳转指令都是相对寻址●以PC当前值为基础,加上指令中给出的偏移量作为转移地址
六、相对寻址
相对寻址用于修改PC值,实现程序的分支转移例如:SJMP08H;PC←PC+2+08H偏移量为一个8位带符号补码,范围为+127~-128转移的目的地址=PC当前值+偏移量LP:CPLP1.0LCALLDELAY
SJMPLP
一般用符号地址表示PC当前值=指令地址+指令字节数第一节七、位寻址
指对能位寻址的片内RAM区(20H~2FH)、可位寻址的SFR进行位操作的寻址方式。位地址表示MOVC,20H;将20H位内容给CYSETBP1.7;置1,P1.7=1CLRP1.7;清0,P1.7=0MOV20H,C;CY的内容给20H位1)直接位地址——20H2)位名称——C、F0、OV3)专用寄存器+位序号——P1.04)单元地址加序号——80H.6●位地址与字节地址完全一样,由指令区分●指令中有多个操作数,可能有多种寻址方式●内部RAM与内部I/O口统一编址,外部RAM与外部I/O口统一编址,用相同的操作指令。注意第一节一、指令格式
操作码——指出CPU要做的操作代码操作数——指出要操作的对象例如:ADDA,#05H
操作码操作数★单字节指令——操作码和操作数在同一个字节中★双字节指令——操作码一个字节,操作数一个字节★三字节指令——操作码、操作数、操作数MCS-51汇编语言语句的表示:START:MOVA,#05H;把05H给A
标号操作码操作数注释指令组成:第二节MCS51单片机的指令分类START:MOVA,#05H;把05H给A
标号操作码操作数注释1)标号
符号地址,字母开头,由1~6个字母组成,以冒号结束2)操作码
指令助记符,后跟空格作分隔符3)操作数
有多个操作数时,先目的操作数,后源操作数,用逗号分开4)注释
说明解释作用,以分号开头包括4个域(或称为字段),用分隔符隔开指令系统:1、栈操作指令(隐含的@SP是寄存器间接寻址),是一种数据传输操作,用SP为指针,MCS-51的堆栈是向上生成的(压栈时,SP增加;弹出时,SP减少)。压栈时,栈指针先加1,再传送;弹出时,先传送,再将栈指针减1。2、对外部数据存储器或I/O口进行读/写操作时,只能使用寄存器间接寻址方式,指令助记符用MOVX,其地址指针可用@DPTR也可用@Ri,这时高位地址可通过P2口传送,即执行这种指令之前,需将高位地址送到P2口锁存器。指令系统:输入指令:MOVXA,@DPTRMOVXA,@R0MOVXA,@R1输出指令:MOVX@DPTR,AMOVX@R0,AMOVX@R1,A特点:用于片外RAM和扩展IO口的输入输出数据,都要经过累加器A中转。指令系统:3、MCS-51指令系统中提供了两条极为有用的查表指令,用户可以将常数以表格的形式存在程序存储器中,通过查表指令访问,把相应常数取出。MOVCA,@A+PCMOVCA,@A+DPTR⑴MOVCA,@A+PC是以PC为基地址,加上变址寄存器A中的内容(为无符号数),形成操作数的地址,把该地址单元的内容送到累加器A中。注意:指令执行后,PC的内容不变,仍指向下一条指令的第一个字节。指令系统:⑵MOVCA,@A+DPTR这以DPTR为基地址,加上变址寄存器A中的内容(为无符号数),形成操作数的地址,把该地址单元中的内容送到累加器A中。指令执行后,DPTR的内容不变。软件延时例1:CPU执行指令消耗时间来延时,一般要用多重循环嵌套实现。内循环执行完,外循环执行一次。解:软件延时10ms,设fosc=12MHz,T机器=1us
ORG 0000HMOVR3,#10;外循环10次LP1:MOVR2,#0FFH;内循环255次LP2:NOP;1TNOP;1TDJNZR2,LP2;2T
DJNZR3,LP1;2TEND内循环外循环内层循环时间:t1=4×255=1020us外层循环时间:t2=(2+1020+2)×10=10240us
10ms计算:数据传送例2将片内RAM40H单元开始存放的数据块50个字节传送到片外RAM4000H单元开始的50个单元中。设两个指针,指向两个数据块解:
1、确定算法DPTR指向片外RAM首地址R0指向片内RAM首地址设一个计数器R7XX4000H4001H4002HXXXX┇
┇片外RAMXX40H41H42HXXXX
┇
┇片内RAMR0DPTR
ORG0000HMOVR0,#40H;设指针MOVDPTR,#4000H;设指针MOVR7,#50;设计数器LOOP:MOVA,@R0;取数MOVX@DPTR,A;存数INCDPTR;移指针INCR0;DJNZR7,LOOP;循环SJMP$END开始设指针,赋初值取片内数→A存到片外
R7-1=0?NY结束移指针2、流程图3、源程序片内到片外
ORG0000HMOVR0,#40H;设指针MOVA,#10H;初始值MOVR7,#10H;设计数器LOOP:MOV@R0,A;存A的值INCR0;移指针INCA;修改A的值DJNZR7,LOOP;循环SJMP$END开始设指针,赋初值存A的值移指针
R7-1=0?NY结束修改A的值循环置数程序将片内RAM40H~4FH单元依次写入10H~1FH。11H40H41H42H10H12H
┇
┇片内RAMR0R0指向40H,R7=10H,A=10H第四章
单片机定时/计数器及其使用
本章重点:
1.定时器的结构和工作原理2.定时器的工作方式主要内容:本章主要介绍结构和工作原理,定时器的控制,定时器的应用以及定时器的工作方式等。第二节定时器的控制一、工作方式寄存器TMOD
TMOD用来设置定时器的工作方式,字节地址为89H
低四位用于T0,高四位用于T11、M1M0为工作方式选择位00方式013位定时/计数器01方式116位定时/计数10方式2一个8位自动重装载定时/计数器11方式3T1不工作,T0分为两个8位定时器定时器T1定时器T0
GATEC/TM1M0GATEC/TM1M0
D7
D6D5D4D3D2D1D0TMOD(89H)
第四节定时器的应用一、初始化1、确定工作方式,对TMOD赋值2、定时器赋初值,写入TH0、TL0或TH1、TL13、开放中断,给IE赋值,EA、ET0、ET14、启动定时器工作,给TR0、TR1置1二、初值计算
1、计数方式时:初值:X=2n-计数值(n为位数,8、13、16)2、定时方式时:初值计算:(溢出值2n-初值)×周期=计数值×周期计数值×周期=定时时间
一个机器周期=12/晶振频率晶振频率=12MHz时,一个机器周期=12/12MHz=1
s
晶振频率=6MHz时,一个机器周期=12/6MHz=2
s
方式寄存器:TMODP114
控制寄存器:TCONP114方式0:13位CTC:定时范围:2us-16.384ms(fosc=6MHz)为加1计数器,初值用补码装入;重复计数/定时,必须重新置初值。方式1:16位CTC:定时范围:2us-131.072ms(fosc=6MHz)其余与方式0相同方式2:8位CTC:定时范围:2us-512us(fosc=6MHz)当重复定时计数时会自动恢复初值并重新启动方式3:只适用于T0
此时T0分成两个独立的8位计数器TL0和TH0,其中TL0可作为定时/计数,并占用了T0的所有控制位C/T、GATE、TR0、INT0、TR0、TF0而TH0只能为定时器,并占用了T1的中断资源TF1和T1的启动位TR1。所以T0为方式3时,T1的控制条件只有两个:C/T和M1、M0且不能使用中断。这时T1一般作为波特率发生器。溢出值2n初值定时计数值第五章
MCS51单片机的串行接口
本章重点:
1.MCS-51单片机串行接口的工作原理及工作方式2.MCS-51单片机串行接口应用程序设计方法主要内容:1.串行通信概述2.MCS-51单片机串行通信接口的结构3.MCS-51单片机串行通信的工作原理及其工作方式4.MCS-51单片机串行接口应用编程二、串行口控制寄存器SM0SM1:串行口操作模式选择位.可以确定串行口的四种模式之一(如下表);SM0SM1SM2RENTB8RB8TIRISM0SM1模式功能波特率000同步移位寄存器模式Fosc/120118位异步通信UART可变1029位异步通信UARTFosc/64或/321139位异步通信UART可变四种工作方式:(1)方式0为移位寄存器I/O方式,数据从RXD端串行输入或输出,同步信号从TXD端输出,波特率固定为fosc/12,数据以8位为一帧,先低位后高位依次传送。(具体应用见课件的例1)(2)方式1为8位的异步通信接口,传送一帧信息为10位,其中1位为起始位(0),8位数据位(低位在前),1位停止位(1)。四种工作方式:(3)方式2为9位的异步通信接口,传送一帧信息为11位,其中1位为起始位(0)、1位停止位(1)、9位数据位(8位再加上1位附加的可编程为0或1的第九位数据位——在RB8或TB8)。
该方式特别适用于多机通信。四种工作方式:(4)方式3与方式2完全类似,唯一的区别是方式3的波特率可变。
该方式也适用于多机通信。有关的专用寄存器:串行控制寄存器SCON(98H)注意主从多机通信控制位SM2的用法:当SM2=1时,只有接收到的第9位数据为“1”,接口才会把收到的数据装入SBUF和TB8,并置位RI。主从多机通信时约定地址字节的第9位为1,数据字节的第9位为0。串行通道数据缓冲器:SBUF(99H)接收和发送数据缓冲器各有一个,共用一个地址要点:1)理解串行控制寄存器的格式定义:工作方式(SM0,SM1的组合)的设置,多机通信的控制位(SM2)的用处,REN,TB8,RB8的意义。2)熟悉4种工作方式的特点3)串行通信的数据发送和接收发送指令:MOVSBUF,A或MOVSBUF,direct接收指令:MOVA,SBUF或MOVdirect,SBUF发送启动:执行上述指令后,当发送的数据被置入发送缓冲器SBUF后,则自动启动发送。
串行中断:
当一帧数据通过移位寄存器发送完毕后,发送中断标志位TI被置1,向CPU提出中断请求,此时可再装入下一个发送数据。发送中断标志位TI必须用软件清零。当接收到一帧数据时,数据被装入接收缓冲器SBUF,接收中断标志位RI被置1,向CPU提出中断请求,通过MOV指令对接收缓冲器SBUF进行访问,即可得到接收数据。接收中断标志位RI必须用软件清零。多机通信原理:通信协议:通信由主机发起,先发地址帧,后发数据帧。地址帧必须被各分机收到,数据帧只能由被呼叫的分机所接收。要点1:理解SM2的作用,RB8和TB8的由来。SM2=1时,为有条件接收。收到的附加位为1时,移位寄存器1字节的数据才能被置入接收缓冲器,附加位置入RB8,RI被置1。收到的附加位为0时,移位寄存器1字节数据不会被置入接收缓冲器,RB8,RI均为0,1帧数据丢失。SM2为0时,则为无条件接收。无论收到的附加位为0为1,都置入RB8,移位寄存器的1字节数据被置入接收缓冲器,RI被置1。发送的串行数据中附加位由TB8设定。多机通信原理:要点2:让分机的接收状况由SM2来控制。
接收主机地址帧时,分机SM2=1,处于条件接收,当地址帧的附加位
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026 年 1 例脑梗死合并谵妄躁动护理个案汇报
- 2026 年以患者安全为核心的护理带教建设
- 2026年法律考试试卷
- 学生交通安全教育试题(含答案)
- 小学科学教师招聘试题及答案
- 水质检测员招聘面试题及回答建议(某大型集团公司)
- 民办教育年检业务考试题完整版及答案2026年
- 高空作业考试题库(附答案)
- 2026室内电网设备设施巡检位置服务技术导则 第1部分:无人飞行器
- 2026年铜陵职业技术学院单招面试题库及答案
- 墙体裂缝修补注浆施工方案
- 面料边角料销售合同
- 宿管员安全责任制度
- 2025年北京科技职业学院自主招生测试版试题及答案
- 华为公司客户分级管理
- 海洋工程作业安全预案
- 锂电池出口知识培训课件
- DB36∕T 1296-2020 城市消防物联网大数据应用平台接口规范
- 公建工程交付指南(第三册)
- 2025年金川集团审计风控法务部招聘笔试历年参考题库附带答案详解
- 公路养护安全技术交底
评论
0/150
提交评论