找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 12790|回复: 6
收起左侧

RS485通讯单片机开发板全套设计资料(含源码+PCB文件+电路图)

  [复制链接]
ID:284341 发表于 2018-2-19 01:19 | 显示全部楼层 |阅读模式
Altium Designer画的51单片机RS485开发板原理图和PCB图如下:(51hei附件中可下载protel dxp工程文件)
0.png 0.jpg
0.png
【简要说明】
一、尺寸:长85mmX宽61mmX高18mm
二、主要芯片:AT89S52单片机、MAX485(支持AT89S51/52/53;STC89C51/52/53)
三、工作电压:直流4.5~5.5伏(或者USB供电)
四、单片机标准十针下载接口。(可使用并口下载线和USB下载线下载)另外支持:双龙下载软件以及Easy 51Pro.exe 和 progisp.exe
五、特点:
         1、具有电源指示;
         2、所以I/O口以引出;
         3、可以实现485通信;
         4、标准的11.0592M晶振(晶振可插拔可以自行更换);
         5、具有上电复位和手动复位;
         6、支持AT89SXX系列单片机和STC89CXX系列单片机;
         7、支持STC串口下载;
         8、P2口四位按键输入;
         9、P1口四位信号灯指示;
        10、可USB供电、可端子接线供电、可排针引电;
六、提供相关软件、资料、原理图

下面是实物图:
图片标注.jpg ALIM0019.jpg ALIM0027.jpg

元件清单(按焊接顺序整理)
0.png 0.png

AT89S52精简开发板485通讯测试源程序如下:
  1. /********************************************************************
  2.                             汇诚科技
  3. 实现功能:此版配套测试程序
  4. 使用芯片:AT89S52
  5. 晶振:11.0592MHZ
  6. 波特率:9600
  7. 编译环境:Keil
  8. 作者:zhangxinchunleo
  9. 【声明】此程序仅用于学习与参考,引用请注明版权和作者信息!     
  10. /********************************************************************
  11. 程序说明:
  12. 1、所有IO口流水灯3次。
  13. 2、所有IO口闪烁输出5次。
  14. 3、按下P2.0按键点亮P1.0灯,按下P2.1按键点亮P1.1灯,按下P2.2按键点亮P1.2灯,按下P2.3按键点亮P1.3灯,
  15. 4、接收串口发送的数据再返回原值。
  16. ********************************************************************/
  17. #include<reg52.h>                 //库文件
  18. #define uchar unsigned char//宏定义无符号字符型
  19. #define uint unsigned int  //宏定义无符号整型

  20. sbit P10=P1^0;
  21. sbit P11=P1^1;
  22. sbit P12=P1^2;
  23. sbit P13=P1^3;

  24. sbit P20=P2^0;
  25. sbit P21=P2^1;
  26. sbit P22=P2^2;
  27. sbit P23=P2^3;
  28. /********************************************************************
  29.                             初始定义
  30. *********************************************************************/
  31. uchar dat; //用于存储单片机接收发送缓冲寄存器SBUF里面的内容
  32. /********************************************************************
  33.                             延时函数
  34. *********************************************************************/
  35. void delay()//延时程序 0.2秒
  36. {
  37. uchar m,n,s;
  38. for(m=20;m>0;m--)
  39. for(n=20;n>0;n--)
  40. for(s=248;s>0;s--);
  41. }

  42. /********************************************************************
  43.              功能:串口初始化,波特率9600,方式1
  44. *********************************************************************/        
  45. void Init_Com(void)
  46. {
  47. TMOD = 0x20;
  48. PCON = 0x00;
  49. SCON = 0x50;
  50. TH1 = 0xFd;
  51. TL1 = 0xFd;
  52. TR1 = 1;
  53. }
  54. /********************************************************************
  55.                             闪烁函数
  56. *********************************************************************/
  57. void shanshuo(uchar j)
  58. {
  59. uchar i;
  60. for(i=0;i<j;i++)
  61. {
  62. P0=0X00;P1=0X00;P2=0X00;P3=0X00;
  63. delay();
  64. P0=0XFF;P1=0XFF;P2=0XFF;P3=0XFF;
  65. delay();
  66. }
  67. }
  68. /********************************************************************
  69.                             流水灯函数
  70. *********************************************************************/
  71. void liushuideng(uchar j)
  72. {
  73. uchar i,temp,a,k;
  74. for(i=0;i<j;i++)
  75. {
  76.         temp=0xfe; //11111110定义每次一个灯亮
  77.         P3=P2=P0=P1=temp;//直接对1/0口赋值,使批输出低电平。
  78.         delay();//延时
  79.         for(k=1;k<8;k++)//实现广告灯的从右到左移动
  80. {
  81. a=temp<<k;                //左移i位
  82. P3=P2=P0=P1=a;//相与求值
  83. delay();
  84. }
  85. }
  86. }
  87. /********************************************************************
  88.                             主函数
  89. *********************************************************************/
  90. void main()
  91. {
  92. Init_Com();//串口初始化
  93. liushuideng(3);//所有IO口流水灯3次
  94. shanshuo(5);//所有IO口闪烁输出5次
  95. while(1)
  96. {
  97. if(P20==0){P10=0;} //如果P2.0按键按下,P1.0口输出低电平,指示灯亮。
  98. if(P21==0){P11=0;} //如果P2.1按键按下,P1.1口输出低电平,指示灯亮。
  99. if(P22==0){P12=0;} //如果P2.2按键按下,P1.2口输出低电平,指示灯亮。
  100. if(P23==0){P13=0;} //如果P2.3按键按下,P1.3口输出低电平,指示灯亮。

  101. if(RI) //扫描判断是否接收到数据,
  102. {
  103. dat=SBUF; //接收数据SBUF赋与dat
  104. RI=0; //RI 清零。
  105. SBUF=dat; //在原样把数据发送回去
  106. ……………………

  107. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

开发板的所有资料51hei提供下载(全套资料):

AT89S52精简开发板485通讯DXP资料.rar

129.36 KB, 下载次数: 158, 下载积分: 黑币 -5

AT89S52精简开发板485通讯测试程序.rar

17.19 KB, 下载次数: 144, 下载积分: 黑币 -5

AT89S52精简开发板485通讯产品使用手册.doc

7.9 MB, 下载次数: 83, 下载积分: 黑币 -5

AT89S52精简开发板485通讯套件元件清单.doc

70 KB, 下载次数: 64, 下载积分: 黑币 -5

AT89S52精简开发板485通讯原理图.doc

47.5 KB, 下载次数: 108, 下载积分: 黑币 -5

回复

使用道具 举报

ID:369814 发表于 2018-7-11 22:49 | 显示全部楼层
厉害厉害
回复

使用道具 举报

ID:373 发表于 2018-10-11 17:43 | 显示全部楼层
好资料,可惜没有黑币了
回复

使用道具 举报

ID:477855 发表于 2019-2-18 23:09 来自手机 | 显示全部楼层
这个可以用来检测电流和电压么?
回复

使用道具 举报

ID:520560 发表于 2019-4-24 16:01 | 显示全部楼层
多谢大佬分享
回复

使用道具 举报

ID:47652 发表于 2019-4-29 20:09 | 显示全部楼层
比较全的学习485资料,顶!
回复

使用道具 举报

ID:572797 发表于 2019-6-26 18:00 | 显示全部楼层
喜欢,感谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表