微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > MCU和DSP > 基于C8051F020的通用串口适配器的设计

基于C8051F020的通用串口适配器的设计

时间:06-23 来源:国外电子元器件 点击:

进入控制界面后,首先根据上位机与单片机的通讯协议,选择串口号、通讯波特率、奇偶校验位、数据位以及停止位。当上位机在界面的接口选项中点击要通信的串口时,就会触发一个传输信号给单片机,单片机根据协议控制电子模拟开关接通相应的串口电路,同时回发一个通路信号给上位机,从而使界面上的串口指示呈绿色状态,表明通信电路已接通,可以发送和接收数据。上位机通信流程如图5所示。

3.2 单片机与PC串口通信编程

在本设计中主要用到单片机的定时器、I/O端口、UART、优先权交叉开关、中断设置、时钟信号、寄存器、D/A和A/D等。定义C8051F020的UART0与计算机连接,UART1与各串口相连。首先优先权交叉开关译码器将交叉开关端口P0~P3的引脚分配给UART0、UART1、INT0和INT1。

设置XBARE=1,使能交叉开关。UART0有最高优先权,P0.0分配给TX0,P0.1分配给RX0。其次是UART1,P0.2被分配给TX1,P0.3分配给RX1。P0.4分配给INT0。由于外部存储器接口选在低端口(EMIFLE=1),所以交叉开关跳过P0.6(RD)和P0.7(WR)。由于外部存储器接口配置为复用方式,所以交叉开关也跳过P0.5(ALE)。下一个未跳过的引脚P1.0分配给INT1。将外部存储器接口配置为复用方式并使用低端口,将P1.2、P1.3和P1.4配置为模拟输入,以便用ADC1测量施加在这些引脚上的电压。

当交叉开关配置寄存器XBR0、XBR1和XBR2中外设的对应使能位被设置为逻辑'1'时,交叉开关将端口引脚分配给外设。将UART0的TX引脚(TX0,P0.0)、UART1的TX引脚(TX1,P0.2)、ALE、RD、WR(P0.[7:3])的输出设置为推挽方式,通过设置P0MDOUT=0xE5实现。通过设置P2MDOUT=0xFF、P3MDOUT=0xFF和P6MDOUT=0xFF将EMIF端口(P2、P3,P6)的输出方式配置为推挽方式。单片机通信主程序流程如图6所示。

4 结束语

在对核心器件C8051F020编程和对硬件板调试时采用Cygnal IDE Cygnal集成开发环境软件。Cygnal集成开发环境采用标准的Windows95/98/NT/2000作为界面,利用PC机的串行口和目标板的JTAG接口实现IDE与目标系统中的单片机通信(每套开发系统都有RS-232至JTAG协议转换所需的串行适配器),与目标系统连接后可进行非插入式、全速在线调试和在系统内编程。

此外,该串口适配器很容易扩展其他的接口,可用I/O口接数字接口,也可以通过单片机的A/D和D/A接模拟信号接口。若外围接口过多,则可以合并为一个或几个接口,只需在电路中加继电器(继电器由单片机的I/O控制)进行输出切换即可。

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

网站地图

Top