单片机W77E58在“家校通"系统中的应用
发布时间:2007/9/10 0:00:00 访问次数:738
孔若英,杨翔,李华贵,姚天祥
随着电子技术的发展,单片机的功能日益强大,集成度日益提高,运行速度也越来越快。过去,需要扩展几片外围芯片才能实现的功能现在完全可以由单片机自己去实现,本文介绍的W77E58就是这样一种具有许多功能的单片机。
1 W77E58单片机的介绍
W77E58是一个与MCSl系列单片机兼容的可多次编程的快速微控制处理器,他的内核经过重新设计,提高了时钟速度和存储器访问周期速度。经过这种改进以后,在相同的时钟频率下,按照指令的类型,其指令执行速度是标准8051的1.5~3倍,一般说来,平均可达到2.5倍以上。而且,在相同的吞吐量及低频时钟情况下,电源消耗也降低。此外,在他内部集成有32 kB的可重复编程的FLASH ROM,256 B的片内存储器、1 kB的用MOVX指令访问的SRAM、可编程的看门狗定时器、3个16位定时器、2个增强型的全双工串行口、片内RC振荡器、双16位数据指针等诸多功能。在很多场合,几乎不用扩展外围芯片就能够满足系统要求。
2 串行口介绍及初始化设置
W77E58有一个全双工串行口。该串行口为用户提供帧错误检测、自动地址识别等附加功能。该串行口提供同步及异步通信方式。在同步模式下串口产生时钟并以半双工的方式工作。在异步模式下,能以全双工的方式工作,即可以同时收发数据。发送,接收寄存器均用SBUF来访问。对SBUF的写是发送数据,从SBUF读是读取数据。串行口能以4种不同的方式工作。需要注意的是,串口0的使用和原来的单片机串口使用一致,可以使用定时器T1或定时器T2作为波特率发生器;而新增串口1只能使用定时器T1作为其波特率发生器。
下面以新增串口1为例,对W77E58串口的工作过程进行简单介绍。
串口1通过引脚RXD1(串行数据接收端)和TXD1(串行数据发送端)进行串行通信,可同时发送和接收数据,具有2个物理上独立的接收、发送缓冲器SBUF1(如表1),他们占用同一地址。串行口的发送和接收都是以特殊功能寄存器SBUF的名义进行读或写的。串口0的工作过程和串口1相类似,只需对其相应的寄存器及标志位进行类似操作即可。
SBUF1.7~1.0:串行口1接收或发送的数据都放在这个寄存器中,在该地址上有2个独立的8位寄存器,对他进行读操作将会接收串行数据,对他进行写操作则发送串行数据。
W77E58串行口是可编程接口,对他初始化编程只需对特殊功能寄存器SCON1(如表2)或SCON和电源控制寄存器PCON(如表3)写入相应的控制字即可。这里使用定时器T1作为串口0和串口1的波特率发送器。本通信系统中,我们规定,每1帧数据为10位:1位起始位,8位数据位,1位停止位。串口0波特率设置为19 200 b/s,串口1的波特率设置为9 600 b/s。
SM0/FM:串行口1,模式0控制位或帧错误标志位。PCON特殊功能寄存器中的SMOD0位决定该位的功能。当用作帧错误标志时,该位的位置表示一个无效的停止位。该位必须由软件来清除。
SM2_1:多机通信控制,将该位置1,则使能模式2及模式3下的多机通信功能。
REN_1:接收使能,置1时打开串行口接收功能,否则关闭该功能。
TB8_1:模式2和模式3中要被发送的第九位数据。
RB8_1:模式2和模式3中要接收的第九位数据。
T1_1:发送中断标志,模式0下该标志由硬件在接收到8位数据后置位,而在其他模式下在串行发送到停止位的开始时置位。该位必须由软件来清除。
R1_1:接收中断标志,模式0下该标志由硬件在接收到8位数据后置位,而在其他模式下在串行发送到停止位的开始时置位。该位必须由软件来清除。
SMOD:该位置1时,会使串行口
孔若英,杨翔,李华贵,姚天祥
随着电子技术的发展,单片机的功能日益强大,集成度日益提高,运行速度也越来越快。过去,需要扩展几片外围芯片才能实现的功能现在完全可以由单片机自己去实现,本文介绍的W77E58就是这样一种具有许多功能的单片机。
1 W77E58单片机的介绍
W77E58是一个与MCSl系列单片机兼容的可多次编程的快速微控制处理器,他的内核经过重新设计,提高了时钟速度和存储器访问周期速度。经过这种改进以后,在相同的时钟频率下,按照指令的类型,其指令执行速度是标准8051的1.5~3倍,一般说来,平均可达到2.5倍以上。而且,在相同的吞吐量及低频时钟情况下,电源消耗也降低。此外,在他内部集成有32 kB的可重复编程的FLASH ROM,256 B的片内存储器、1 kB的用MOVX指令访问的SRAM、可编程的看门狗定时器、3个16位定时器、2个增强型的全双工串行口、片内RC振荡器、双16位数据指针等诸多功能。在很多场合,几乎不用扩展外围芯片就能够满足系统要求。
2 串行口介绍及初始化设置
W77E58有一个全双工串行口。该串行口为用户提供帧错误检测、自动地址识别等附加功能。该串行口提供同步及异步通信方式。在同步模式下串口产生时钟并以半双工的方式工作。在异步模式下,能以全双工的方式工作,即可以同时收发数据。发送,接收寄存器均用SBUF来访问。对SBUF的写是发送数据,从SBUF读是读取数据。串行口能以4种不同的方式工作。需要注意的是,串口0的使用和原来的单片机串口使用一致,可以使用定时器T1或定时器T2作为波特率发生器;而新增串口1只能使用定时器T1作为其波特率发生器。
下面以新增串口1为例,对W77E58串口的工作过程进行简单介绍。
串口1通过引脚RXD1(串行数据接收端)和TXD1(串行数据发送端)进行串行通信,可同时发送和接收数据,具有2个物理上独立的接收、发送缓冲器SBUF1(如表1),他们占用同一地址。串行口的发送和接收都是以特殊功能寄存器SBUF的名义进行读或写的。串口0的工作过程和串口1相类似,只需对其相应的寄存器及标志位进行类似操作即可。
SBUF1.7~1.0:串行口1接收或发送的数据都放在这个寄存器中,在该地址上有2个独立的8位寄存器,对他进行读操作将会接收串行数据,对他进行写操作则发送串行数据。
W77E58串行口是可编程接口,对他初始化编程只需对特殊功能寄存器SCON1(如表2)或SCON和电源控制寄存器PCON(如表3)写入相应的控制字即可。这里使用定时器T1作为串口0和串口1的波特率发送器。本通信系统中,我们规定,每1帧数据为10位:1位起始位,8位数据位,1位停止位。串口0波特率设置为19 200 b/s,串口1的波特率设置为9 600 b/s。
SM0/FM:串行口1,模式0控制位或帧错误标志位。PCON特殊功能寄存器中的SMOD0位决定该位的功能。当用作帧错误标志时,该位的位置表示一个无效的停止位。该位必须由软件来清除。
SM2_1:多机通信控制,将该位置1,则使能模式2及模式3下的多机通信功能。
REN_1:接收使能,置1时打开串行口接收功能,否则关闭该功能。
TB8_1:模式2和模式3中要被发送的第九位数据。
RB8_1:模式2和模式3中要接收的第九位数据。
T1_1:发送中断标志,模式0下该标志由硬件在接收到8位数据后置位,而在其他模式下在串行发送到停止位的开始时置位。该位必须由软件来清除。
R1_1:接收中断标志,模式0下该标志由硬件在接收到8位数据后置位,而在其他模式下在串行发送到停止位的开始时置位。该位必须由软件来清除。
SMOD:该位置1时,会使串行口
上一篇:直流电弧炉新型整流电源的研究