单片机编程.ppt_第1页
单片机编程.ppt_第2页
单片机编程.ppt_第3页
单片机编程.ppt_第4页
单片机编程.ppt_第5页
已阅读5页,还剩79页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单片机原理及应用 课程讲义 第一章:单片机的硬件结构与工作原理 ,本章内容,1.0 单片机的基本结构 1.1 存储器 1.2 定时器/计数器 1.3 中断系统 1.4 输入/输出端口 1.5 时钟电路与复位电路 1.6 引脚功能 1.7 单片机最小系统,1.0 MCS-51单片机的基本结构,MCS-51单片机的系统结构框图,MCS-51单片机的基本结构(另一画法),MCS-51单片机基本结构示意图,一、组成说明,(1)一个8位微处理器CPU。 (2)数据存储器RAM和特殊功能寄存器SFR。 (3)内部程序存储器ROM。 (4)两个定时/计数器,用以对外部事件进行计数,也可用作定时器。 (5)四

2、个8位可编程的I/O(输入/输出)并行端口,每个端口既可做输入,也可做输出。 (6)一个串行端口,用于数据的串行通信。 (7)中断控制系统。 (8)内部时钟电路。,二、MCS-51单片机硬件结构特点,1内部程序存储器(ROM)和内部数据存储器(RAM)容量(如序中表所示)。 2输入/输出(I/O)端口 3外部程序存储器和外部数据存储器寻址空间 4中断与堆栈 5定时/计数器与寄存器区 6指令系统,1.1 存储器,1.1.1 内部数据存储器 1.1.2 特殊功能存储器 1.1.3 程序存储器 1.1.4 外部数据存储器 1.1.5 存储器的数据操作,1.1.1 内部数据存储器,片内数据存储器结构如

3、图1-1-1(a)所示;其具体位地址单元如表1-1-1所示;专用寄存器的地址映像如表1-1-3所示。 1累加器 累加器是一个最常用的专用寄存器,其自身带有全零标志Z,若A=0则Z=1;若A0则Z0。该标志常用作程序分支的判断条件。,图1-1-1 MCS-51单片机存储器结构,表1-1-1 内部数据存储器中的位地址,2寄存器 (1)PSW:程序状态字寄存器。定义格式如右上边。其中,CY:进借位标志;AC:辅助进借位标志; F0:用户标志; RS1、RS0:工作寄存器组选择(如表1-1-2所示)。 (2)SP:堆栈指针。 (3)DPTR:数据地址指针寄存器。,表1-1-2 工作寄存器组选择控制表,

4、作用:专用寄存器 表1-1-3:特殊功能寄存器地址及功能表,1.1.2 特殊功能寄存器,8051 部分特殊功能寄存器的地址 符号 地址 注释 *ACC E0H 累加器 *B F0H 乘法寄存器 *PSW D0H 程序状态字 *SP 81H 堆栈指针 DPL 82H 数据M指针低8位 DPH 83H 数据M指针高8位 带*号可以按位访问,1.1.3 程序存储器,程序存储器的结构:如图1-1-1(c)所示,包括片内和片外程序存储器两个部分。其主要用来存放编好的用户程序和表格常数,它以16位的程序计数器PC作为地址指针,故寻址空间为64KB。 6 个特殊单元地址:8031 最多可外扩 64 KB程序

5、存储器, 其中 6 个单元地址具有特殊用途, 是保留给系统使用的。0000H是系统的启动地址, 一般在该单元中存放一条绝对跳转指令。0003H、000BH、 00013H、001BH和 0023H对应 5 种中断源的中断服务入口地址。,1.1.4 外部数据存储器,外部数据存储器又称外部RAM,当片内RAM不能满足数量上的要求时,可通过总线端口和其他I/O口扩展外部数据RAM,其最大容量可达64K字节,其结构如图1-1-1(b)所示。 在片外数据存储器中,数据区和扩展的I/O口是统一编址的,使用的指令也完全相同,因此,用户在应用系统设计时,必须合理地进行外部RAM和I/O端口的地址分配,并保证译

6、码的唯一性。,1.1.5 存储器的数据操作,8031存储器的特点及数据操作,1.2 定时/计数器结构特点及控制,1.2.1 定时/计数器结构 1.2.2 定时/计数器工作方式 1.2.3 定时/计数器控制寄存器 1.2.4 定时/计数器常数的计算,1.2.1 定时/计数器结构,定时/计数器:简称定时器,8031单片机有2个16位的定时/计数器:定时器0(T0)和定时器1(T1)。它们都有定时器或事件计数的功能, 作用:产生各种时标间隔,记录外部事件的数量等。(可用于定时控制、延时、对外部事件计数和检测等场合。) 构成:T0由2个特殊功能寄存器TH0和TL0构成,T1则由TH1和TL1构成。作计

7、数器时,通过引脚T0(P3.4)和T1(P3.5)对外部脉冲信号计数,当输入脉冲信号从1到0的负跳变时,计数器就自动加1。计数的最高频率一般为振荡频率的1/24。,1.2.2 定时/计数器工作方式,工作模式:每个定时/计数器还有4种工作模式,也就是每个定时器可构成4种电路结构模式。 在模式0、1和2,T0和T1的工作模式相同 在模式3,两个定时器的模式不同。 下面以T1为例,分述各种工作模式的特点和用法。,1模式0,图1-2-1 定时/计数器T1(T0)工作模式0,fosc,13位定时/计数器。 THx 8位和TLx低5位组成13位加1计数器 计数外部脉冲个数:18192(213) 定时时间(

8、T=1s):1s 8.19ms,2模式1,图1-2-2 定时/计数器T1(T0)工作模式1,fosc,16位定时/计数器。 THx8位和TLx8位组成16位加1计数器 计数外部脉冲个数:165536(216) 定时时间(T=1s):1s 65536T= 65.54ms,3模式2,图1-2-3 定时/计数器T1(T0)工作模式2,fosc,自动恢复初值8位定时/计数器。TLx为8位加1计数器,THx为8位初值暂存器。 用于需要重复定时和计数的场合。 最大计数值:256 (28) 最大定时时间(T=1s): 256s,4模式3,图1-2-4 定时/计数器T1(T0)工作模式3,fosc,fosc,

9、T0分成2个8位定时器:TL0定时/计数器和TH0定时器 TL0占用T0控制位:C/T,TR0,GATE; TH0占用T1控制位:TR1。 T1不能使用方式3工作,1.2.3 定时/计数器控制寄存器,定时器共有2个控制寄存器TMOD和TCON,由软件写入TMOD和TCON 两个8位寄存器,设置各个定时器的操作模式和控制功能。,1工作模式控制寄存器TMOD(89H),图1-2-5 定时器工作模式寄存器TMOD,2定时器控制寄存器TCON(88H),图1-2-6 定时器工作模式寄存器TCON,1.2.4 定时/计数器常数的计算,1计数/定时初值的计算 2. 例: T0运行于计数器状态,工作于方式1

10、(16位方式),要求外部引脚出现3个脉冲后,TH0,TL0全回零(以便申请中断),求计数初值C。 解:C= 2n -计数值= 2n 3=FFFDH (C=(0003H)求补),计数功能:C= 2n -计数值n:8/13/16 C:初值 定时功能:C= 2n - t/Tt:定时时间、T:机器周期,即C=(计数值)求补,1.3 中断系统,1.3.1 中断请求与控制 1.3.2 中断系统的结构 1.3.3 中断控制 1.3.4 中断响应过程,1.3.1 中断请求与控制,图1-3-1 中断流程,1.3.2 中断系统的结构,1外部中断源 由P3.2端口线引入,低电平或下降沿引起。 由P3.3端口线引入,

11、低电平或下降沿引起。 2内部中断源(如图1-3-1所示) T0:定时/计数器0中断,由T0回零溢出引起。 T1:定时/计数器1中断,由T1回零溢出引起。 TI/RI:串行I/O中断,完成一帧字符发送/接收引起。,图1-3-1 中断系统的结构框图,TF0,TF1,1.3.3 中断控制,1中断允许寄存器IE(A8H) IE在特殊功能寄存器中,字节地址A8H,位地址分别是A8HAFH。IE控制CPU对中断源总的开放或禁止以及每个中断源是否允许中断。其格式如图1-3-2所示。 2中断优先寄存器IP(B8H) IP在特殊功能寄存器中,字节地址为B8H,位地址分别是B8HBFH,IP用来锁存各中断源优先级

12、的控制位,其格式如图1-3-3所示。,图1-3-2 中断允许寄存器IE,图1-3-3 中断优先寄存器IP,1.3.4 中断响应过程,单片机在每个机器周期的S5P2期间,顺序采样每个中断源,CPU在下一个机器周期S6期间按优先级顺序查询中断标志,如查询到某个中断标志为1,将在再下一个机器周期S1期间按优先级进行中断处理。 中断得到响应后自动清除中断标志,由硬件将程序计数器PC内容压入堆栈保护,然后将对应的中断矢量装入程序计数器PC,使程序转向中断入口地址单元中去执行相应的中断服务程序。,注:每个机器周期由六个时钟周期(Sx)组成, 每个时钟周期由两个振荡周期(Py)组成。,下列任何一种情况存在中

13、断申请将被封锁:,(1)CPU正在执行一个同级或高一级的中断服务程序。 (2)当前正在执行的那条指令还未执行完。 (3)当前正在执行的指令是RETI或对IE,IP寄存器进行读/写指令,执行这些指令后至少再执行一条指令才会响应中断。,1.3.5 定时/计数器及中断系统综合应用,【例1.3.1】设MCS-51单片机系统时钟频率fosc为6MHZ,请编出利用定时/计数器T0在P1.0引脚上产生周期为2秒,占空比为50%的方波信号的程序 (1)主程序 任务:1)T0工作方式的设定: 选择方式1(16位方式) (最大定时131ms) 2)定时常数的设定: TC=216-100ms/2s =15536=3

14、CB0H,即:TH0应装3CH,TL0应装B0H。 3)中断管理: 允许T0中断,开放总中断 即:IE应装10000010B。 4)启动定时器T0: SETBTR0 5)设置软件计数器初值:(如使用R7) 即R7应装0AH 6)动态停机:SJMP$,主程序如下: MAIN:MOVTMOD,#01H;设定T0为方式1 MOVTH0,#3CH;装入定时常数高8位 MOVTL0,#0B0H;装入定时常数低8位 MOVIE,#82H;开放T0中断 SETBTR0;启动T0 MOVR7,#0AH;设置软件计数器 SJMP$,(2)中断服务程序 任务:1)恢复T0常数; 2)软件计数器减1; 3)判断软件

15、计数器是否为0。为0时,改变P1.0状态,并恢复软件计数器初值;不为0时中断返回。 程序如下: TOINT:MOVTL0,#0B0H;恢复定时常数 MOVTH0,#3CH; DJNZR7,NEXT CPLP1.0 MOVR7,#0AH NEXT:RETI,完整程序如下: ORG 0000H AJMP MAIN ORG 000BH AJMPTOINT ORG 0030H MAIN:MOVTMOD,#01H MOV TH0,#3CH MOVTL0,#0B0H MOV IE,#82H SETBTR0 MOVR7,#0AH,SJMP$ TOINT:MOVTL0,#0B0H MOVTH0,#3CH DJ

16、NZR7,NEXT CPLP1.0 MOVR7,#0AH NEXT:RETI END,1.4 输入/输出(I/O)端口,并行端口 串行端口,1.4.1 并行端口,MCS-51单片机有4个双向并行的8位I/O口P0P3,P0口为三态双向口,可驱动8个TTL电路,P1、P2、P3口为准双向口,其负载能力为4个TTL电路。,1P0口的结构,图1-4-1 P0口的一位结构图,P0口由一个锁存器、两个三态输入缓冲器、一个多路复用开关以及控制电路和驱动电路等组成。 P0口可以作为输入输出口,在实际应用中它通常作为地址/数据复用总线。在访问外部存储器时,P0口为真正的双向口。,2. P1、P2和P3口,P1

17、、P2 和P3 口为准双向口, 在内部差别不大, 但使用功能有所不同。 P1口是用户专用 8 位准双向I/O口, 具有通用输入/输出功能, 每一位都能独立地设定为输入或输出。当有输出方式变为输入方式时, 该位的锁存器必须写入“1”, 然后才能进入输入操作。 P2口是 8 位准双向I/O口。外接I/O设备时, 可作为扩展系统的地址总线, 输出高8位地址, 与P0 口一起组成 16 位地址总线。 对于 8031 而言, P2 口一般只作为地址总线使用, 而不作为I/O线直接与外部设备相连。,P1口的结构,图1-4-2 P1口的一位结构图,P2口的结构,图1-4-3 P2口的一位结构图,3P3口的结

18、构,图1-4-4 P3口的一位结构图,表1-4-1 P3口的第二功能表,P3.2,P3.3,P3.7,P3.6,说明: 1. 各个端口引脚在作输入口之前,都要先向对应的口寄存器中写“1”,不然不能作输入口用。 2. P0口内部没有上拉电阻(其他都有),所以作通用IO口用时为“开漏”输出,必须外加上拉电阻。在作总线使用时不需要加上拉。其他的口可加可不加。 (上拉电阻的阻值确定,5.1K或者4.7K都可以)。 3. P3口作第二功能使用时,相应的口锁存器必须为 “1” 状态。 4. 如果使用了外部存储器,不要再写P0口。,1.4.2 串行端口,MCS-51单片机有1个串行I/O口,通过引脚RDX(

19、P3.0)和TDX(P3.1)可与外设电路进行全双工的串行异步通信。 1 串行口的结构 2 串行口的工作方式 3 波特率的计算 4 串行口的应用,1 串行口的结构,1)串行口控制寄存器SCON 该寄存器的字节地址为98H,可位寻址。SCON格式如图1-4-5所示。,图1-4-5 SCON格式,D7D6D5D4D3D2D1D0,2)特殊功能寄存器PCON 其字节地址为87H,没有位寻址功能。PCON的格式如图1-4-6所示,其中与串行接口有关的只有D7位。,D7D6D5D4D3D2D1D0,图1-4-6 PCON格式,2 串行口的工作方式,表1-4-2 串行口工作方式,图1-4-7 方式0发送时

20、序,1)方式0,图1-4-8 方式0接收时序,2)方式1,图1-4-9 方式1发送、接收时序,3)方式2,图1-4-11 方式2、3的发送、接收时序,4)方式3,当SM0SM1=11时,串行口工作在方式3。方式3为波特率可变的9位异步通信方式,除了波特率外,方式3和方式2相同。 方式3的波特率由下式确定: 方式3波特率=(2SMOD/32)定时器T1的溢出率,3 波特率的计算,表1-4-3 波特率计算公式,K=2SMOD,表1-4-4 常用的波特率及计算器初值,4 串行口的应用,串行口初始化编程格式: SIO:MOV SCON,#控制状态字;写方式字且TI=RI=0 (MOV PCON,#80

21、H) ;波特率加倍 ( MOV TMOD,#20H ) ;T1作波特率发生器 ( MOV TH1,#X ) ;选定波特率 ( MOV TL1,#X ) ( SETB TR1) ( SETB EA) ;开串行口中断 ( SETB ES),例:参见P27的程序,1.5 时钟电路与复位电路,1.5.1 时钟电路 1.5.2 振荡周期、时钟周期、机器周期和指令周期(基本时序单位) 1.5.3 单片机复位电路及复位状态,1.5.1 单片机的时钟电路,单片机时钟电路通常有两种形式: 1内部振荡方式:MCS-51单片机片内有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入

22、端和输出端。把放大器与作为反馈元件的晶体振荡器或陶瓷谐振器连接,就构成了内部自激振荡器并产生振荡时钟脉冲(如图1-5-1所示)。 2外部振荡方式:外部振荡方式就是把外部已有的时钟信号引入单片机内(如图1-5-2所示)。,图1-5-1 内部振荡方式,图1-5-2 外部振荡方式,图1-5-3 MCS-51单片机各种周期的相互关系,1.5.2 振荡周期、时钟周期、机器周期和指令周期,1振荡周期:为单片机提供时钟信号的振荡源的周期。 2时钟周期:是振荡源信号经二分频后形成的时钟脉冲信号。 3机器周期:通常将完成一个基本操作所需的时间称为机器周期。 4指令周期:是指CPU执行一条指令所需要的时间。一个指

23、令周期通常含有14个机器周期。,若MCS-51单片机外接晶振为12MHz时,则单片机的四个周期的具体值为: 振荡周期1/12MHz1/12s0.0833s 时钟周期1/6s0.167s 机器周期1s 指令周期14s,1.5.3 单片机复位电路及复位状态,1复位电路 单片机复位电路包括片内、片外两部分。外部复位电路就是为内部复位电路提供两个机器周期以上的高电平而设计的。MCS-51单片机通常采用上电自动复位和按键手动复位两种方式。如图1-5-4所示。 2单片机复位后的状态 单片机运行出错或进入死循环时,可按复位键重新运行。21个特殊功能寄存器复位后的状态为确定值,如表1-5-5所示。,22F C

24、1,1K,R2 1K,图1-5-4 几种复位电路,表1-5-5 单片机复位后特殊功能寄存器的状态,1.6 引脚功能及片外总线结构,1.6.1 MCS-51单片机芯片引脚功能 1.6.2 MCS-51单片机的片外总线结构,.,.,P1.0,P1.1,P1.2,P1.3,P1.4,P1.5,P1.6,P1.7,P0.0,P0.1,P0.2,P0.3,P0.4,P0.5,P0.6,P0.7,P2.0,P2.1,P2.2,P2.3,P2.4,P2.5,P2.6,P2.7,RST/VPD,RXD P3.0,TXD P3.1,INT0 P3.2,INT1 P3.3,T0 P3.4,T1 P3.5,WR P

25、3.6,RD P3.7,XTAL2,XTAL1,VCC,VSS,EA/VPP,ALE/PROG,PSEN,1,20,21,40,MCS-51,图1-6-1 MCS-51单片机的引脚配置图,1.6.1 引脚功能,引脚功能 1、电源引脚 VCC和VSS: VCC=+5V VSS=地 2、时钟引脚XTAL1和XTAL2: 接石英晶体 3、控制信号引脚RST, ALE,PSEN和EA RST/VPD: 复位/备用电源 ALE/PROG:地址锁存允许/8751片内EPROM固化程序时 加入编程脉冲. PSEN: 程序存储允许输出端,即允许读EPROM/ROM中 的指令码.,EA/VPP: 程序存储器地址允许输入端/编程电压输入 EA=0(PC指向片外ROM); EA=1 (PC指向片内ROM), 但当PC的值超过0FFFH(4KB)时,将自动转向片外. VPP:对8751编程固化时加入21V的电压. 4、输入/输出口 P0,P1,P2和P3,P0口是8位双向I/O口。在CPU访

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论