• 电子爱好者2010
    了解作者
  • Objective-C
    开发工具
  • 29KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 87
    下载次数
  • 2012-02-25 23:15
    上传日期
此程序是一份单片机与PC的485通讯程序,通过此程序,可检测单片机485铜须是否正常,在PC端发送数据通过单片机返回相同数据,即为正常.
C51-RS485.zip
  • C51 RS485
  • RS485.M51
    17.7KB
  • STARTUP.A51
    5KB
  • STARTUP.LST
    11.4KB
  • RS485
    14.8KB
  • RS485.hex
    2.7KB
  • RS485.plg
    196B
  • mai.LST
    4.4KB
  • RS485.Uv2
    2.1KB
  • lcdwrite.LST
    4.7KB
  • RS485.Opt
    1KB
  • lcdwrite.h
    5.1KB
  • RS485_Opt.Bak
    1.3KB
  • mai.c
    2.1KB
  • RS485.lnp
    40B
  • STARTUP.OBJ
    749B
  • mai.OBJ
    16.9KB
内容介绍
//************************************* //lcd头文件 //************************************* #include<reg52.h> #include "lcdwrite.h" #include<string.h> #include <absacc.h rel='nofollow' onclick='return false;'> sfr AUXR = 0x8e; sfr BRT = 0x9c; unsigned char ddd,fff,flag; sbit b485Send = P3^7; void UART_Init(void) { EA=1; PCON &= 0x7f; //波特率不倍速 SCON = 0x50; //8位数据,可变波特率 BRT = 0xDC; //设定独立波特率发生器重装值 AUXR |= 0x04; //独立波特率发生器时钟为Fosc,即1T AUXR |= 0x01; //串口1选择独立波特率发生器为波特率发生器 AUXR |= 0x10; //启动独立波特率发生器 AUXR |= 0X80; ES = 1; } //-------------------------------------------------------------------------- //函数名称: Uart_SendData() //函数功能: 串口发送一个字节的数据 //其他说明: 此程序供中断调用 //-------------------------------------------------------------------------- void Uart_SendData(uchar dat) { SBUF=dat; //写SBUF,开始发送 while(!TI); //等待发送 TI=0; //清发送标志位 } //-------------------------------------------------------------------------- //函数名称: Uart_SendData() //函数功能: 串口发送N个字节的数据 //其他说明: 此程序供中断调用 //-------------------------------------------------------------------------- //向串口发送一个字符串,strlen为该字符串长度 void send_string_com(unsigned char *str,unsigned int strlen) { unsigned int k=0; do { Uart_SendData(*(str + k)); k++; } while(k < strlen); } //-------------------------------------------------------------------------- //函数名称: INT_UartRcv() //函数功能: 串口接收中断函数 //其他说明: 无 //-------------------------------------------------------------------------- void INT_UartRcv(void) interrupt 4 { if(RI) { RI=0; //清接收中断标志 flag=1; ddd = SBUF; } } void main() { b485Send = 0; //设为接收 UART_Init(); lcd_init(); while(1) { if(flag==1) { flag = 0; b485Send = 1; //设为发送 Uart_SendData(ddd); uint_Disp(0,0,ddd); b485Send = 0; //设为接收 } } }
评论
    相关推荐
    • rs485.zip
      单片机C51多机通讯,通过RS485接口。
    • AD9_C51_RS485.zip
      Altium Designer设计的基于51的最小系统,主要包括RS485控制器,温度传感器,51单片机,晶振,复位等功能模块
    • AT898252_RS485_C51.rar
      Example code for RS485 network sensor ( MCU AT898252, Keil C51)
    • RS485.zip
      RS485经典源程序代码,基于C51语言写法
    • 基于C51RS485通信.zip
      基于C51RS485通信,具有数据CRC校验功能。
    • 22-RS485.rar
      RS485 通信 在c51中实现以RS485口语外界的通信功能
    • RS485-MODBUS.rar
      RS485 总线测控模块的 MODBUS 扩展协议设计
    • RS485.rar
      51单片机RS485通信,包含所有的工程文件
    • RS485通信程序.zip
      通常的微处理器都集成有 1 路或多路硬件 UART 通道,可以非常方便地实现串行通讯。 在工业控制、电力通讯、智能仪表等领域中,也常常使用简便易用的串行通讯方式作为数据 交换的手段。 但是,在工业控制等环境中,...
    • USB-COM(HL340).rar
      usb转串口,找了很久才找到,现在别的地方很难下到,要不用不了,我这个可以用 HL340D 的