单片机资源复习_第1页
单片机资源复习_第2页
单片机资源复习_第3页
单片机资源复习_第4页
单片机资源复习_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

总复习:单片机的资源

1、电源、时钟输入:Vcc和Vss、XTAL1和XTAL2。

2、RST、输入脚:正常供电时为“复位输入”

3、PSEN,输出脚:单片机读外部程序存储器(EPROM或ROM)时,输出“0”。

4、EA、输入脚:输入高电平5V(逻辑1),单片机只读内部程序存储器ROM,输入低电平0V(逻辑0),单片机只读外部程序存储器ROM。

5、ALE与P0:P0口输出低8位地址时,ALE输“1”;P0口作为数据总线时,ALE输出0。

6、P1口:普通的I/O口。

7、P2口:输出高8位地址。

8、P3口:常用作控制引脚P3.6P3.7P3.6P3.7口线特殊功能信号名称P3.0RXD串行输入口P3.1TXD串行输出口P3.2/INT0外部中断0输入脚P3.3/INT1外部中断1输入脚P3.4T0定时器0外部输入脚P3.5T1定时器1外部输入脚P3.6/WR写选通输出脚P3.7/RD读选通输出脚》/WR,输出脚:单片机写外部数据存储器(外部RAM)时,输出“0”。》/RD,输出脚:单片机读外部数据存储器(外部RAM)时,输出“0”。程序存储器结构和地址空间(ROM)EA=1EA=00000H0FFFH1000HFFFFH0000H0FFFH2-7:数据存储器结构和地址空间特殊功能寄存器通用

RAM区00H1FH20H2FH30H7FH80HFFH80H88H90H98HA0HA8HB0HB8HD0HE0HF0H特殊功能寄存器中位寻址外部ROM内部ROM(EA=1)外部ROM(EA=0)0000H0000H0FFFH0FFFH1000HFFFFH外部RAM(I/O口地址)0000HFFFFH内部数据存储器(a)外部数据存储器(b)程序存储器(c)工作寄存器区位寻址区D7D6D5D4D3D2D1D0CYACF0RS1RS0OVF1P特殊功能寄存器:PSWPSW:程序状态字寄存器,字节地址D0H。

CY:进借位标志;

AC:辅助进借位标志;

OV:溢出标识;

P:累加器A中1的奇偶标识;

F0、F1:用户标志;

RS1、RS0:工作寄存器组选择,意义见下图。RS1RS0R0R1R2R3R4R5R6R7000组:00H01H02H03H04H05H06H07H011组:08H09H0AH0BH0CH0DH0EH0FH102组:10H11H12H13H14H15H66H17H113组:18H19H1AH1BH1CH1DH1EH1FH工作寄存器区与地址表内部RAM的位寻址区特殊功能寄存器区:80H~FFH

即SFR,包括I/O锁存器、定时器、串行口、中断、状态、控制寄存器等共21个,离散地分布在80~FFH中(不包括PC)。具体如下:算术运算寄存器:A、B、PSW

指针寄存器:SP、DPTR(DPH,DPL)并行口:P0、P1、P2、P3

串行口:SCON、SBUF、PCON

中断系统:IP、IE

定时/计数器:TMOD、TCON、TH0、TL0、TH1、TL1

特别需要指出的是,51系列内部RAM,80~FFH中未定义的单位为不可访问单元。XTAL2XTAL1MCS-51C1C2CYSXTAL2XTAL1MCS-51+5VVSSTTL外部时钟源

内部振荡方式

外部振荡方式振荡器与时钟电路P1P2S1P2状态周期时钟周期机器周期机器周期指令周期XTAL2(OSC)S2S3S4S5S6S1S2S4S5S3S6P1P1P1P1P1P1P1P1P1P1P1P2P2P2P2P2P2P2P2P2P2P2CPU时序简述》时钟周期P:振荡频率的倒数。》状态周期S:振荡周期×2。》机器周期:时钟周期×6。》指令周期:执行一条指令(含“取指”)所需的时间,不是常数,1~3个机器周期。》Pi口特点(i=0,1,2,3)

1、作输入口使用时必须先给Pi口置1(复位后Pi全部被置1)。

2、关注带负载能力。

TTL和MOS的含义

T1、T0内部结构图TMOD(89H)不可位寻址TCON(88H)可位寻址TL1TH1TF1TL0TH0TF0INT1T1INT0T0计数脉冲输入计数脉冲输入二、定时/计数器的控制寄存器 与定时/计数器有关的控制寄存器有3个:1、定时器控制寄存器TCON(88H)

TCON既参与定时控制又参与中断控制,有关定时控制的有4位,表示如下:》当T0计数溢出时,TF0置1;当T1计数溢出时,TF1置1。》编程使TR0为1时,启动T0计数;编程使TR1为1时,启动T1计数;2、设定定时器工作方式寄存器TMOD(89H)

TMOD用于设定2个定时器/计数器的工作方式,各位含义如下:》M1M0:工作方式

00方式0 13位计数器

01方式1 16位计数器

10方式2 初值自动重装8位计数器

11方式32个8位计数器,仅适用于T0》C/为0,T0作定时器用;为1,T0作计数器用。(以T0为例)

》GATE为0,软启动:TR0被置1,启动T0;(以T0为例)

GATE为1,硬启动:TR0被置1后,INT0来高电平启动T03、中断允许控制寄存器IE(A8H)三、定时器/计数器工作方式

1、工作方式0M1M0=00——13位计数器(1)结构 由TH0的全部8位和TL0的低5位构成。当TL0低5位计数满时直接向TH0进位,并当全部13位计数满溢出时,TF0置“1”。(2)TMOD值:

T1作方式1计数器、T0作方式0定时器:

TMOD=01000000=40H

(3)计数初值最大计数值为213=8192

计数初值=213—欲计的数=213—定时时间/机器周期定时时间=(213—计数初值)×机器周期(12/fosc)]

例已知fosc=6MHz,在P1.0口输出周期为1ms的方波脉冲。解:1)TMOD的设计: 用T1来定时500us,采用方式0,软件启动。

TMOD=0000xxxx,取00H 2)计数初值:计数初值=213—定时时间/机器周期

=213-500/2=1F06H=0001111100000110TH1=F8H,TL1=06H 3)实现命题的方式

》T1定时时间到,设置标识TF1,由TF1产生中断;CPU在中断服务程序中使P1.0输出方波;

》CPU关闭中断,T1定时时间到,设置TF1,CPU用软件查询TF1的方式使P1.0输出方波。

4)流程、程序如下:

采用中断方式

采用中断方式

ORG 0000H;主程序入口地址

LJMP START

ORG 001BH;T1的中断服务程序的入口地址

LJMP 0100H ORG 0030H START: MOVTMOD,#00H MOV TH1, #0F8H MOV TL1, #06H;以上为T1的初试化

MOV IE, #88H MOV IP, #00001000B;以上为中断初试化

SETB TR1;启动T1 SJMP $中断服务程序:

ORG 0100H CPL P1.0

MOV TH1, #0F8H MOV TL1, #06H;给T1重新置初值

RETI 流程图:定时时间到?

方式0:采用查询方式 程序:

ORG 0030H START: MOV TMOD,#00H MOV TH1, #0F8H MOV TL1, #06H;以上是T1的初试化

MOV IE, #00H;关中断

SETB TR1;启动T1 WT: JNB TF1, WT;定时时间未到,转WT CPL P1.0 CLR TF1;软件清除T1de中断请求标识

MOV TH1, #0F8H MOV TL1, #06H;重新给T1置初值

SJMP WT

2、工作方式1M1M0=01——16位计数器

T0作定时器、T1作计数器TMOD=01010001=51H;计数初值=216—欲计的数=216—定时时间/机器周期

〔定时时间=(216—计数初值)×机器周期(12/fosc)〕

方式1时的电路逻辑结构如图所示例如:fosc=6MHz时,定时500us, 计数初值=216—500/2=65536-250=65286=FF

06H

即:TH0=FFH,TL0=06H

3、工作方式2:M1M0=10——自动重装初值的8位计数器以T0为例:以TL0作计数器,而TH0作为预置寄存器。当计数满溢出时,TF0置“1”,同时TH0将计数初值以硬件方法自动装入TL0

计数初值=28—欲计的数=28—定时时间/机器周期定时时间=(28—计数初值)×机器周期4、工作方式3(仅限于T0):M1M0=11——2个8位计数器在T0方式3下,T0、T1的设置和使用是不同的。(1)T0的方式3》TL0:使用T0原有控制资源,功能与方式0、1相同。(见图)》TH0:借用T1的TR1、TF1,只能对片内机器周期脉冲计数,作8位定时器。(见图)》T0方式3时的TL0和TH0的初值计算完全同方式2 T0方式3时的T0、T1电路逻辑结构.

T0方式3时,T1仍然可工作于方式0~方式2,如上页图所示:TMOD中属于T1的C/

控制位仍可使T1工作在定时器或计数器方式,只是由于其TR1、TF1被T0的TH0占用,因而没有计数溢出标志可供使用,计数溢出时只能将输出结果送至串行口,即用作串行口波特率发生器。

T0方式3下的T1方式2,因定时初值能自动恢复,用作波特率发生器更为合适。

(2)T0方式3时的T1例:已知fosc=6MHz,在P1.0口输出周期为1ms的方波脉冲。解:1)TMOD的设计: 用T1来定时500us,采用方式2,软件启动。

TMOD=0010xxxx,取20H 2)计数初值:计数初值=28—定时时间/机器周期=28-500/2=06H。TH1=TL1=06H 3)定时时间到

中断服务:P1.0的翻转。设计IE=10001000,IP=00001000 4)流程、程序如下:

用T1实现

ORG 0000H LJMP START

ORG 001BH LJMP 0100H ORG 0030H START: MOV TMOD,#20H

MOV TH1, #06H MOV TL1, #06H MOV IE, #88H MOV IP, #08H SETB TR1 SJMP $ 中断服务程序:

ORG 0100H

CPL P1.0 RETI 中断的概念中断:CPU正在处理某一事件(执行一段程序),这时发生了另一事件,请求CPU迅速处理,CPU暂停当时的工作,转入处理所发生的事件(执行中断服务程序);处理结束后,继续原来的工作(继续执行原来的那段程序)主主程程序序低高中断响应中断级级服务中中中断请求

温馨提示

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

评论

0/150

提交评论