这儿以W77E58为例介绍winbond双串口单片机:
1.根本特性
兼容8051微操控器管脚和指令结构,它的内核经过从头规划,在相同的时钟频率下,它的指令履行速度是规范8051的1.5-3倍,在相同的吞吐量和低频时钟情况下,电源耗费也下降,因为选用全静态CMOS规划,能够在低频时钟频率下运转。
最大外部时钟频率40MHZ,支撑片上振动器和外部时钟。
每个机器周期由4个时钟周期(振动脉冲)组成,MOVX指令的指令周期为2个机器周期-9个机器周期。
2.存储器
1)程序存储器
供给32KB程序存储器空间
2)数据存储器
256字节的片内暂存数据存储器和1KB字节的XRAM;
复位后XRAM是被封闭的,需置位PMR.DME0进行使能:PMR |= 0X01;
3.通用I/O口
有4个8位I/O口和一个4位I/O口,P0,P1,P2,P3是和规范51相同的I/O口,P4口是与P1,P3相同的通用I/O口
4.中止体系
供给12个中止源和3级中止优先权
中止源中止向量中止优先权
5.守时器
有3个16位守时器,一个看门狗守时器;
W77E58为守时器0,1供给了2种时钟源,一种是规范8051的时钟源,即体系时钟的1/12;用户也能够挑选让时钟以加快的方法来运转,这时的计数时钟源是体系时钟的1/4;详细挑选哪种时钟源,经过CKCON.T1M和CKCON.T0M来设置(全1为加快方法,全0为规范51方法)
守时/计数器2由T2MOD进行装备、由T2CON进行操控;守时器2时钟源也可挑选为体系时钟时钟的1/12或1/4,由CKCON.T2M挑选(为1时为加快方法);守时器2有捕捉和重载功用,还能够用作波特率发生器、可编程时钟输出。
守时器2用作波特率发生器时,守时器2是一个16位主动重载计数器,当计数值溢出时重载,这是TF2不会重载,假如EXEN2=1,T2EX引脚的负跳变会使T2CON的EXF2置位,即守时器2用作波特率发生器的一起可作为外部中止运用。
设置为波特率发生器:T2CON.RCLK=1,T2CON.TCLK=1;
守时器2用作可编程时钟输出功用时,可在P1.0引脚输出占空比为50%的波形,时钟输出频率=体系时钟/4/(65536-(RCAP2H,RCAP2L))。
与作为波特率发生器相同,假如EXEN2=1,守时器2还可兼做外部中止运用。
设置为可编程时钟输出:T2CON.T2OE=1,T2CON.C/T2=0,T2CON.CP/RL=0;
看门狗守时器是一个自行运转守时器,该守时器根据一组分频器,对时钟频率进行切割,分频器输出可选,并决议溢出时刻;溢出时假如看门狗翻开(且看门狗守时器复位翻开)将引起体系复位。看门狗溢出中止和看门狗复位可由软件设置,将2者功用兼并或别离。
看门狗守时器的溢出时刻由WDCON.WD1和WDCON.WD0来挑选,溢出后,WDCON.WDIF置位,之后看门狗守时器等候512个时钟周期,假如看门狗复位使能(WDCON.EWT=1),那么512个时钟周期后会发生看门狗复位,这个复位将继续2个机器周期,一起WDCON.WTRF置位。对WDCON.RWT写1可复位看门狗守时器(喂狗),体系复位后,应复位看门狗守时器,保证看门狗守时器从一个确认的状况开端运转。
看门狗守时器可作为一个能超长计时的守时器,守时时刻跟溢出时刻相同。
6.串行口
有2个增强型全双工串行口,功用与规范8052相似,还具有帧过错检测、主动地址辨认等功用;串行口0可用守时器1或2做波特率发生器,串行口只能用守时器1做波特率发生器。假如T2CON.RCLK=0,T2CON.TCLK=0则两个串口均运用守时器1做波特率发生器(波特率同)。
形式0波特率=体系时钟/4或体系时钟/12,由SCON.SM2挑选;其他形式波特率计算公式同规范51。