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

51手记之winbond(一)

时间:11-10 来源:互联网 点击:
winbond系列51单片机基于标准8052指令结构,这里以两种常用型号为例进行说明:单串口型号W78E58和双串口型号W77E58;首先介绍一下W78E58系列单片机

1.基本特性

采用与标准8052相同的指令集,全静态设计的低功耗CMOS 8位微处理器

时钟选择:既可使用一个晶体振荡器,也可使用一个外部时钟

1)使用晶体振荡器:内置有晶体振荡器,使用时需在XTAL1和XTAL2之间外接一个石英晶体,同时两个管脚对地需连一个负载电容

2)使用外部时钟:外部时钟源(CMOS型输入)接入XTAL1,管脚XTAL2悬空,时钟频率由内部二分频。

2.存储器

1)程序存储器

32KB带ISP功能的FLASH EPROM(APROM),4KB辅助ROM(装载程序存储器)

2)数据存储器

512字节RAM(其中256字节片内数据RAM,256字节片外数据XRAM)

复位后,256字节的XRAM是关闭的,可以通过下面的方法打开:

CHPENR=0X87;

CHPENR=0X59;

CHPCON |= 0X10;

CHPENR=0X00;

3.通用I/O口

4个8位双向I/O口,其中P0为双向三态I/O口,P1、P2、P3为准双向口

P4口是一个4位可编程I/O口,有4种工作模式,其中模式0为与P1口功能相同的双向I/O口,模式1-3下为外部设备的读写片选信号。

P4口的工作模式由P4CONA、P4CONA选择,如需设置P4口为通用IO口,需作如下设置:P4CONA=0X00,P4CONB=0X00;

4.中断系统

有8个中断源,2级中断优先级,比标准51增加了定时器2和外部中断2和外部中断3

中断源中断向量中断优先权

外部中断0 03H 0

定时/计数器0 0BH 1

外部中断1 13H 2

定时/计数器1 1BH 3

串行口 23H 4

定时/计数器2 2BH 5

外部中断2 33H 6

外部中断3 3BH 7

外部中断2,3与标准51的INT0和INT1功能相似,由寄存器XICON控制。

5.定时器

定时器0,1,3分别包含2个8位数据寄存器。RCAP2H,RCAP2L是定时器2的重装/捕捉寄存器

TCON和TMOD控制定时器0,1;T2CON对定时器2进行控制;

定时器2 有3种运行方式:捕捉,自动重装,波特率发生器。在捕捉和自动重装模式下时钟速度与定时器0,1相同。通过T2CON.RCLK和T2CON.TCLK来选择使用定时器1还是定时器2作为串口的波特率发生器,T2CON.RCLK和T2CON.TCLK均为1时选择定时器2为串口波特率发生器,T2CON.RCLK和T2CON.TCLK均为0时选择定时器1为串口的波特率发生器。

T2CON:定时器控制寄存器

位地址

CF

CE

CD

CC

CB

CA

C9

C8

位符号

TF2

EXF2

RCLK

TCLK

EXEN2

TR2

C/T2

CP/RL2

TF2:T2溢出标记

当T2溢出时TF2=1,TD2只能用软件清除

当RCLK=1或TCLK=1时,TF2将不置位

EXF2:T2外部标记

当EXEN2=1时,T2EX/P1.1引脚上的负跳变引起T2的捕捉/重装操作,此时EXF2=1。在T2中断允许时,EXF2=1将引起中断,EXF2只能用软件清除。在T2的向上、向下计数模式下(DCEN=1)EXF2的置位将不引起中断。

RCLK:接收时钟允许

当RCLK=1时,T2的溢出脉冲可用作串行口的接收时钟信号,适于串行口模式1、3当RCLK=0时,T1的溢出脉冲用作串行口接收时钟信号

TCLK:发送时钟允许

EXEN2:T2外部事件(引起捕捉/重装的外部信号)允许

当EXEN2=1时,如果T2没有作串行时钟输出(即RCLK+TCLK=0),则在T2EX/P1.1引脚跳变将引起T2的捕捉/重装操作;

当EXEN2=0时,在T2EX引脚的负跳变将不起作用

TR2:T2的启动/停止控制

C/T2:计数定时

CP/RL2:捕捉/重装选择

当CP/RL2=1且EXEN2=1时,T2EX/P1.1引脚的负跳变将引起捕捉操作

当CP/RL2=0且EXEN2=1时,T2EX/P1.1引脚的负跳变将引起重装操作

当CP/RL2=0且EXEN2=0时,T2的溢出将引起T2的自动重装操作

当RCLK+TCLK=1时,CP/RL2控制位不起作用,T2被强制工作于重装方式。重装方式发生于T2溢出时,常用来作波特率发生器。

6.串行口

串行口与标准51完全相同,可选择定时器1或定时器2作为波特率发生器。波特率发生器选择通过设置定时器相关寄存器实现。

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

网站地图

Top