微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 51手记之MEGAWIN

51手记之MEGAWIN

时间:11-10 来源:互联网 点击:
MEGAWIN系列单片机基于80C51的高效1-T结构的单芯片微处理器,每条指令需要1~7个时钟周期 (比标准8051快6~7倍),与8051指令集兼容。

1.基本特性

工作频率:24MHZ(最大,外部晶体)

有两种节能模式和8位的系统时钟分频器

时钟源:外部晶体/时钟,内部高频/低频RC振荡器;上电后,内部高频RC振荡器(12MHZ)为默认的系统时钟源。软件能使能其它振荡器电路和通过编程AUXRA寄存器对它们进行切换。切换时钟源为外部晶体时,必须使能外部晶体振荡器电路并等它稳定后再切换。选好时钟后,可软件禁止未用的振荡器电路以减少能耗。

切换系统时钟为外部时钟:

1).使能外部时钟

IFMT=0X07;//AUXRA读操作

SCMD=0X46;

SCMD=0XB9;//此时IFD的值=AUXRA的值

IFD |= 0X08;//设置使能外部晶体,将AUXRA的预设值写入IFD

IFMT=0X06;//AUXRA写操作

SCMD=0X46;

SCMD=0XB9;

2).切换到外部时钟

IFMT=0X07;

SCMD=0X46;

SCMD=0XB9;

IFD |= 0X03;//设置外部晶体为系统时钟

IFMT=0X06;

SCMD=0X46;

SCMD=0XB9;

3).关闭内部时钟

IFMT=0X07;

SCMD=0X46;

SCMD=0XB9;

IFD &= 0XFB;//设置将内置晶体停止

IFMT=0X06;

SCMD=0X46;

SCMD=0XB9;

有六个复位源: 上电复位、WDT复位、软件复位、外部(RST)复位、掉电检测器(brown-out)复位及非法地址复位。

2.存储器

1)程序存储器

支持ISP(在系统可编程)/IAP(在应用可编程);IAP空间可用作数据闪存。

IAP区域由IAPLB和ISP起始地址共同决定:IAP低边界 = IAPLB * 256;IAP高边界 = ISP起始地址 – 1;IAP低边界地址必须不要高于ISP起始地址或非设备定义的空间。否则,可能会导致Flash存储器中数据内容遭到破坏。

2)数据存储器

片上256字节随机存取储存器和1024字节片上扩展存储器(XRAM)

3.通用I/O口

有41个普通I/O口(GPIO),P0, P1, P2, P3, P4(P40-P46)能被配置为准双向口、上拉输出、集电极开漏输出以及高阻输入,P6.0 和 P6.1 仅可作准双向口模式及复用为 XTAL2和 XTAL1。每个端口有两个模式寄存器来选择各端口引脚的输出类型:

4.中断系统

有四级中断优先级的14个中断源。与这四级中断有关联的特殊功能寄存器有IE、 IP0L、 IP0H、EIE1、EIP1L、EIP1H及XICON。

nINT0/nINT1 触发类型:低电平或下降沿;

nINT2/nINT3触发类型:低电平、下降沿、高电平或上升沿

5.定时器

三个16位定时/计数器:定时器 0、定时器1及定时器2;每一个包含两个8位寄存器THx和TLx(这里,x=0、1或2)。它们可配置为定时器或事件计数器。三个定时器输出口(T0CKO 对应P34、T1CKO对应P35、T2CKO对应P10);T0/T1/T2时钟可以选择X12 模式。

定时器功能,TLx寄存器每12个系统时钟周期(标准C51的机器周期)或每1个系统时钟周期(是标准C51的12倍)加1,通过软件设置AUXR2.T0X12、 AUXR2.T1X12和 T2MOD.T2X12位来选择 。每12个系统时钟周期加一,计数速率是1/12的晶振频率。

计数器功能,根据对应的外部输入引脚的下降沿T0、T1或T2寄存器加1。在这功能中,每个定时器时钟周期对外部输入信号(T0、T1和T2引脚)进行采样,当采样信号出现一个高电平接着一个低电平,计数加1。当检测到跳变时新计数值出现在寄存器中。

定时器2有四种工作模式:捕获、自动加载(向上或向下计数)、波特率发生器和可编程时钟输出,通过专用寄存器T2CON和T2MOD来选择。

1)捕获模式

当外部输入信号T2EX由下降沿跳变时引起定时器2的寄存器TH2和TL2分别对应的捕获到RCAP2H和RCAP2L。

2)自动加载模式

在复位之后,DCEN=0意思是默认为定时器2向上计数。如果DCEN置位,定时器2向上或向下计数由T2EX引脚的值来决定。

3)波特率发生器模式

T2CON寄存器的RCLK和/或RCLK位允许串行口发送和接收波特率既可源自定时器1或定时器2。当TCLK=0时,定时器1作为串行口传送波特率发生器。当TCLK=1,定时器2作为串行口传送波特率发生器。RCLK对串行口接收波特率有相同的功能

4)可编程时钟输出模式

CP/RL2=0且T2OE=1;定时器2作为一个输出占空比为50%的可编程时钟发生器,所产生的时钟从P1.0 引脚输出来。

输出频率=Fosc/4(65536-(RCAP2H,RCAP2L))

定时器2 的可编程时钟输出模式编程步骤如下:

a.置位T2MOD寄存器的T2OE位。
b.清除T2CON寄存器的C/T2位。

c.从公式计算出16位加载值并输入到RCAP2H和RCAP2L寄存器。

d.在TH2和TL2输入一个16位初始值。可以和重载值相等。

e.设置T2CON的TR2控制位开启动定时器。

在时钟输出模式,定时器2翻转不会产生中断

6.串行口

2个全双工串行口,功能

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top