51手记之MEGAWIN
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个全双工串行口,功能
51手记MEGAWI 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)